@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#f1f5f9;--bg2:#f8fafc;--white:#ffffff;--surface:#ffffff;--card:#ffffff;
  --dark:#0f172a;--text:#0f172a;--sec:#475569;--mut:#94a3b8;
  --bdr:#e2e8f0;--bdr-lt:#f1f5f9;
  --orange:#f97316;--orange-lt:rgba(249,115,22,0.06);--orange-dk:#ea580c;
  --green:#10b981;--green-lt:rgba(16,185,129,0.06);--green-dk:#059669;
  --red:#ef4444;--red-lt:rgba(239,68,68,0.06);--red-dk:#dc2626;
  --blue:#3b82f6;--blue-lt:rgba(59,130,246,0.06);
  --amber:#f59e0b;--amber-lt:rgba(245,158,11,0.06);
  --purple:#8b5cf6;
  --radius:14px;
  --shadow:0 1px 2px rgba(15,23,42,0.03),0 4px 12px rgba(15,23,42,0.04);
  --shadow-md:0 2px 4px rgba(15,23,42,0.04),0 8px 24px rgba(15,23,42,0.06);
  --shadow-lg:0 4px 16px rgba(15,23,42,0.06),0 16px 48px rgba(15,23,42,0.08)
}

*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',-apple-system,sans-serif;background:radial-gradient(circle at 20% 20%,#1e293b 0%,#0f172a 40%,#020617 100%);background-attachment:fixed;color:#f8fafc;line-height:1.6;-webkit-font-smoothing:antialiased;font-size:14px;min-height:100vh}
a{color:var(--orange);text-decoration:none}
::selection{background:rgba(249,115,22,0.15);color:var(--dark)}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:rgba(255,255,255,0.02)}::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.08);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.15)}

