/* ================================================================
   DTTASA FOUNDING EXECUTIVE BOARD v1
   Gold-Primary Obsidian Command — Most Elevated Board
   Cinzel + IBM Plex Mono + DM Sans | Full mobile support
   ================================================================ */
:root {
  --void:    #0c1109;
  --deep:    #0f1810;
  --base:    #142012;
  --lift:    #1a2a16;
  --surface: #1f321a;
  --panel:   rgba(255,255,255,0.11);
  --panel2:  rgba(255,255,255,0.18);
  --border:  rgba(255,255,255,0.13);
  --bord2:   rgba(255,255,255,0.24);
  --gold:    #f0c832;
  --gold2:   #f7d94e;
  --gold3:   #d4af37;
  --gdim:    rgba(212,175,55,0.13);
  --gglow:   rgba(212,175,55,0.32);
  --gsoft:   rgba(212,175,55,0.055);
  --green:   #4cd657;
  --gndim:   rgba(76,214,87,0.12);
  --gnsoft:  rgba(76,214,87,0.055);
  --teal:    #2dd4bf;
  --tealdim: rgba(45,212,191,0.12);
  --amber:   #f59e0b;
  --ambdim:  rgba(245,158,11,0.15);
  --red:     #ff4848;
  --rdim:    rgba(255,72,72,0.12);
  --blue:    #60a5fa;
  --bdim:    rgba(96,165,250,0.12);
  --text:    #f2f7ee;
  --t2:      rgba(242,247,238,0.88);
  --t3:      rgba(242,247,238,0.62);
  --t4:      rgba(242,247,238,0.35);
  --mono:    'IBM Plex Mono', monospace;
  --disp:    'Cinzel', serif;
  --body:    'DM Sans', sans-serif;
  --hdh:     80px;
  --snav-h:  54px;
  --role-bar-h: 3px;
  --ticker-h:   36px;
  --indigo:  #818cf8; --idim:rgba(129,140,248,.12); --iglow:rgba(129,140,248,.3);
}

