:root {
  --gold:#f0c832;--gold2:#f7d94e;--gdim:rgba(212,175,55,.12);--gglow:rgba(212,175,55,.3);
  --green:#4cd657;--red:#ff4848;--text:#f2f7ee;--t2:rgba(242,247,238,.88);--t3:rgba(242,247,238,.62);
  --panel:rgba(255,255,255,.10);--panel2:rgba(255,255,255,.23);--border:rgba(255,255,255,.21);
  --void:#0c1109;--deep:#111a0e;--base:#172213;--lift:#1e2e1b;--sbw:240px;--hdh:70px;
  --mono:'IBM Plex Mono',monospace;--body:'DM Sans',sans-serif;--disp:'Cinzel',serif;
}
[data-theme=midnight]{--void:#090d1a;--deep:#0d1224;--base:#111b35;--lift:#172040;}
[data-theme=slate]{--void:#0d0d0f;--deep:#111115;--base:#18181d;--lift:#1f1f26;}
[data-theme=emerald]{--void:#021208;--deep:#03190a;--base:#04220d;--lift:#062d11;}
[data-theme=daylight]{--void:#e8f0e6;--deep:#dde8db;--base:#d2e0cf;--lift:#c6d8c2;--text:#1a2a17;--t2:rgba(26,42,23,.88);--t3:rgba(26,42,23,.62);--panel:rgba(0,0,0,.06);--panel2:rgba(0,0,0,.12);--border:rgba(0,0,0,.14);}

*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--deep);color:var(--text);font-family:var(--body);min-height:100vh;overflow-x:hidden;}

/* ── AUTH REDIRECT ── */
#auth-redirect{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--deep);z-index:9999;}
#shell{display:none;}

/* ── HEADER ── */
#hdr{position:fixed;top:0;left:0;right:0;height:var(--hdh);background:rgba(12,17,9,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 22px;z-index:200;animation:hdrDrop .5s cubic-bezier(.16,1,.3,1) both;}
.hdr-left{display:flex;align-items:center;gap:14px;}
.hdr-back-btn{display:flex;align-items:center;gap:7px;font-size:12px;font-family:var(--mono);color:var(--t3);cursor:pointer;padding:6px 10px;border-radius:8px;border:1px solid transparent;transition:.25s ease;}
.hdr-back-btn:hover{background:var(--panel);border-color:var(--border);color:var(--text);}
.hdr-back-btn span{display:inline;}
.brand-logo-wrap{display:flex;align-items:center;}
.brand-logo-img{height:38px;width:auto;object-fit:contain;cursor:pointer;}
.page-pill{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#e74c3c;background:rgba(231,76,60,.1);border:1px solid rgba(231,76,60,.25);border-radius:20px;padding:5px 13px;}
.hdr-right{display:flex;align-items:center;gap:10px;}
.hdr-user-chip{display:flex;align-items:center;gap:9px;padding:5px 13px 5px 5px;background:var(--panel);border:1px solid var(--border);border-radius:24px;}
.hdr-user-av{width:32px;height:32px;border-radius:50%;background:var(--gdim);border:1px solid var(--gglow);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--gold);overflow:hidden;}
#hdr-name{font-size:13px;color:var(--t2);}
.hdr-icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--t3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.25s ease;}
.hdr-icon-btn:hover{background:var(--panel2);color:var(--red);}

/* ── LAYOUT ── */
#layout{display:flex;padding-top:var(--hdh);min-height:100vh;}
#sb{width:var(--sbw);min-width:var(--sbw);background:rgba(12,17,9,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid var(--border);position:fixed;top:var(--hdh);bottom:0;overflow-y:auto;padding:18px 10px;animation:sbIn .5s cubic-bezier(.16,1,.3,1) both;}
#main{flex:1;margin-left:var(--sbw);padding:28px;min-height:calc(100vh - var(--hdh));}
.sb-section-label{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--t3);padding:6px 10px 4px;margin-top:10px;}
.sb-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;cursor:pointer;font-size:13px;color:var(--t2);transition:.25s ease;border:1px solid transparent;position:relative;}
.sb-item:hover{background:var(--panel);color:var(--text);}
.sb-item.active{background:rgba(231,76,60,.1);border-color:rgba(231,76,60,.25);color:#e74c3c;}
.sb-item i{width:18px;text-align:center;font-size:14px;}
.sb-badge{min-width:18px;height:18px;border-radius:9px;background:var(--red);color:#fff;font-size:10px;font-weight:700;display:none;align-items:center;justify-content:center;padding:0 4px;margin-left:auto;}
.sb-divider{height:1px;background:var(--border);margin:10px 8px;}

/* ── KPI ROW ── */
.sg-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:22px;}
.sg-kpi{background:var(--panel);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:14px;padding:16px 18px;animation:scIn .4s cubic-bezier(.16,1,.3,1) both;}
.sg-kpi:nth-child(2){animation-delay:.04s;}.sg-kpi:nth-child(3){animation-delay:.08s;}.sg-kpi:nth-child(4){animation-delay:.12s;}.sg-kpi:nth-child(5){animation-delay:.16s;}
.sg-kpi-label{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--t3);margin-bottom:6px;}
.sg-kpi-val{font-family:var(--mono);font-size:26px;font-weight:700;color:var(--text);}
.sg-kpi-val.red{color:var(--red);}
.sg-kpi-val.gold{color:var(--gold);}
.sg-kpi-val.green{color:var(--green);}

