
    /* ── Design Tokens ─────────────────────────────────────────────── */
    :root {
      --bg-950:#05050f; --bg-900:#0a0a1a; --bg-800:#101028;
      --bg-700:#181834; --bg-600:#20203f; --bg-500:#282852;
      --border:rgba(255,255,255,.06); --border-hi:rgba(255,255,255,.12);

      --v700:#5b21b6; --v600:#7c3aed; --v500:#8b5cf6;
      --v400:#a78bfa; --v300:#c4b5fd;
      --c400:#22d3ee; --c300:#67e8f9;
      --g400:#34d399; --a400:#fbbf24;
      --r400:#fb7185; --b400:#60a5fa;

      --t100:#f8fafc; --t200:#e2e8f0; --t300:#cbd5e1;
      --t400:#94a3b8; --t500:#64748b; --t600:#475569;

      --r4:4px; --r8:8px; --r12:12px; --r16:16px;
      --sw:240px; --sw-c:64px; --th:60px;
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html,body{height:100%}
    body{background:var(--bg-950);color:var(--t200);font-family:'Inter',system-ui,sans-serif;
      font-size:14px;line-height:1.5;overflow-x:hidden}

    /* Scrollbar */
    ::-webkit-scrollbar{width:5px;height:5px}
    ::-webkit-scrollbar-track{background:transparent}
    ::-webkit-scrollbar-thumb{background:var(--bg-600);border-radius:3px}
    ::-webkit-scrollbar-thumb:hover{background:var(--v600)}

    /* ── Sidebar ───────────────────────────────────────────────────── */
    .sidebar{
      position:fixed;top:0;left:0;width:var(--sw);height:100vh;
      background:var(--bg-900);border-right:1px solid var(--border);
      display:flex;flex-direction:column;z-index:200;
      transition:width .22s cubic-bezier(.4,0,.2,1);overflow:hidden
    }
    .sidebar.collapsed{width:var(--sw-c)}
    .sidebar.collapsed .sb-label,.sidebar.collapsed .sb-section,
    .sidebar.collapsed .brand-text{opacity:0;pointer-events:none;width:0;overflow:hidden}

    .sb-brand{
      display:flex;align-items:center;gap:12px;padding:16px;
      min-height:var(--th);border-bottom:1px solid var(--border);flex-shrink:0
    }
    .brand-gem{
      width:36px;height:36px;border-radius:10px;flex-shrink:0;
      background:linear-gradient(135deg,var(--v600),var(--c400));
      display:flex;align-items:center;justify-content:center;
      font-weight:800;font-size:18px;color:#fff;
      box-shadow:0 0 24px rgba(124,58,237,.4)
    }
    .brand-text{white-space:nowrap}
    .brand-text strong{
      display:block;font-size:18px;font-weight:800;letter-spacing:-.5px;
      background:linear-gradient(135deg,var(--v400),var(--c400));
      -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text
    }
    .brand-text small{display:block;font-size:10px;color:var(--t600);
      text-transform:uppercase;letter-spacing:.1em}

    .sb-nav{flex:1;overflow-y:auto;padding:10px 8px}
    .sb-section{
      padding:14px 8px 3px;font-size:10px;font-weight:700;
      letter-spacing:.1em;text-transform:uppercase;color:var(--t600);white-space:nowrap
    }
    .sb-link{
      display:flex;align-items:center;gap:10px;padding:9px 10px;
      border-radius:var(--r8);color:var(--t400);text-decoration:none;
      font-size:13.5px;font-weight:500;transition:all .15s;
      white-space:nowrap;position:relative;margin-bottom:2px
    }
    .sb-link:hover{color:var(--t100);background:rgba(255,255,255,.05)}
    .sb-link.active{color:var(--v300);background:rgba(124,58,237,.15)}
    .sb-link.active::before{
      content:'';position:absolute;left:0;top:25%;bottom:25%;
      width:3px;background:var(--v500);border-radius:0 3px 3px 0
    }
    .sb-link i{font-size:16px;width:20px;text-align:center;flex-shrink:0}

    .sb-footer{
      padding:12px 16px;border-top:1px solid var(--border);
      cursor:pointer;color:var(--t500);display:flex;align-items:center;
      gap:10px;font-size:12px;transition:color .15s;flex-shrink:0
    }
    .sb-footer:hover{color:var(--t200)}
    .sb-footer i{font-size:16px;flex-shrink:0}

    /* ── Main layout ────────────────────────────────────────────────── */
    .main-wrap{
      margin-left:var(--sw);min-height:100vh;
      display:flex;flex-direction:column;
      transition:margin-left .22s cubic-bezier(.4,0,.2,1)
    }
    .main-wrap.collapsed{margin-left:var(--sw-c)}

    /* ── Topbar ─────────────────────────────────────────────────────── */
    .topbar{
      position:sticky;top:0;z-index:100;height:var(--th);
      background:rgba(10,10,26,.88);backdrop-filter:blur(16px);
      border-bottom:1px solid var(--border);
      display:flex;align-items:center;padding:0 24px;gap:14px;flex-shrink:0
    }
    .topbar-title{font-size:15px;font-weight:600;color:var(--t100)}
    .tb-spacer{flex:1}
    .tb-clock{font-size:12px;color:var(--t500);font-variant-numeric:tabular-nums;letter-spacing:.03em}
    .tb-btn{
      width:32px;height:32px;border:none;border-radius:var(--r8);
      background:rgba(255,255,255,.05);color:var(--t400);
      display:flex;align-items:center;justify-content:center;
      cursor:pointer;transition:all .15s;font-size:15px
    }
    .tb-btn:hover{background:rgba(124,58,237,.2);color:var(--v400)}
    .tb-btn.spin i{animation:_spin .8s linear infinite}
    @keyframes _spin{to{transform:rotate(360deg)}}
    .tb-avatar{
      width:32px;height:32px;border-radius:50%;
      background:linear-gradient(135deg,var(--v600),var(--c400));
      display:flex;align-items:center;justify-content:center;
      font-size:12px;font-weight:700;color:#fff;cursor:pointer;
      box-shadow:0 0 12px rgba(124,58,237,.35)
    }

    /* ── Content ────────────────────────────────────────────────────── */
    .content{padding:28px;flex:1;animation:_fade .28s ease}
    @keyframes _fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

    /* ── Card ───────────────────────────────────────────────────────── */
    .card{
      background:var(--bg-800);border:1px solid var(--border);
      border-radius:var(--r16);overflow:hidden
    }
    .card-hd{
      padding:15px 20px;font-size:13px;font-weight:600;color:var(--t300);
      border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px
    }
    .card-hd i{color:var(--v400);font-size:15px}
    .card-hd .hd-right{margin-left:auto;display:flex;gap:8px;align-items:center}
    .card-body{padding:20px}

    /* ── KPI Cards ──────────────────────────────────────────────────── */
    .kpi{
      background:var(--bg-800);border:1px solid var(--border);
      border-radius:var(--r16);padding:22px 20px;position:relative;
      overflow:hidden;transition:border-color .2s,transform .2s;cursor:default
    }
    .kpi:hover{border-color:var(--border-hi);transform:translateY(-2px)}
    .kpi::after{
      content:'';position:absolute;top:0;left:0;right:0;height:2px
    }
    .kpi.kv::after{background:linear-gradient(90deg,var(--v600),var(--v400))}
    .kpi.kc::after{background:linear-gradient(90deg,var(--c400),var(--g400))}
    .kpi.ka::after{background:linear-gradient(90deg,var(--a400),var(--r400))}
    .kpi.kg::after{background:linear-gradient(90deg,var(--g400),var(--c400))}
    .kpi.kr::after{background:linear-gradient(90deg,var(--r400),var(--a400))}
    .kpi.kb::after{background:linear-gradient(90deg,var(--b400),var(--c400))}

    .kpi-icon{
      width:38px;height:38px;border-radius:var(--r8);
      display:flex;align-items:center;justify-content:center;
      font-size:18px;margin-bottom:14px
    }
    .kpi-icon.kv{background:rgba(124,58,237,.15);color:var(--v400)}
    .kpi-icon.kc{background:rgba(34,211,238,.12);color:var(--c400)}
    .kpi-icon.ka{background:rgba(251,191,36,.12);color:var(--a400)}
    .kpi-icon.kg{background:rgba(52,211,153,.12);color:var(--g400)}
    .kpi-icon.kr{background:rgba(251,113,133,.12);color:var(--r400)}
    .kpi-icon.kb{background:rgba(96,165,250,.12);color:var(--b400)}

    .kpi-val{
      font-size:30px;font-weight:800;letter-spacing:-1px;
      color:var(--t100);line-height:1;margin-bottom:5px
    }
    .kpi-lbl{
      font-size:11px;font-weight:600;color:var(--t500);
      text-transform:uppercase;letter-spacing:.07em
    }

    /* ── Status Badges ──────────────────────────────────────────────── */
    .sbadge{
      display:inline-flex;align-items:center;gap:5px;
      padding:3px 9px;border-radius:20px;
      font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;
      white-space:nowrap
    }
    .sbadge::before{content:'';width:5px;height:5px;border-radius:50%;flex-shrink:0}
    .sbadge.active{background:rgba(52,211,153,.12);color:var(--g400)}
    .sbadge.active::before{background:var(--g400)}
    .sbadge.trial{background:rgba(251,191,36,.1);color:var(--a400)}
    .sbadge.trial::before{background:var(--a400)}
    .sbadge.demo{background:rgba(124,58,237,.12);color:var(--v400)}
    .sbadge.demo::before{background:var(--v400)}
    .sbadge.pending{background:rgba(96,165,250,.1);color:var(--b400)}
    .sbadge.pending::before{background:var(--b400)}
    .sbadge.cancelled{background:rgba(251,113,133,.1);color:var(--r400)}
    .sbadge.cancelled::before{background:var(--r400)}
    .sbadge.open{background:rgba(96,165,250,.1);color:var(--b400)}
    .sbadge.open::before{background:var(--b400)}
    .sbadge.planned{background:rgba(251,191,36,.1);color:var(--a400)}
    .sbadge.planned::before{background:var(--a400)}
    .sbadge.done{background:rgba(52,211,153,.12);color:var(--g400)}
    .sbadge.done::before{background:var(--g400)}
    .sbadge.rejected{background:rgba(251,113,133,.1);color:var(--r400)}
    .sbadge.rejected::before{background:var(--r400)}

    /* ── Table ──────────────────────────────────────────────────────── */
    .dtable{width:100%;border-collapse:collapse}
    .dtable thead th{
      padding:10px 16px;font-size:11px;font-weight:600;
      color:var(--t500);text-transform:uppercase;letter-spacing:.07em;
      border-bottom:1px solid var(--border);
      background:rgba(255,255,255,.02);white-space:nowrap
    }
    .dtable tbody tr{border-bottom:1px solid var(--border);transition:background .1s}
    .dtable tbody tr:hover{background:rgba(255,255,255,.03)}
    .dtable tbody td{padding:12px 16px;color:var(--t300)}
    .dtable tbody tr:last-child{border-bottom:none}

    /* Avatar initials */
    .av{
      width:32px;height:32px;border-radius:50%;flex-shrink:0;
      display:inline-flex;align-items:center;justify-content:center;
      font-size:12px;font-weight:700
    }
    .av-v{background:rgba(124,58,237,.2);color:var(--v300)}
    .av-c{background:rgba(34,211,238,.15);color:var(--c300)}
    .av-g{background:rgba(52,211,153,.15);color:var(--g400)}
    .av-a{background:rgba(251,191,36,.15);color:var(--a400)}
    .av-r{background:rgba(251,113,133,.15);color:var(--r400)}

    /* ── Buttons ────────────────────────────────────────────────────── */
    .btn{
      display:inline-flex;align-items:center;gap:6px;
      padding:7px 14px;border-radius:var(--r8);
      font-size:13px;font-weight:500;cursor:pointer;border:none;
      transition:all .15s;text-decoration:none;font-family:inherit;white-space:nowrap
    }
    .btn-primary{background:var(--v600);color:#fff}
    .btn-primary:hover{background:var(--v500)}
    .btn-ghost{background:rgba(255,255,255,.05);color:var(--t300);border:1px solid var(--border)}
    .btn-ghost:hover{background:rgba(255,255,255,.09);color:var(--t100)}
    .btn-success{background:rgba(52,211,153,.12);color:var(--g400);border:1px solid rgba(52,211,153,.2)}
    .btn-success:hover{background:rgba(52,211,153,.22)}
    .btn-danger{background:rgba(251,113,133,.1);color:var(--r400);border:1px solid rgba(251,113,133,.2)}
    .btn-danger:hover{background:rgba(251,113,133,.2)}
    .btn-sm{padding:5px 10px;font-size:12px}
    .btn-xs{padding:3px 8px;font-size:11px}

    /* ── Forms ──────────────────────────────────────────────────────── */
    .fc,.fs{
      background:var(--bg-700);border:1px solid var(--border);
      border-radius:var(--r8);color:var(--t200);padding:8px 12px;
      font-size:13px;width:100%;outline:none;
      transition:border-color .15s,box-shadow .15s;font-family:inherit
    }
    .fc:focus,.fs:focus{
      border-color:var(--v500);
      box-shadow:0 0 0 3px rgba(124,58,237,.15)
    }
    .flabel{
      display:block;font-size:11px;font-weight:600;
      color:var(--t500);text-transform:uppercase;
      letter-spacing:.06em;margin-bottom:6px
    }

    /* ── Dividers / Utils ───────────────────────────────────────────── */
    .divider{height:1px;background:var(--border);margin:12px 0}
    .row{display:flex;gap:16px;flex-wrap:wrap}
    .col{flex:1;min-width:0}
    .col-3{flex:0 0 25%;min-width:0}
    .col-4{flex:0 0 33.33%;min-width:0}
    .col-5{flex:0 0 41.66%;min-width:0}
    .col-7{flex:0 0 58.33%;min-width:0}
    .col-8{flex:0 0 66.66%;min-width:0}
    .grid{display:grid;gap:16px}
    .g6{grid-template-columns:repeat(6,1fr)}
    .g4{grid-template-columns:repeat(4,1fr)}
    .g3{grid-template-columns:repeat(3,1fr)}
    .g2{grid-template-columns:repeat(2,1fr)}
    @media(max-width:1400px){.g6{grid-template-columns:repeat(3,1fr)}}
    @media(max-width:900px){.g6,.g4{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:600px){.g6,.g4,.g3,.g2{grid-template-columns:1fr}}
    .span2{grid-column:span 2}
    .span3{grid-column:span 3}
    .mb4{margin-bottom:16px}.mb6{margin-bottom:24px}.mb2{margin-bottom:8px}
    .mt4{margin-top:16px}
    .flex{display:flex}.items-c{align-items:center}.jc-b{justify-content:space-between}
    .gap2{gap:8px}.gap3{gap:12px}.gap4{gap:16px}
    .fw6{font-weight:600}.fw7{font-weight:700}.fw8{font-weight:800}
    .t-muted{color:var(--t500)}.t-sm{font-size:12px}.t-xs{font-size:11px}
    .t-mono{font-family:'SF Mono',monospace;font-size:12px}
    .text-right{text-align:right}
    .w100{width:100%}
    .overflow-x{overflow-x:auto}
    a{color:var(--v400);text-decoration:none}
    a:hover{color:var(--v300)}

    /* ── Toast ──────────────────────────────────────────────────────── */
    #toast-wrap{
      position:fixed;bottom:24px;right:24px;z-index:9999;
      display:flex;flex-direction:column;gap:8px;pointer-events:none
    }
    .toast{
      background:var(--bg-700);border:1px solid var(--border);
      border-radius:var(--r12);padding:12px 16px;
      min-width:260px;display:flex;align-items:center;gap:10px;
      box-shadow:0 8px 32px rgba(0,0,0,.4);pointer-events:auto;
      animation:_tin .25s ease
    }
    @keyframes _tin{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
    .toast.success{border-left:3px solid var(--g400)}
    .toast.error{border-left:3px solid var(--r400)}
    .toast.info{border-left:3px solid var(--v400)}

    /* Alert */
    .alert{
      padding:12px 16px;border-radius:var(--r8);font-size:13px;
      border:1px solid;margin-bottom:16px
    }
    .alert-warn{background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.2);color:var(--a400)}
    .alert-err{background:rgba(251,113,133,.08);border-color:rgba(251,113,133,.2);color:var(--r400)}

    /* Progress bar */
    #pgbar{
      position:fixed;top:0;left:0;width:100%;height:2px;z-index:9999;
      background:linear-gradient(90deg,var(--v600),var(--c400));
      transform-origin:left;animation:_pg .6s ease-out forwards
    }
    @keyframes _pg{from{transform:scaleX(0)}to{transform:scaleX(1)}}