/* ── ROLE IDENTITY BARS ── */
body.role-vp     { --role-a: #f0c832; --role-b: #4cd657; }
body.role-president { --role-a: #f0c832; --role-b: #f59e0b; }
body.role-sg     { --role-a: #4cd657; --role-b: #2dd4bf; }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { width:100%; height:100%; overflow:hidden; background:var(--void); color:var(--text); font-family:var(--body); font-size:15px; -webkit-font-smoothing:antialiased; }

/* ── ROLE IDENTITY LINE ── */
#role-bar { position:fixed; top:0; left:0; right:0; height:var(--role-bar-h); z-index:9100; background:linear-gradient(90deg, var(--role-a,var(--gold)) 0%, var(--role-b,var(--green)) 100%); opacity:0; transition:opacity .6s; }
#role-bar.show { opacity:1; }

/* ── AMBIENT LAYERS ── */
body::before { content:''; position:fixed; inset:0; background:radial-gradient(ellipse at 20% 20%, rgba(212,175,55,.04) 0, transparent 55%), radial-gradient(ellipse at 80% 80%, rgba(76,214,87,.03) 0, transparent 50%); pointer-events:none; z-index:0; }
body::after  { content:''; position:fixed; inset:0; background:radial-gradient(ellipse at 50% 0%, rgba(212,175,55,.06) 0, transparent 40%); pointer-events:none; z-index:0; }

/* ── HEADER ── */
#exec-header { position:fixed; top:var(--role-bar-h); left:0; right:0; height:var(--hdh); z-index:500; display:flex; align-items:center; gap:14px; padding:0 28px; background:rgba(4,8,4,.78); border-bottom:1px solid rgba(255,255,255,.08); backdrop-filter:blur(36px) saturate(160%); -webkit-backdrop-filter:blur(36px) saturate(160%); animation:hdrDrop .7s cubic-bezier(.16,1,.3,1) both; box-shadow:inset 0 -1px 0 rgba(255,255,255,.05),0 4px 24px rgba(0,0,0,.3); }
#exec-header::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent 0%,rgba(212,175,55,.04) 50%,transparent 100%); background-size:250% 100%; animation:hdrScan 7s linear infinite; }
@keyframes hdrDrop { from{transform:translateY(-100%);opacity:0;} to{transform:translateY(0);opacity:1;} }
@keyframes hdrScan { from{background-position:250% 0;} to{background-position:-250% 0;} }
.hdr-brand-wrap { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.hdr-brand-img { height:36px; width:auto; display:block; filter:drop-shadow(0 0 8px rgba(212,175,55,.25)); transition:filter .3s, transform .3s; }
.hdr-brand-img:hover { filter:drop-shadow(0 0 14px rgba(212,175,55,.5)); transform:scale(1.04); }
.hdr-brand-text { display:flex; flex-direction:column; gap:1px; }
.hdr-brand-name { font-family:var(--disp); font-size:22px; font-weight:900; letter-spacing:7px; line-height:1; background:linear-gradient(135deg,var(--green) 0%,var(--gold) 60%,var(--gold2) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hdr-brand-sub  { font-size:11px; letter-spacing:3.5px; color:var(--gold); opacity:.5; text-transform:uppercase; }
.hdr-sep { width:1px; height:36px; background:var(--border); flex-shrink:0; }
.hdr-page-pill { display:flex; align-items:center; gap:7px; background:var(--gdim); border:1px solid rgba(212,175,55,.22); padding:5px 14px; border-radius:20px; font-size: 11px; font-weight:800; color:var(--gold); letter-spacing:1.5px; text-transform:uppercase; white-space:nowrap; }
.hdr-spacer { flex:1; }
#mode-toggle-chip { display:none; align-items:center; gap:6px; padding:4px 14px; border-radius:20px; font-size: 11px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; cursor:pointer; border:1px solid; transition:all .25s; white-space:nowrap; background:none; }
#mode-toggle-chip.live { background:rgba(76,214,87,.1); border-color:rgba(76,214,87,.3); color:var(--green); }
#mode-toggle-chip.live:hover { background:rgba(76,214,87,.22); }
#mode-toggle-chip.test { background:rgba(245,158,11,.15); border-color:rgba(245,158,11,.4); color:var(--amber); }
#mode-toggle-chip.test:hover { background:rgba(245,158,11,.28); }
#hdr-notif-btn { position:relative; width:36px; height:36px; border-radius:10px; background:transparent; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--t3); font-size:14px; transition:background .2s, color .2s; }
#hdr-notif-btn:hover { background:var(--panel); color:var(--text); }
#hdr-notif-badge { position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; background:var(--red); border-radius:9px; font-size: 11px; font-weight:800; color:#fff; display:none; align-items:center; justify-content:center; padding:0 4px; font-family:var(--mono); }
#hdr-notif-badge.show { display:flex; }
.hdr-clock { font-family:var(--mono); font-size:13px; color:var(--t3); white-space:nowrap; flex-shrink:0; }
#exec-role-badge { display:inline-flex; align-items:center; gap:6px; padding:4px 12px; border-radius:12px; font-size: 11px; font-weight:800; letter-spacing:1.8px; text-transform:uppercase; flex-shrink:0; }
.erb-vp       { background:var(--gdim); color:var(--gold); border:1px solid rgba(212,175,55,.3); }
.erb-president{ background:var(--ambdim); color:var(--amber); border:1px solid rgba(245,158,11,.3); }
.erb-sg       { background:var(--tealdim); color:var(--teal); border:1px solid rgba(45,212,191,.3); }
.hdr-av { width:36px; height:36px; border-radius:50%; overflow:hidden; background:var(--gdim); border:2px solid var(--gold3); display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:14px; font-weight:700; color:var(--gold); flex-shrink:0; }
.hdr-name { font-size:13px; font-weight:600; color:var(--t2); max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hdr-icon-btn { width:44px; height:44px; border-radius:10px; background:transparent; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--t3); font-size:13px; transition:background .2s, color .2s; flex-shrink:0; }
.hdr-icon-btn:hover { background:var(--panel); color:var(--text); }
#hdr-back-btn { background:var(--gdim); border-color:rgba(212,175,55,.25); color:var(--gold); font-size:11px; padding:0 14px; width:auto; gap:6px; letter-spacing:.5px; font-weight:700; }
#hdr-back-btn:hover { background:var(--gglow); }

/* ── TEST MODE BANNER (ticker) ── */
#test-mode-banner { display:none; position:fixed; top:calc(var(--role-bar-h) + var(--hdh) + var(--ticker-h)); left:0; right:0; height:40px; z-index:490; background:repeating-linear-gradient(45deg,rgba(245,158,11,.18),rgba(245,158,11,.18) 12px,rgba(245,158,11,.08) 12px,rgba(245,158,11,.08) 24px); border-top:2px solid rgba(245,158,11,.5); border-bottom:2px solid rgba(245,158,11,.5); overflow:hidden; }
#test-mode-banner.show { display:flex; align-items:center; }
.tmb-ticker-track { display:flex; align-items:center; white-space:nowrap; animation:tmb-scroll 18s linear infinite; }
.tmb-ticker-track span { font-size:11px; font-weight:800; letter-spacing:2.5px; color:var(--amber); text-transform:uppercase; padding:0 40px; }
@keyframes tmb-scroll { 0%{transform:translateX(0);}100%{transform:translateX(-50%);} }
body.test-mode #exec-snav-wrap { top:calc(var(--role-bar-h) + var(--hdh) + var(--ticker-h) + 40px); }
body.test-mode #exec-main-wrap { padding-top:calc(var(--hdh) + var(--snav-h) + var(--ticker-h) + 40px + var(--role-bar-h)); }

/* ── EXEC LIVE ALERT TICKER ── */
#exec-alert-ticker { position:fixed; top:calc(var(--role-bar-h) + var(--hdh)); left:0; right:0; height:var(--ticker-h); z-index:491; background:rgba(5,8,4,0.97); border-bottom:1px solid rgba(212,175,55,0.12); display:flex; align-items:center; overflow:hidden; }
.exec-ticker-label { flex-shrink:0; display:flex; align-items:center; gap:5px; padding:0 14px 0 16px; font-size: 11px; font-weight:800; letter-spacing:2.5px; color:var(--green); text-transform:uppercase; border-right:1px solid rgba(255,255,255,0.08); height:100%; white-space:nowrap; }
.exec-ticker-dot { width:6px; height:6px; border-radius:50%; background:var(--green); animation:etd-pulse 1.4s cubic-bezier(.16,1,.3,1) infinite; flex-shrink:0; }
@keyframes etd-pulse { 0%,100%{opacity:1;transform:scale(1);}50%{opacity:.35;transform:scale(.75);} }
.exec-ticker-viewport { flex:1; overflow:hidden; height:100%; display:flex; align-items:center; position:relative; }
.exec-ticker-track { display:flex; align-items:center; white-space:nowrap; gap:0; will-change:transform; }
.exec-ticker-track.running { animation:exec-tick var(--etick-dur,35s) linear infinite; }
.exec-ticker-track.running:hover { animation-play-state:paused; }
@keyframes exec-tick { 0%{transform:translateX(0);}100%{transform:translateX(-50%);} }
.etick-pill { display:inline-flex; align-items:center; gap:5px; padding:3px 12px; margin:0 5px; border-radius:20px; font-size: 11px; font-weight:700; letter-spacing:.2px; white-space:nowrap; cursor:default; }
.etick-pill.tp-alert { background:rgba(255,72,72,0.1); color:var(--red); border:1px solid rgba(255,72,72,0.18); }
.etick-pill.tp-warn  { background:rgba(245,158,11,0.1); color:var(--amber); border:1px solid rgba(245,158,11,0.18); }
.etick-pill.tp-info  { background:rgba(96,165,250,0.1); color:var(--blue); border:1px solid rgba(96,165,250,0.18); }
.etick-pill.tp-ok    { background:rgba(76,214,87,0.1); color:var(--green); border:1px solid rgba(76,214,87,0.18); }
.etick-pill.tp-gold  { background:var(--gdim); color:var(--gold); border:1px solid rgba(212,175,55,0.18); }
.etick-sep { display:inline-block; width:1px; height:14px; background:rgba(255,255,255,0.09); margin:0 3px; vertical-align:middle; }

/* ── PIN GATE ── */
#pin-gate { position:fixed; inset:0; z-index:9000; background:linear-gradient(135deg,#050a04 0%,#080e06 40%,#060d05 100%); display:none; flex-direction:column; align-items:center; justify-content:center; }
#pin-gate.show { display:flex; }
#pin-particle-canvas { position:absolute; inset:0; pointer-events:none; }
#pin-gate::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 35%,rgba(212,175,55,.08) 0,transparent 60%); pointer-events:none; }
.pin-gate-inner { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; }
.pin-exec-logo { font-family:var(--disp); font-size: 11px; letter-spacing:5px; color:var(--gold); opacity:.5; margin-bottom:28px; text-align:center; }
.pin-role-reveal { font-size:11px; letter-spacing:3px; color:var(--gold); opacity:0; text-transform:uppercase; margin-bottom:8px; min-height:18px; transition:opacity .5s; font-family:var(--mono); }
.pin-role-reveal.show { opacity:.7; }
.pin-title { font-family:var(--disp); font-size:24px; font-weight:700; letter-spacing:5px; color:var(--text); margin-bottom:4px; text-align:center; }
.pin-sub { font-size:11px; color:var(--t3); letter-spacing:1.5px; margin-bottom:36px; text-align:center; }
.pin-dots { display:flex; gap:14px; margin-bottom:32px; }
.pin-dot { width:14px; height:14px; border-radius:50%; border:2px solid rgba(212,175,55,.4); transition:background .2s, border-color .2s, box-shadow .2s; }
.pin-dot.filled { background:var(--gold); border-color:var(--gold); box-shadow:0 0 10px rgba(212,175,55,.5); }
.pin-dot.error  { background:var(--red); border-color:var(--red); box-shadow:0 0 10px rgba(255,72,72,.5); animation:pin-shake .4s cubic-bezier(.16,1,.3,1); }
@keyframes pin-shake { 0%,100%{transform:translateX(0);}20%{transform:translateX(-5px);}60%{transform:translateX(5px);}80%{transform:translateX(-3px);} }
.pin-pad { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; width:220px; }
.pin-key { height:58px; border-radius:12px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:var(--text); font-family:var(--mono); font-size:20px; font-weight:700; cursor:pointer; transition:background .15s, transform .1s, box-shadow .15s; display:flex; align-items:center; justify-content:center; -webkit-tap-highlight-color:transparent; }
.pin-key:active, .pin-key.pressed { background:rgba(212,175,55,.2); border-color:rgba(212,175,55,.5); transform:scale(.94); box-shadow:0 0 14px rgba(212,175,55,.25); }
.pin-key.del  { font-size:16px; color:var(--t3); }
.pin-key.zero { grid-column:2; }
.pin-key.confirm { grid-column:3; background:var(--gdim); color:var(--gold); border-color:rgba(212,175,55,.3); }
.pin-key.confirm:active { background:var(--gglow); }
.pin-attempts { font-size:11px; color:var(--red); margin-top:18px; min-height:18px; letter-spacing:.5px; text-align:center; }
.pin-forgot { font-size:11px; color:var(--t4); margin-top:10px; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.pin-forgot:hover { color:var(--t3); }

/* ── PIN LOCKOUT ── */
#pin-lockout { position:fixed; inset:0; z-index:9500; background:linear-gradient(135deg,#0a0404 0%,#140606 100%); display:none; flex-direction:column; align-items:center; justify-content:center; gap:0; }
#pin-lockout.show { display:flex; }
.lockout-icon { font-size:52px; color:var(--red); margin-bottom:20px; animation:lockout-pulse 2s infinite; }
@keyframes lockout-pulse { 0%,100%{opacity:1;}50%{opacity:.5;} }
.lockout-title { font-family:var(--disp); font-size:20px; font-weight:700; color:var(--red); letter-spacing:3px; margin-bottom:8px; }
.lockout-sub { font-size:12px; color:var(--t3); text-align:center; max-width:320px; line-height:1.6; margin-bottom:20px; }
.lockout-contact { font-size:11px; color:var(--gold); font-family:var(--mono); }

/* ── SECTION NAV ── */
#exec-snav-wrap { position:fixed; top:calc(var(--role-bar-h) + var(--hdh) + var(--ticker-h)); left:0; right:0; height:var(--snav-h); z-index:480; background:rgba(4,7,4,.92); border-bottom:1px solid rgba(255,255,255,.08); backdrop-filter:blur(24px) saturate(140%); -webkit-backdrop-filter:blur(24px) saturate(140%); display:flex; align-items:center; gap:0; padding:0 8px; }
.snav-arrow { width:44px; height:44px; border-radius:8px; background:transparent; border:1px solid var(--border); color:var(--t3); font-size:11px; cursor:pointer; flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:background .2s, color .2s; }
.snav-arrow:hover { background:var(--panel); color:var(--gold); }
#exec-snav { display:flex; gap:2px; overflow-x:auto; scrollbar-width:none; flex:1; padding:0 4px; scroll-behavior:smooth; }
#exec-snav::-webkit-scrollbar { display:none; }
.snav-item { display:flex; align-items:center; gap:6px; padding:0 14px; height:38px; border-radius:9px; font-size:11px; font-weight:700; letter-spacing:.5px; white-space:nowrap; cursor:pointer; color:var(--t3); transition:background .2s, color .2s; position:relative; flex-shrink:0; border:1px solid transparent; }
.snav-item:hover { background:var(--panel); color:var(--t2); }
.snav-item.active { background:var(--gdim); color:var(--gold); border-color:rgba(212,175,55,.2); }
.snav-item.active::after { content:''; position:absolute; bottom:-1px; left:50%; transform:translateX(-50%); width:24px; height:2px; background:var(--gold); border-radius:2px; }
.snav-badge { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; border-radius:9px; font-size: 11px; font-weight:800; padding:0 5px; font-family:var(--mono); }
.snav-badge.red   { background:var(--rdim); color:var(--red); border:1px solid rgba(255,72,72,.25); }
.snav-badge.gold  { background:var(--gdim); color:var(--gold); border:1px solid rgba(212,175,55,.25); }
.snav-badge.green { background:var(--gndim); color:var(--green); border:1px solid rgba(76,214,87,.25); }
.snav-badge.amber { background:var(--ambdim); color:var(--amber); border:1px solid rgba(245,158,11,.25); }

/* ── MAIN WRAP ── */
#exec-main-wrap::-webkit-scrollbar { width:5px; }
#exec-main-wrap::-webkit-scrollbar-thumb { background:rgba(212,175,55,.2); border-radius:3px; }
.exec-section { padding:36px 32px 48px; position:relative; content-visibility:auto; contain-intrinsic-size:auto 700px; }
#exec-main-wrap { display:none; }
#exec-main-wrap.show { display:block; position:fixed; inset:0; overflow-y:auto; overflow-x:hidden; scroll-behavior:smooth; padding-top:calc(var(--hdh) + var(--snav-h) + var(--ticker-h) + var(--role-bar-h)); background:var(--void); scrollbar-width:thin; scrollbar-color:rgba(212,175,55,.2) transparent; }
.exec-section + .exec-section { border-top:1px solid rgba(255,255,255,.05); }
@media(max-width:768px) { .exec-section { padding:24px 16px 40px; } }

/* ── SECTION HEADERS ── */
.sec-head { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:24px; gap:16px; flex-wrap:wrap; }
.sec-head-left { display:flex; flex-direction:column; gap:4px; }
.sec-lbl { font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:3px; color:var(--gold); text-transform:uppercase; display:flex; align-items:center; gap:8px; }
.sec-lbl i { font-size:12px; }
.sec-title { font-family:var(--disp); font-size:22px; font-weight:700; color:var(--text); letter-spacing:1px; }
.sec-sub { font-size:12px; color:var(--t3); letter-spacing:.3px; margin-top:2px; }
.sec-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

/* ── GLASS CARDS ── */
.glass { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:20px; position:relative; overflow:hidden; transition:border-color .3s, box-shadow .3s, transform .25s; backdrop-filter:blur(20px) saturate(150%); -webkit-backdrop-filter:blur(20px) saturate(150%); box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 32px rgba(0,0,0,.3); animation:glassIn .65s cubic-bezier(.16,1,.3,1) both; }
@keyframes glassIn{from{opacity:0;transform:translateY(20px) scale(.97);filter:blur(6px);}to{opacity:1;transform:none;filter:blur(0);}}
.glass::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent); pointer-events:none; }
.glass:hover { border-color:rgba(212,175,55,.25); box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 12px 40px rgba(0,0,0,.35); transform:translateY(-2px); }
.glass-title { font-family:var(--mono); font-size: 11px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--t3); margin-bottom:14px; display:flex; align-items:center; gap:8px; }
.glass-title i { color:var(--gold); }

/* ── BUTTONS ── */
.btn { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border-radius:10px; font-size:13px; font-weight:700; letter-spacing:.5px; cursor:pointer; border:1px solid; transition:all .2s; white-space:nowrap; }
.btn-gold  { background:var(--gdim); border-color:rgba(212,175,55,.3); color:var(--gold); }
.btn-gold:hover { background:var(--gglow); }
.btn-green { background:var(--gndim); border-color:rgba(76,214,87,.3); color:var(--green); }
.btn-green:hover { background:rgba(76,214,87,.22); }
.btn-red   { background:var(--rdim); border-color:rgba(255,72,72,.3); color:var(--red); }
.btn-red:hover { background:rgba(255,72,72,.22); }
.btn-amber { background:var(--ambdim); border-color:rgba(245,158,11,.3); color:var(--amber); }
.btn-amber:hover { background:rgba(245,158,11,.28); }
.btn-ghost { background:var(--panel); border-color:var(--border); color:var(--t2); }
.btn-ghost:hover { background:var(--panel2); }
.btn-teal  { background:var(--tealdim); border-color:rgba(45,212,191,.3); color:var(--teal); }
.btn-sm { padding:6px 12px; font-size:11px; border-radius:8px; }
.btn-lg { padding:12px 24px; font-size:13px; border-radius:12px; }
.btn-outline { background:transparent; border-color:var(--bord2); color:var(--t2); }
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }

/* ── ROLE LOCK INDICATOR ── */
.role-lock { display:inline-flex; align-items:center; gap:7px; padding:9px 16px; border-radius:10px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); color:var(--t4); font-size:11px; font-weight:700; letter-spacing:.5px; cursor:default; position:relative; }
.role-lock i.lock-icon { color:var(--gold); animation:lock-pulse 2.5s infinite; font-size:12px; }
@keyframes lock-pulse { 0%,100%{opacity:.6;}50%{opacity:1;} }
.role-lock-tip { display:none; position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); background:rgba(8,13,7,.95); border:1px solid var(--border); border-radius:8px; padding:8px 12px; font-size:11px; color:var(--t2); white-space:nowrap; pointer-events:none; z-index:100; }
.role-lock:hover .role-lock-tip { display:block; }

/* ── 8-PHASE PROGRESS BAR ── */
.phase-bar-wrap { width:100%; overflow-x:auto; scrollbar-width:none; padding-bottom:4px; margin-bottom:20px; }
.phase-bar-wrap::-webkit-scrollbar { display:none; }
.phase-bar { display:flex; align-items:center; min-width:640px; position:relative; }
.phase-node-wrap { display:flex; flex-direction:column; align-items:center; gap:6px; flex:1; position:relative; z-index:2; }
.phase-node { width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:11px; font-weight:700; border:2px solid; transition:all .4s; flex-shrink:0; }
.phase-node.pending  { background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.15); color:var(--t4); }
.phase-node.active   { background:var(--gdim); border-color:var(--gold); color:var(--gold); box-shadow:0 0 0 4px rgba(212,175,55,.15); animation:phase-active-pulse 2s infinite; }
@keyframes phase-active-pulse { 0%,100%{box-shadow:0 0 0 4px rgba(212,175,55,.15);}50%{box-shadow:0 0 0 7px rgba(212,175,55,.08);} }
.phase-node.done     { background:rgba(76,214,87,.15); border-color:var(--green); color:var(--green); }
.phase-node.rejected { background:var(--rdim); border-color:var(--red); color:var(--red); animation:none; }
.phase-node.skipped  { background:rgba(255,255,255,.02); border-color:rgba(255,255,255,.08); color:rgba(255,255,255,.2); }
.phase-label { font-size: 11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; text-align:center; white-space:nowrap; }
.phase-label.pending  { color:var(--t4); }
.phase-label.active   { color:var(--gold); }
.phase-label.done     { color:var(--green); }
.phase-label.rejected { color:var(--red); }
.phase-label.skipped  { color:rgba(255,255,255,.2); }
.phase-connector { flex:1; height:2px; background:rgba(255,255,255,.08); position:relative; z-index:1; margin-top:-20px; transition:background .5s; }
.phase-connector.done { background:var(--green); }
.phase-connector.active { background:linear-gradient(90deg,var(--green),rgba(212,175,55,.4)); }
.phase-connector.rejected { background:var(--red); opacity:.4; }
/* Compact bar for cards */
.phase-bar-compact { display:flex; align-items:center; gap:3px; }
.pbc-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.12); flex-shrink:0; transition:all .3s; }
.pbc-dot.done     { background:var(--green); }
.pbc-dot.active   { background:var(--gold); box-shadow:0 0 6px rgba(212,175,55,.5); }
.pbc-dot.rejected { background:var(--red); }
.pbc-line { flex:1; height:1px; background:rgba(255,255,255,.1); min-width:4px; }
.pbc-line.done { background:var(--green); }

