/* =====================================================================
   SSM Cyber theme. A presentation layer only: every rule is scoped to
   body.theme-cyber, so switching back to Light changes nothing else.
   Accent = cyan (actions, focus, active). Semantic colours keep their
   meaning: green done/working, amber review/late, blue in progress,
   red blocked/absent, violet leave.
   ===================================================================== */
body.theme-cyber{
  --bg:#060A13; --panel:#0C1220; --panel2:#111A2C; --line:rgba(125,165,255,.12); --line2:rgba(125,165,255,.24);
  --text:#E6EDF9; --muted:#8E9BB6; --dim:#5E6C89;
  --acc:#22D3EE; --acc-2:#3B82F6; --acc-3:#8B5CF6; --acc-soft:rgba(34,211,238,.12); --acc-line:rgba(34,211,238,.42);
  --red:#FF5C7A; --red-d:#FF8098; --red-soft:rgba(255,92,122,.13);
  --green:#34D399; --green-soft:rgba(52,211,153,.12); --amber:#FBBF24; --amber-soft:rgba(251,191,36,.12);
  --blue:#60A5FA; --blue-soft:rgba(96,165,250,.13); --plum:#A78BFA; --plum-soft:rgba(167,139,250,.14); --grey-soft:rgba(142,155,182,.12);
  --display:"Space Grotesk","Inter",system-ui,sans-serif; --mono:"JetBrains Mono","SFMono-Regular",Consolas,monospace;
  --glass:rgba(10,16,30,.72); --shadow:0 18px 40px -24px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.035);
  --glow:0 0 0 1px var(--acc-line),0 10px 32px -10px rgba(34,211,238,.45);
  --chart-1:#22D3EE;--chart-2:#8B5CF6;--chart-3:#34D399;--chart-4:#3B82F6;--chart-5:#F472B6;--chart-6:#FBBF24;--chart-7:#2DD4BF;--chart-8:#FB923C;
  --chart-other:#34405A;--chart-text:#8E9BB6;--chart-strong:#E6EDF9;--chart-grid:rgba(125,165,255,.08);--chart-surface:#0C1220;--chart-empty:#18223A;
  --tip-bg:#0B1222;--tip-text:#E6EDF9;--tip-border:rgba(34,211,238,.35);--chart-line:#22D3EE;--chart-line-fill:rgba(34,211,238,.25);--chart-bar-a:rgba(139,92,246,.45);--chart-bar-b:#22D3EE;
  background:var(--bg); color:var(--text); color-scheme:dark;
}
/* ambient background: two soft glows and a faint grid, fixed so it costs nothing on scroll */
body.theme-cyber::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(900px 520px at 85% -10%,rgba(34,211,238,.10),transparent 60%),
    radial-gradient(800px 600px at -10% 110%,rgba(139,92,246,.10),transparent 60%),
    linear-gradient(rgba(125,165,255,.035) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(90deg,rgba(125,165,255,.035) 1px,transparent 1px) 0 0/44px 44px,
    var(--bg)}