/* ── SECTION ── */
.sg-section{display:none;}
.sg-section.active{display:block;animation:cvIn .4s cubic-bezier(.16,1,.3,1) both;}
.sg-sec-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px;}
.sg-sec-title{font-family:var(--disp);font-size:20px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:10px;}
.sg-sec-title i{color:#e74c3c;}
.sg-sec-sub{font-size:13px;color:var(--t3);margin-top:4px;}

/* ── GLASS PANEL ── */
.glass{background:var(--panel);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:16px;}

/* ── TABLE ── */
.tbl-wrap{overflow-x:auto;}
.dtbl{width:100%;border-collapse:collapse;font-size:13px;}
.dtbl th{padding:10px 14px;text-align:left;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--t3);border-bottom:1px solid var(--border);white-space:nowrap;background:rgba(0,0,0,.15);}
.dtbl td{padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.06);color:var(--t2);vertical-align:middle;}
.dtbl tr:last-child td{border-bottom:none;}
.dtbl tr:hover td{background:rgba(255,255,255,.03);}
.dtbl .mono{font-family:var(--mono);font-size:11px;}
.dtbl .clickable{cursor:pointer;}
.dtbl .clickable:hover td{background:rgba(231,76,60,.05);}

/* ── BADGES ── */
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.5px;white-space:nowrap;}
.badge-critical{background:rgba(255,72,72,.15);border:1px solid rgba(255,72,72,.3);color:var(--red);}
.badge-high{background:rgba(231,76,60,.12);border:1px solid rgba(231,76,60,.28);color:#e74c3c;}
.badge-medium{background:rgba(240,200,50,.1);border:1px solid rgba(240,200,50,.25);color:var(--gold);}
.badge-low{background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--t3);}
.badge-open{background:rgba(255,72,72,.12);border:1px solid rgba(255,72,72,.25);color:var(--red);}
.badge-review{background:rgba(240,200,50,.1);border:1px solid rgba(240,200,50,.25);color:var(--gold);}
.badge-resolved{background:rgba(76,214,87,.1);border:1px solid rgba(76,214,87,.25);color:var(--green);}
.badge-closed{background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--t3);}
.badge-pending{background:rgba(240,200,50,.1);border:1px solid rgba(240,200,50,.25);color:var(--gold);}
.badge-actioned{background:rgba(76,214,87,.1);border:1px solid rgba(76,214,87,.25);color:var(--green);}
.badge-dismissed{background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--t3);}
.badge-good{background:rgba(76,214,87,.1);border:1px solid rgba(76,214,87,.25);color:var(--green);}
.badge-monitor{background:rgba(240,200,50,.1);border:1px solid rgba(240,200,50,.25);color:var(--gold);}
.badge-at_risk{background:rgba(231,76,60,.12);border:1px solid rgba(231,76,60,.28);color:#e74c3c;}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:10px;border:none;font-family:var(--body);font-size:13px;font-weight:600;cursor:pointer;transition:.25s ease;}
.btn-red{background:rgba(255,72,72,.15);border:1px solid rgba(255,72,72,.3);color:var(--red);}
.btn-red:hover{background:rgba(255,72,72,.25);}
.btn-gold{background:rgba(240,200,50,.12);border:1px solid rgba(240,200,50,.28);color:var(--gold);}
.btn-gold:hover{background:rgba(240,200,50,.2);}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--t2);}
.btn-outline:hover{background:var(--panel);color:var(--text);}
.btn-green{background:rgba(76,214,87,.12);border:1px solid rgba(76,214,87,.28);color:var(--green);}
.btn-green:hover{background:rgba(76,214,87,.2);}
.btn-sm{padding:6px 13px;font-size:12px;}