/* ── KANBAN ── */
.kanban-wrap { display:flex; gap:16px; overflow-x:auto; padding-bottom:12px; align-items:flex-start; scrollbar-width:thin; scrollbar-color:rgba(212,175,55,.15) transparent; }
.kanban-wrap::-webkit-scrollbar { height:4px; }
.kanban-wrap::-webkit-scrollbar-thumb { background:rgba(212,175,55,.15); border-radius:2px; }
.kanban-col { flex-shrink:0; width:280px; background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:14px; padding:14px; }
.kanban-col-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid var(--border); }
.kanban-col-title { font-family:var(--mono); font-size: 11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; display:flex; align-items:center; gap:7px; }
.kanban-col-count { font-family:var(--mono); font-size:11px; font-weight:700; color:var(--gold); background:var(--gdim); border-radius:6px; padding:2px 8px; }
.kanban-cards { display:flex; flex-direction:column; gap:8px; min-height:60px; }
.kanban-card { background:rgba(255,255,255,.05); border:1px solid var(--border); border-radius:10px; padding:12px; cursor:pointer; transition:background .2s, border-color .2s, transform .15s; position:relative; overflow:hidden; }
.kanban-card:hover { background:rgba(255,255,255,.09); border-color:rgba(212,175,55,.2); transform:translateY(-1px); }
.kanban-card.unread::before { content:''; position:absolute; top:8px; right:8px; width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 6px rgba(212,175,55,.6); }
.kanban-unread-dot { position:absolute; top:8px; right:8px; width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 6px rgba(212,175,55,.6); }
.kanban-card.urgent-amber { border-color:rgba(245,158,11,.3); animation:urgency-pulse-a 3s infinite; }
.kanban-card.urgent-red   { border-color:rgba(255,72,72,.3); animation:urgency-pulse-r 1.8s infinite; }
@keyframes urgency-pulse-a { 0%,100%{box-shadow:0 0 0 rgba(245,158,11,0);} 50%{box-shadow:0 0 12px rgba(245,158,11,.15);} }
@keyframes urgency-pulse-r { 0%,100%{box-shadow:0 0 0 rgba(255,72,72,0);} 50%{box-shadow:0 0 14px rgba(255,72,72,.2);} }
.kanban-card-name { font-size:13px; font-weight:700; color:var(--text); margin-bottom:4px; }
.kanban-card-meta { font-size:11px; color:var(--t3); display:flex; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
.kanban-card-footer { display:flex; align-items:center; justify-content:space-between; }
.days-tag { font-family:var(--mono); font-size: 11px; font-weight:700; padding:2px 8px; border-radius:5px; letter-spacing:.5px; text-transform:uppercase; }
.days-tag.ok     { background:rgba(255,255,255,.05); color:var(--t4); }
.days-tag.warn   { background:var(--ambdim); color:var(--amber); animation:days-warn-pulse 3s infinite; }
.days-tag.urgent { background:var(--rdim); color:var(--red); animation:days-warn-pulse 1.5s infinite; }
@keyframes days-warn-pulse { 0%,100%{opacity:1;}50%{opacity:.6;} }
.kanban-empty { text-align:center; padding:24px 12px; color:var(--t4); font-size:12px; }
.kanban-empty i { font-size:22px; display:block; margin-bottom:8px; opacity:.4; }

/* ── DRAWERS ── */
.drawer-overlay { position:fixed; inset:0; background:rgba(0,0,0,.65); z-index:800; opacity:0; pointer-events:none; transition:opacity .3s; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.drawer-overlay.show { opacity:1; pointer-events:all; }
.drawer-panel { position:fixed; top:0; right:0; bottom:0; width:580px; max-width:100vw; background:linear-gradient(160deg,var(--deep) 0%,var(--void) 100%); border-left:1px solid var(--border); z-index:801; transform:translateX(100%); transition:transform .35s cubic-bezier(.16,1,.3,1); display:flex; flex-direction:column; overflow:hidden; }
.drawer-panel.show { transform:translateX(0); }
.drawer-header { padding:20px 24px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; flex-shrink:0; background:rgba(8,13,7,.6); }
.drawer-title { font-family:var(--disp); font-size:16px; font-weight:700; color:var(--text); letter-spacing:1px; }
.drawer-close { width:44px; height:44px; border-radius:9px; background:var(--panel); border:1px solid var(--border); color:var(--t3); font-size:14px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s, color .2s; }
.drawer-close:hover { background:var(--rdim); color:var(--red); }
.drawer-body { flex:1; overflow-y:auto; padding:24px; scrollbar-width:thin; scrollbar-color:rgba(212,175,55,.15) transparent; }
.drawer-body::-webkit-scrollbar { width:4px; }
.drawer-body::-webkit-scrollbar-thumb { background:rgba(212,175,55,.15); border-radius:2px; }
.drawer-section { margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid rgba(255,255,255,.06); }
.drawer-section:last-child { border-bottom:none; }
.drawer-section-lbl { font-family:var(--mono); font-size: 11px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:12px; display:flex; align-items:center; gap:7px; }
.detail-row { display:flex; align-items:flex-start; gap:10px; margin-bottom:10px; font-size:13px; }
.detail-lbl { color:var(--t3); min-width:140px; font-size:12px; flex-shrink:0; }
.detail-val { color:var(--text); font-weight:600; flex:1; }
/* Mobile drawer → bottom sheet */
@media(max-width:768px) {
  .drawer-panel { top:auto; right:0; left:0; bottom:0; width:100%; height:92vh; border-left:none; border-top:1px solid var(--border); border-radius:20px 20px 0 0; transform:translateY(100%); }
  .drawer-panel.show { transform:translateY(0); }
}

/* ── MODALS ── */
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.65); z-index:900; display:none; align-items:center; justify-content:center; padding:20px; backdrop-filter:blur(24px) saturate(130%); -webkit-backdrop-filter:blur(24px) saturate(130%); }
.modal-overlay.show,.modal-overlay.open,.modal-overlay.active { display:flex; }
.modal-box { background:rgba(6,10,6,.78); border:1px solid rgba(255,255,255,.08); border-radius:18px; padding:30px; max-width:500px; width:100%; max-height:90vh; overflow-y:auto; position:relative; box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 24px 80px rgba(0,0,0,.7); backdrop-filter:blur(32px) saturate(160%); -webkit-backdrop-filter:blur(32px) saturate(160%); }
.modal-box.danger-modal { border-color:rgba(255,72,72,.25); }
.modal-title { font-family:var(--disp); font-size:18px; font-weight:700; color:var(--text); margin-bottom:6px; letter-spacing:1px; }
.modal-sub { font-size:12px; color:var(--t3); margin-bottom:22px; line-height:1.5; }
.modal-close { position:absolute; top:16px; right:16px; width:44px; height:44px; border-radius:8px; background:var(--panel); border:1px solid var(--border); color:var(--t3); font-size:14px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.modal-close:hover { background:var(--rdim); color:var(--red); }
.modal-footer { display:flex; gap:10px; margin-top:22px; justify-content:flex-end; flex-wrap:wrap; }

/* ── FORM ELEMENTS ── */
.fi-label { font-size:11px; font-weight:700; letter-spacing:.5px; color:var(--t3); display:block; margin-bottom:6px; text-transform:uppercase; }
.fi { width:100%; padding:10px 14px; background:rgba(255,255,255,.05); border:1px solid var(--border); border-radius:10px; color:var(--text); font-size:13px; font-family:var(--body); transition:border-color .2s, background .2s; outline:none; }
.fi:focus { border-color:rgba(212,175,55,.4); background:rgba(255,255,255,.08); }
.fi-ta { resize:vertical; min-height:80px; }
.fi-group { margin-bottom:16px; }
.fi-select { appearance:none; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23f0c832' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:36px; }

/* ── CHECKLIST ITEMS ── */
.check-item { display:flex; align-items:flex-start; gap:12px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.05); }
.check-item:last-child { border-bottom:none; }
.check-box { width:22px; height:22px; border-radius:6px; border:2px solid rgba(255,255,255,.2); flex-shrink:0; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s; margin-top:1px; }
.check-box.checked { background:var(--green); border-color:var(--green); color:#fff; font-size:11px; }
.check-box.na { background:var(--ambdim); border-color:var(--amber); color:var(--amber); font-size:11px; }
.check-item-body { flex:1; }
.check-item-title { font-size:13px; font-weight:600; color:var(--text); margin-bottom:4px; }
.check-item-meta { font-size:11px; color:var(--t3); }
.check-item-note { margin-top:6px; font-size:11px; color:var(--t4); font-style:italic; }
.check-status-tag { font-size: 11px; font-weight:800; letter-spacing:1px; padding:2px 8px; border-radius:5px; text-transform:uppercase; font-family:var(--mono); }
.cst-done { background:rgba(76,214,87,.12); color:var(--green); }
.cst-na   { background:var(--ambdim); color:var(--amber); }
.cst-pending { background:rgba(255,255,255,.06); color:var(--t4); }

/* ── DEPT CONFIRMATION TRACKER ── */
.dept-confirm-grid { display:flex; flex-direction:column; gap:8px; }
.dept-confirm-row { display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:10px; background:rgba(255,255,255,.04); border:1px solid var(--border); transition:border-color .2s; }
.dept-confirm-row.confirmed { border-color:rgba(76,214,87,.25); background:rgba(76,214,87,.04); }
.dept-confirm-row.overdue   { border-color:rgba(255,72,72,.2); }
.dcr-av { width:34px; height:34px; border-radius:50%; background:var(--gdim); border:1px solid rgba(212,175,55,.2); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; color:var(--gold); flex-shrink:0; font-family:var(--mono); }
.dcr-info { flex:1; }
.dcr-name { font-size:12px; font-weight:700; color:var(--text); }
.dcr-meta { font-size:11px; color:var(--t3); margin-top:2px; }
.dcr-status { display:flex; align-items:center; gap:6px; }
.dcr-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.dcr-dot.confirmed { background:var(--green); box-shadow:0 0 6px rgba(76,214,87,.4); }
.dcr-dot.opened    { background:var(--amber); }
.dcr-dot.pending   { background:rgba(255,255,255,.2); }
.dcr-remind-btn { font-size: 11px; font-weight:700; color:var(--gold); background:var(--gdim); border:1px solid rgba(212,175,55,.2); border-radius:6px; padding:3px 10px; cursor:pointer; transition:background .2s; white-space:nowrap; }
.dcr-remind-btn:hover { background:var(--gglow); }

/* ── KPI STRIP ── */
.kpi-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(160px,1fr)); gap:12px; margin-bottom:24px; }
.kpi-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:16px; position:relative; overflow:hidden; transition:border-color .3s, box-shadow .3s, transform .2s; backdrop-filter:blur(16px) saturate(140%); -webkit-backdrop-filter:blur(16px) saturate(140%); box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 32px rgba(0,0,0,.3); }
.kpi-card:hover { border-color:rgba(212,175,55,.3); box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 10px 30px rgba(0,0,0,.35); transform:translateY(-2px); }
.kpi-card::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent); pointer-events:none; }
.kpi-lbl { font-size: 11px; font-weight:700; letter-spacing:1.5px; color:var(--t3); text-transform:uppercase; margin-bottom:8px; }
.kpi-val { font-family:var(--mono); font-size:28px; font-weight:700; color:var(--text); line-height:1; }
.kpi-val.gold  { color:var(--gold); }
.kpi-val.green { color:var(--green); }
.kpi-val.red   { color:var(--red); }
.kpi-val.amber { color:var(--amber); }
.kpi-sub { font-size: 11px; color:var(--t4); margin-top:4px; }
.kpi-spark { margin-top:8px; height:24px; opacity:.5; }

