BROOKO icon
BROOKO UK NETWORK
Where code meets creativity & adventure
File viewer

desktop.css

Type
css
Size
5.26 KB
Modified
15 May
desktop.css 5.26 KB
/* =============================================
   WorkersPanel Desktop Polish (PC)
   هدف: modern professional desktop feel

   Principles (desktop only, 901px+):
   - One cohesive page surface (not lots of heavy blocks)
   - Top-level sections are separated with subtle dividers
   - Grid tiles still look like tiles (stats etc.)
   - Mobile/tablet behaviour unchanged
   ============================================= */

@media (min-width: 901px) {
  /* Subtle depth so the UI doesn't feel flat */
  body {
    background:
      radial-gradient(900px 500px at 20% 10%, rgba(255, 140, 26, 0.10), rgba(0, 0, 0, 0) 60%),
      radial-gradient(800px 500px at 85% 20%, rgba(16, 185, 129, 0.08), rgba(0, 0, 0, 0) 55%),
      var(--bg-main);
  }

  /* Main content is a layout container on desktop (avoid a giant boxed block) */
  .main-content {
    max-width: 1500px;
    margin: 0 auto;
    padding: 22px 30px 34px;
    background: transparent;
    border: none;
    border-radius: 0;
  }

  /* Make the first content header feel intentional */
  .main-content > .content-header {
    margin: 0 0 18px;
    padding: 4px 0 16px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  /* Sidebar + header feel like a desktop app */
  .sidebar {
    background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.00) 55%), var(--bg-panel);
    border-right: 1px solid rgba(255,255,255,0.08);
    box-shadow: 10px 0 34px rgba(0,0,0,0.30);
  }

  .page-header-simple {
    background: rgba(26, 26, 26, 0.78);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 10px 30px rgba(0,0,0,0.20);
    backdrop-filter: blur(10px);
  }

  .header-nav {
    background: rgba(26, 26, 26, 0.72);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    backdrop-filter: blur(10px);
  }

  /* ─────────────────────────────────────────────
     Section system
     - Top-level cards become sections with dividers
     - Grid cards remain tiles
     ───────────────────────────────────────────── */

  /* Tile cards inside grids */
  .grid-2 > .card,
  .grid-3 > .card,
  .grid-4 > .card {
    background: rgba(255,255,255,0.018);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;
    padding: 16px 18px;
    box-shadow: none;
  }

  /* Section cards (most pages stack cards directly under main-content) */
  .main-content > .card {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 18px 0;
    box-shadow: none;
  }

  .main-content > .card + .card {
    border-top: 1px solid rgba(255,255,255,0.08);
  }

  /* Remove "boxed header" behaviour for section cards */
  .main-content > .card .card-header {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin: 0 0 12px;
  }

  .main-content > .card .card-body {
    padding: 0;
  }

  /* Grids: reduce chunky gaps */
  .grid-2, .grid-3, .grid-4 { gap: 14px; }

  /* Tables: desktop readability */
  table thead th {
    background: rgba(255,255,255,0.02);
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  table tbody td {
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  table tbody tr:nth-child(even) td {
    background: rgba(255,255,255,0.01);
  }

  table tbody tr:hover td {
    background: rgba(255,255,255,0.03);
  }
  .table-wrap{
    background: rgba(255,255,255,0.012);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;
  }


  /* Inputs (Bootstrap + custom) */
  .input,
  .form-control,
  .form-select {
    border-radius: 12px;
    border-color: rgba(255,255,255,0.10);
    background: rgba(255,255,255,0.02);
    color: var(--text-main);
  }

  .input:focus,
  .form-control:focus,
  .form-select:focus {
    border-color: rgba(255,140,26,0.65);
    box-shadow: 0 0 0 4px rgba(255,140,26,0.16);
  }

  /* Buttons: single consistent look across the whole app */
  .btn {
    border-radius: 12px;
    border-width: 1px;
    font-weight: 750;
    letter-spacing: 0.2px;
    min-height: 38px;
    padding: 0 14px;
    transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease, background 0.12s ease;
  }

  .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(0,0,0,0.26);
  }

  .btn:active {
    transform: translateY(0);
    box-shadow: 0 8px 18px rgba(0,0,0,0.22);
  }

  .btn-primary {
    background: linear-gradient(180deg, var(--accent), #ff7a00);
    border-color: rgba(255,140,26,0.85);
    color: #fff;
  }

  .btn-primary:hover { filter: brightness(1.03); }

  .btn-secondary {
    background: rgba(255,255,255,0.03);
    border-color: rgba(255,255,255,0.10);
    color: var(--text-main);
  }

  .btn-secondary:hover { background: rgba(255,255,255,0.06); }

  .btn-danger {
    background: rgba(239, 68, 68, 0.16);
    border-color: rgba(239, 68, 68, 0.35);
    color: #ffd1d1;
  }

  .btn-danger:hover { background: rgba(239, 68, 68, 0.22); }

  /* Icon-only buttons used in map overlays etc */
  .btn.btn-icon,
  .tt-map-controls .btn {
    padding: 0 10px;
    min-width: 40px;
  }

  /* Content header typography (desktop) */
  .content-title { font-size: 1.45rem; }
  .content-subtitle { margin-top: 6px; font-size: .95rem; }
}