/* ── WELLBEING GRID ── */
.wg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.wg-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;transition:.25s ease;}
.wg-card:hover{background:var(--panel2);}
.wg-card-top{display:flex;align-items:center;gap:10px;}
.wg-av{width:40px;height:40px;border-radius:50%;background:var(--gdim);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;font-weight:700;color:var(--gold);flex-shrink:0;overflow:hidden;}
.wg-av img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.wg-name{font-size:14px;font-weight:600;color:var(--text);}
.wg-dept{font-size:11px;color:var(--t3);}
.wg-note{font-size:12px;color:var(--t3);font-style:italic;min-height:18px;}
.wg-footer{display:flex;align-items:center;justify-content:space-between;}
.wg-date{font-size:10px;font-family:var(--mono);color:var(--t3);}

/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:500;display:none;align-items:center;justify-content:center;padding:20px;}
.modal-overlay.open{display:flex;animation:fadeIn .2s cubic-bezier(.16,1,.3,1) both;}
.modal-card{background:var(--lift);border:1px solid var(--border);border-radius:20px;width:100%;max-width:580px;max-height:90vh;overflow-y:auto;animation:mIn .35s cubic-bezier(.16,1,.3,1) both;}
.modal-card.wide{max-width:700px;}
.modal-hdr{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;}
.modal-title{font-family:var(--disp);font-size:17px;font-weight:700;display:flex;align-items:center;gap:9px;}
.modal-title i{color:#e74c3c;}
.modal-close{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--t3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.25s ease;}
.modal-close:hover{background:var(--panel);color:var(--text);}
.modal-body{padding:20px 24px 24px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.form-row.single{grid-template-columns:1fr;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group label{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--t3);}
.gi{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 13px;font-family:var(--body);font-size:14px;color:var(--text);width:100%;transition:.25s ease;outline:none;}
.gi:focus{border-color:rgba(231,76,60,.5);background:var(--panel2);}
.gi-ta{min-height:90px;resize:vertical;}
select.gi option{background:var(--lift);color:var(--text);}
.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:0 24px 24px;}

/* ── EMPTY STATE ── */
.empty-state{text-align:center;padding:50px 20px;color:var(--t3);}
.empty-state i{font-size:36px;margin-bottom:12px;opacity:.4;}
.empty-state p{font-size:14px;}

/* ── CASE DETAIL ── */
.case-detail-field{margin-bottom:14px;}
.case-detail-label{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--t3);margin-bottom:4px;}
.case-detail-val{font-size:14px;color:var(--text);}
.case-actions-row{display:flex;gap:8px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--border);margin-top:16px;}