/* ── EXEC ARC RING HEALTH WIDGET ── */
.exec-arc-lbl{font-size:12px;font-weight:800;letter-spacing:2.5px;color:var(--gold);text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.exec-arc-lbl::after{content:'';flex:1;height:1px;background:var(--border);}
.exec-arc-lbl i{font-size:13px;}
.exec-arc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:8px;}
.exec-arc-tile{background:var(--panel);border:1px solid var(--border);border-radius:22px;padding:24px 16px 18px;display:flex;flex-direction:column;align-items:center;gap:8px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1);cursor:default;}
.exec-arc-tile:hover{border-color:rgba(212,175,55,.22);transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.28);}
.exec-arc-wrap{position:relative;width:112px;height:112px;flex-shrink:0;}
.exec-arc-svg{width:100%;height:100%;overflow:visible;}
.exec-arc-track{fill:none;stroke:var(--panel2);stroke-width:7;stroke-linecap:round;stroke-dasharray:145.91 238.76;}
.exec-arc-fill{fill:none;stroke-width:7;stroke-linecap:round;stroke-dasharray:145.91 238.76;stroke-dashoffset:145.91;transition:stroke-dashoffset .85s cubic-bezier(.16,1,.3,1);}
.exec-arc-gold  {stroke:var(--gold);  filter:drop-shadow(0 0 7px rgba(240,200,50,.4));}
.exec-arc-green {stroke:var(--green); filter:drop-shadow(0 0 7px rgba(76,214,87,.35));}
.exec-arc-purple{stroke:var(--indigo);filter:drop-shadow(0 0 7px var(--iglow));}
.exec-arc-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;pointer-events:none;}
.exec-arc-pct{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--text);line-height:1;letter-spacing:-0.5px;}
.exec-arc-icon{font-size:11px;}
.exec-arc-name{font-size:12px;font-weight:700;color:var(--text);letter-spacing:.3px;text-align:center;line-height:1.3;}
.exec-arc-sub{font-size: 11px;color:var(--t3);text-align:center;font-family:var(--mono);line-height:1.5;min-height:30px;}
@media(max-width:820px){.exec-arc-grid{gap:10px;}.exec-arc-wrap{width:90px;height:90px;}.exec-arc-pct{font-size:18px;}.exec-arc-tile{padding:18px 10px 14px;}}
@media(max-width:540px){.exec-arc-grid{grid-template-columns:1fr;}.exec-arc-wrap{width:100px;height:100px;}.exec-arc-pct{font-size:20px;}}

/* ── ORG HEALTH GAUGE ── */
.gauge-wrap { display:flex; flex-direction:column; align-items:center; gap:6px; padding:16px; }
.gauge-svg { overflow:visible; }
.gauge-track { fill:none; stroke:rgba(255,255,255,.07); stroke-width:10; stroke-linecap:round; }
.gauge-fill  { fill:none; stroke-width:10; stroke-linecap:round; stroke-dasharray:267; stroke-dashoffset:267; transition:stroke-dashoffset 1.4s cubic-bezier(.16,1,.3,1), stroke .5s; }
.gauge-needle { transition:transform 1.4s cubic-bezier(.16,1,.3,1); }
.gauge-num { font-family:var(--mono); font-size:30px; font-weight:700; fill:var(--text); text-anchor:middle; dominant-baseline:middle; }
.gauge-status-svg { font-family:var(--mono); font-size: 11px; font-weight:800; letter-spacing:2px; text-anchor:middle; text-transform:uppercase; }

/* ── ACTIVITY FEED ── */
.feed-wrap { display:flex; flex-direction:column; gap:0; max-height:600px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:rgba(212,175,55,.1) transparent; }
.feed-wrap::-webkit-scrollbar { width:3px; }
.feed-item { display:flex; gap:12px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.04); animation:feed-enter .3s cubic-bezier(.16,1,.3,1); position:relative; }
.feed-item.action-needed { border-left:3px solid var(--gold); padding-left:10px; }
@keyframes feed-enter { from{opacity:0;transform:translateY(-16px);}to{opacity:1;transform:translateY(0);} }
.feed-icon-wrap { width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; flex-shrink:0; margin-top:2px; }
.feed-icon-wrap.gold  { background:var(--gdim); color:var(--gold); }
.feed-icon-wrap.green { background:var(--gndim); color:var(--green); }
.feed-icon-wrap.red   { background:var(--rdim); color:var(--red); }
.feed-icon-wrap.amber { background:var(--ambdim); color:var(--amber); }
.feed-icon-wrap.blue  { background:var(--bdim); color:var(--blue); }
.feed-icon-wrap.teal  { background:var(--tealdim); color:var(--teal); }
.feed-content { flex:1; }
.feed-text { font-size:12px; color:var(--t2); line-height:1.5; }
.feed-text strong { color:var(--text); }
.feed-time { font-size: 11px; color:var(--t4); font-family:var(--mono); margin-top:3px; }
.feed-action-chip { display:inline-flex; align-items:center; gap:5px; background:var(--gdim); border:1px solid rgba(212,175,55,.2); color:var(--gold); font-size: 11px; font-weight:700; padding:2px 9px; border-radius:5px; cursor:pointer; margin-top:5px; transition:background .2s; }
.feed-action-chip:hover { background:var(--gglow); }
.feed-empty { text-align:center; padding:40px; color:var(--t4); font-size:12px; }
.feed-filter-bar { display:flex; gap:6px; margin-bottom:14px; flex-wrap:wrap; }
.feed-filter-btn { padding:4px 12px; border-radius:15px; font-size: 11px; font-weight:700; letter-spacing:.5px; cursor:pointer; border:1px solid var(--border); background:transparent; color:var(--t3); transition:all .2s; }
.feed-filter-btn.active { background:var(--gdim); border-color:rgba(212,175,55,.3); color:var(--gold); }

/* ── ALERT RIBBON ── */
.alert-stack { display:flex; flex-direction:column; gap:8px; }
.alert-card { display:flex; align-items:flex-start; gap:12px; padding:14px 16px; border-radius:12px; border:1px solid; position:relative; animation:alert-enter .3s cubic-bezier(.16,1,.3,1); }
@keyframes alert-enter { from{opacity:0;transform:translateX(-10px);}to{opacity:1;transform:translateX(0);} }
.alert-card.critical { background:rgba(255,72,72,.06); border-color:rgba(255,72,72,.25); }
.alert-card.warning  { background:rgba(245,158,11,.06); border-color:rgba(245,158,11,.2); }
.alert-card.info     { background:rgba(96,165,250,.05); border-color:rgba(96,165,250,.15); }
.alert-icon { font-size:16px; margin-top:1px; flex-shrink:0; }
.alert-card.critical .alert-icon { color:var(--red); }
.alert-card.warning  .alert-icon { color:var(--amber); }
.alert-card.info     .alert-icon { color:var(--blue); }
.alert-body { flex:1; }
.alert-title { font-size:13px; font-weight:700; color:var(--text); margin-bottom:3px; }
.alert-msg   { font-size:12px; color:var(--t3); line-height:1.5; }
.alert-meta  { font-size: 11px; color:var(--t4); margin-top:4px; font-family:var(--mono); }
.alert-dismiss { min-width:44px; min-height:44px; border-radius:6px; background:transparent; border:none; color:var(--t4); font-size:11px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s, color .2s; flex-shrink:0; }
.alert-dismiss:hover { background:var(--panel); color:var(--text); }
.alert-card.critical .alert-dismiss { cursor:not-allowed; opacity:.3; }
.no-alerts { text-align:center; padding:40px; color:var(--t4); font-size:13px; }
.no-alerts i { font-size:28px; display:block; margin-bottom:10px; opacity:.3; }
.severity-tag { font-size: 11px; font-weight:800; letter-spacing:1.5px; padding:2px 8px; border-radius:5px; font-family:var(--mono); text-transform:uppercase; display:inline-block; margin-bottom:5px; }
.sev-critical { background:var(--rdim); color:var(--red); }
.sev-warning  { background:var(--ambdim); color:var(--amber); }
.sev-info     { background:var(--bdim); color:var(--blue); }

/* ── VIEWED-BY STRIP ── */
.viewed-by-list { display:flex; flex-direction:column; gap:6px; }
.vb-row { display:flex; align-items:center; gap:10px; font-size:11px; color:var(--t3); }
.vb-av { width:22px; height:22px; border-radius:50%; background:var(--gdim); border:1px solid rgba(212,175,55,.2); display:flex; align-items:center; justify-content:center; font-size: 11px; font-weight:700; color:var(--gold); flex-shrink:0; }
.vb-name { color:var(--t2); font-weight:600; }
.vb-time { color:var(--t4); font-family:var(--mono); font-size: 11px; }

/* ── STATUS BADGES ── */
.status-badge { display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border-radius:8px; font-size: 11px; font-weight:800; letter-spacing:1px; text-transform:uppercase; font-family:var(--mono); }
.sb-gold    { background:var(--gdim);  color:var(--gold);  border:1px solid rgba(212,175,55,.2); }
.sb-green   { background:var(--gndim); color:var(--green); border:1px solid rgba(76,214,87,.2);  }
.sb-red     { background:var(--rdim);  color:var(--red);   border:1px solid rgba(255,72,72,.2);   }
.sb-amber   { background:var(--ambdim);color:var(--amber); border:1px solid rgba(245,158,11,.2);  }
.sb-teal    { background:var(--tealdim);color:var(--teal); border:1px solid rgba(45,212,191,.2);  }
.sb-grey    { background:rgba(255,255,255,.05);color:var(--t3); border:1px solid var(--border);   }

/* ── EXEC ACTION PANEL ── */
.exec-action-panel { background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:12px; padding:18px; margin-top:16px; }
.exec-action-title { font-family:var(--mono); font-size: 11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:14px; display:flex; align-items:center; gap:7px; }
.exec-action-btn-row { display:flex; gap:8px; flex-wrap:wrap; }

/* ── TABLES ── */
.exec-table-wrap { overflow-x:auto; border-radius:12px; border:1px solid var(--border); }
.exec-table { width:100%; border-collapse:collapse; font-size:13px; }
.exec-table thead tr { background:rgba(255,255,255,.04); border-bottom:1px solid var(--border); }
.exec-table th { padding:12px 16px; text-align:left; font-size: 11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--t3); font-family:var(--mono); white-space:nowrap; }
.exec-table td { padding:12px 16px; border-bottom:1px solid rgba(255,255,255,.04); color:var(--t2); }
.exec-table tbody tr { cursor:pointer; transition:background .15s; }
.exec-table tbody tr:hover { background:rgba(212,175,55,.04); }
.exec-table tbody tr.unread td:first-child::before { content:''; display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--gold); margin-right:8px; vertical-align:middle; box-shadow:0 0 6px rgba(212,175,55,.5); }

/* ── TOAST ── */
#exec-toast { position:fixed; bottom:28px; left:50%; transform:translateX(-50%) translateY(20px); background:rgba(20,30,16,0.97); border:1px solid var(--border); border-radius:12px; padding:12px 22px; font-size:13px; color:var(--t2); display:flex; align-items:center; gap:10px; z-index:9999; opacity:0; pointer-events:none; transition:opacity .3s, transform .3s; white-space:nowrap; max-width:90vw; box-shadow:0 8px 32px rgba(0,0,0,.5); }
#exec-toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
#exec-toast i { color:var(--green); font-size:14px; }
#exec-toast.err i { color:var(--red); }