.app-shell{display:flex;min-height:100vh}
.sidebar{position:fixed;top:12px;left:12px;bottom:12px;width:250px;background:rgba(15,23,42,0.65);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.07);border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.2),0 8px 32px rgba(0,0,0,0.1);z-index:50;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;transition:width .25s ease}
.sidebar-logo{padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,0.06);position:sticky;top:0;background:rgba(15,23,42,0.5);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:2;border-radius:16px 16px 0 0}
/* Sidebar collapse system */
.sb-collapse-btn{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:8px;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .15s;margin-top:8px}
.sb-collapse-btn:hover{background:rgba(255,255,255,0.1);color:#e2e8f0}
.sb-collapsed .sidebar{width:64px}
.sb-collapsed .main-content{margin-left:88px}
.sb-collapsed .sidebar-logo>div:first-child{display:none}
.sb-collapsed .sidebar-logo{justify-content:center;padding:14px 8px}
.sb-collapsed .sidebar-nav{padding:6px}
.sb-collapsed .nav-item{justify-content:center;padding:10px;margin:2px 6px;font-size:0;gap:0;border-radius:10px;overflow:hidden}
.sb-collapsed .nav-item .icon{width:20px;height:20px}
.sb-collapsed .nav-item .icon svg{width:18px;height:18px}
.sb-collapsed .nav-item.active{background:rgba(249,115,22,0.12)}
.sb-collapsed .nav-item:hover{background:rgba(255,255,255,0.08)}
.sb-collapsed .sb-label{display:none}
.sb-collapsed .sb-collapse-btn svg{transform:rotate(180deg)}
.sb-collapsed .brand-tagline{display:none}
.sb-collapsed #oc-theme-toggle{width:28px;height:28px;margin:0 auto}
.sidebar-logo h1{font-size:22px;font-weight:800;color:var(--orange);margin:0;letter-spacing:1px}
.sidebar-logo small{font-size:10px;color:var(--mut);letter-spacing:.5px}
.sidebar-nav{padding:14px 14px;flex:1}
.sidebar-section{font-size:10px;font-weight:600;color:rgba(15,23,42,0.25);padding:14px 14px 6px;text-transform:uppercase;letter-spacing:.08em}
.sidebar-brand{font-size:18px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.sidebar-brand .brand-on{background:linear-gradient(180deg,#1e293b 0%,#64748b 50%,#334155 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-brand .brand-crew{color:var(--orange)}
.brand-tagline{font-size:9px;color:rgba(15,23,42,0.3);letter-spacing:2.5px;text-transform:uppercase;margin-top:3px}
.hero-brand{font-size:18px;font-weight:800;letter-spacing:1.5px}.hero-brand .brand-on{color:#ffffff}.hero-brand .brand-crew{color:var(--orange)}
.hero.orange .hero-brand .brand-crew{color:var(--dark)}

.nav-item{display:flex;align-items:center;gap:10px;padding:10px 16px;margin:1px 10px;font-size:13px;font-weight:500;color:#94a3b8;text-decoration:none;border-radius:10px;cursor:pointer;transition:all .15s}
.nav-item:hover{background:rgba(255,255,255,0.06);color:#e2e8f0}
.nav-item.active{background:rgba(249,115,22,0.1);color:#fb923c;font-weight:600}
.nav-item .icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nav-item .icon svg{width:16px;height:16px}
.main-content{flex:1;margin-left:274px;min-height:100vh;transition:margin-left .25s ease}

.mobile-shell{max-width:430px;margin:0 auto;background:var(--bg);min-height:100vh;display:flex;flex-direction:column}
.mobile-body{flex:1;overflow-y:auto;padding-bottom:72px}
.mobile-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;background:rgba(255,255,255,0.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(15,23,42,0.04);display:flex;padding:6px 6px 10px;z-index:100}
.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;padding:6px 2px;color:var(--mut);font-size:10px;font-weight:500;text-decoration:none;transition:.2s}
.mobile-nav a.active{color:var(--orange);font-weight:700}
.mobile-nav a .icon{font-size:20px}

.page-hdr{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;color:#f8fafc}
.page-hdr h1{font-size:24px;font-weight:700;letter-spacing:-.02em;color:#f8fafc}
.page-hdr-actions{display:flex;gap:8px}
.hero{padding:20px 20px 24px;color:#fff;border-radius:0 0 20px 20px}.hero.orange{background:linear-gradient(135deg,#f97316,#fb923c)}.hero.dark{background:linear-gradient(135deg,#0f172a,#1e293b)}
.topbar{background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:14px 20px;border-bottom:1px solid rgba(15,23,42,0.04);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}
.topbar h2{font-size:17px;font-weight:700;color:var(--dark)}.topbar .sub{font-size:11px;color:var(--sec)}

.card{background:rgba(15,23,42,0.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:20px;box-shadow:0 4px 16px rgba(0,0,0,0.25);color:#e2e8f0}
.card.click{cursor:pointer}.card.click:hover{box-shadow:0 6px 20px rgba(0,0,0,0.3);transform:translateY(-1px)}
.stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.stat{text-align:center;padding:14px;color:#e2e8f0}
.stat-val{font-size:22px;font-weight:700;color:#f8fafc} .stat-label{font-size:11px;color:#64748b;margin-top:2px} .stat-sub{font-size:10px;color:#475569;margin-top:2px}
.cmd-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;padding:0 20px 20px} .cmd-col-2{grid-column:span 2}.cmd-col-3{grid-column:span 3}.cmd-col-4{grid-column:span 4}.cmd-col-5{grid-column:span 5}.cmd-col-6{grid-column:span 6}.cmd-col-8{grid-column:span 8}.cmd-col-12{grid-column:span 12} .cmd-kpi{background:rgba(255,255,255,0.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:12px;padding:10px 12px;border:1px solid rgba(255,255,255,0.4);box-shadow:0 3px 10px rgba(0,0,0,0.04),inset 0 1px 0 rgba(255,255,255,0.5);display:flex;flex-direction:column;justify-content:space-between;min-height:68px;transition:all .2s;cursor:pointer} .cmd-kpi:hover{box-shadow:0 6px 18px rgba(0,0,0,0.07),inset 0 1px 0 rgba(255,255,255,0.5);transform:translateY(-1px)} .cmd-kpi .kpi-val{font-size:22px;font-weight:700;line-height:1;letter-spacing:-0.02em} .cmd-kpi .kpi-label{font-size:9px;font-weight:600;color:var(--sec);text-transform:uppercase;letter-spacing:0.04em;margin-top:2px} .cmd-kpi .kpi-sub{font-size:9px;color:var(--mut);margin-top:1px} .cmd-kpi .kpi-icon{font-size:12px;margin-bottom:3px} .cmd-kpi.critical{border-left:3px solid var(--red)}.cmd-kpi.warning{border-left:3px solid var(--amber)}.cmd-kpi.success{border-left:3px solid #10b981} .cmd-panel{background:rgba(255,255,255,0.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:14px;padding:14px;border:1px solid rgba(255,255,255,0.35);box-shadow:0 4px 14px rgba(0,0,0,0.04),inset 0 1px 0 rgba(255,255,255,0.45);overflow:hidden} .cmd-panel .panel-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px} .cmd-panel .panel-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--text)} .cmd-panel .panel-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px} .cmd-issue{padding:8px 10px;border-radius:10px;margin-bottom:4px;border:1px solid rgba(15,23,42,0.05);transition:all .15s;cursor:pointer} .cmd-issue:hover{background:rgba(249,115,22,0.03);border-color:rgba(249,115,22,0.15)} .cmd-issue.crit{border-left:3px solid var(--red);background:rgba(239,68,68,0.02)} .cmd-issue.warn{border-left:3px solid var(--amber);background:rgba(245,158,11,0.02)} .cmd-issue .issue-title{font-size:13px;font-weight:600} .cmd-issue .issue-detail{font-size:11px;color:var(--sec);margin-top:2px} .cmd-issue .issue-action{display:flex;gap:4px;margin-top:6px} .cmd-pulse{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;margin-bottom:2px;background:rgba(255,255,255,0.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:12px;margin:0 20px 10px;border:1px solid rgba(255,255,255,0.3)} .cmd-pulse .pulse-left{display:flex;align-items:center;gap:16px} .cmd-pulse .pulse-title{font-size:18px;font-weight:700;letter-spacing:-0.01em} .cmd-pulse .pulse-dot{width:8px;height:8px;border-radius:50%;animation:pulse-glow 2s infinite} .cmd-pulse .pulse-stats{display:flex;gap:20px} .cmd-pulse .pulse-stat{font-size:12px;color:var(--sec)}.cmd-pulse .pulse-stat b{font-size:14px;color:var(--text);margin-right:2px} @keyframes pulse-glow{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(16,185,129,0.4)}50%{opacity:.8;box-shadow:0 0 0 6px rgba(16,185,129,0)}} .cmd-act{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;font-size:12px;border-bottom:1px solid rgba(15,23,42,0.04)} .cmd-act:last-child{border-bottom:none} .cmd-act .act-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0} .cmd-act .act-icon.sms{background:var(--blue-lt);color:var(--blue)}.cmd-act .act-icon.voice{background:var(--amber-lt);color:var(--amber)}.cmd-act .act-icon.fill{background:var(--green-lt);color:#10b981} .cmd-sched{padding:8px 0;border-bottom:1px solid rgba(15,23,42,0.04);display:flex;justify-content:space-between;align-items:center;font-size:12px} .cmd-sched:last-child{border-bottom:none} .cmd-sched .sched-time{font-weight:700;color:var(--orange);min-width:44px} @media(max-width:1200px){.cmd-grid{grid-template-columns:repeat(6,1fr)}.cmd-col-2{grid-column:span 3}.cmd-col-3{grid-column:span 3}.cmd-col-4{grid-column:span 6}.cmd-col-5{grid-column:span 6}.cmd-col-8{grid-column:span 6}} @media(max-width:768px){.cmd-grid{grid-template-columns:1fr}.cmd-col-2,.cmd-col-3,.cmd-col-4,.cmd-col-5,.cmd-col-6,.cmd-col-8,.cmd-col-12{grid-column:span 1}.cmd-pulse{flex-direction:column;gap:8px}.cmd-pulse .pulse-stats{flex-wrap:wrap}}

.cmd-hero-issue{background:rgba(255,255,255,0.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px;padding:18px 20px;border:1px solid rgba(255,255,255,0.5);box-shadow:0 8px 24px rgba(0,0,0,0.07),0 16px 40px rgba(0,0,0,0.05),inset 0 1px 0 rgba(255,255,255,0.6);position:relative;overflow:hidden;transition:all .2s} .cmd-hero-issue:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,0.09),0 20px 48px rgba(0,0,0,0.06),inset 0 1px 0 rgba(255,255,255,0.6)} .cmd-hero-issue.crit{border-left:4px solid var(--red);box-shadow:0 8px 24px rgba(0,0,0,0.07),0 16px 40px rgba(0,0,0,0.05),0 0 0 1px rgba(239,68,68,0.12),inset 0 1px 0 rgba(255,255,255,0.6)}.cmd-hero-issue.crit::before{content:'';position:absolute;top:0;right:0;width:120px;height:100%;background:radial-gradient(circle at 100% 0%,rgba(239,68,68,0.06),transparent 70%);pointer-events:none} .cmd-hero-issue.warn{border-left:4px solid var(--amber);box-shadow:0 8px 24px rgba(0,0,0,0.07),0 16px 40px rgba(0,0,0,0.05),0 0 0 1px rgba(245,158,11,0.12),inset 0 1px 0 rgba(255,255,255,0.6)}.cmd-hero-issue.warn::before{content:'';position:absolute;top:0;right:0;width:120px;height:100%;background:radial-gradient(circle at 100% 0%,rgba(245,158,11,0.06),transparent 70%);pointer-events:none} .cmd-hero-issue .hero-severity{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px} .cmd-hero-issue .hero-title{font-size:16px;font-weight:700;margin-bottom:4px} .cmd-hero-issue .hero-meta{font-size:12px;color:var(--sec);margin-bottom:8px} .cmd-hero-issue .hero-rec{background:rgba(15,23,42,0.03);border-radius:10px;padding:10px 12px;margin-bottom:10px} .cmd-hero-issue .hero-rec-label{font-size:10px;font-weight:600;color:var(--sec);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:4px} .cmd-hero-issue .hero-rec-text{font-size:13px;font-weight:600;color:var(--text)} .cmd-hero-issue .hero-conf{display:flex;align-items:center;gap:8px;margin-top:4px} .cmd-hero-issue .conf-bar{flex:1;height:4px;border-radius:2px;background:rgba(15,23,42,0.06);overflow:hidden;max-width:100px} .cmd-hero-issue .conf-fill{height:100%;border-radius:2px} .cmd-kpi-live{position:relative}.cmd-kpi-live .kpi-trend{font-size:10px;font-weight:600;margin-left:4px} .cmd-kpi-live .kpi-trend.up{color:var(--red)}.cmd-kpi-live .kpi-trend.down{color:#10b981}.cmd-kpi-live .kpi-trend.flat{color:var(--mut)} .cmd-kpi-live.pulse-crit .kpi-val{animation:kpi-pulse 2s infinite} @keyframes kpi-pulse{0%,100%{opacity:1}50%{opacity:.6}} .cmd-timeline{font-size:12px}.cmd-tl-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid rgba(15,23,42,0.04)}.cmd-tl-item:last-child{border-bottom:none} .cmd-tl-item .tl-time{font-size:10px;font-weight:600;color:var(--sec);min-width:40px;padding-top:1px} .cmd-tl-item .tl-dot{width:8px;height:8px;border-radius:50%;margin-top:3px;flex-shrink:0} .cmd-tl-item .tl-content{flex:1} .cmd-tl-item .tl-title{font-size:12px;font-weight:600}.cmd-tl-item .tl-sub{font-size:10px;color:var(--sec)} .cmd-confidence{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:10px;font-size:12px;font-weight:600} .cmd-confidence .conf-icon{width:10px;height:10px;border-radius:50%}
.axis-bar{position:sticky;top:0;z-index:40;margin:0 20px 8px;padding:10px 16px;background:rgba(255,255,255,0.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,0.6);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,0.08),0 20px 50px rgba(0,0,0,0.05),inset 0 1px 0 rgba(255,255,255,0.6);display:flex;align-items:center;justify-content:space-between;gap:14px;transition:box-shadow .2s} .axis-bar.axis-critical{box-shadow:0 0 0 1px rgba(239,68,68,0.15),0 10px 30px rgba(239,68,68,0.08),0 20px 50px rgba(0,0,0,0.04),inset 0 1px 0 rgba(255,255,255,0.6)} .axis-bar.axis-warning{box-shadow:0 0 0 1px rgba(245,158,11,0.15),0 10px 30px rgba(245,158,11,0.08),0 20px 50px rgba(0,0,0,0.04),inset 0 1px 0 rgba(255,255,255,0.6)} .axis-bar .axis-label{font-size:13px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:var(--orange);white-space:nowrap} .axis-bar .axis-summary{font-size:12px;color:var(--text);line-height:1.4;flex:1} .axis-bar .axis-rec{font-size:11px;color:var(--sec);text-align:right;min-width:160px} .axis-bar .axis-rec b{color:var(--text);font-weight:600} .axis-bar .axis-conf{font-size:13px;font-weight:700;white-space:nowrap} .axis-bar .axis-actions{display:flex;gap:6px;flex-shrink:0}
.cmd-seg{display:flex;gap:2px;padding:2px;background:rgba(15,23,42,0.04);border-radius:8px;margin-bottom:8px} .cmd-seg button{flex:1;padding:4px 8px;font-size:9px;font-weight:600;border:none;border-radius:6px;background:transparent;color:var(--sec);cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap} .cmd-seg button.active{background:#fff;color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,0.08)} .cmd-seg button:hover:not(.active){color:var(--text)}

/* === DASHBOARD v8 DARK GLASS === */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800&display=swap');
.ds{font-family:'DM Sans',system-ui,-apple-system,sans-serif;padding:0 28px 28px;color:#f8fafc}
.ds *{box-sizing:border-box}
.ds-top{display:flex;align-items:flex-end;justify-content:space-between;padding:20px 0 14px}
.ds-top h1{font-size:22px;font-weight:700;letter-spacing:-0.03em;margin:0;line-height:1.2;color:#f8fafc}
.ds-top .ds-sub{font-size:12px;color:#64748b;margin-top:3px;font-weight:400}
.ds-top .ds-health{text-align:right}
.ds-top .ds-health-pct{font-size:18px;font-weight:800;letter-spacing:-0.02em}
.ds-top .ds-health-label{font-size:10px;color:#475569;font-weight:500}
/* === AXIS COMMAND STRIP === */
.ax-strip{position:sticky;top:0;z-index:40;margin:0 0 16px;border-radius:14px;background:rgba(15,23,42,0.65);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,0.08);box-shadow:0 8px 30px rgba(0,0,0,0.4);overflow:hidden;transition:box-shadow .25s}
.ax-strip.ax-red{box-shadow:0 0 0 1px rgba(239,68,68,0.15),0 4px 16px rgba(239,68,68,0.06);border-color:rgba(239,68,68,0.1)}
.ax-strip.ax-amber{box-shadow:0 0 0 1px rgba(245,158,11,0.15),0 4px 16px rgba(245,158,11,0.06);border-color:rgba(245,158,11,0.1)}
.ax-strip.ax-green{box-shadow:0 0 0 1px rgba(16,185,129,0.12),0 4px 16px rgba(16,185,129,0.04);border-color:rgba(16,185,129,0.08)}
/* AXIS urgency indicator */ .ax-strip .ax-urgency{font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;padding:2px 7px;border-radius:5px;margin-left:6px} .ax-strip .ax-urgency.u-critical{background:rgba(239,68,68,0.12);color:#fca5a5} .ax-strip .ax-urgency.u-attention{background:rgba(245,158,11,0.12);color:#fcd34d} .ax-strip .ax-urgency.u-stable{background:rgba(16,185,129,0.1);color:#6ee7b7};
/* Collapsed bar */
.ax-bar{display:flex;align-items:center;gap:12px;padding:14px 20px;cursor:pointer;transition:background .15s;min-height:56px}
.ax-bar:hover{background:rgba(255,255,255,0.02)}
.ax-bar .ax-brand{font-size:11px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:#fb923c;flex-shrink:0}
.ax-bar .ax-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;animation:pulse-glow 2s infinite}
.ax-bar .ax-text{flex:1;font-size:12px;color:#cbd5e1;font-weight:500}
.ax-bar .ax-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.ax-bar .ax-pct{font-size:14px;font-weight:800;letter-spacing:-0.02em}
.ax-bar .ax-chevron{font-size:10px;color:#475569;transition:transform .2s;width:20px;text-align:center}
.ax-strip.expanded .ax-chevron{transform:rotate(180deg)}
/* Expanded panel */
.ax-panel{max-height:0;overflow:hidden;transition:max-height .2s ease-out,opacity .15s;opacity:0}
.ax-strip.expanded .ax-panel{max-height:400px;opacity:1;transition:max-height .25s ease-in,opacity .2s .05s}
.ax-panel-inner{padding:0 20px 16px;border-top:1px solid rgba(255,255,255,0.06)}
.ax-panel .ax-rec-block{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);border-radius:10px;padding:12px 14px;margin-top:12px;margin-bottom:12px}
.ax-panel .ax-rec-label{font-size:9px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:0.04em;margin-bottom:6px}
.ax-panel .ax-rec-text{font-size:12px;color:#e2e8f0;font-weight:600;line-height:1.5}
.ax-panel .ax-rec-step{font-size:11px;color:#94a3b8;padding:3px 0;display:flex;gap:8px}
.ax-panel .ax-rec-step .step-n{color:#fb923c;font-weight:700;min-width:16px}
.ax-panel .ax-btn-row{display:flex;gap:6px;margin-bottom:12px}
.ax-panel .ax-ctx{display:flex;gap:16px;padding-top:10px;border-top:1px solid rgba(255,255,255,0.04)}
.ax-panel .ax-ctx-item{font-size:11px;color:#64748b}
.ax-panel .ax-ctx-item strong{color:#94a3b8;font-weight:700}
/* AXIS Command Input */
.ax-cmd{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,0.04)}
.ax-cmd-label{font-size:9px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px}
.ax-cmd-row{display:flex;gap:6px;align-items:center}
.ax-cmd-input{flex:1;background:rgba(15,23,42,0.5);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:8px 12px;font-size:12px;color:#e2e8f0;font-family:'DM Sans',system-ui,sans-serif;outline:none;transition:border-color .2s}
.ax-cmd-input:focus{border-color:rgba(249,115,22,0.3);box-shadow:0 0 0 2px rgba(249,115,22,0.08)}
.ax-cmd-input::placeholder{color:#475569}
.ax-cmd-btn{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.04);color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;font-size:14px;flex-shrink:0}
.ax-cmd-btn:hover{background:rgba(255,255,255,0.08);color:#e2e8f0;border-color:rgba(255,255,255,0.12)}
.ax-cmd-btn.recording{background:rgba(239,68,68,0.12);border-color:rgba(239,68,68,0.2);color:#fca5a5;animation:pulse-glow 1.5s infinite}
.ax-cmd-run{background:rgba(249,115,22,0.1);border-color:rgba(249,115,22,0.15);color:#fb923c}
.ax-cmd-run:hover{background:rgba(249,115,22,0.2);color:#fff}
.ax-cmd-run.disabled{opacity:0.3;pointer-events:none}
.ax-cmd-status{font-size:10px;margin-top:6px;min-height:14px;transition:opacity .15s}
.ax-cmd-status.success{color:#10b981}
.ax-cmd-status.error{color:#f59e0b}
.ax-cmd-status.info{color:#64748b}
/* AXIS Suggestions */ .ax-suggestions{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px;min-height:0} .ax-sug{padding:4px 10px;font-size:10px;font-weight:600;color:#94a3b8;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);border-radius:6px;cursor:pointer;transition:all .15s;font-family:'DM Sans',system-ui,sans-serif} .ax-sug:hover,.ax-sug.selected{background:rgba(249,115,22,0.1);color:#fb923c;border-color:rgba(249,115,22,0.15)} .ax-sug.selected{box-shadow:0 0 0 1px rgba(249,115,22,0.2)} /* Last action */ .ax-last{font-size:9px;color:#475569;margin-top:4px;display:flex;align-items:center;gap:4px} .ax-last span{cursor:pointer;color:#64748b;text-decoration:underline;text-decoration-color:rgba(100,116,139,0.3);transition:color .15s} .ax-last span:hover{color:#fb923c}
/* AXIS Feedback */ .ax-feedback{font-size:10px;min-height:16px;padding:0;margin-top:4px;transition:opacity .3s;display:flex;align-items:center;gap:6px} .ax-feedback.fading{opacity:0} .ax-feedback .ax-fb-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0} .ax-feedback .ax-fb-dot.running{background:#fb923c;animation:pulse-glow 1s infinite} .ax-feedback .ax-fb-dot.success{background:#10b981} .ax-feedback .ax-fb-dot.warning{background:#f59e0b} .ax-feedback .ax-fb-dot.error{background:#ef4444} .ax-feedback .ax-fb-text{color:#94a3b8} .ax-feedback .ax-fb-text.success{color:#6ee7b7} .ax-feedback .ax-fb-text.warning{color:#fcd34d} .ax-feedback .ax-fb-next{font-size:9px;color:#475569;margin-left:auto;cursor:pointer;transition:color .15s} .ax-feedback .ax-fb-next:hover{color:#fb923c};
/* AXIS Global Toast */ #axToast{position:fixed;top:20px;right:20px;z-index:9999;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px} .ax-toast{background:rgba(15,23,42,0.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:10px 16px;display:flex;align-items:center;gap:8px;box-shadow:0 8px 30px rgba(0,0,0,0.5);pointer-events:auto;transform:translateX(0);opacity:1;transition:transform .25s,opacity .25s;max-width:360px} .ax-toast.entering{transform:translateX(20px);opacity:0} .ax-toast.exiting{transform:translateX(20px);opacity:0} .ax-toast .t-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0} .ax-toast .t-dot.running{background:#fb923c;animation:pulse-glow 1s infinite} .ax-toast .t-dot.success{background:#10b981} .ax-toast .t-dot.warning{background:#f59e0b} .ax-toast .t-dot.error{background:#ef4444} .ax-toast .t-text{font-size:12px;color:#e2e8f0;font-weight:500;font-family:'DM Sans',system-ui,sans-serif} .ax-toast .t-text.success{color:#6ee7b7} .ax-toast .t-text.warning{color:#fcd34d} .ax-toast .t-badge{font-size:9px;color:#475569;font-weight:600} .ax-toast .t-next{font-size:10px;color:#fb923c;cursor:pointer;margin-left:4px;text-decoration:underline;text-decoration-color:rgba(251,146,60,0.3)} .ax-toast .t-next:hover{color:#fff}
/* Brief */
.ds-brief{padding:7px 16px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);border-radius:10px;border-left:3px solid #f97316;font-size:11px;color:#64748b;margin-bottom:16px;font-weight:400}
/* Grid */
.ds-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.g1{grid-column:span 1}.g2{grid-column:span 2}.g3{grid-column:span 3}.g4{grid-column:span 4}.g5{grid-column:span 5}.g6{grid-column:span 6}.g7{grid-column:span 7}.g8{grid-column:span 8}.g9{grid-column:span 9}.g12{grid-column:span 12}
/* KPI */
.ds-kpi{background:linear-gradient(180deg,rgba(255,255,255,0.08),rgba(255,255,255,0.03));border:1px solid rgba(255,255,255,0.07);border-radius:14px;padding:14px 16px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}
.ds-kpi:hover{background:linear-gradient(180deg,rgba(255,255,255,0.12),rgba(255,255,255,0.05));box-shadow:0 4px 16px rgba(0,0,0,0.3);transform:translateY(-2px) scale(1.01)}
.ds-kpi .kpi-n{font-size:26px;font-weight:800;letter-spacing:-0.03em;line-height:1;margin-bottom:2px;color:#f8fafc}
.ds-kpi .kpi-l{font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:0.04em}
.ds-kpi .kpi-s{font-size:9px;color:#475569;margin-top:3px;font-weight:400}
.ds-kpi.kpi-accent::after{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px}
.ds-kpi.kpi-red::after{background:#ef4444;box-shadow:0 0 6px rgba(239,68,68,0.25)} .ds-kpi.kpi-amber::after{background:#f59e0b;box-shadow:0 0 6px rgba(245,158,11,0.25)} .ds-kpi.kpi-green::after{background:#10b981;box-shadow:0 0 6px rgba(16,185,129,0.25)}
/* Card */
.ds-card{background:rgba(255,255,255,0.06);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.08);border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,0.35),inset 0 1px 0 rgba(255,255,255,0.05);transition:all .2s;position:relative}
.ds-card:hover{box-shadow:0 14px 36px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.06);transform:translateY(-3px)}
.ds-card-hero{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.1);box-shadow:0 10px 30px rgba(0,0,0,0.4),0 20px 50px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.08)}
.ds-card .card-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.ds-card .card-t{font-size:14px;font-weight:700;letter-spacing:-0.01em;color:#f1f5f9}
.ds-card .card-badge{font-size:9px;font-weight:600;padding:3px 9px;border-radius:8px;letter-spacing:0.02em}
/* Segment */
.ds-seg{display:inline-flex;gap:2px;padding:3px;background:rgba(255,255,255,0.04);border-radius:10px;margin-bottom:14px;border:1px solid rgba(255,255,255,0.04)}
.ds-seg button{padding:5px 12px;font-size:10px;font-weight:600;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;font-family:'DM Sans',system-ui,sans-serif;transition:all .15s;white-space:nowrap}
.ds-seg button.on{background:rgba(255,255,255,0.1);color:#f1f5f9;box-shadow:0 1px 4px rgba(0,0,0,0.3)}
.ds-seg button:hover:not(.on){color:#94a3b8}
/* Issue */
.ds-issue{padding:11px 14px;border-radius:12px;margin-bottom:6px;border:1px solid rgba(255,255,255,0.05);cursor:pointer;transition:all .15s;background:rgba(255,255,255,0.03)}
.ds-issue:hover{background:rgba(249,115,22,0.06);border-color:rgba(249,115,22,0.15);transform:translateX(2px)}
.ds-issue.is-red{border-left:3px solid #ef4444}.ds-issue.is-amber{border-left:3px solid #f59e0b}
.ds-issue .is-t{font-size:12px;font-weight:600;color:#e2e8f0}
.ds-issue .is-s{font-size:10px;color:#64748b;margin-top:2px}
/* Metric row */
.ds-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,0.05);font-size:12px;color:#94a3b8}
.ds-row:last-child{border-bottom:none}
.ds-row .row-v{font-weight:700;color:#e2e8f0}
/* Section label */
.ds-label{font-size:10px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:0.08em;padding:8px 0 4px}
/* Chart bars */
.ds-bars{display:flex;align-items:flex-end;gap:4px}
.ds-bars .b-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}
.ds-bars .b-val{font-size:8px;font-weight:600;color:#475569}
.ds-bars .b-fill{width:100%;border-radius:4px 4px 0 0;transition:height .3s}
.ds-bars .b-lbl{font-size:8px;color:#475569;font-weight:500}
.ds-bars .b-lbl.today{color:#fb923c;font-weight:700}
/* Funnel */
.ds-funnel{display:flex;flex-direction:column;gap:4px}
.ds-funnel .fn-row{display:flex;align-items:center;gap:6px}
.ds-funnel .fn-bar{height:14px;border-radius:7px;transition:width .3s}
.ds-funnel .fn-info{min-width:50px;text-align:right;font-size:9px;white-space:nowrap;color:#64748b}
.ds-funnel .fn-info span{font-weight:700;font-size:10px}

.ds-stage{padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,0.06);background:rgba(255,255,255,0.03);margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;transition:all .2s;cursor:default}
.ds-stage:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.1);transform:translateX(2px)}
.ds-stage .stg-name{font-size:11px;font-weight:600;color:#94a3b8}
.ds-stage .stg-count{font-size:14px;font-weight:800;letter-spacing:-0.02em}
.ds-stage .stg-bar{height:3px;border-radius:2px;margin-top:4px;background:rgba(255,255,255,0.04)}
.ds-stage .stg-fill{height:100%;border-radius:2px}
.ds-stage .stg-arrow{font-size:8px;color:#334155;text-align:center;padding:2px 0}
/* Pill */
.ds-pill{display:inline-flex;flex-direction:column;align-items:center;padding:10px 8px;border-radius:10px;background:rgba(255,255,255,0.04);min-width:60px}
.ds-pill .pill-n{font-size:18px;font-weight:800;line-height:1;letter-spacing:-0.02em;color:#e2e8f0}
.ds-pill .pill-l{font-size:7px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:0.05em;margin-top:3px}
/* Responsive */
@media(max-width:1200px){.g5,.g7{grid-column:span 6}.g8{grid-column:span 12}.g9{grid-column:span 12}}
@media(max-width:768px){.ds-grid{grid-template-columns:1fr}.g1,.g2,.g3,.g4,.g5,.g6,.g7,.g8,.g9,.g12{grid-column:span 1}.ds-top{flex-direction:column;align-items:flex-start;gap:8px}.ax-strip .ax-bar{flex-wrap:wrap}}

.ds .card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);color:#e2e8f0}
.ds .btn-outline{border-color:rgba(255,255,255,0.15);color:#94a3b8}
.ds .btn-outline:hover{border-color:rgba(255,255,255,0.25);color:#e2e8f0;background:rgba(255,255,255,0.05)}


.stat-label{font-size:11px;color:#64748b;font-weight:600;margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}
.stat-val{font-size:22px;font-weight:700;color:#f8fafc}
.stat-sub{font-size:10px;color:#475569;margin-top:2px}

.badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:6px;display:inline-flex;align-items:center}
.badge-active,.badge-accepted{background:rgba(16,185,129,0.15);color:#6ee7b7}
.badge-submitted,.badge-pending{background:rgba(59,130,246,0.15);color:#93c5fd}
.badge-rejected{background:rgba(239,68,68,0.15);color:#fca5a5}
.badge-draft,.badge-inactive{background:rgba(255,255,255,0.06);color:#64748b}
.badge-approved,.badge-trialing,.badge-filled{background:rgba(16,185,129,0.15);color:#6ee7b7} .badge-cancelled,.badge-suspended{background:rgba(239,68,68,0.15);color:#fca5a5} .badge-past_due{background:rgba(245,158,11,0.15);color:#fcd34d} .badge-open{background:rgba(59,130,246,0.15);color:#93c5fd} .badge-pending,.badge-draft{background:rgba(245,158,11,0.15);color:#fcd34d}
.badge-completed{background:rgba(15,23,42,0.04);color:var(--sec)}
.badge-amended{background:rgba(139,92,246,0.06);color:#7c3aed}
.badge-inactive{background:rgba(15,23,42,0.03);color:var(--mut)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:10px;font-size:13px;font-weight:600;border:none;cursor:pointer;font-family:inherit;transition:all .2s;text-decoration:none}
.btn:disabled{opacity:.4;cursor:not-allowed}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0) scale(0.98)}
.btn-primary{background:#f97316;color:#fff}.btn-primary:hover{background:#ea580c;box-shadow:0 0 12px rgba(249,115,22,0.2)}
.btn-success{background:rgba(16,185,129,0.2);color:#6ee7b7;border:1px solid rgba(16,185,129,0.2)}.btn-success:hover{background:rgba(16,185,129,0.3);box-shadow:0 0 12px rgba(16,185,129,0.2)}
.btn-danger{background:rgba(239,68,68,0.2);color:#fca5a5;border:1px solid rgba(239,68,68,0.2)}.btn-danger:hover{background:rgba(239,68,68,0.3)}
.btn-blue{background:rgba(59,130,246,0.2);color:#93c5fd;border:1px solid rgba(59,130,246,0.2)}.btn-blue:hover{background:rgba(59,130,246,0.3)}
.btn-outline{background:transparent;border:1px solid rgba(255,255,255,0.12);color:#94a3b8}.btn-outline:hover{border-color:rgba(255,255,255,0.2);color:#e2e8f0;background:rgba(255,255,255,0.04)}
.btn-sm{padding:5px 12px;font-size:11px;border-radius:8px}
.btn-full{width:100%} .btn-big{padding:14px 20px;font-size:15px}

.form-group{margin-bottom:14px}
.form-label{font-size:12px;font-weight:600;color:#94a3b8;margin-bottom:4px;display:block}
.form-input,.form-select,.form-textarea{background:rgba(15,23,42,0.5);border:1px solid rgba(255,255,255,0.1);color:#e2e8f0;border-radius:10px;padding:10px 14px;font-size:13px;font-family:inherit;transition:border-color .2s}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:rgba(249,115,22,0.4);outline:none;box-shadow:0 0 0 3px rgba(249,115,22,0.1)}
.form-input::placeholder{color:#475569}
.form-textarea{resize:none;min-height:60px}
.form-row{display:flex;gap:10px}.form-row>*{flex:1}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%2394a3b8' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}

.tbl-wrap{overflow-x:auto;border-radius:12px;border:1px solid rgba(255,255,255,0.06);-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;color:#e2e8f0}
th{text-align:left;padding:10px 12px;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:0.04em;border-bottom:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.03)}
td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,0.05);font-size:13px}
tr:hover td{background:rgba(255,255,255,0.03)}


.bl-green{border-left:3px solid var(--green)}.bl-red{border-left:3px solid var(--red)}.bl-amber{border-left:3px solid var(--amber)}.bl-blue{border-left:3px solid var(--blue)}

.modal-overlay{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:16px}
.modal-overlay.show,.modal-overlay[style*="flex"]{display:flex}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px)}
.modal{background:rgba(15,23,42,0.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.1);border-radius:18px;padding:24px;color:#e2e8f0;box-shadow:0 20px 60px rgba(0,0,0,0.5);position:relative;width:100%;max-width:500px;max-height:85vh;overflow-y:auto}
.modal.wide{max-width:640px}
.modal-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.modal-title{font-size:16px;font-weight:700;color:#f8fafc}
.modal-close{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);color:#94a3b8;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all .2s}
.modal-close:hover{background:rgba(255,255,255,0.1);color:#f8fafc}

.alert{padding:12px 16px;border-radius:10px;font-size:13px;margin-bottom:12px}
.alert-warning{background:rgba(245,158,11,0.12);color:#fcd34d;border:1px solid rgba(245,158,11,0.15)}
.alert-success{background:rgba(16,185,129,0.12);color:#6ee7b7;border:1px solid rgba(16,185,129,0.15)}
.alert-danger{background:rgba(239,68,68,0.12);color:#fca5a5;border:1px solid rgba(239,68,68,0.15)}

.sub-warning{background:linear-gradient(90deg,rgba(245,158,11,0.06),rgba(245,158,11,0.03));padding:12px 18px;font-size:13px;font-weight:600;color:#92400e;text-align:center;border-bottom:1px solid rgba(245,158,11,0.1)}

.chk-wrap{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 0}
.chk-box{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--bdr);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.15s;background:var(--white)}
.chk-box.on{background:var(--orange);border-color:var(--orange);color:#fff}
.empty{text-align:center;padding:40px 20px;color:var(--mut)}
.empty-icon{font-size:44px;margin-bottom:10px}.empty-title{font-size:15px;font-weight:600;color:var(--sec)}

.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f1f5f9 0%,#e2e8f0 100%);padding:16px}
.login-box{width:100%;max-width:400px;text-align:center}
.login-logo{font-size:42px;font-weight:800;margin-bottom:4px;letter-spacing:2px;text-transform:uppercase}.login-logo .brand-on{color:var(--dark)}.login-logo .brand-crew{color:var(--orange)}
.login-sub{font-size:11px;color:var(--mut);margin-bottom:32px;letter-spacing:3px;text-transform:uppercase}
.login-box .card{box-shadow:0 4px 16px rgba(15,23,42,0.06),0 16px 48px rgba(15,23,42,0.06)}
.login-tabs{display:flex;gap:0;margin-bottom:18px;border-radius:10px;overflow:hidden;border:1px solid var(--bdr)}
.login-tab{flex:1;padding:10px;font-size:13px;font-weight:600;text-align:center;cursor:pointer;background:var(--white);color:var(--sec);border:0;font-family:inherit;transition:.15s}
.login-tab.active{background:var(--orange);color:#fff}

.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:rgba(15,23,42,0.9);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.1);color:#e2e8f0;padding:10px 20px;border-radius:10px;font-size:13px;z-index:9999;box-shadow:0 8px 24px rgba(0,0,0,0.4)}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

.spinner{display:inline-block;width:22px;height:22px;border:3px solid var(--bdr);border-top:3px solid var(--orange);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.loading{display:flex;justify-content:center;align-items:center;padding:40px}

.p-18{padding:18px}.p-24{padding:0 32px 24px}.mb-6{margin-bottom:6px}.mb-8{margin-bottom:8px}.mb-10{margin-bottom:10px}.mb-12{margin-bottom:12px}.mb-14{margin-bottom:14px}.mb-16{margin-bottom:16px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}
.text-center{text-align:center}.font-bold{font-weight:700}.text-sm{font-size:13px}.text-xs{font-size:11px}.text-sec{color:var(--sec)}.text-mut{color:var(--mut)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-orange{color:var(--orange)}.w-full{width:100%}.hidden{display:none!important}

.alloc-grid{display:grid;grid-template-columns:150px repeat(7,1fr);gap:1px;background:var(--bdr);border:1px solid var(--bdr);border-radius:var(--radius);overflow:hidden;font-size:11px}
.alloc-hdr{background:var(--bg2);color:var(--sec);padding:10px 8px;font-weight:600;font-size:11px;text-align:center}
.alloc-hdr.today{background:var(--orange);color:#fff}
.alloc-name{background:var(--white);padding:10px 8px;font-weight:600;font-size:11px;display:flex;align-items:center;border-bottom:1px solid var(--bdr-lt);color:var(--dark)}
.alloc-cell{background:var(--white);padding:4px;min-height:52px;border-bottom:1px solid var(--bdr-lt)}
.alloc-shift{padding:4px 6px;border-radius:6px;font-size:10px;font-weight:600;margin-bottom:2px;line-height:1.3}
.alloc-shift.accepted{background:var(--green-lt);color:var(--green-dk)}
.alloc-shift.pending{background:var(--amber-lt);color:#b45309}
.alloc-shift.conflict{background:var(--red-lt);color:var(--red-dk);border:1px solid rgba(239,68,68,0.15)}
.alloc-onsite{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;margin-left:4px}
.alloc-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.week-nav{display:flex;align-items:center;gap:8px}
.week-nav button{background:var(--white);border:1.5px solid var(--bdr);border-radius:8px;padding:7px 14px;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;transition:.15s;color:var(--sec)}
.week-nav button:hover{border-color:var(--orange);color:var(--orange)}
.week-nav span{font-size:14px;font-weight:600;min-width:180px;text-align:center;color:var(--dark)}
.range-btn{padding:7px 16px;font-size:12px;font-weight:600;border:1.5px solid var(--bdr);border-radius:8px;background:var(--white);color:var(--sec);cursor:pointer;font-family:inherit;transition:.15s}
.range-btn.active{background:var(--orange);color:#fff;border-color:var(--orange)}
.range-btn:hover:not(.active){border-color:var(--orange);color:var(--orange)}
.perf-tbl td,.perf-tbl th{padding:12px 10px;font-size:12px}.perf-num{font-weight:700;font-size:14px;color:var(--dark)}

.att-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;margin-bottom:8px;cursor:pointer;transition:all .2s ease;background:var(--white);border:1px solid var(--bdr);box-shadow:0 1px 3px rgba(15,23,42,0.03)}
.att-item:hover{box-shadow:0 4px 16px rgba(15,23,42,0.06);transform:translateX(2px)}
.att-item:hover{box-shadow:var(--shadow-md);transform:translateX(2px)}
.att-item.red{border-left:3px solid var(--red);background:var(--red-lt)}
.att-item.amber{border-left:3px solid var(--amber);background:var(--amber-lt)}
.att-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}
.att-dot.red{background:var(--red)}.att-dot.amber{background:var(--amber)}
.status-live{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 6px rgba(16,185,129,0.4);animation:livePulse 2s ease-in-out infinite}
@keyframes livePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(0.85)}}

.pipe-col{flex:1;min-width:200px}
.pipe-hdr{padding:10px 14px;border-radius:10px;font-size:12px;font-weight:700;margin-bottom:8px;display:flex;justify-content:space-between}
.pipe-hdr.submitted{background:var(--blue-lt);color:#2563eb}
.pipe-hdr.approved{background:var(--green-lt);color:#059669}
.pipe-hdr.rejected{background:var(--red-lt);color:#dc2626}
.pipe-hdr.draft{background:rgba(15,23,42,0.03);color:var(--mut)}
.pipe-card{background:#ffffff;border:1px solid var(--bdr);border-radius:10px;padding:12px 14px;margin-bottom:6px;font-size:12px;transition:all .2s ease;color:var(--dark);cursor:pointer}
.pipe-card:hover{box-shadow:0 2px 4px rgba(15,23,42,0.04),0 8px 20px rgba(15,23,42,0.05);transform:translateY(-1px)}

.vk-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.vk-col{flex:0 0 260px;min-width:260px}
.vk-hdr{padding:10px 14px;border-radius:10px;font-size:12px;font-weight:700;margin-bottom:8px;display:flex;justify-content:space-between}
.vk-hdr.new{background:var(--blue-lt);color:#2563eb}
.vk-hdr.sourcing{background:var(--amber-lt);color:#b45309}
.vk-hdr.filled{background:var(--green-lt);color:#059669}
.vk-hdr.closed{background:rgba(15,23,42,0.03);color:var(--mut)}
.vk-card{background:#ffffff;border:1px solid var(--bdr);border-radius:var(--radius);padding:14px 16px;margin-bottom:8px;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px rgba(15,23,42,0.04),0 8px 20px rgba(15,23,42,0.05)}
.vk-card:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(15,23,42,0.04),0 8px 24px rgba(15,23,42,0.06)}
.vk-card .vk-client{font-size:14px;font-weight:700;color:var(--dark);margin-bottom:2px}
.vk-card .vk-role{font-size:11px;color:var(--sec)}
.vk-card .vk-meta{font-size:11px;color:var(--sec);margin-top:4px}
.vk-card .vk-count{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;margin-top:6px}
.vk-urgent{border-left:3px solid var(--amber)}.vk-critical{border-left:3px solid var(--red)}

.cmd-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.cmd-filters select,.cmd-filters input{font-size:12px;padding:8px 12px;border:1.5px solid var(--bdr);border-radius:8px;font-family:inherit;background:var(--white);color:var(--dark)}

.leaflet-popup-content-wrapper{background:var(--white)!important;color:var(--dark)!important;border-radius:12px!important;border:1px solid var(--bdr)!important;box-shadow:var(--shadow-lg)!important;font-family:'Inter',sans-serif!important;font-size:13px!important}
.leaflet-popup-tip{background:var(--white)!important}
.leaflet-popup-close-button{color:var(--sec)!important;font-size:18px!important}

@media(max-width:768px){
  .sidebar{display:none}.main-content{margin-left:0!important}
  .page-hdr{padding:18px 18px 12px}.page-hdr h1{font-size:18px}.p-24{padding:0 16px}
  table{font-size:12px}th,td{padding:8px 6px}
  .alloc-grid{grid-template-columns:110px repeat(7,minmax(80px,1fr));font-size:9px;min-width:700px}
  .alloc-shift{font-size:8px;padding:2px 4px}
  .stats{gap:8px}.stat{flex:1 1 45%}.stat-val{font-size:22px}
  .modal{padding:18px;max-width:95vw;border-radius:14px}.btn-big{padding:16px;font-size:16px}
  .pipe-col{min-width:160px}
  .cmd-filters select,.cmd-filters input{font-size:11px;padding:6px 8px}
  .vk-col{flex:0 0 220px;min-width:220px}
}

/* === NEON ACCENT SYSTEM v2 (REFINED) === */
.glow-blue{box-shadow:0 0 0 1px rgba(59,130,246,0.15),0 0 10px rgba(59,130,246,0.06)}
.glow-green{box-shadow:0 0 0 1px rgba(16,185,129,0.15),0 0 10px rgba(16,185,129,0.06)}
.glow-orange{box-shadow:0 0 0 1px rgba(249,115,22,0.15),0 0 10px rgba(249,115,22,0.06)}
.glow-red{box-shadow:0 0 0 1px rgba(239,68,68,0.15),0 0 10px rgba(239,68,68,0.06)}
/* Text helpers */
.text-sec{color:#94a3b8!important}.text-mut{color:#475569!important}
/* Loading */
.loading{display:flex;align-items:center;justify-content:center;padding:40px}
.spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,0.08);border-top-color:#f97316;border-radius:50%;animation:spin .6s linear infinite}

/* === VACANCIES + ALLOCATION DARK THEME === */
/* Vacancy kanban columns */
.vk-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}
.vk-col{flex:0 0 240px;min-width:240px}
.vk-hdr{padding:8px 12px;border-radius:8px;font-size:12px;font-weight:700;margin-bottom:8px;display:flex;justify-content:space-between;color:#e2e8f0}
.vk-hdr.new{background:rgba(59,130,246,0.12);color:#93c5fd}
.vk-hdr.sourcing{background:rgba(245,158,11,0.12);color:#fcd34d}
.vk-hdr.filled{background:rgba(16,185,129,0.12);color:#6ee7b7}
.vk-hdr.closed{background:rgba(255,255,255,0.05);color:#64748b}
.vk-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:10px;padding:10px 12px;margin-bottom:6px;cursor:pointer;transition:all .15s;color:#e2e8f0}
.vk-card:hover{background:rgba(255,255,255,0.09);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.3)}
.vk-card .vk-client{font-size:14px;font-weight:700;margin-bottom:2px;color:#f1f5f9}
.vk-card .vk-role{font-size:11px;color:#94a3b8}
.vk-card .vk-meta{font-size:11px;color:#64748b;margin-top:4px}
.vk-card .vk-count{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;margin-top:6px}
.vk-urgent{border-left:3px solid #f59e0b}.vk-critical{border-left:3px solid #ef4444}


/* Shared overrides for non-dashboard admin cards */
.tbl-wrap{border:1px solid rgba(255,255,255,0.06);border-radius:12px;overflow-x:auto;background:rgba(15,23,42,0.4)}
.stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.stat.card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);color:#e2e8f0}

/* Fix any remaining white card surfaces on admin pages */
.card.tbl-wrap,.card.mb-14,.card.mb-12{background:rgba(15,23,42,0.5);border:1px solid rgba(255,255,255,0.08);color:#e2e8f0}

/* Fix pipe-card (timesheet pipeline) if used */
.pipe-col{flex:1;min-width:200px}
.pipe-hdr{padding:8px 12px;border-radius:8px;font-size:12px;font-weight:700;margin-bottom:8px;display:flex;justify-content:space-between}
.pipe-hdr.submitted{background:rgba(59,130,246,0.12);color:#93c5fd}
.pipe-hdr.approved{background:rgba(16,185,129,0.12);color:#6ee7b7}
.pipe-hdr.rejected{background:rgba(239,68,68,0.12);color:#fca5a5}
.pipe-hdr.draft{background:rgba(255,255,255,0.05);color:#64748b}
.pipe-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:8px 10px;margin-bottom:4px;font-size:12px;color:#e2e8f0}

/* Modal content fix */
.modal .form-row{display:flex;gap:12px;margin-bottom:8px}
.modal .form-group{flex:1;margin-bottom:8px}
.modal.wide{max-width:700px;width:95%}

/* Checkbox label fix */
.chk-wrap{display:flex;align-items:center;gap:8px;cursor:pointer;color:#e2e8f0;font-size:13px}

/* Empty state */
.empty{text-align:center;padding:32px;color:#475569}
.empty-icon{font-size:32px;margin-bottom:8px;opacity:0.4}
.empty-title{font-size:14px;font-weight:600;color:#64748b}

/* Click cursor for interactive cards */
.click{cursor:pointer}

/* Fix hero dark text on admin pages */
.hero.dark{background:rgba(15,23,42,0.6);color:#f8fafc}

/* Fix text-sm/text-xs visibility */
.text-sm{font-size:13px}.text-xs{font-size:11px}
.text-sec{color:#94a3b8!important}.text-mut{color:#475569!important}

/* Filters on dark */
.cmd-filters select,.cmd-filters input{background:rgba(15,23,42,0.5);border:1px solid rgba(255,255,255,0.1);color:#e2e8f0;border-radius:8px;font-size:12px;padding:6px 10px}

/* === ALLOCATION DARK (CLEAN) === */
.alloc-wrap{background:rgba(15,23,42,0.4);border:1px solid rgba(255,255,255,0.06);border-radius:12px;overflow-x:auto}
.alloc-grid{background:rgba(255,255,255,0.04)!important;border-color:rgba(255,255,255,0.06)!important}
.alloc-grid{background:rgba(255,255,255,0.04)!important;border-color:rgba(255,255,255,0.06)!important}
.alloc-hdr{background:rgba(255,255,255,0.03)!important;color:#64748b!important;border-bottom:1px solid rgba(255,255,255,0.04)!important;padding:8px 10px!important;text-transform:uppercase!important;letter-spacing:0.03em!important;font-size:10px!important}
.alloc-hdr.today{color:#fb923c;border-bottom-color:rgba(249,115,22,0.12)}
.alloc-cell{background:transparent!important;color:#cbd5e1!important;border-bottom:1px solid rgba(255,255,255,0.025)!important;padding:7px 10px!important;font-size:12px}
.alloc-cell:hover{background:rgba(255,255,255,0.02)}
.alloc-name{color:#f1f5f9!important;font-weight:600!important;font-size:13px!important;background:transparent!important}
.alloc-name small{color:#475569;font-size:10px}
.alloc-sticky,.alloc-header-row{background:rgba(15,23,42,0.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#64748b;border-bottom:1px solid rgba(255,255,255,0.04)}
.alloc-chip,.assignment-chip{border-radius:6px;font-size:10px;font-weight:600;padding:3px 8px}
.alloc-cell.empty{color:#334155}

/* Allocation nav buttons */
.week-nav{display:flex;align-items:center;gap:0}
.week-nav button{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);color:#94a3b8;padding:7px 14px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}
.week-nav button:first-child{border-radius:8px 0 0 8px}
.week-nav button:nth-child(2){border-radius:0;border-left:none;border-right:none}
.week-nav button:nth-child(3){border-radius:0 8px 8px 0}
.week-nav button:hover{background:rgba(255,255,255,0.08);color:#e2e8f0}
.week-nav button.active,.week-nav .active{background:rgba(249,115,22,0.1);color:#fb923c;border-color:rgba(249,115,22,0.2);font-weight:600}
.week-nav select{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);color:#94a3b8;border-radius:8px;padding:7px 12px;font-size:12px;font-family:inherit;margin-left:8px;cursor:pointer}
.week-nav select:hover{border-color:rgba(255,255,255,0.15);color:#e2e8f0}
.week-nav select option{background:#1e293b;color:#e2e8f0}
.week-nav span{color:#e2e8f0}

/* === GLOBAL ADMIN CONTENT DARK === */
#tc .card{background:rgba(15,23,42,0.5);border:1px solid rgba(255,255,255,0.08);color:#e2e8f0}
#tc table{color:#e2e8f0}
#tc th{color:#94a3b8;background:rgba(255,255,255,0.03);border-bottom:1px solid rgba(255,255,255,0.06)}
#tc td{color:#e2e8f0;border-bottom:1px solid rgba(255,255,255,0.04)}
#tc tr:hover td{background:rgba(255,255,255,0.03)}
#tc select,#tc input[type="date"],#tc input[type="text"],#tc input[type="number"],#tc input[type="time"],#tc input[type="email"],#tc input[type="tel"],#tc textarea{background:rgba(15,23,42,0.5);border:1px solid rgba(255,255,255,0.1);color:#e2e8f0;border-radius:8px}
#tc select option{background:#1e293b;color:#e2e8f0}
#tc .page-hdr,#tc .page-hdr h1{color:#f8fafc}
#tc .stat-val{color:#f8fafc}
#tc .stat-label{color:#64748b}

/* Stat cards for admin pages */
.stat.card,.stats .stat{background:rgba(255,255,255,0.06)!important;border:1px solid rgba(255,255,255,0.08)!important;color:#e2e8f0!important}

/* ============================================================
   TIER 6.11 — UI POLISH & PREMIUM FINISH
   Refinement layer only. No layout changes. No structure changes.
   ============================================================ */

/* --- PART 1: TYPOGRAPHY HIERARCHY --- */
.page-hdr h1{font-size:22px;font-weight:700;letter-spacing:-0.02em}
.ds-top h1{font-size:20px}
.card-t,.panel-title,.modal-title{font-size:13px;font-weight:700;letter-spacing:-0.005em}
.form-label{font-size:11px;font-weight:600;color:#64748b;letter-spacing:0.02em;margin-bottom:5px}

/* --- PART 2: SPACING SYSTEM --- */
.ds-grid{gap:14px}
.ds-card{padding:18px}
.ds-card .card-h{margin-bottom:14px}
.form-group{margin-bottom:16px}
.modal{padding:22px}
.modal-hdr{margin-bottom:14px}
.stats{gap:10px;margin-bottom:18px}

/* --- PART 3: CARD REFINEMENT --- */
.ds-card{border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,0.2),0 8px 24px rgba(0,0,0,0.15);transition:box-shadow .2s,transform .2s}
.ds-card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.25),0 12px 32px rgba(0,0,0,0.2);transform:translateY(-2px)}
.card{border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,0.15)}
.modal{border-radius:16px}

/* --- PART 4: ACTION FEEDBACK --- */
.btn{position:relative;overflow:hidden}
.btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.1);opacity:0;transition:opacity .15s}
.btn:active:not(:disabled)::after{opacity:1}
.btn.btn-loading{pointer-events:none;opacity:0.7}
.btn.btn-loading::before{content:'';display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:6px;vertical-align:middle}
.btn.btn-success-flash{animation:successFlash .4s ease}
@keyframes successFlash{0%{box-shadow:0 0 0 0 rgba(16,185,129,0.4)}50%{box-shadow:0 0 0 8px rgba(16,185,129,0)}100%{box-shadow:none}}
/* Toast enhancement */
.toast{animation:toastIn .25s ease;font-weight:500}
.toast.toast-success{border-left:3px solid #10b981}
.toast.toast-error{border-left:3px solid #ef4444}
.toast.toast-warning{border-left:3px solid #f59e0b}

/* --- PART 5: AXIS PANEL POLISH --- */
.ax-strip{border-radius:12px}
.ax-bar{gap:14px;min-height:52px}
.ax-panel-inner{padding:4px 20px 18px}
.ax-panel .ax-rec-block{padding:14px 16px;margin-top:10px;margin-bottom:14px;border-radius:12px}
.ax-panel .ax-rec-text{line-height:1.6}
.ax-panel .ax-btn-row{gap:8px;margin-bottom:14px}
.ds-issue{padding:12px 14px;border-radius:10px;margin-bottom:8px}
.ds-issue .is-t{font-size:13px}
.ds-issue .is-s{margin-top:3px}

/* --- PART 6: TABLE + LIST CLEANUP --- */
th{padding:10px 14px;font-size:10px;letter-spacing:0.05em}
td{padding:10px 14px;font-size:13px;line-height:1.4}
tr{transition:background .1s}
tr:hover td{background:rgba(255,255,255,0.04)}
/* Consistent row height */
.tbl-wrap{border-radius:12px}

/* --- PART 7: BADGE SYSTEM (UNIFIED) --- */
.badge{font-size:10px;font-weight:600;padding:3px 9px;border-radius:6px;display:inline-flex;align-items:center;letter-spacing:0.01em;line-height:1.3}
/* Semantic: green = success/active */
.badge-active,.badge-accepted,.badge-approved,.badge-filled,.badge-trialing,.badge-ready_to_work{background:rgba(16,185,129,0.15);color:#6ee7b7}
/* Semantic: amber = warning/pending */
.badge-pending,.badge-submitted,.badge-invited,.badge-started,.badge-in_progress,.badge-requested,.badge-draft{background:rgba(245,158,11,0.15);color:#fcd34d}
/* Semantic: red = critical/issue */
.badge-rejected,.badge-cancelled,.badge-suspended,.badge-past_due,.badge-stalled{background:rgba(239,68,68,0.15);color:#fca5a5}
/* Semantic: blue = info/open */
.badge-open,.badge-new,.badge-sourcing{background:rgba(59,130,246,0.15);color:#93c5fd}
/* Semantic: grey = neutral/inactive */
.badge-inactive,.badge-completed,.badge-closed,.badge-amended{background:rgba(255,255,255,0.06);color:#94a3b8}

/* --- PART 8: LOADING / SKELETON --- */
.skeleton{background:linear-gradient(90deg,rgba(255,255,255,0.04) 25%,rgba(255,255,255,0.08) 50%,rgba(255,255,255,0.04) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skeleton-text{height:14px;margin-bottom:8px}
.skeleton-text.short{width:60%}
.skeleton-text.medium{width:80%}
.skeleton-block{height:80px;margin-bottom:12px}
.skeleton-kpi{height:72px;border-radius:14px;margin-bottom:8px}

/* --- PART 9: MICRO-INTERACTIONS --- */
/* Smooth focus ring for all inputs */
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:rgba(249,115,22,0.4);outline:none;box-shadow:0 0 0 3px rgba(249,115,22,0.08);transition:border-color .15s,box-shadow .15s}
/* Interactive elements cursor + transition */
[onclick],.click,.nav-item,.ds-kpi,.ds-issue,.vk-card,.pipe-card,.att-item{cursor:pointer}
/* Smooth card hover */
.ds-kpi,.ds-issue,.vk-card,.pipe-card{transition:all .15s ease}
/* Button hover lift */
.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.2)}
/* Link hover */
a:hover{opacity:0.85}
/* Nav item transition smoothing */
.nav-item{transition:all .15s ease}

/* --- PART 10: FORM CLEANUP --- */
.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;border-radius:10px;font-size:13px;transition:border-color .15s,box-shadow .15s}
.form-row{display:flex;gap:12px}
.form-row>*{flex:1}
/* Button row alignment */
.modal .btn{margin-top:4px}

/* --- PART 11: CLUTTER REMOVAL --- */
/* Reduce card hover lift to subtle */
.ds-card:hover{transform:translateY(-1px)}
/* Reduce excessive text-shadow/glow */
.ds-kpi:hover{transform:translateY(-1px) scale(1.005)}
/* Cleaner scrollbar */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.06);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.12)}

/* --- MAP / SPATIAL LAYER — Mapbox (Tier 6.13) --- */
#mb-map{z-index:1}
#mb-map .mapboxgl-ctrl-group{background:rgba(15,23,42,0.85)!important;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.08)!important;border-radius:8px!important;box-shadow:0 2px 8px rgba(0,0,0,0.4)!important}
#mb-map .mapboxgl-ctrl-group button{color:#94a3b8!important}
#mb-map .mapboxgl-ctrl-group button:hover{background:rgba(255,255,255,0.06)!important;color:#f8fafc!important}
#mb-map .mapboxgl-ctrl-group button+button{border-top:1px solid rgba(255,255,255,0.06)!important}
.oc-popup .mapboxgl-popup-content{background:rgba(15,23,42,0.94)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,0.1);border-radius:12px!important;padding:14px 16px!important;box-shadow:0 8px 32px rgba(0,0,0,0.6)!important;color:#e2e8f0}
.oc-popup .mapboxgl-popup-tip{border-top-color:rgba(15,23,42,0.94)!important;border-bottom-color:rgba(15,23,42,0.94)!important}
.oc-popup .mapboxgl-popup-close-button{color:#475569;font-size:16px;padding:4px 8px;right:2px;top:2px}
.oc-popup .mapboxgl-popup-close-button:hover{color:#fb923c;background:transparent}
.light-mode .oc-popup .mapboxgl-popup-content{background:var(--surface)!important;border:1px solid var(--bdr);color:var(--text);box-shadow:var(--shadow-md)!important}
.light-mode .oc-popup .mapboxgl-popup-tip{border-top-color:var(--surface)!important;border-bottom-color:var(--surface)!important}
.light-mode .oc-popup .mapboxgl-popup-close-button{color:var(--mut)}
.light-mode .oc-popup .mapboxgl-popup-close-button:hover{color:var(--orange)}
.light-mode .oc-popup [style*="color:#f1f5f9"],.light-mode .oc-popup [style*="color:#e2e8f0"]{color:var(--text)!important}
.light-mode .oc-popup [style*="color:#64748b"],.light-mode .oc-popup [style*="color:#475569"]{color:var(--sec)!important}
.light-mode .oc-popup [style*="color:#94a3b8"]{color:var(--mut)!important}
.mb-site-marker,.mb-worker-marker,.mb-worker-approx{background:transparent!important;border:none!important}
/* Control panel */
.mb-ctrl-panel{background:rgba(15,23,42,0.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:18px;color:#e2e8f0;box-shadow:0 4px 20px rgba(0,0,0,0.3)}
#mb-panel{transition:opacity .15s}
@media(max-width:900px){#mb-layout{flex-direction:column!important}#mb-panel{width:100%!important}}

/* ============================================================
   LIGHT MODE — Minimal overrides only
   ============================================================ */
/* === LIGHT MODE — PREMIUM REFINEMENT === */
html.light-mode,body.light-mode{background:#f8fafc!important;background-image:none!important;background-attachment:scroll!important;color:#0f172a}
/* Sidebar — crisp floating shell */
.light-mode .sidebar{background:#ffffff;border:1px solid rgba(15,23,42,0.08);box-shadow:0 4px 24px rgba(15,23,42,0.06),0 8px 40px rgba(15,23,42,0.03)}
.light-mode .sidebar-logo{background:#ffffff;border-bottom:1px solid rgba(15,23,42,0.06);border-radius:16px 16px 0 0}
.light-mode .sb-collapse-btn{background:rgba(15,23,42,0.04);border-color:rgba(15,23,42,0.08);color:#64748b}
.light-mode .sb-collapse-btn:hover{background:rgba(15,23,42,0.08);color:#0f172a}
.light-mode .sidebar-logo h1{color:#ea580c}
.light-mode .sidebar-logo small,.light-mode .brand-tagline{color:#64748b}
.light-mode .sidebar-section{color:#94a3b8;font-weight:700}
.light-mode .sidebar-brand .brand-on{background:linear-gradient(180deg,#0f172a,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.light-mode .nav-item{color:#334155;font-weight:500}
.light-mode .nav-item:hover{background:rgba(15,23,42,0.04);color:#0f172a}
.light-mode .nav-item.active{background:rgba(249,115,22,0.08);color:#c2410c;font-weight:600}
.light-mode .nav-item .icon svg{stroke:#475569}
.light-mode .nav-item:hover .icon svg{stroke:#0f172a}
.light-mode .nav-item.active .icon svg{stroke:#ea580c}
.light-mode .sb-collapsed .nav-item.active{background:rgba(249,115,22,0.1)}
.light-mode .sb-collapsed .nav-item:hover{background:rgba(15,23,42,0.05)}
/* Main content */
.light-mode .main-content{background:#f1f5f9}
.light-mode .ds{color:#0f172a}
.light-mode .ds-top h1{color:#0f172a}
.light-mode .ds-top .ds-sub{color:#64748b}
.light-mode .ds-top .ds-health-pct{color:inherit}
.light-mode .ds-top .ds-health-label{color:#64748b}
.light-mode .ds-brief{background:#ffffff;border:1px solid rgba(15,23,42,0.06);border-left:3px solid #ea580c;color:#334155;box-shadow:0 1px 2px rgba(15,23,42,0.03)}
/* KPI cards — crisp with accent edge */
.light-mode .ds-kpi{background:#ffffff;border:1px solid rgba(15,23,42,0.06);border-top:2px solid rgba(15,23,42,0.08);box-shadow:0 1px 2px rgba(15,23,42,0.05),0 4px 12px rgba(15,23,42,0.03);border-radius:14px}
.light-mode .ds-kpi:hover{box-shadow:0 2px 4px rgba(15,23,42,0.06),0 8px 20px rgba(15,23,42,0.04);transform:translateY(-1px)}
.light-mode .ds-kpi.kpi-accent.kpi-red{border-top-color:#ef4444}
.light-mode .ds-kpi.kpi-accent.kpi-amber{border-top-color:#f59e0b}
.light-mode .ds-kpi.kpi-accent.kpi-green{border-top-color:#10b981}
.light-mode .ds-kpi .kpi-n{color:#0f172a}
.light-mode .ds-kpi .kpi-l{color:#334155;font-weight:600}
.light-mode .ds-kpi .kpi-s{color:#64748b}
.light-mode .ds-kpi.kpi-accent.kpi-red::after{box-shadow:0 0 4px rgba(239,68,68,0.2)}
.light-mode .ds-kpi.kpi-accent.kpi-amber::after{box-shadow:0 0 4px rgba(245,158,11,0.2)}
.light-mode .ds-kpi.kpi-accent.kpi-green::after{box-shadow:0 0 4px rgba(16,185,129,0.2)}
.light-mode .ds-label{color:#64748b}
/* Cards — crisp premium with personality */
.light-mode .ds-card{background:#ffffff;border:1px solid rgba(15,23,42,0.06);border-top:2px solid rgba(15,23,42,0.08);box-shadow:0 1px 2px rgba(15,23,42,0.04),0 4px 12px rgba(15,23,42,0.03),0 8px 24px rgba(15,23,42,0.015);color:#0f172a}
.light-mode .ds-card:hover{box-shadow:0 2px 4px rgba(15,23,42,0.05),0 8px 20px rgba(15,23,42,0.04),0 14px 36px rgba(15,23,42,0.02);transform:translateY(-1px)}
.light-mode .ds-card .card-t{color:#0f172a;font-weight:700;letter-spacing:-0.01em}
.light-mode .ds-card .card-badge{background:rgba(15,23,42,0.06);color:#334155;font-weight:600}
.light-mode .ds-card .card-h{border-bottom:1px solid rgba(15,23,42,0.05);padding-bottom:12px}
.light-mode .ds-card-hero{background:#ffffff;border:1px solid rgba(15,23,42,0.07);border-top:2px solid #ea580c;box-shadow:0 2px 4px rgba(15,23,42,0.05),0 8px 24px rgba(15,23,42,0.035),0 16px 40px rgba(15,23,42,0.02)}
/* Force inline color overrides for card content in light mode */
.light-mode .ds-card [style*="color:#f8fafc"],.light-mode .ds-card [style*="color: #f8fafc"]{color:#0f172a!important}
.light-mode .ds-card [style*="color:#e2e8f0"],.light-mode .ds-card [style*="color: #e2e8f0"]{color:#1e293b!important}
.light-mode .ds-card [style*="color:#cbd5e1"],.light-mode .ds-card [style*="color: #cbd5e1"]{color:#334155!important}
.light-mode .ds-card [style*="color:#94a3b8"],.light-mode .ds-card [style*="color: #94a3b8"]{color:#475569!important}
.light-mode .ds-card-hero [style*="color:#f8fafc"],.light-mode .ds-card-hero [style*="color: #f8fafc"]{color:#0f172a!important}
.light-mode .ds-card-hero [style*="color:#e2e8f0"],.light-mode .ds-card-hero [style*="color: #e2e8f0"]{color:#1e293b!important}
.light-mode .ds-card-hero [style*="color:#475569"],.light-mode .ds-card-hero [style*="color: #475569"]{color:#334155!important}
/* Pipeline/chart inset surfaces */
.light-mode .ds-card [style*="background:rgba(255,255,255,0.03)"],.light-mode .ds-card [style*="background:rgba(255,255,255,0.02)"]{background:rgba(15,23,42,0.025)!important;border-color:rgba(15,23,42,0.06)!important}
.light-mode .ds-card [style*="border:1px solid rgba(255,255,255,0.04)"],.light-mode .ds-card [style*="border:1px solid rgba(255,255,255,0.03)"]{border-color:rgba(15,23,42,0.06)!important}
/* Chart bar fills — make visible on light */
.light-mode .ds-card .b-fill[style*="rgba(249,115,22,0.15)"]{background:rgba(249,115,22,0.3)!important}
.light-mode .ds-card .b-fill[style*="rgba(255,255,255,0.03)"]{background:rgba(15,23,42,0.04)!important}
/* Row separators */
.light-mode .ds-card [style*="border-top:1px solid rgba(255,255,255"]{border-top-color:rgba(15,23,42,0.06)!important}
.light-mode .ds-card [style*="border-bottom:1px solid rgba(255,255,255"]{border-bottom-color:rgba(15,23,42,0.06)!important}
/* Rows, issues, pills */
.light-mode .ds-row{color:#475569;border-bottom-color:rgba(15,23,42,0.05)}
.light-mode .ds-row .row-v{color:#0f172a}
.light-mode .ds-issue{background:#ffffff;border:1px solid rgba(15,23,42,0.06);box-shadow:0 1px 2px rgba(15,23,42,0.02)}
.light-mode .ds-issue:hover{background:#ffffff;border-color:rgba(249,115,22,0.2);box-shadow:0 2px 6px rgba(249,115,22,0.06)}
.light-mode .ds-issue .is-t{color:#0f172a}
.light-mode .ds-issue .is-s{color:#64748b}
.light-mode .ds-issue.is-red{border-left-color:#ef4444}
.light-mode .ds-issue.is-amber{border-left-color:#f59e0b}
.light-mode .ds-pill{background:rgba(15,23,42,0.03);border-radius:10px}
.light-mode .ds-pill .pill-n{color:#0f172a}
.light-mode .ds-pill .pill-l{color:#64748b}
/* Segments */
.light-mode .ds-seg{background:rgba(15,23,42,0.03);border:1px solid rgba(15,23,42,0.04);border-radius:10px}
.light-mode .ds-seg button{color:#64748b}
.light-mode .ds-seg button.on{background:#ffffff;color:#0f172a;box-shadow:0 1px 3px rgba(15,23,42,0.06)}
/* Chart bars */
.light-mode .ds-bars .b-val{color:#475569}
.light-mode .ds-bars .b-lbl{color:#64748b}
.light-mode .ds-bars .b-fill{opacity:0.85}
/* Buttons — strong contrast for action clarity */
.light-mode .btn-outline{border-color:rgba(15,23,42,0.15);color:#334155;font-weight:600}
.light-mode .btn-outline:hover{border-color:rgba(15,23,42,0.25);color:#0f172a;background:rgba(15,23,42,0.03)}
.light-mode .btn-primary{background:#ea580c;color:#fff;box-shadow:0 1px 3px rgba(234,88,12,0.25),0 2px 6px rgba(234,88,12,0.1)}
.light-mode .btn-primary:hover{background:#c2410c;box-shadow:0 2px 6px rgba(234,88,12,0.3)}
.light-mode .btn-success{background:#059669;color:#fff;border-color:#059669}
.light-mode .btn-success:hover{background:#047857;box-shadow:0 2px 6px rgba(5,150,105,0.25)}
.light-mode .btn-danger{background:#dc2626;color:#fff;border-color:#dc2626}
.light-mode .btn-danger:hover{background:#b91c1c;box-shadow:0 2px 6px rgba(220,38,38,0.25)}
.light-mode .btn-blue{background:#2563eb;color:#fff;border-color:#2563eb}
.light-mode .btn-blue:hover{background:#1d4ed8;box-shadow:0 2px 6px rgba(37,99,235,0.25)}
.light-mode .btn-sm{font-weight:600}
/* Tables */
.light-mode .card{background:#ffffff;border:1px solid rgba(15,23,42,0.07);color:#0f172a;box-shadow:0 1px 2px rgba(15,23,42,0.04),0 4px 12px rgba(15,23,42,0.025)}
.light-mode table{color:#0f172a}
.light-mode th{color:#334155;font-weight:700;background:rgba(15,23,42,0.025);border-bottom:1px solid rgba(15,23,42,0.08)}
.light-mode td{color:#1e293b;border-bottom:1px solid rgba(15,23,42,0.04)}
.light-mode tr:hover td{background:rgba(249,115,22,0.02)}
.light-mode .tbl-wrap{border:1px solid rgba(15,23,42,0.07);background:#ffffff;box-shadow:0 1px 2px rgba(15,23,42,0.04),0 4px 10px rgba(15,23,42,0.02);border-radius:12px}
/* Forms */
.light-mode .form-input,.light-mode .form-select,.light-mode .form-textarea{background:#ffffff;border:1px solid rgba(15,23,42,0.1);color:#0f172a}
.light-mode .form-input:focus,.light-mode .form-select:focus{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,0.1)}
.light-mode .form-label{color:#334155}
/* Modals */
.light-mode .modal{background:#ffffff;border:1px solid rgba(15,23,42,0.08);color:#0f172a;box-shadow:0 16px 48px rgba(15,23,42,0.12),0 4px 16px rgba(15,23,42,0.06)}
.light-mode .modal-backdrop{background:rgba(15,23,42,0.25)}
.light-mode .modal-title{color:#0f172a}
.light-mode .modal-close{background:rgba(15,23,42,0.04);border-color:rgba(15,23,42,0.08);color:#475569}
/* Toast */
.light-mode .toast{background:#ffffff;border:1px solid rgba(15,23,42,0.08);color:#0f172a;box-shadow:0 4px 16px rgba(15,23,42,0.1)}
/* Badges */
/* Status pills — crisp on light backgrounds */
.light-mode .badge-active,.light-mode .badge-accepted,.light-mode .badge-approved,.light-mode .badge-filled,.light-mode .badge-trialing,.light-mode .badge-ready_to_work{background:rgba(16,185,129,0.12);color:#047857;border:1px solid rgba(16,185,129,0.18)}
.light-mode .badge-pending,.light-mode .badge-submitted,.light-mode .badge-invited,.light-mode .badge-started,.light-mode .badge-in_progress,.light-mode .badge-requested,.light-mode .badge-draft{background:rgba(245,158,11,0.12);color:#92400e;border:1px solid rgba(245,158,11,0.18)}
.light-mode .badge-rejected,.light-mode .badge-cancelled,.light-mode .badge-suspended,.light-mode .badge-past_due,.light-mode .badge-stalled{background:rgba(239,68,68,0.1);color:#b91c1c;border:1px solid rgba(239,68,68,0.15)}
.light-mode .badge-open,.light-mode .badge-new,.light-mode .badge-sourcing{background:rgba(59,130,246,0.1);color:#1d4ed8;border:1px solid rgba(59,130,246,0.15)}
.light-mode .badge-inactive,.light-mode .badge-completed,.light-mode .badge-closed,.light-mode .badge-amended{background:rgba(15,23,42,0.05);color:#334155;border:1px solid rgba(15,23,42,0.08)}
/* Global inline color overrides for light mode — catches all inline dark-mode colors */
.light-mode [style*="color:#f8fafc"]:not(.ds-kpi .kpi-n){color:#0f172a!important}
.light-mode [style*="color:#f1f5f9"]{color:#0f172a!important}
.light-mode [style*="color:#e2e8f0"]{color:#1e293b!important}
.light-mode [style*="color:#cbd5e1"]{color:#334155!important}
.light-mode .ds [style*="background:rgba(255,255,255,0.04)"]{background:rgba(15,23,42,0.025)!important}
.light-mode .ds [style*="background:rgba(255,255,255,0.06)"]{background:rgba(15,23,42,0.03)!important}
.light-mode .ds [style*="border.*rgba(255,255,255,0.04)"]{border-color:rgba(15,23,42,0.06)!important}
.light-mode .ds [style*="border.*rgba(255,255,255,0.05)"]{border-color:rgba(15,23,42,0.06)!important}
.light-mode .ds [style*="border.*rgba(255,255,255,0.06)"]{border-color:rgba(15,23,42,0.06)!important}
/* Page headers */
.light-mode .page-hdr,.light-mode .page-hdr h1{color:#0f172a}
.light-mode .stat-val{color:#0f172a}
.light-mode .stat-label{color:#475569}
.light-mode .text-sec{color:#475569!important}
.light-mode .text-mut{color:#94a3b8!important}
/* Glow accents — subtle warm shadows */
.light-mode .glow-orange{box-shadow:0 1px 3px rgba(15,23,42,0.03),0 0 0 1px rgba(249,115,22,0.06)}
.light-mode .glow-green{box-shadow:0 1px 3px rgba(15,23,42,0.03),0 0 0 1px rgba(16,185,129,0.06)}
/* Tab content area */
.light-mode #tc .card{background:#ffffff;border:1px solid rgba(15,23,42,0.07);color:#0f172a;box-shadow:0 1px 2px rgba(15,23,42,0.04),0 4px 12px rgba(15,23,42,0.025)}
.light-mode #tc table{color:#0f172a}
.light-mode #tc th{color:#475569;background:rgba(15,23,42,0.02);border-bottom-color:rgba(15,23,42,0.06)}
.light-mode #tc td{color:#1e293b;border-bottom-color:rgba(15,23,42,0.04)}
.light-mode #tc tr:hover td{background:rgba(249,115,22,0.02)}
.light-mode #tc select,.light-mode #tc input[type="text"],.light-mode #tc input[type="number"],.light-mode #tc input[type="date"],.light-mode #tc input[type="time"],.light-mode #tc input[type="email"],.light-mode #tc input[type="tel"],.light-mode #tc textarea{background:#ffffff;border:1px solid rgba(15,23,42,0.1);color:#0f172a}
.light-mode .stat.card,.light-mode .stats .stat{background:#ffffff!important;border:1px solid rgba(15,23,42,0.07)!important;color:#0f172a!important;box-shadow:0 1px 2px rgba(15,23,42,0.04)!important}
/* Vacancy kanban */
.light-mode .vk-card{background:#ffffff;border:1px solid rgba(15,23,42,0.07);color:#0f172a;box-shadow:0 1px 2px rgba(15,23,42,0.04)}
.light-mode .vk-card:hover{box-shadow:0 2px 8px rgba(15,23,42,0.06);transform:translateY(-1px)}
.light-mode .vk-card .vk-client{color:#0f172a}
.light-mode .vk-card .vk-role,.light-mode .vk-card .vk-meta{color:#475569}
.light-mode .vk-hdr{color:#0f172a}
.light-mode .vk-hdr.new{background:rgba(59,130,246,0.08);color:#1d4ed8}
.light-mode .vk-hdr.sourcing{background:rgba(245,158,11,0.08);color:#92400e}
.light-mode .vk-hdr.filled{background:rgba(16,185,129,0.08);color:#047857}
.light-mode .vk-hdr.closed{background:rgba(15,23,42,0.04);color:#64748b}
/* Pipeline cards */
.light-mode .pipe-card{background:#ffffff;border:1px solid rgba(15,23,42,0.08);color:#0f172a}
.light-mode .pipe-hdr.submitted{background:rgba(59,130,246,0.08);color:#1d4ed8}
.light-mode .pipe-hdr.approved{background:rgba(16,185,129,0.08);color:#047857}
.light-mode .pipe-hdr.rejected{background:rgba(239,68,68,0.08);color:#b91c1c}
.light-mode .pipe-hdr.draft{background:rgba(15,23,42,0.03);color:#64748b}
/* Allocation board */
.light-mode .alloc-wrap{background:#ffffff;border-color:rgba(15,23,42,0.08)}
.light-mode .alloc-grid{background:rgba(15,23,42,0.02)!important;border-color:rgba(15,23,42,0.06)!important}
.light-mode .alloc-hdr{background:rgba(15,23,42,0.03)!important;color:#475569!important;border-bottom-color:rgba(15,23,42,0.06)!important}
.light-mode .alloc-cell{color:#1e293b!important;border-bottom-color:rgba(15,23,42,0.04)!important}
.light-mode .alloc-cell:hover{background:rgba(249,115,22,0.02)!important}
.light-mode .alloc-name{color:#0f172a!important}
/* Alerts */
.light-mode .alert-warning{background:rgba(245,158,11,0.08);color:#92400e;border-color:rgba(245,158,11,0.15)}
.light-mode .alert-success{background:rgba(16,185,129,0.08);color:#047857;border-color:rgba(16,185,129,0.15)}
.light-mode .alert-danger{background:rgba(239,68,68,0.08);color:#b91c1c;border-color:rgba(239,68,68,0.15)}
/* Week nav / filter controls */
.light-mode .week-nav button{background:#ffffff;border-color:rgba(15,23,42,0.1);color:#334155}
.light-mode .week-nav button:hover{border-color:rgba(249,115,22,0.3);color:#ea580c}
.light-mode .week-nav button.active{background:rgba(249,115,22,0.08);color:#c2410c;border-color:rgba(249,115,22,0.2)}
.light-mode .week-nav select{background:#ffffff;border-color:rgba(15,23,42,0.1);color:#334155}
.light-mode .cmd-filters select,.light-mode .cmd-filters input{background:#ffffff;border-color:rgba(15,23,42,0.1);color:#334155}
/* Attention items */
.light-mode .att-item{background:#ffffff;border-color:rgba(15,23,42,0.08);box-shadow:0 1px 3px rgba(15,23,42,0.03)}
.light-mode .att-item:hover{box-shadow:0 3px 10px rgba(15,23,42,0.06)}
/* Empty states */
.light-mode .empty{color:#64748b}
.light-mode .empty-title{color:#334155}
/* Checkbox */
.light-mode .chk-wrap{color:#0f172a}
/* Scrollbars */
.light-mode ::-webkit-scrollbar-track{background:#f8fafc}
.light-mode ::-webkit-scrollbar-thumb{background:rgba(15,23,42,0.1);border-radius:3px}
.light-mode ::-webkit-scrollbar-thumb:hover{background:rgba(15,23,42,0.18)}
/* Theme toggle button */
#oc-theme-toggle:hover{background:rgba(255,255,255,0.12)!important;border-color:rgba(255,255,255,0.15)!important}
.light-mode #oc-theme-toggle:hover{background:rgba(0,0,0,0.08)!important;border-color:#94a3b8!important}
/* Keep map dark in light mode for readability */
.light-mode #oc-map{filter:none}