body.theme-cyber{background:transparent}
html:has(body.theme-cyber){background:#060A13}
body.theme-cyber ::selection{background:rgba(34,211,238,.3);color:#fff}
body.theme-cyber a{color:var(--acc)}
body.theme-cyber a:hover{color:#67E8F9}
body.theme-cyber :focus-visible{outline:2px solid var(--acc);outline-offset:2px}
body.theme-cyber h1,body.theme-cyber h2,body.theme-cyber h3{font-family:var(--display);letter-spacing:-.015em}
body.theme-cyber h1{font-weight:700;background:linear-gradient(90deg,#F3F7FF 30%,#9FE9F7);-webkit-background-clip:text;background-clip:text;color:transparent}
body.theme-cyber *{scrollbar-color:#24304A transparent}

/* ---------- shell: glass sidebar and top bar ---------- */
body.theme-cyber .side{background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--line)}
body.theme-cyber .mark{background:linear-gradient(135deg,var(--acc),var(--acc-3));color:#04121A;box-shadow:0 0 22px -4px rgba(34,211,238,.55)}
body.theme-cyber .brand b{font-family:var(--display)}
body.theme-cyber .nav-h{color:var(--dim);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:600}
body.theme-cyber .side nav a{color:var(--muted);transition:background .15s,color .15s}
body.theme-cyber .side nav a:hover{background:rgba(125,165,255,.06);color:var(--text)}
body.theme-cyber .side nav a.on{background:linear-gradient(90deg,rgba(34,211,238,.16),rgba(34,211,238,.02));color:#E8FBFF;box-shadow:inset 3px 0 0 var(--acc)}
body.theme-cyber .badge{background:var(--acc);color:#04121A}
body.theme-cyber .avatar{background:linear-gradient(135deg,rgba(34,211,238,.25),rgba(139,92,246,.3));color:#E8FBFF}
body.theme-cyber .me{border-top-color:var(--line)}
body.theme-cyber .me-links a{color:var(--muted)}
body.theme-cyber .me-links a:hover{color:var(--acc)}
body.theme-cyber .theme-link{color:var(--acc)!important}
body.theme-cyber .topbar{background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--line)}
body.theme-cyber .menu-btn span{background:var(--text)}
body.theme-cyber .sub{color:var(--muted)}

/* ---------- surfaces ---------- */
body.theme-cyber .panel,body.theme-cyber .stat,body.theme-cyber .table-wrap,body.theme-cyber .ak,body.theme-cyber .att-panel,
body.theme-cyber .ent,body.theme-cyber .dk,body.theme-cyber .range-bar,body.theme-cyber .task{
  background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,0) 60%),var(--panel);border-color:var(--line);box-shadow:var(--shadow)}
body.theme-cyber .add-panel{border-color:rgba(34,211,238,.28);background:linear-gradient(180deg,rgba(34,211,238,.06),rgba(34,211,238,0) 45%),var(--panel)}
body.theme-cyber .add-panel h2{color:#9FE9F7}
body.theme-cyber .panel-head h2,body.theme-cyber .dash-h,body.theme-cyber .att-sec{color:var(--text)}
body.theme-cyber .empty{color:var(--muted)}
body.theme-cyber .callout{background:var(--amber-soft);border-color:rgba(251,191,36,.3);color:#FDE68A}
body.theme-cyber .callout.rose{background:var(--red-soft);border-color:rgba(255,92,122,.32);color:#FFC2CE}
body.theme-cyber .comment{background:var(--panel2);border:1px solid var(--line)}

/* ---------- numbers: monospaced, glowing slightly ---------- */
body.theme-cyber .stat b,body.theme-cyber .ak b,body.theme-cyber .dk b,body.theme-cyber .as b,body.theme-cyber .punch-clock,body.theme-cyber .donut-center b,
body.theme-cyber .hours-meta b,body.theme-cyber td.num,body.theme-cyber .sl-item b,body.theme-cyber .echip b{font-family:var(--mono);letter-spacing:-.02em}
body.theme-cyber .stat b,body.theme-cyber .ak b,body.theme-cyber .dk b{text-shadow:0 0 16px color-mix(in srgb,currentColor 45%,transparent);font-weight:600}
body.theme-cyber .stat span,body.theme-cyber .ak span,body.theme-cyber .dk span{color:var(--muted)}
body.theme-cyber .stat.g b,body.theme-cyber .dk.g b{color:var(--green)}
body.theme-cyber .stat.b b,body.theme-cyber .dk.b b{color:var(--blue)}
body.theme-cyber .stat.r b,body.theme-cyber .dk.r b{color:var(--red)}
body.theme-cyber .stat.a b,body.theme-cyber .dk.a b{color:var(--amber)}
body.theme-cyber .stat.v b,body.theme-cyber .dk.v b{color:var(--plum)}
body.theme-cyber .stat:not(.g):not(.b):not(.r):not(.a):not(.v) b{color:#E8FBFF}
body.theme-cyber a.stat:hover{box-shadow:var(--glow);color:var(--text)}
body.theme-cyber .dk{border-top-width:2px}

/* ---------- buttons ---------- */
body.theme-cyber .btn{background:rgba(125,165,255,.05);border-color:var(--line2);color:var(--text);transition:border-color .15s,box-shadow .2s,background .15s,transform .1s}
body.theme-cyber .btn:hover{border-color:var(--acc-line);background:rgba(34,211,238,.07);color:#fff}
body.theme-cyber .btn:active{transform:translateY(1px)}
body.theme-cyber .btn.primary{background:linear-gradient(135deg,#22D3EE,#3B82F6);border-color:transparent;color:#03121B;box-shadow:0 8px 24px -10px rgba(34,211,238,.7)}
body.theme-cyber .btn.primary:hover{background:linear-gradient(135deg,#67E8F9,#60A5FA);color:#03121B;box-shadow:0 10px 30px -8px rgba(34,211,238,.85)}
body.theme-cyber .btn.good{background:linear-gradient(135deg,#34D399,#10B981);border-color:transparent;color:#03140D}
body.theme-cyber .btn.warn{background:transparent;border-color:rgba(255,92,122,.55);color:var(--red-d)}
body.theme-cyber .btn.warn:hover{background:var(--red-soft)}
body.theme-cyber .btn.ghost{background:transparent}
body.theme-cyber .btn:disabled{opacity:.55}

/* ---------- forms ---------- */
body.theme-cyber label{color:var(--muted)}
body.theme-cyber input,body.theme-cyber select,body.theme-cyber textarea{background:rgba(5,9,18,.75);border-color:var(--line2);color:var(--text);transition:border-color .15s,box-shadow .2s}
body.theme-cyber input::placeholder,body.theme-cyber textarea::placeholder{color:#55627E}
body.theme-cyber input:hover,body.theme-cyber select:hover,body.theme-cyber textarea:hover{border-color:rgba(125,165,255,.36)}
body.theme-cyber input:focus,body.theme-cyber select:focus,body.theme-cyber textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(34,211,238,.16),0 0 24px -8px rgba(34,211,238,.6)}
body.theme-cyber input:disabled{background:rgba(125,165,255,.04);color:var(--dim)}
body.theme-cyber select option{background:#0C1220;color:var(--text)}
body.theme-cyber input[type=checkbox],body.theme-cyber input[type=radio]{accent-color:var(--acc)}
body.theme-cyber .hint{color:var(--dim)}
body.theme-cyber .check{color:var(--text)}
body.theme-cyber .ss-input{background-color:rgba(5,9,18,.75);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px;background-repeat:no-repeat}
body.theme-cyber .ss-list{background:#0B1222;border-color:var(--acc-line);box-shadow:0 18px 40px -12px rgba(0,0,0,.9),0 0 0 1px rgba(34,211,238,.08)}
body.theme-cyber .ss-list li.on,body.theme-cyber .ss-list li:hover{background:var(--acc-soft);color:#E8FBFF}

/* ---------- messages ---------- */
body.theme-cyber .flash.ok{background:var(--green-soft);border-color:rgba(52,211,153,.35);color:#A7F3D0}
body.theme-cyber .flash.err{background:var(--red-soft);border-color:rgba(255,92,122,.38);color:#FFC2CE}
body.theme-cyber .flash{animation:cyIn .25s ease-out}
@keyframes cyIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* ---------- chips and status ---------- */
body.theme-cyber .chip{background:var(--grey-soft);color:var(--muted);border:1px solid transparent}
body.theme-cyber .st-prog.chip,body.theme-cyber .c-blue{background:var(--blue-soft);color:var(--blue);border-color:rgba(96,165,250,.22)}
body.theme-cyber .st-review.chip,body.theme-cyber .c-amber,body.theme-cyber .pri-high{background:var(--amber-soft);color:var(--amber);border-color:rgba(251,191,36,.22)}
body.theme-cyber .st-done.chip,body.theme-cyber .c-green{background:var(--green-soft);color:var(--green);border-color:rgba(52,211,153,.22)}
body.theme-cyber .st-block.chip,body.theme-cyber .c-rose{background:var(--red-soft);color:var(--red-d);border-color:rgba(255,92,122,.25)}
body.theme-cyber .c-violet{background:var(--plum-soft);color:var(--plum);border-color:rgba(167,139,250,.24)}
body.theme-cyber .pri-urgent{background:var(--red);color:#1A0309}

/* ---------- task list ---------- */
body.theme-cyber .task{color:var(--text);border-left-width:3px;transition:border-color .15s,box-shadow .2s,transform .15s}
body.theme-cyber .task:hover{box-shadow:var(--glow);transform:translateY(-1px)}
body.theme-cyber .task.st-prog{border-left-color:var(--blue)}body.theme-cyber .task.st-review{border-left-color:var(--amber)}
body.theme-cyber .task.st-block{border-left-color:var(--red)}body.theme-cyber .task.st-done{border-left-color:var(--green)}
body.theme-cyber .task-sub,body.theme-cyber .mins,body.theme-cyber .who{color:var(--muted)}

/* ---------- tabs and pill switches ---------- */
body.theme-cyber .tabs{border-bottom-color:var(--line)}
body.theme-cyber .tabs a{color:var(--muted)}
body.theme-cyber .tabs a:hover{color:var(--text)}
body.theme-cyber .tabs a.on{color:#E8FBFF;border-bottom-color:var(--acc);text-shadow:0 0 14px rgba(34,211,238,.5)}
body.theme-cyber .tabs a.on .n{color:var(--acc)}
body.theme-cyber .att-tabs,body.theme-cyber .wtabs{background:var(--glass);border-color:var(--line);box-shadow:var(--shadow)}
body.theme-cyber .att-tabs a{color:var(--muted)}
body.theme-cyber .att-tabs a:hover{color:var(--text)}
body.theme-cyber .att-tabs a.on,body.theme-cyber .dash-tab.on,body.theme-cyber .rchip.on{background:linear-gradient(135deg,#22D3EE,#3B82F6);color:#03121B;border-color:transparent;box-shadow:0 6px 20px -8px rgba(34,211,238,.7)}
body.theme-cyber .rchip,body.theme-cyber .dash-tab,body.theme-cyber .seg{background:rgba(125,165,255,.05);border-color:var(--line2);color:var(--muted)}
body.theme-cyber .rchip:hover,body.theme-cyber .dash-tab:hover{border-color:var(--acc-line);color:var(--text)}
body.theme-cyber .seg.on{background:var(--acc-soft);border-color:var(--acc);color:#E8FBFF}

/* ---------- tables ---------- */
body.theme-cyber th{background:rgba(125,165,255,.045);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:600}
body.theme-cyber th,body.theme-cyber td{border-bottom-color:var(--line)}
body.theme-cyber tr:hover td{background:rgba(34,211,238,.025)}
body.theme-cyber .bar{background:rgba(125,165,255,.1)}
body.theme-cyber .bar span{background:linear-gradient(90deg,#22D3EE,#8B5CF6);box-shadow:0 0 10px rgba(34,211,238,.4)}
body.theme-cyber .bar.g span{background:var(--green)}body.theme-cyber .bar.a span{background:var(--amber)}body.theme-cyber .bar.r span{background:var(--red)}
body.theme-cyber .reg th.name,body.theme-cyber .reg td.name{background:var(--panel)}
body.theme-cyber .reg th.name{background:#101828}
body.theme-cyber .dim{color:#3E4A63}
body.theme-cyber .due.over,body.theme-cyber .miss{color:var(--red)}

/* ---------- Today card ---------- */
body.theme-cyber .punch{--c:var(--acc-3);--cs:rgba(139,92,246,.14);background:radial-gradient(120% 120% at 100% 0%,color-mix(in srgb,var(--c) 16%,transparent),transparent 55%),var(--panel);
  border-color:color-mix(in srgb,var(--c) 30%,var(--line));box-shadow:var(--shadow),0 0 60px -30px var(--c)}
body.theme-cyber .punch.state-work{--c:var(--green);--cs:var(--green-soft)}
body.theme-cyber .punch.state-break{--c:var(--amber);--cs:var(--amber-soft)}
body.theme-cyber .punch.state-done{--c:var(--acc);--cs:var(--acc-soft)}
body.theme-cyber .punch::before{box-shadow:0 0 18px var(--c)}
body.theme-cyber .punch-clock{color:#F2F7FF;text-shadow:0 0 30px color-mix(in srgb,var(--c) 45%,transparent)}
body.theme-cyber .state-dot{box-shadow:0 0 10px var(--c)}
body.theme-cyber .hours-bar{background:rgba(125,165,255,.1)}
body.theme-cyber .hours-bar span{box-shadow:0 0 12px var(--c)}
body.theme-cyber .btn-clock{color:#04121A!important;box-shadow:0 10px 30px -10px var(--c)}

/* ---------- register cells ---------- */
body.theme-cyber .cell.p{background:var(--green-soft);color:var(--green)}
body.theme-cyber .cell.p.late{background:var(--amber-soft);color:var(--amber)}
body.theme-cyber .cell.a{background:var(--red-soft);color:var(--red-d)}
body.theme-cyber .cell.l{background:var(--plum-soft);color:var(--plum)}
body.theme-cyber .cell.h{background:var(--blue-soft);color:var(--blue)}

/* ---------- live board ---------- */
body.theme-cyber .person{border-bottom-color:var(--line)}

/* ---------- reminder pop-up ---------- */
body.theme-cyber .rem-overlay{background:rgba(2,5,12,.7);backdrop-filter:blur(4px)}
body.theme-cyber .rem-card{background:linear-gradient(180deg,rgba(34,211,238,.07),rgba(34,211,238,0) 40%),#0B1222;border:1px solid var(--acc-line);border-top:3px solid var(--acc);
  box-shadow:0 30px 80px -20px rgba(0,0,0,.9),0 0 50px -20px rgba(34,211,238,.6)}
body.theme-cyber .rem-item{border-bottom-color:var(--line)}
body.theme-cyber .rem-item b{color:#FFB4C2}
body.theme-cyber .rem-item p{color:var(--muted)}

/* ---------- dashboards ---------- */
body.theme-cyber .dash-stamp{background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.3);color:var(--green)}
body.theme-cyber .dash-filters{background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
body.theme-cyber .dash-range{color:var(--text)}
body.theme-cyber .sl-item{background:rgba(125,165,255,.04);border-color:var(--line)}
body.theme-cyber .ent-head:hover{background:rgba(125,165,255,.04)}
body.theme-cyber .ent-badge{background:var(--acc-soft);color:var(--acc)}
body.theme-cyber .echip{border-color:var(--line);color:var(--muted)}
body.theme-cyber .subcard{background:rgba(125,165,255,.035);border-color:var(--line)}
body.theme-cyber .sub-item{background:rgba(5,9,18,.6);border-color:var(--line)}
body.theme-cyber .sub-task a{color:var(--text)}
body.theme-cyber .pill.completed{background:var(--green-soft);color:var(--green)}
body.theme-cyber .pill.progress{background:var(--blue-soft);color:var(--blue)}
body.theme-cyber .pill.blocked{background:var(--red-soft);color:var(--red-d)}
body.theme-cyber .pill.review{background:var(--amber-soft);color:var(--amber)}
body.theme-cyber .pill.notstarted{background:var(--grey-soft);color:var(--muted)}
body.theme-cyber .pill.leave{background:var(--plum-soft);color:var(--plum)}

/* ---------- attendance dashboard ---------- */
body.theme-cyber .ak::before{box-shadow:0 0 14px currentColor}
body.theme-cyber .ak.k-ok::before{color:var(--green)}body.theme-cyber .ak.k-bad::before{color:var(--red)}
body.theme-cyber .ak.k-warn::before{color:var(--amber)}body.theme-cyber .ak.k-cool::before{color:var(--blue)}
body.theme-cyber .ak.k-cool b{color:#E8FBFF}
body.theme-cyber .ak b small{color:var(--muted)}
body.theme-cyber .att-head,body.theme-cyber .att-stats,body.theme-cyber .att-lst,body.theme-cyber .as{border-color:var(--line)}
body.theme-cyber .as.zero b{color:#34405A;text-shadow:none}
body.theme-cyber .s-avg{background:rgba(34,211,238,.05)}
body.theme-cyber .s-avg b{color:#E8FBFF}
body.theme-cyber .att-lst h4{color:var(--muted)}
body.theme-cyber .apill{background:rgba(125,165,255,.05);border-color:var(--line);color:var(--text)}
body.theme-cyber .apill.bad{background:var(--red-soft);border-color:rgba(255,92,122,.28);color:#FFC2CE}
body.theme-cyber .apill.warn{background:var(--amber-soft);border-color:rgba(251,191,36,.26);color:#FDE68A}
body.theme-cyber .apill.cool{background:var(--blue-soft);border-color:rgba(96,165,250,.26);color:#BFDBFE}
body.theme-cyber .apill.violet{background:var(--plum-soft);border-color:rgba(167,139,250,.28);color:#DDD6FE}
body.theme-cyber .att-flag{background:var(--amber-soft);border-top-color:rgba(251,191,36,.25);color:#FDE68A}
body.theme-cyber .att-flag a{color:#FDE68A}
body.theme-cyber .b-ink{background:rgba(125,165,255,.07);color:var(--muted)}
body.theme-cyber .att-foot b{color:var(--text)}

/* ---------- share daily report ---------- */
body.theme-cyber .share-card{border-color:rgba(37,211,102,.32);background:linear-gradient(180deg,rgba(37,211,102,.07),rgba(37,211,102,0) 45%),var(--panel)}
body.theme-cyber .share-preview{background:rgba(5,9,18,.7);border-color:var(--line);color:var(--text)}
body.theme-cyber .btn.wa{background:linear-gradient(135deg,#25D366,#1DA851);border-color:transparent;color:#03160B;box-shadow:0 8px 24px -10px rgba(37,211,102,.7)}

body.theme-cyber .wa-bar{background:linear-gradient(180deg,rgba(37,211,102,.06),rgba(37,211,102,0) 60%),var(--panel);border-color:rgba(37,211,102,.28)}
body.theme-cyber .wa-what b{color:#4ADE80}
body.theme-cyber .wa-prev pre{background:rgba(5,9,18,.7);color:var(--text)}

/* ---------- people and access ---------- */
body.theme-cyber .perm{background:rgba(125,165,255,.035);border-color:var(--line);color:var(--text)}
body.theme-cyber .perm:hover{border-color:var(--line2)}
body.theme-cyber .perm:has(input:checked){border-color:var(--acc);background:var(--acc-soft);box-shadow:0 0 22px -10px rgba(34,211,238,.6)}

/* ---------- client report stays a white sheet of paper, exactly as the client receives it ---------- */
body.theme-cyber .report-paper{--text:#18181D;--muted:#5B6478;--dim:#9096A6;--line:#E3E7F0;--line2:#D5D9E2;--panel2:#F4F6FA;--acc:#0E7490;--red:#B4233A;--green:#178A57;--amber:#9A6A00;
  background:#fff;color:#18181D;border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
body.theme-cyber .report-paper h1{background:none;color:#141B2D}
body.theme-cyber .report-paper th{background:#F2F4F9;color:#5B6478;text-transform:none;letter-spacing:0;font-size:.82rem}
body.theme-cyber .report-paper tr:hover td{background:transparent}
body.theme-cyber .report-paper a{color:#0E7490}
body.theme-cyber .report-paper td.num{font-family:inherit}

/* ---------- login ---------- */
body.theme-cyber.bare .login .panel{border-top:2px solid var(--acc);box-shadow:var(--shadow),0 0 70px -30px rgba(34,211,238,.6)}

/* ---------- phone ---------- */
@media (max-width:900px){
  body.theme-cyber .bnav{background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top-color:var(--line);box-shadow:0 -10px 30px -12px rgba(0,0,0,.8)}
  body.theme-cyber .bnav a{color:var(--dim)}
  body.theme-cyber .bnav a.on{color:#E8FBFF;background:var(--acc-soft);box-shadow:inset 0 0 0 1px rgba(34,211,238,.25)}
  body.theme-cyber .bnav a.on svg{filter:drop-shadow(0 0 6px rgba(34,211,238,.8))}
  body.theme-cyber.nav-open .scrim{background:rgba(2,5,12,.7)}
}

/* ---------- motion: gentle, and off for people who prefer less ---------- */
body.theme-cyber .panel,body.theme-cyber .stat,body.theme-cyber .ak,body.theme-cyber .dk,body.theme-cyber .att-panel,body.theme-cyber .ent{animation:cyRise .35s ease-out both}
@keyframes cyRise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){body.theme-cyber *{animation:none!important;transition:none!important}}

/* ---------- print: always clean black on white ---------- */
@media print{
  body.theme-cyber{--bg:#fff;--panel:#fff;--panel2:#F4F6FA;--text:#111;--muted:#555;--line:#ddd;--line2:#ccc;background:#fff;color:#111}
  body.theme-cyber::before{display:none}
  body.theme-cyber h1{background:none;color:#111}
  body.theme-cyber .panel,body.theme-cyber .table-wrap,body.theme-cyber .att-panel,body.theme-cyber .ak,body.theme-cyber .stat,body.theme-cyber .task{background:#fff;box-shadow:none;animation:none}
  body.theme-cyber .stat b,body.theme-cyber .ak b,body.theme-cyber .dk b{text-shadow:none}
  body.theme-cyber th{background:#f2f2f2;color:#444}
}