/* ── TWO/THREE COL GRIDS ── */
.two-col   { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.three-col { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media(max-width:900px) { .three-col { grid-template-columns:1fr 1fr; } }
@media(max-width:640px) { .two-col, .three-col { grid-template-columns:1fr; } }

/* ── MISC ── */
.divider { height:1px; background:rgba(255,255,255,.06); margin:20px 0; }
.gold-text  { color:var(--gold); }
.green-text { color:var(--green); }
.red-text   { color:var(--red); }
.amber-text { color:var(--amber); }
.teal-text  { color:var(--teal); }
.mono       { font-family:var(--mono); }
.truncate   { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tag { display:inline-flex; align-items:center; gap:4px; padding:2px 9px; border-radius:6px; font-size: 11px; font-weight:700; letter-spacing:.5px; }

/* ── SCROLLBAR (main sections) ── */
.scroll-inner { overflow-y:auto; scrollbar-width:thin; scrollbar-color:rgba(212,175,55,.12) transparent; }
.scroll-inner::-webkit-scrollbar { width:4px; }
.scroll-inner::-webkit-scrollbar-thumb { background:rgba(212,175,55,.12); border-radius:2px; }

/* ── MOBILE ── */
@media(max-width:768px) {
  :root { --hdh:60px; --snav-h:46px; }
  #exec-header { padding:0 14px; gap:8px; }
  .hdr-brand-name { font-size:16px; letter-spacing:4px; }
  .hdr-brand-sub  { display:none; }
  .hdr-page-pill  { display:none; }
  .hdr-name       { display:none; }
  .hdr-clock      { display:none; }
  .kanban-col     { width:240px; }
  .drawer-body    { padding:14px; }
  .modal-box      { padding:20px 16px; border-radius:14px; }
  .exec-table th, .exec-table td { padding:9px 10px; font-size:11px; }
  .kpi-grid { grid-template-columns:repeat(2,1fr); gap:8px; }
  .kpi-lbl { font-size:9px; }
  .kpi-val { font-size:22px; }
  .sec-title { font-size:18px; }
  .sec-head { flex-direction:column; gap:10px; }
  .sec-actions { flex-wrap:wrap; gap:6px; }
  .gauge-svg { width:160px; height:96px; }
  #exec-snav-wrap { overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  #exec-snav-wrap::-webkit-scrollbar { display:none; }
  .glass { padding:14px; border-radius:12px; }
  .glass-title { font-size:9px; letter-spacing:2px; }
  .exec-table-wrap { border-radius:8px; }
  .btn { padding:7px 12px; font-size:11px; }
  .btn-lg { padding:10px 18px; font-size:12px; }
}
#maint-banner{display:none;position:fixed;top:0;left:0;right:0;height:36px;z-index:999998;background:linear-gradient(90deg,rgba(180,120,0,.97),rgba(220,160,0,.97));border-bottom:2px solid rgba(255,200,50,.5);align-items:center;justify-content:center;gap:12px;font-size: 11px;font-weight:900;letter-spacing:2px;color:#fff;text-transform:uppercase;-webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);}
#maint-banner.show{display:flex;animation:tmBIn .45s cubic-bezier(.16,1,.3,1) both;}
@keyframes tmBIn{from{transform:translateY(-100%);opacity:0;}to{transform:translateY(0);opacity:1;}}
.maint-toggle-btn{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.45);color:#fff;padding:4px 14px;border-radius:20px;cursor:pointer;font-size: 11px;font-weight:900;letter-spacing:1.5px;white-space:nowrap;transition:background .2s,transform .2s;}
.maint-toggle-btn:hover{background:rgba(255,255,255,.32);transform:scale(1.05);}
#maint-overlay{display:none;position:fixed;inset:0;z-index:999997;background:rgba(5,9,5,.96);align-items:center;justify-content:center;flex-direction:column;gap:16px;color:#fff;text-align:center;padding:32px;}
#maint-overlay.show{display:flex;}
#maint-overlay i{font-size:48px;color:var(--gold);margin-bottom:8px;}
#maint-overlay h2{font-family:var(--disp);font-size:28px;letter-spacing:4px;margin:0;}
#maint-overlay p{color:rgba(255,255,255,.6);font-size:13px;max-width:440px;line-height:1.7;}
/* ── EXEC LEAVE CALENDAR ── */
.lc-arrow{width:44px;height:44px;border-radius:8px;background:var(--panel2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--t2);transition:all .2s;padding:0;outline:none;appearance:none;-webkit-appearance:none;font-size:12px;}
.lc-arrow:hover{border-color:var(--gold);color:var(--gold);}
.lc-day.public-holiday{background:rgba(212,175,55,.07);border-color:rgba(212,175,55,.3);}
.lc-ph-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);}
.lc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.lc-dow{text-align:center;font-size: 11px;font-weight:800;letter-spacing:1.5px;color:var(--t3);text-transform:uppercase;padding:6px 0;}
.lc-day{min-height:54px;border-radius:8px;background:rgba(0,0,0,.18);border:1px solid var(--border);padding:6px;cursor:default;transition:border-color .2s,background .2s;position:relative;}
.lc-day.today{border-color:rgba(212,175,55,.5);background:rgba(212,175,55,.05);}
.lc-day.empty{background:transparent;border-color:transparent;}
.lc-day.has-leave{cursor:pointer;}
.lc-day.has-leave:hover{border-color:rgba(67,177,75,.7)!important;}
.lc-dn{font-size:11px;font-weight:700;color:var(--t2);}
.lc-dots{display:flex;gap:2px;flex-wrap:wrap;margin-top:3px;}
.lc-dot{width:5px;height:5px;border-radius:50%;background:var(--green);}
.lc-count{font-size: 11px;font-weight:800;color:var(--green);margin-top:2px;}
.lc-today-panel{padding:12px 16px;background:rgba(67,177,75,.08);border:1px solid rgba(67,177,75,.25);border-radius:12px;}
.lc-today-panel-title{font-size: 11px;font-weight:800;letter-spacing:1.5px;color:var(--green);text-transform:uppercase;margin-bottom:8px;}
.lc-staff-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04);}
.lc-staff-row:last-child{border-bottom:none;}
.lc-av{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.lc-av-ini{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-size: 11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.exec-lc-dept-pill{padding:5px 12px;border-radius:20px;border:1px solid var(--border);background:var(--panel2);color:var(--t2);font-size:11px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;}
.exec-lc-dept-pill.active{background:rgba(212,175,55,.15);border-color:rgba(212,175,55,.5);color:var(--gold);}
.exec-lc-stat{background:rgba(0,0,0,.2);border:1px solid var(--border);border-radius:12px;padding:12px 14px;}
.exec-lc-stat-val{font-size:22px;font-weight:800;color:var(--gold);font-family:var(--disp);}
.exec-lc-stat-lbl{font-size: 11px;font-weight:600;letter-spacing:.8px;color:var(--t3);text-transform:uppercase;margin-top:2px;}
/* ── ITR CARDS — premium animated ── */
@keyframes itr-card-in{from{opacity:0;transform:translateY(16px) scale(.97);}to{opacity:1;transform:translateY(0) scale(1);}}
.itr-card{animation:glassIn .65s cubic-bezier(.16,1,.3,1) both;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;position:relative;transition:border-color .25s,box-shadow .25s,transform .2s;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 32px rgba(0,0,0,.3);}
.itr-card:hover{border-color:rgba(212,175,55,.4);box-shadow:0 10px 36px rgba(0,0,0,.4);transform:translateY(-2px);}
.itr-card-accent{position:absolute;top:0;left:0;bottom:0;width:4px;}
.itr-card-hdr{padding:16px 18px 12px;display:flex;align-items:flex-start;gap:13px;}
.itr-card-av{width:58px;height:58px;border-radius:50%;background:var(--gdim);border:2px solid rgba(212,175,55,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.itr-card-av img{width:100%;height:100%;object-fit:cover;}
.itr-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;padding:0 18px 12px;}
.itr-ig{display:flex;flex-direction:column;gap:2px;}
.itr-il{font-size: 11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--t4);}
.itr-iv{font-size:11px;color:var(--t2);word-break:break-word;line-height:1.4;}
.itr-iv.mono{font-family:var(--mono);font-size: 11px;color:var(--gold);}
.itr-card-prog{padding:0 18px 12px;}
.itr-card-act{padding:12px 18px;border-top:1px solid var(--border);}
/* ── LC popup — premium person cards ── */
.lc-pp{display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(255,255,255,.04);border-radius:10px;margin-bottom:7px;border:1px solid rgba(255,255,255,.07);transition:background .15s;}
.lc-pp:hover{background:rgba(255,255,255,.07);}
.lc-pp:last-child{margin-bottom:0;}
.lc-pp-av{width:42px;height:42px;border-radius:50%;background:var(--gdim);border:2px solid rgba(212,175,55,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.lc-pp-av img{width:100%;height:100%;object-fit:cover;}
.lc-pp-ini{font-size:14px;font-weight:700;color:var(--gold);font-family:var(--mono);}
.lc-type-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size: 11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;background:rgba(147,112,219,.18);color:#9370DB;border:1px solid rgba(147,112,219,.28);}
.lc-dept-hdr{font-size: 11px;font-weight:800;letter-spacing:1.5px;color:var(--t3);text-transform:uppercase;padding:10px 0 6px;border-top:1px solid rgba(255,255,255,.05);margin-top:8px;}
.lc-dept-hdr:first-of-type{border-top:none;margin-top:0;padding-top:4px;}
/* ── SYSTEM NOTIFICATION BELL ── */
.sys-notif-wrap{position:relative;display:inline-flex;align-items:center;}.sys-notif-btn{width:36px;height:36px;border-radius:50%;background:transparent;border:1px solid var(--border,rgba(255,255,255,.22));display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--t2,rgba(244,249,240,.95));font-size:15px;position:relative;transition:all .2s;}.sys-notif-btn:hover{background:var(--bdim);border-color:rgba(96,165,250,.4);color:var(--blue);}.sys-notif-btn.has-alerts{color:var(--gold);animation:sysNBShake 2s cubic-bezier(.16,1,.3,1) infinite;}@keyframes sysNBShake{0%,100%{transform:rotate(0);}10%{transform:rotate(-14deg);}20%{transform:rotate(14deg);}30%{transform:rotate(-10deg);}40%{transform:rotate(10deg);}50%{transform:rotate(0);}}.sys-notif-count{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;border-radius:9px;background:var(--red);color:#fff;font-size: 11px;font-weight:900;display:flex;align-items:center;justify-content:center;padding:0 3px;border:2px solid var(--void);pointer-events:none;line-height:1;}.sys-notif-panel{position:absolute;top:calc(100% + 10px);right:0;width:310px;background:var(--deep);border:1px solid rgba(255,255,255,.22);border-radius:14px;box-shadow:0 18px 48px rgba(0,0,0,.55);z-index:9999;display:none;overflow:hidden;}.sys-notif-panel.open{display:block;animation:snpIn .2s cubic-bezier(.16,1,.3,1) both;}@keyframes snpIn{from{opacity:0;transform:translateY(-8px) scale(.97);}to{opacity:1;transform:none;}}.snp-hdr{padding:12px 14px 8px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);}.snp-hdr-title{font-size: 11px;font-weight:900;letter-spacing:1.5px;color:rgba(244,249,240,.7);text-transform:uppercase;}.snp-mark-btn{background:none;border:none;color:rgba(244,249,240,.7);font-size: 11px;cursor:pointer;font-weight:700;padding:2px 7px;border-radius:4px;}.snp-mark-btn:hover{background:rgba(255,255,255,.1);color:#fff;}.snp-body{max-height:360px;overflow-y:auto;}.sn-item{display:flex;align-items:flex-start;gap:9px;padding:9px 14px;cursor:pointer;transition:background .15s;border-left:3px solid transparent;}.sn-item:hover{background:rgba(255,255,255,.06);}.sn-item.sn-unread{background:rgba(255,255,255,.03);}.sn-item.sn-read{opacity:.46;transition:opacity .2s;}.sn-item.sn-read:hover{opacity:.78;}.sn-read-mark{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.2);flex-shrink:0;align-self:center;margin-left:auto;}.snp-empty{padding:26px 14px;text-align:center;color:rgba(244,249,240,.6);font-size:12px;}.sn-unread-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);flex-shrink:0;align-self:center;margin-left:auto;}

@keyframes obActionPulse{0%,100%{box-shadow:0 0 0 1px rgba(240,200,50,.25),0 4px 20px rgba(240,200,50,.15);}50%{box-shadow:0 0 0 4px rgba(240,200,50,.35),0 4px 28px rgba(240,200,50,.3);}}

/* ── EXEC BOARD — extra mobile fixes ── */
@media(max-width:540px){
  #exec-header{padding:0 12px;gap:8px;}
  .hdr-brand-sub,.exec-page-sub{display:none;}
  .modal-box{max-width:calc(100vw - 20px)!important;padding:20px 14px!important;border-radius:14px;}
  .two-col,.phase-grid{grid-template-columns:1fr!important;}
  .kanban-col{min-width:0;width:100%;}
  .kanban-board{grid-template-columns:1fr!important;}
  .drawer-panel{max-height:82vh;overflow-y:auto;}
  .phase-node{min-height:44px;}
}
@media(max-width:400px){
  #exec-header{padding:0 10px;gap:5px;}
  #hdr-back-btn{padding:6px 8px;font-size:10px;}
  #hdr-back-btn span{display:none;}
  .exec-kpi-strip{flex-wrap:wrap;gap:8px;}
  .exec-kpi-pill{flex:1 1 calc(50% - 4px);}
  .kanban-card{padding:10px 12px;}
}
/* ── Touch targets + table scroll ── */
@media(max-width:640px){
  .btn,.btn-green,.btn-gold,.btn-red,.btn-outline{min-height:44px;}
  .rota-scroll,.table-scroll,.dtbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
}

/* ── Governance Availability — exec-board (inline editor) ── */
#gov-av-grid{display:flex;flex-direction:column;gap:14px;max-width:860px;}
.gav-card{display:flex;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.06);animation:glassIn .65s cubic-bezier(.16,1,.3,1) both;transition:border-color .2s;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 32px rgba(0,0,0,.3);}
.gav-card:hover{border-color:rgba(255,255,255,.22);}
.gav-stripe{width:5px;flex-shrink:0;}
.gav-available .gav-stripe{background:var(--green);}
.gav-on-leave  .gav-stripe{background:var(--gold);}
.gav-unavailable .gav-stripe{background:var(--red);}
.gav-card-body{flex:1;min-width:0;}
.gav-card-top{display:flex;align-items:center;gap:18px;padding:20px 22px;}
.gav-av{width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:2px solid rgba(212,175,55,.3);background:var(--gdim);font-size:18px;font-weight:700;color:var(--gold);font-family:var(--mono);}
.gav-meta{flex:1;min-width:0;}
.gav-name{font-size:15px;font-weight:700;color:var(--text);line-height:1.2;}
.gav-role{font-size: 11px;font-weight:800;letter-spacing:1.5px;color:var(--t3);text-transform:uppercase;margin-top:3px;}
.gav-status-col{text-align:right;flex-shrink:0;}
.gav-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:20px;font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;}
.gav-badge-available{background:rgba(67,177,75,.12);color:var(--green);border:1px solid rgba(67,177,75,.3);}
.gav-badge-on-leave{background:rgba(212,175,55,.12);color:var(--gold);border:1px solid rgba(212,175,55,.3);}
.gav-badge-unavailable{background:rgba(255,72,72,.12);color:var(--red);border:1px solid rgba(255,72,72,.3);}
.gav-period{font-size:11px;color:var(--t4);margin-top:5px;display:flex;align-items:center;gap:4px;justify-content:flex-end;}
.gav-arrow{color:var(--t4);font-size: 11px;}
.gav-note-disp{font-size:11px;color:var(--t3);font-style:italic;margin-top:4px;max-width:240px;text-align:right;}
/* Inline editor — own card only */
.gav-editor{border-top:1px solid var(--border);padding:18px 22px;background:rgba(0,0,0,.18);}
.gav-editor-hdr{font-size: 11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--t3);margin-bottom:14px;display:flex;align-items:center;gap:7px;}
.gav-selector{display:flex;gap:10px;margin-bottom:16px;}
.gav-sel-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 8px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--t3);font-size:11px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);min-height:44px;}
.gav-sel-btn:hover{background:rgba(255,255,255,.06);color:var(--t2);}
.gav-sel-btn.active{border-color:rgba(240,200,50,.5);background:rgba(240,200,50,.1);color:var(--gold);}
.gav-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
.gav-field-group{display:flex;flex-direction:column;gap:5px;}
.gav-field-lbl{font-size: 11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--t4);}
.gav-save-row{display:flex;align-items:center;gap:14px;}
.gav-save-btn{min-height:40px;padding:0 22px;font-size:12px;}
.gav-save-hint{font-size:11px;color:var(--t4);}
.gav-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px;color:var(--t4);font-size:13px;}
@media(max-width:640px){
  .gav-card-top{flex-wrap:wrap;gap:14px;}
  .gav-status-col{text-align:left;width:100%;}
  .gav-period,.gav-note-disp{justify-content:flex-start;text-align:left;}
  .gav-fields{grid-template-columns:1fr;}
}
@media(max-width:400px){.gav-selector{flex-direction:column;}.gav-sel-btn{justify-content:flex-start;padding:10px 14px;}}