/* ── RESTRICTED NOTICE ── */
.restricted-banner{background:rgba(231,76,60,.08);border:1px solid rgba(231,76,60,.2);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:10px;font-size:13px;color:#e74c3c;margin-bottom:20px;}

/* ── ANIMATIONS ── */
@keyframes hdrDrop{from{transform:translateY(-100%);opacity:0}to{transform:none;opacity:1}}
@keyframes sbIn{from{transform:translateX(-30px);opacity:0}to{transform:none;opacity:1}}
@keyframes cvIn{from{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}
@keyframes scIn{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
@keyframes mIn{from{transform:scale(.95) translateY(12px);opacity:0}to{transform:none;opacity:1}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ── TOAST ── */
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);background:rgba(18,28,14,.95);border:1px solid var(--border);border-radius:14px;padding:12px 20px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--t2);transition:.35s cubic-bezier(.16,1,.3,1);z-index:9999;white-space:nowrap;}
#toast.show{transform:translateX(-50%) translateY(0);}
#toast i{color:var(--green);}
#toast.error i{color:var(--red);}

/* ── Mobile sidebar toggle + backdrop ── */
.sg-sb-toggle{display:none;}
.sg-sb-backdrop{
  position:fixed;inset:0;z-index:140;
  background:rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  display:none;
  animation:fadeIn .25s cubic-bezier(.16,1,.3,1) both;
}
.sg-sb-backdrop.open{display:block;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}

/* ── MOBILE ── */
@media(max-width:1100px){.sg-kpi-row{grid-template-columns:repeat(3,1fr);}}
@media(max-width:820px){
  /* Sidebar slides off-screen; toggle button + backdrop bring it back.
     Suppress the desktop `sbIn` entrance animation here — its `both`
     fill-mode locks the sidebar at `transform:none` and overrides this
     `translateX(-100%)`, leaving the bar permanently visible on iOS. */
  #sb{
    animation:none!important;
    transform:translateX(-100%);
    transition:transform .35s cubic-bezier(.16,1,.3,1);
    z-index:150;
    box-shadow:0 0 0 transparent;
  }
  #sb.open{
    transform:none;
    box-shadow:14px 0 40px rgba(0,0,0,.6);
  }
  #main{margin-left:0;}
  .sg-sb-toggle{
    display:inline-flex;align-items:center;justify-content:center;
    width:38px;height:38px;border-radius:9px;
    background:var(--panel);border:1px solid var(--border);
    color:var(--t2);cursor:pointer;font-size:14px;
    transition:border-color .2s,color .2s,background .2s;
  }
  .sg-sb-toggle:hover{border-color:var(--gold);color:var(--gold);}
  .sg-kpi-row{grid-template-columns:repeat(2,1fr);gap:10px;}
  /* Section headers stack so the action button doesn't squash the title. */
  .sg-sec-hdr{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:12px;
  }
  .sg-sec-hdr > div:first-child{width:100%;}
  .sg-sec-hdr .btn,
  .sg-sec-hdr select.gi{width:100%;justify-content:center;}
  /* Filter rows stack instead of running off-screen. */
  .s-fmhjvok,
  .s-yj41o1i{display:flex;flex-direction:column;gap:8px;}
  .s-lqgazst{width:100%!important;}
  /* Tables scroll horizontally so columns stay legible. */
  .dtbl,.dtbl-wrap,.tbl-wrap{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .dtbl{min-width:560px;}
  /* Wellbeing grid → single column. */
  .wg-grid{grid-template-columns:1fr!important;gap:10px;}
}
@media(max-width:640px){
  .hdr-back-btn span{display:none;}
  .page-pill{display:none;}
  #hdr-name{display:none;}
  .sg-kpi-row{grid-template-columns:1fr 1fr;gap:8px;}
  .sg-kpi{padding:12px 12px;}
  .sg-kpi-val{font-size:20px;}
  .form-row{grid-template-columns:1fr;}
  #main{padding:14px 12px;}
  .restricted-banner{padding:10px 12px;font-size:12px;}
  .sg-sec-title{font-size:16px;}
  .sg-sec-sub{font-size:12px;}
}
@media(max-width:540px){
  .sg-kpi-row{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .modal-card{padding:16px;max-width:calc(100vw - 24px)!important;}
  .modal-body{padding:16px;}
  .dtbl-wrap,.table-scroll,.rota-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  #main{padding:12px 10px;}
}
@media(max-width:400px){
  .sg-kpi-row{grid-template-columns:1fr;}
  #main{padding:10px 8px;}
  .sg-sec-title{font-size:15px;}
}

/* ── Skeleton loading ── */
.skel{background:linear-gradient(90deg,var(--panel) 25%,var(--panel2) 50%,var(--panel) 75%);background-size:400% 100%;animation:shim 1.4s cubic-bezier(.16,1,.3,1) infinite;border-radius:8px;}
@keyframes shim{0%{background-position:100% 0}100%{background-position:-100% 0}}

/* ── Premium pass (2026-06-08) — appended last; CSS-only, no logic touched ── */
.glass,.sg-kpi,.wg-card{
  background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.04) 42%,var(--panel)),linear-gradient(320deg,var(--gdim),transparent 60%) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:0 12px 34px -14px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08) !important;}
