    :root{
      --bg:#111315;
      --bg2:#171a1d;
      --panel:#1c2024;
      --panel2:#22272c;
      --line:#31373d;
      --muted:#9ea7b3;
      --text:#eef2f7;
      --soft:#cfd6df;
      --accent:#d7dde6;
      --accent2:#7dd3fc;
      --good:#34d399;
      --warn:#fbbf24;
      --bad:#f87171;
      --violet:#a78bfa;
    }
    html { scroll-behavior: smooth; }
    body{
      background:
        radial-gradient(circle at top left, rgba(255,255,255,0.06), transparent 22%),
        radial-gradient(circle at top right, rgba(125,211,252,0.06), transparent 18%),
        linear-gradient(180deg, #0e1012 0%, #121417 40%, #0f1113 100%);
      color:var(--text);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }
    .glass{
      background:linear-gradient(180deg, rgba(34,39,44,.94), rgba(24,27,31,.96));
      border:1px solid rgba(255,255,255,.08);
      box-shadow: 0 12px 38px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.04);
      backdrop-filter: blur(14px);
    }
    .stat-card{
      background:linear-gradient(180deg, rgba(31,36,41,.98), rgba(20,23,26,.98));
      border:1px solid rgba(255,255,255,.07);
      box-shadow:0 10px 24px rgba(0,0,0,.28);
    }
    .soft-border{ border:1px solid rgba(255,255,255,.08); }
    .hairline{ border-color:rgba(255,255,255,.08); }
    .metric-value{ font-size: clamp(1.15rem, 1.85vw, 1.8rem); letter-spacing:-0.02em; }
    .mini-value{ font-size: clamp(.95rem, 1.35vw, 1.2rem); }
    .label-top{ font-size:.73rem; text-transform:uppercase; letter-spacing:.14em; color:#a8b0bb; }
    .pill{ border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.03); }
    .select-dark, .input-dark {
      background:#121519; color:var(--text); border:1px solid #343b42; outline:none;
    }
    .select-dark:focus, .input-dark:focus { border-color:#7a8796; box-shadow:0 0 0 3px rgba(255,255,255,.06); }
    .slider { accent-color:#d3dae3; }
    .table-shell { max-height: 520px; overflow:auto; }
    .actionable-shell { max-height: 930px; overflow:auto; }
    .table-shell::-webkit-scrollbar, .scroll-x::-webkit-scrollbar { height:10px; width:10px; }
    .table-shell::-webkit-scrollbar-thumb, .scroll-x::-webkit-scrollbar-thumb { background:#4b5563; border-radius:999px; }
    .sticky-head th { position: sticky; top: 0; background:#181b1f; z-index: 1; }
    .chip-active{ background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.22); }
    .shadow-inner-soft{ box-shadow: inset 0 1px 0 rgba(255,255,255,.03), inset 0 -1px 0 rgba(255,255,255,.03); }
    .hero-title{ letter-spacing:-0.04em; line-height:1; }
    .fine{ color:#9ca3af; }
    .kpi-sub{ color:#afb8c3; font-size:.83rem; }
    .section-title{ font-size:1rem; letter-spacing:.04em; text-transform:uppercase; color:#d7dee7; }
    canvas{ max-height: 360px !important; }
    .canvas-tall{ max-height: 440px !important; }
    .floating-panel{ position:absolute; right:16px; top:56px; width:min(460px, calc(100% - 32px)); max-height:300px; overflow:auto; background:rgba(13,16,19,.97); border:1px solid rgba(255,255,255,.12); box-shadow:0 16px 44px rgba(0,0,0,.42); border-radius:18px; padding:14px; z-index:20; }
    .floating-panel.hidden{ display:none; }
    .floating-panel::-webkit-scrollbar{ width:10px; }
    .floating-panel::-webkit-scrollbar-thumb{ background:#4b5563; border-radius:999px; }
    .panel-person{ border-top:1px solid rgba(255,255,255,.06); padding-top:10px; margin-top:10px; }