/* ================================================================
   STAFF FEEDBACK SECTION
   ================================================================ */
.fb-filter-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;}
.fb-filter-btn{padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--t3);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1);min-height:32px;}
.fb-filter-btn:hover{background:var(--panel2);color:var(--text);}
.fb-filter-btn.active{background:var(--gdim);border-color:rgba(212,175,55,.4);color:var(--gold);}
@media(max-width:540px){.fb-filter-bar{gap:4px;}.fb-filter-btn{font-size:11px;padding:5px 10px;}}

/* ══════════════════════════════════════════════════════
   LIVE PRESENCE CARDS & DETAIL MODAL
   ══════════════════════════════════════════════════════ */
@keyframes cardSlideUp { from{opacity:0;transform:translateY(28px) scale(.96)} to{opacity:1;transform:translateY(0) scale(1)} }
@keyframes activeShiftGlow { 0%,100%{box-shadow:0 0 0 0 rgba(67,177,75,0),0 6px 24px rgba(0,0,0,.35)} 50%{box-shadow:0 0 0 5px rgba(67,177,75,.1),0 6px 24px rgba(0,0,0,.35)} }
@keyframes pipLivePulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.6);opacity:.5} }
@keyframes heartbeatLive {
  0%,100% { transform:scale(1);    box-shadow:0 0 0 0   rgba(67,177,75,.7); }
  14%     { transform:scale(1.3);  box-shadow:0 0 0 8px rgba(67,177,75,.3); }
  28%     { transform:scale(1.05); box-shadow:0 0 0 0   rgba(67,177,75,0);  }
  42%     { transform:scale(1.2);  box-shadow:0 0 0 5px rgba(67,177,75,.2); }
  56%,80% { transform:scale(1);    box-shadow:0 0 0 0   rgba(67,177,75,0);  }
}
@keyframes presModalBgIn  { from{opacity:0} to{opacity:1} }
@keyframes presModalBgOut { from{opacity:1} to{opacity:0} }
@keyframes presModalIn  { from{opacity:0;transform:scale(.88) translateY(32px)} to{opacity:1;transform:scale(1) translateY(0)} }
@keyframes presModalOut { from{opacity:1;transform:scale(1) translateY(0)} to{opacity:0;transform:scale(.88) translateY(32px)} }
.pres-card { position:relative;background:var(--panel);border:1px solid var(--border);border-radius:18px;overflow:hidden;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;animation:cardSlideUp .45s cubic-bezier(.16,1,.3,1) both; }
.pres-card:hover { transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.45); }
.pres-card--active { border-color:rgba(67,177,75,.3);animation:cardSlideUp .45s cubic-bezier(.16,1,.3,1) both,activeShiftGlow 3.5s cubic-bezier(.16,1,.3,1) 1s infinite; }
.pres-card--done   { border-color:rgba(212,175,55,.2); }
.pres-card--expected { border-color:rgba(239,68,68,.2); }
.pres-card__bar { height:3px; }
.pres-card--active   .pres-card__bar { background:linear-gradient(90deg,var(--green) 0%,rgba(67,177,75,0) 100%); }
.pres-card--done     .pres-card__bar { background:linear-gradient(90deg,rgba(212,175,55,.5) 0%,transparent 100%); }
.pres-card--expected .pres-card__bar { background:linear-gradient(90deg,rgba(255,72,72,.5) 0%,transparent 100%); }
.pres-card__body { padding:18px 20px 16px; }
.pres-card__head { display:flex;align-items:center;gap:14px;margin-bottom:16px; }
.pres-card__av { width:52px;height:52px;border-radius:50%;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;font-family:var(--mono);border:2px solid rgba(212,175,55,.25);background:rgba(212,175,55,.07);color:var(--gold); }
.pres-card--active .pres-card__av { border-color:rgba(67,177,75,.5);box-shadow:0 0 0 4px rgba(67,177,75,.1); }
.pres-card__info { flex:1;min-width:0; }
.pres-card__name { font-size:15px;font-weight:800;word-break:break-word;line-height:1.3;margin-bottom:2px; }
.pres-card__dept { font-size:11px;color:var(--t3);letter-spacing:.3px; }
.pres-card__badge { display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size: 11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;flex-shrink:0; }
.pres-card__badge--active { background:rgba(67,177,75,.12);color:var(--green);border:1px solid rgba(67,177,75,.3); }
.pres-card__badge--done   { background:rgba(255,255,255,.05);color:var(--t3);border:1px solid var(--border); }
.pres-card__pip { width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block; }
.pres-card--active .pres-card__pip { animation:pipLivePulse 1.8s cubic-bezier(.16,1,.3,1) infinite; }
.pres-card__stats { display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--border);margin:0 -20px -16px; }
.pres-card__stat { padding:12px 16px;text-align:center; }
.pres-card__stat + .pres-card__stat { border-left:1px solid var(--border); }
.pres-card__stat-val { font-size:13px;font-weight:700;font-family:var(--mono);color:var(--text);line-height:1.2; }
.pres-card__stat-lbl { font-size: 11px;color:var(--t3);letter-spacing:.5px;text-transform:uppercase;margin-top:2px; }
.pres-card--active .pres-card__stat-val.elapsed { color:var(--green); }
.pres-live-dot { width:12px;height:12px;border-radius:50%;background:var(--green);flex-shrink:0;animation:heartbeatLive 2s cubic-bezier(.16,1,.3,1) infinite; }
.pres-done-dot { width:12px;height:12px;border-radius:50%;background:rgba(212,175,55,.55);flex-shrink:0; }
.pres-away-dot { width:12px;height:12px;border-radius:50%;background:rgba(239,68,68,.7);flex-shrink:0; }
.pres-card__chip { font-size: 11px;font-family:var(--mono);padding:3px 9px;border-radius:6px;background:rgba(255,255,255,.05);color:var(--t2);border:1px solid var(--border);white-space:nowrap; }
.pres-card__meta { display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px; }
.pres-modal-wrap { position:fixed;inset:0;z-index:9100;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.65);backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%);animation:presModalBgIn .3s both; }
.pres-modal-wrap.pm-closing { animation:presModalBgOut .3s forwards; }
.pres-modal-box { background:rgba(6,10,6,.78);border:1px solid rgba(255,255,255,.08);border-radius:24px;width:min(560px,calc(100vw - 32px));max-height:86vh;overflow-y:auto;animation:presModalIn .42s cubic-bezier(.16,1,.3,1) both;scrollbar-width:thin;backdrop-filter:blur(32px) saturate(160%);-webkit-backdrop-filter:blur(32px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 32px 80px rgba(0,0,0,.7); }
.pres-modal-box.pm-closing { animation:presModalOut .28s cubic-bezier(.16,1,.3,1) forwards; }
.pres-modal-bar { height:4px; }
.pres-modal-header { display:flex;align-items:flex-start;gap:16px;padding:20px 24px 16px; }
.pres-modal-av { width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;font-family:var(--mono);flex-shrink:0;overflow:hidden;border:2px solid rgba(212,175,55,.3);background:rgba(212,175,55,.07);color:var(--gold); }
.pres-modal-av.pm-active { border-color:rgba(67,177,75,.5);box-shadow:0 0 0 6px rgba(67,177,75,.1); }
.pres-modal-meta { flex:1;min-width:0; }
.pres-modal-name { font-size:19px;font-weight:800;line-height:1.2;margin-bottom:4px; }
.pres-modal-dept { font-size:12px;color:var(--t3);letter-spacing:.3px;margin-bottom:8px; }
.pres-modal-close { width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--t2);font-size:16px;flex-shrink:0;transition:background .2s; }
.pres-modal-close:hover { background:rgba(255,255,255,.12); }
.pres-modal-grid { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-top:1px solid var(--border); }
.pres-modal-cell { background:var(--panel);padding:14px 20px; }
.pres-modal-cell-lbl { font-size: 11px;color:var(--t3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px; }
.pres-modal-cell-val { font-size:14px;font-weight:700;font-family:var(--mono);color:var(--text); }
.pres-modal-cell-val.pm-green { color:var(--green); }
.pres-modal-cell-val.pm-amber { color:var(--amber); }
.pres-modal-cell-val.pm-red   { color:var(--red); }
.pres-modal-footer { padding:14px 24px 20px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
@media(max-width:540px) { .pres-modal-grid{grid-template-columns:1fr;} .pres-modal-av{width:52px;height:52px;font-size:16px;} .pres-modal-name{font-size:16px;} }

/* ── Skeleton shimmer ── */
.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}}
/* ── Status pip ── */
.pip{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.pip-green{background:var(--green);box-shadow:0 0 6px rgba(76,214,87,.5);animation:blink 2s cubic-bezier(.16,1,.3,1) infinite;}
.pip-gold{background:var(--gold);box-shadow:0 0 6px rgba(212,175,55,.5);animation:blink 2s cubic-bezier(.16,1,.3,1) infinite;}
.pip-red{background:var(--red);box-shadow:0 0 6px rgba(255,72,72,.5);animation:blink 2s cubic-bezier(.16,1,.3,1) infinite;}
.pip-grey{background:rgba(255,255,255,.3);}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
/* ── Card/section entrance animations ── */
@keyframes wgIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@keyframes cvIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes scIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
/* ── Modal entrance ── */
@keyframes mIn{from{opacity:0;transform:translateY(22px) scale(.96);}to{opacity:1;transform:none;}}
/* ── Header: horizontally scrollable on mobile so back button always reachable ── */
@media(max-width:640px){
  #exec-header{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;}
  #exec-header::-webkit-scrollbar{display:none;}
  #exec-header .hdr-brand-wrap,#exec-header .hdr-brand-name,#exec-header .hdr-brand-sub,#exec-role-badge,.hdr-clock{flex-shrink:0;}
  #hdr-back-btn{flex-shrink:0;}
}

/* ── Touch target compliance (min 44px) ── */
.hdr-icon-btn{width:44px;height:44px;}
.snav-arrow{width:44px;height:44px;}
.snav-item{height:44px;}
@media(max-width:640px){.btn,.btn-green,.btn-gold,.btn-red,.btn-outline{min-height:44px;}.btn-sm{min-height:36px;}}
/* ── Missing 1100px breakpoint ── */
@media(max-width:1100px){
  .three-col{grid-template-columns:1fr 1fr;}
  .kanban-col{width:260px;}
}

/* ══════════════════════════════════════════════
   APPLE-STYLE ORG COMMAND OVERVIEW
   ══════════════════════════════════════════════ */

/* ── Header ── */
.cs-header {
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px 16px;border-bottom:1px solid var(--border);
  gap:16px;
}
.cs-header-left { display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0; }
.cs-live-pill {
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(76,214,87,.12);border:1px solid rgba(76,214,87,.28);
  border-radius:20px;padding:4px 10px;
  font-size: 11px;font-weight:800;letter-spacing:1.4px;color:var(--green);
  flex-shrink:0;
}
.cs-live-dot {
  width:6px;height:6px;border-radius:50%;background:var(--green);
  box-shadow:0 0 6px rgba(76,214,87,.7);
  animation:csBlink 1.8s cubic-bezier(.16,1,.3,1) infinite;
}
@keyframes csBlink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}
.cs-title { font-family:var(--disp);font-size:17px;font-weight:700;color:var(--text);letter-spacing:.3px; }
.cs-subtitle { font-size:11px;color:var(--t3);letter-spacing:.5px;text-transform:uppercase; }