.glass:hover,.sg-kpi:hover,.wg-card:hover{transform:translateY(-3px);border-color:var(--gglow) !important;box-shadow:0 18px 44px -12px rgba(0,0,0,.5) !important;}
.dtbl th{color:var(--gold) !important;}
.dtbl tbody tr:hover{background:rgba(212,175,55,.06) !important;}

/* ════════════════════════════════════════════════════════════════
   SAFEGUARDING BOARD — PREMIUM SYSTEM (2026-06-13, VP)
   Applies the DTTASA premium animation system (ambient gold glow,
   animated gold scan-line, glow-lift, gold scrollbar, Cinzel headers)
   while KEEPING red (#e74c3c) for safeguarding severity — this is a
   serious, confidential surface, so the gold is restrained/authoritative.
   CSS-only; every id/data-action/listener/field unchanged.
   ════════════════════════════════════════════════════════════════ */
/* Ambient deep-space gold glow behind everything (premium) */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 640px 420px at 12% 12%,rgba(240,200,50,.06),transparent 70%),
             radial-gradient(ellipse 520px 360px at 88% 88%,rgba(231,76,60,.045),transparent 70%);
  animation:sgAmbient 16s cubic-bezier(.16,1,.3,1) infinite alternate;}
@keyframes sgAmbient{0%{opacity:.65}100%{opacity:1}}
#layout,#shell{position:relative;z-index:1;}

/* Gold scrollbar (premium signature) */
*::-webkit-scrollbar{width:5px;height:5px;}
*::-webkit-scrollbar-track{background:transparent;}
*::-webkit-scrollbar-thumb{background:rgba(240,200,50,.22);border-radius:10px;}
*::-webkit-scrollbar-thumb:hover{background:rgba(240,200,50,.5);}

/* Header — animated gold scan-line along the bottom edge */
#hdr{position:relative;}
#hdr::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(240,200,50,.7),transparent);
  background-size:200% 100%;animation:sgScan 5s cubic-bezier(.16,1,.3,1) infinite;}
@keyframes sgScan{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Section header — Cinzel + a gold hairline rule beneath the title row */
.sg-sec-hdr{position:relative;padding-bottom:14px;border-bottom:1px solid var(--border);}
.sg-sec-title{letter-spacing:.4px;}
.sg-sec-sub{color:var(--t3) !important;}

/* KPI cards — premium faceted glass + refraction sweep + glow-lift */
.sg-kpi{position:relative;overflow:hidden;
  background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.03) 45%,var(--panel)) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 10px 28px -10px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.07) !important;}
.sg-kpi::after{content:'';position:absolute;top:-60%;left:-75%;width:45%;height:220%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.10),transparent);transform:rotate(9deg);transition:left .75s cubic-bezier(.16,1,.3,1);}
.sg-kpi:hover::after{left:150%;}
.sg-kpi:hover{transform:translateY(-4px) !important;border-color:var(--gglow) !important;box-shadow:0 16px 40px -12px rgba(0,0,0,.45) !important;}
.sg-kpi-val{font-family:var(--mono) !important;}

/* Glass panels + welfare cards — gold glow-lift */
.glass{box-shadow:0 14px 40px -18px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06) !important;}
.glass:hover,.wg-card:hover{transform:translateY(-3px);border-color:var(--gglow) !important;box-shadow:0 20px 48px -14px rgba(0,0,0,.55) !important;}

/* Sidebar active item — keep red identity but add a premium gold edge cue on hover */
.sb-item:hover{border-color:var(--gglow) !important;}

/* Section entrance — premium panel rise */
.sg-section.active{animation:sgPanelUp .42s cubic-bezier(.16,1,.3,1) both !important;}
@keyframes sgPanelUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Warm-boot: don't replay entrances on cached reload */
html.ip-warm .sg-kpi,html.ip-warm .glass,html.ip-warm #hdr,html.ip-warm #sb,html.ip-warm .sg-section.active{animation:none !important;opacity:1 !important;transform:none !important;}