/* ── Health Badge ── */
.cs-health-badge {
  display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;
}
.cs-health-ring {
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:72px;height:72px;border-radius:50%;
  border:2px solid var(--border);
  background:var(--panel);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  gap:1px;
}
.cs-health-num {
  font-family:var(--mono);font-size:22px;font-weight:700;color:var(--gold);line-height:1;
}
.cs-health-label {
  font-size: 11px;font-weight:800;letter-spacing:1px;color:var(--t3);text-transform:uppercase;
}
.cs-health-caption {
  font-size: 11px;color:var(--t4);letter-spacing:.5px;text-transform:uppercase;
}

/* ── Bento Grid ── */
.cs-bento {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  padding:16px 20px 20px;
}
.cs-tile {
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:14px 16px;
  display:flex;flex-direction:column;gap:4px;
  backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);
  animation:glassIn .65s cubic-bezier(.16,1,.3,1) both;
  transition:border-color .25s cubic-bezier(.16,1,.3,1),background .25s cubic-bezier(.16,1,.3,1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 32px rgba(0,0,0,.3);
}
.cs-tile:hover { background:var(--panel2);border-color:var(--bord2); }
.cs-tile-2 { grid-column:span 2; }
.cs-tile-3 { grid-column:span 3; }
@keyframes csIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}

/* Alert state for action-needed tiles */
.cs-tile.cs-alert {
  border-color:rgba(255,72,72,.35);
  background:rgba(255,72,72,.06);
}

/* ── Chip ── */
.cs-chip {
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:8px;font-size:12px;
  margin-bottom:4px;flex-shrink:0;
}
.cs-chip-gold   { background:var(--gdim);color:var(--gold); }
.cs-chip-green  { background:var(--gndim);color:var(--green); }
.cs-chip-amber  { background:var(--ambdim);color:var(--amber); }
.cs-chip-red    { background:var(--rdim);color:var(--red); }

/* ── Number ── */
.cs-num {
  font-family:var(--mono);font-size:28px;font-weight:700;
  color:var(--text);line-height:1;
}
.cs-num.gold   { color:var(--gold); }
.cs-num.green  { color:var(--green); }
.cs-num.amber  { color:var(--amber); }
.cs-num.red    { color:var(--red); }

/* ── Label / sub-text ── */
.cs-lbl { font-size:11px;font-weight:600;color:var(--t3);letter-spacing:.3px; }
.cs-ctx { font-size: 11px;color:var(--t4);margin-top:2px; }

/* ── Progress bar ── */
.cs-bar-wrap {
  height:4px;border-radius:2px;background:rgba(255,255,255,.08);
  overflow:hidden;margin-top:6px;
}
.cs-bar-fill {
  height:100%;border-radius:2px;
  transition:width .85s cubic-bezier(.16,1,.3,1);
}

/* ── Mobile ── */
@media(max-width:1100px){
  .cs-bento { grid-template-columns:repeat(3,1fr); }
  .cs-tile-3 { grid-column:span 3; }
  .cs-tile-2 { grid-column:span 2; }
}
@media(max-width:820px){
  .cs-bento { grid-template-columns:repeat(2,1fr); }
  .cs-tile-2 { grid-column:span 2; }
  .cs-tile-3 { grid-column:span 2; }
}
@media(max-width:640px){
  .cs-header { flex-direction:column;align-items:flex-start; }
  .cs-health-badge { flex-direction:row;align-items:center;gap:10px; }
  .cs-health-ring { width:54px;height:54px; }
  .cs-health-num { font-size:17px; }
  .cs-bento { grid-template-columns:1fr 1fr;gap:8px;padding:12px; }
  .cs-tile-2,.cs-tile-3 { grid-column:span 2; }
  .cs-num { font-size:22px; }
}
@media(max-width:400px){
  .cs-bento { grid-template-columns:1fr;gap:8px; }
  .cs-tile-2,.cs-tile-3 { grid-column:span 1; }
}

/* ═══════════════════════════════════════════════════
   DDCP — Disciplinary & Conduct Case Processing
   ═══════════════════════════════════════════════════ */
@keyframes ddcpPulse{0%,100%{box-shadow:0 0 0 4px rgba(240,200,50,.12),0 0 12px rgba(240,200,50,.25);}50%{box-shadow:0 0 0 7px rgba(240,200,50,.05),0 0 20px rgba(240,200,50,.4);}}
@keyframes ddcpPulse2{0%,100%{box-shadow:0 0 0 4px rgba(255,112,67,.12),0 0 12px rgba(255,112,67,.25);}50%{box-shadow:0 0 0 7px rgba(255,112,67,.05),0 0 20px rgba(255,112,67,.4);}}
@keyframes ddcpPulse3{0%,100%{box-shadow:0 0 0 4px rgba(255,72,72,.12),0 0 12px rgba(255,72,72,.25);}50%{box-shadow:0 0 0 7px rgba(255,72,72,.05),0 0 20px rgba(255,72,72,.4);}}
@keyframes ddcpPulseGm{0%,100%{box-shadow:0 0 0 4px rgba(160,50,240,.12),0 0 12px rgba(160,50,240,.25);}50%{box-shadow:0 0 0 7px rgba(160,50,240,.05),0 0 20px rgba(160,50,240,.4);}}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.35;}}
.ddcp-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:20px;}
.ddcp-kpi-card{padding:14px 12px;border-radius:14px;text-align:center;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1);cursor:default;animation:wgIn .45s cubic-bezier(.16,1,.3,1) both;}
.ddcp-kpi-card:hover{transform:translateY(-3px);}
.ddcp-case-row{transition:background .2s,border-color .2s,transform .2s;}
.ddcp-case-row:hover{transform:translateX(3px);}
.ddcp-stage-badge{letter-spacing:0;}
.ddcp-rail{scrollbar-width:thin;-webkit-overflow-scrolling:touch;overflow-x:auto;}
.ddcp-rail::-webkit-scrollbar{height:3px;}
.ddcp-rail::-webkit-scrollbar-thumb{background:rgba(212,175,55,.2);border-radius:2px;}
.ddcp-filter-strip{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;align-items:center;}
.ddcp-chip{padding:6px 14px;border-radius:20px;font-size:11px;font-weight:700;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:rgba(244,249,240,.6);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);letter-spacing:.3px;font-family:"DM Sans",sans-serif;}
.ddcp-chip:hover,.ddcp-chip.active{background:rgba(240,200,50,.12);border-color:rgba(240,200,50,.4);color:var(--gold);}
.ddcp-chip.red.active{background:rgba(255,72,72,.12);border-color:rgba(255,72,72,.4);color:var(--red);}
.ddcp-outcome-opt:hover{border-color:rgba(255,255,255,.25) !important;background:rgba(255,255,255,.06) !important;}
.ddcp-sec-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px;}
@media(max-width:900px){.ddcp-kpi-row{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.ddcp-kpi-row{grid-template-columns:repeat(2,1fr);}.ddcp-kpi-card{padding:10px 8px;}.ddcp-case-row{flex-wrap:wrap;}.ddcp-chip{padding:5px 10px;font-size: 11px;}}
@media(max-width:400px){.ddcp-kpi-row{grid-template-columns:1fr 1fr;}}

/* ── HR CASES & ENGINE ALERTS — shared form + card styles ── */
.btn-xs{padding:5px 11px;font-size: 11px;border-radius:6px;letter-spacing:1px;}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;}
.gi{width:100%;background:rgba(0,0,0,.32);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:11px 13px;font-size:14px;outline:none;font-family:var(--body);transition:border-color .25s,box-shadow .25s;margin-bottom:12px;}
.gi:focus{border-color:rgba(212,175,55,.4);box-shadow:0 0 0 3px rgba(212,175,55,.08);}
.gi-ta{min-height:80px;resize:vertical;}
.gi-label{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--t3);text-transform:uppercase;margin-bottom:6px;display:block;}
.kpi-pill{flex:1;min-width:140px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px 18px;transition:all .35s cubic-bezier(.16,1,.3,1);cursor:default;}
.kpi-pill:hover{border-color:rgba(212,175,55,.25);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.25);}
.kpi-icon{font-size:16px;margin-bottom:8px;}
.kpi-label{font-size: 11px;font-weight:800;letter-spacing:1.5px;color:var(--t3);text-transform:uppercase;margin-bottom:6px;}
.case-cards{display:flex;flex-direction:column;gap:12px;}
.case-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px 20px;display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;animation:wgIn .4s cubic-bezier(.16,1,.3,1) both;transition:border-color .3s;}
.case-card:hover{border-color:rgba(255,255,255,.3);}
.case-type-badge{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.ctb-grievance{background:rgba(245,158,11,.12);color:#f59e0b;}
.ctb-disciplinary{background:rgba(255,72,72,.1);color:var(--red);}
.ctb-investigation{background:var(--idim);color:var(--indigo);}
.ctb-complaint{background:var(--gdim);color:var(--gold);}
.ctb-other{background:var(--panel2);color:var(--t3);}
.case-info{flex:1;min-width:200px;}
.case-name{font-size:15px;font-weight:700;color:var(--text);margin-bottom:3px;}
.case-summary{font-size:12px;color:var(--t3);line-height:1.5;margin-bottom:8px;}
.case-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--t3);}
.case-meta strong{color:var(--t2);}
.case-priority{display:inline-flex;align-items:center;gap:4px;font-size: 11px;font-weight:800;padding:3px 9px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px;}
.cp-high{background:rgba(255,72,72,.1);color:var(--red);border:1px solid rgba(232,64,64,.25);}
.cp-medium{background:rgba(245,158,11,.1);color:#f59e0b;border:1px solid rgba(245,158,11,.25);}
.cp-low{background:var(--panel2);color:var(--t3);border:1px solid var(--border);}
.case-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start;}
.case-status-badge{display:inline-flex;align-items:center;gap:5px;font-size: 11px;font-weight:800;padding:3px 9px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px;}
.csb-open{background:rgba(245,158,11,.1);color:#f59e0b;border:1px solid rgba(245,158,11,.25);}
.csb-inprogress{background:var(--idim);color:var(--indigo);border:1px solid var(--iglow);}
.csb-resolved{background:rgba(76,214,87,.1);color:var(--green);border:1px solid rgba(67,177,75,.25);}
.csb-closed{background:var(--panel2);color:var(--t3);border:1px solid var(--border);}
.case-card-closed{opacity:.75;border-style:dashed;}
.case-card-closed:hover{opacity:1;}
.case-stage-notes{margin-top:10px;background:var(--panel2);border-radius:10px;padding:10px 12px;border:1px solid var(--border);}
.case-stage-notes-title{font-size: 11px;font-weight:700;letter-spacing:1px;color:var(--t3);text-transform:uppercase;margin-bottom:8px;}
.case-stage-note-item{padding:6px 0;border-bottom:1px solid var(--border);font-size:12px;}
.case-stage-note-item:last-child{border-bottom:none;padding-bottom:0;}
.case-note-author{font-weight:700;color:var(--t2);}
.case-note-date{font-size: 11px;color:var(--t3);margin-left:6px;}
.case-note-text{color:var(--t2);margin-top:3px;line-height:1.5;}
.case-resolution-note{margin-top:10px;padding:8px 12px;background:rgba(76,214,87,.08);border:1px solid rgba(76,214,87,.2);border-radius:8px;font-size:12px;color:var(--t2);line-height:1.5;}
@media(max-width:640px){.modal-actions{flex-direction:column;}.modal-actions .btn{width:100%;justify-content:center;}.kpi-pill{min-width:120px;}.case-card{padding:14px;}.case-type-badge{width:38px;height:38px;font-size:15px;}}


/* ── Clock-in notification toast ── */
@keyframes ciSlideUp { from{transform:translateY(100%);opacity:0} to{transform:translateY(0);opacity:1} }
@keyframes ciSlideDown { from{transform:translateY(0);opacity:1} to{transform:translateY(120%);opacity:0} }
.clockin-notif{display:flex;align-items:center;gap:10px;padding:10px 14px;min-width:260px;max-width:340px;background:rgba(26,40,23,.92);border:1px solid rgba(76,214,87,.35);border-left:3px solid var(--green);border-radius:12px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:auto;box-shadow:0 8px 32px rgba(0,0,0,.5);opacity:0;}
.clockin-notif.active{animation:ciSlideUp .45s cubic-bezier(.16,1,.3,1) both;}
.clockin-notif.exit{animation:ciSlideDown .3s ease-in both;}
.cn-av{width:34px;height:34px;border-radius:50%;background:var(--lift);border:1px solid var(--border);font-size:12px;font-weight:700;color:var(--gold);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;}
.cn-av img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.cn-body{flex:1;min-width:0;}
.cn-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cn-meta{font-size:11px;color:var(--t3);margin-top:2px;}
.cn-meta span{color:var(--green);font-weight:600;}
.cn-time{font-size:10px;color:var(--t3);font-family:var(--mono);flex-shrink:0;}
.cn-pip{width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0;animation:blink 1.4s ease-in-out infinite;}

.ddcp-row-hoverable:hover{background:rgba(255,255,255,.14)!important;}

/* ── Full Applicant Pipeline accordion (2026-05-26) ─────────────────────────
   Group bars collapse stages by default so the exec doesn't scroll for ever.
   "At Exec Desk" is pinned-open at the top. The rest are click-to-expand. */
.exec-pipeline-group{padding:0;overflow:hidden;animation:cvIn .4s cubic-bezier(.16,1,.3,1) both;}
.exec-pipeline-group-bar{user-select:none;transition:background .2s, transform .2s;border-bottom:1px solid transparent;}
.exec-pipeline-group-bar:hover{background:rgba(255,255,255,.05);}
.exec-pipeline-group-bar:active{transform:scale(.998);}
.exec-pipeline-group-bar:focus-visible{outline:2px solid var(--gold);outline-offset:-2px;}
.exec-pipeline-group-bar-pinned{cursor:default;background:rgba(240,200,50,.06);border-bottom:1px solid rgba(240,200,50,.18);}
.exec-pipeline-group-bar-pinned:hover{background:rgba(240,200,50,.06);}
.exec-pipeline-pill{display:inline-flex;align-items:center;font-size:10px;font-weight:800;letter-spacing:.6px;padding:3px 9px;border-radius:10px;text-transform:uppercase;}
.exec-pipeline-group-body{animation:cvIn .35s cubic-bezier(.16,1,.3,1) both;}
@media(max-width:540px){
  .exec-pipeline-group-bar{padding:8px 10px!important;gap:8px!important;}
  .exec-pipeline-group-body{padding:6px 8px 10px!important;}
}


/* Pagination control (10 per page) for exec-board long lists */
.eb-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:14px 0 4px;flex-wrap:wrap;}
.eb-pager .btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none;}
.eb-pager-info{font-size:12px;font-weight:600;color:var(--t3,rgba(242,247,238,.62));letter-spacing:.3px;white-space:nowrap;}

/* ═══════════════════════════════════════════════════════════════════════
   Engagement Contract Requests — enterprise cards + At-Exec-Desk block
   (2026-06-06). Page-specific component styling; mobile + animation inline
   here because these classes are unique to this section.
   ═══════════════════════════════════════════════════════════════════════ */
#contract-requests-list{display:flex;flex-direction:column;gap:14px;}
@keyframes ecrIn{from{opacity:0;transform:translateY(18px) scale(.985);}to{opacity:1;transform:none;}}
.ecr-card{
  position:relative;
  background:linear-gradient(180deg,rgba(240,200,50,.05),var(--panel,rgba(255,255,255,.11)));
  border:1px solid var(--border,rgba(255,255,255,.13));
  border-left:3px solid var(--gold,#f0c832);
  border-radius:16px;padding:18px 20px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 6px 22px rgba(0,0,0,.22);
  opacity:0;animation:ecrIn .5s cubic-bezier(.16,1,.3,1) forwards;
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),border-color .35s;
}
.ecr-card:hover{transform:translateY(-3px);box-shadow:0 12px 34px rgba(0,0,0,.32);border-color:rgba(240,200,50,.4);}
.ecr-card:nth-child(1){animation-delay:.04s}.ecr-card:nth-child(2){animation-delay:.10s}
.ecr-card:nth-child(3){animation-delay:.16s}.ecr-card:nth-child(4){animation-delay:.22s}
.ecr-card:nth-child(5){animation-delay:.28s}.ecr-card:nth-child(n+6){animation-delay:.32s}

.ecr-head{display:flex;align-items:center;gap:13px;margin-bottom:14px;}
.ecr-av{width:46px;height:46px;border-radius:50%;flex-shrink:0;overflow:hidden;display:flex;
  align-items:center;justify-content:center;background:rgba(240,200,50,.12);
  border:2px solid rgba(240,200,50,.35);font-family:var(--mono,monospace);font-weight:700;
  font-size:16px;color:var(--gold,#f0c832);}
.ecr-av img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.ecr-id{min-width:0;flex:1;}
.ecr-name{font-size:15px;font-weight:700;color:var(--text,#f2f7ee);line-height:1.25;word-break:break-word;}
.ecr-sub{font-size:11.5px;color:var(--t3,rgba(242,247,238,.62));margin-top:2px;word-break:break-word;}
.ecr-pill{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;background:rgba(245,158,11,.15);
  color:var(--amber,#f59e0b);font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;
  padding:4px 10px;border-radius:20px;border:1px solid rgba(245,158,11,.3);white-space:nowrap;}
.ecr-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--amber,#f59e0b);
  animation:lockout-pulse 1.6s ease-in-out infinite;}

.ecr-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-bottom:14px;}
.ecr-meta-item{min-width:0;}
.ecr-meta-item.ecr-wide{grid-column:1 / -1;}
.ecr-meta-label{display:block;font-size:9px;font-weight:800;letter-spacing:1px;
  color:var(--t3,rgba(242,247,238,.62));text-transform:uppercase;margin-bottom:3px;}
.ecr-meta-val{font-size:12.5px;color:var(--t2,rgba(242,247,238,.88));word-break:break-word;line-height:1.4;}
.ecr-meta-val.mono{font-family:var(--mono,monospace);color:var(--gold2,#f7d94e);letter-spacing:.3px;}
.ecr-meta-val.ecr-na{opacity:.5;font-style:italic;}

.ecr-desk{background:rgba(212,175,55,.06);border:1px solid rgba(212,175,55,.16);
  border-radius:12px;padding:13px 14px;margin-bottom:14px;}
.ecr-desk-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap;}
.ecr-desk-title{display:flex;align-items:center;gap:6px;color:var(--gold,#f0c832);font-size:10.5px;
  font-weight:800;letter-spacing:1px;text-transform:uppercase;}
.ecr-desk-count{font-size:10px;font-weight:700;color:var(--t3,rgba(242,247,238,.62));white-space:nowrap;}
.ecr-refs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.ecr-ref{background:var(--panel2,rgba(255,255,255,.18));border-radius:9px;padding:8px 9px;
  border-left:3px solid var(--t3,rgba(242,247,238,.62));min-width:0;}
.ecr-ref.verified{border-left-color:var(--green,#4cd657);}
.ecr-ref.unsat{border-left-color:var(--red,#ff4848);}
.ecr-ref.pending{border-left-color:var(--amber,#f59e0b);}
.ecr-ref-status{font-size:8.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;margin-bottom:3px;}
.ecr-ref.verified .ecr-ref-status{color:var(--green,#4cd657);}
.ecr-ref.unsat .ecr-ref-status{color:var(--red,#ff4848);}
.ecr-ref.pending .ecr-ref-status{color:var(--amber,#f59e0b);}
.ecr-ref-name{font-size:10.5px;color:var(--t2,rgba(242,247,238,.88));line-height:1.3;word-break:break-word;}

.ecr-actions{display:flex;gap:9px;}

@media(max-width:640px){
  .ecr-card{padding:15px 16px;border-radius:14px;}
  .ecr-head{flex-wrap:wrap;}
  .ecr-pill{margin-left:auto;}
  .ecr-meta{grid-template-columns:1fr;gap:9px;}
  .ecr-refs{grid-template-columns:1fr;}
  .ecr-actions{flex-direction:column;}
  .ecr-actions .btn{width:100%;justify-content:center;min-height:44px;}
}

/* ── Premium pass (2026-06-08) — appended last; CSS-only, no logic touched ── */
.glass,.kpi-card,.itr-card,.gav-card,.pres-card,.case-card,.kpi-pill,.ddcp-kpi-card,.ecr-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,.kpi-card:hover,.itr-card:hover,.pres-card:hover,.case-card:hover,.kpi-pill:hover,.ddcp-kpi-card:hover,.ecr-card:hover{transform:translateY(-3px);border-color:var(--gglow) !important;box-shadow:0 18px 44px -12px rgba(0,0,0,.5) !important;}
.exec-table th{color:var(--gold) !important;}
.exec-table tbody tr:hover{background:rgba(212,175,55,.06) !important;}

