/* Benchmarkable theme layer (Nov 4 2026): Staffility Mission Control + light/dark for every tab.
   Light = Staffility tokens from nav.css. Dark = navy-based palette, AA contrast. Toggle: html[data-theme]. */
html[data-theme=dark]{color-scheme:dark;--bg:#0a1626;--panel:#12243a;--border:#2a4260;--text:#e6edf3;--muted:#a9bccd;--accent-ink:#5cc8ec;--accent-hover:#00a9df;--reversed:#f4f4f4}
html[data-theme=light]{color-scheme:light}
/* Theme toggle */
#thm{min-width:44px;min-height:44px;border-radius:8px;border:1px solid rgba(182,201,211,.35);background:transparent;color:#fff;font-size:18px;cursor:pointer}
#thm:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}

/* ── Mission Control in the Staffility system (both themes use the tokens) ── */
body.mcon{background:var(--bg)!important;color:var(--text)!important}
body.mcon #app>header{display:block!important}body.mcon #app>header .chips,body.mcon #app>header .tabs,body.mcon #app>header #fbf,body.mcon #app>header #tb{display:none!important}
#mc{max-width:1400px;padding:16px 16px 48px;color:var(--text)}
#mc .mcglass,#mc .mcp{background:var(--panel);border:1px solid var(--border);border-radius:10px;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 1px 2px rgba(12,35,64,.06)}
#mc h3{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}
#mc .mcj{font-size:1.5rem;color:var(--text);font-weight:700;letter-spacing:-.01em}#mc .mcgr{color:var(--muted)}
#mc .mcmut,#mc .mcsub,#mc .mcempty,#mc .pvf,#mc .pvrules{color:var(--muted)}#mc .mcres{color:var(--text);opacity:.9}
#mc .mcrow,#mc .fitd,#mc .dgr{border-color:var(--border)}
#mc .mcbiz button{min-height:40px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-weight:600}
#mc .mcbiz button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
#mc .mcq button{border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--accent-ink)}
#mc .mcq button.on{background:var(--accent-ink);color:#fff;border-color:var(--accent-ink)}
#mc .mcopp,#mc .mccard,#mc .mct,#mc .mcout{background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text)}
#mc .mcrank{color:var(--accent-ink)}#mc .mccount{background:var(--yellow);color:#0c2340}
#mc .mctag{color:#8a5a00}#mc .mcfu{color:#8a5a00}#mc .mcgap{color:#8a5a00}
#mc .mcact button,#mc .mcact a{border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--accent-ink);min-height:44px}
#mc .mcact .ok{background:#0079a3;border-color:#0079a3;color:#fff}
#mc .mcbar{background:var(--border)}#mc .mcbar i.ok,#mc .mcbar i.warn,#mc .mcbar i.bad{background:#0079a3}#mc .mcbar i.warn{background:#c58a00}#mc .mcbar i.bad{background:#b3261e}
#mc .mcdot.ok{background:#1d7a3a}#mc .mcdot.warn{background:#c58a00}#mc .mcdot.bad{background:#b3261e}
#mc a{color:var(--accent-ink)}#mc .hzk div,#mc .hzi{background:var(--bg)}
#mc button.pri{background:#0079a3;color:#fff;border:0;border-radius:8px;min-height:44px;padding:0 14px;font-weight:600}
#mc input,#mc textarea,#mc select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;min-height:40px}
#mc .lyt-drag{color:var(--muted);background:transparent;border:0}
html[data-theme=dark] #mc .mctag,html[data-theme=dark] #mc .mcfu,html[data-theme=dark] #mc .mcgap{color:#ffc62d}
html[data-theme=dark] #mc .mcbiz button.on{background:#0079a3;border-color:#0079a3}
html[data-theme=dark] #mc .mcdot.ok{background:#4ade80}
@media(max-width:900px){#mc{padding:12px 10px 40px}#mc :is(.mcbiz button,.mcq button,summary,.lyt-drag){min-height:44px}#mc .lyt-drag{min-width:44px}}

/* ── Dark theme for the rest of the app ── */
html[data-theme=dark] body,html[data-theme=dark] body:not(.mcon){background:var(--bg);color:var(--text)}
html[data-theme=dark] :is(.card,.tdc,.fdr,.fdc,.fdbox,.fdcal,.fdsum div,.fdempty,.fdspr,#pn,#pn .hd,#login,#dp .dpb,.fdmode,#bmfd .fdmode,.fdpop,.nelb,.ctx){background:var(--panel)!important;color:var(--text);border-color:var(--border)!important}
html[data-theme=dark] :is(#bmtoday,#bmfd,.fdh2 h2,.fdch h3,.fdtr,.fdnr,.fdspr,.fdsubs button,.fdext .fdin){color:var(--text)}
html[data-theme=dark] :is(.m,.muted,.tdasof,.tdc h3,.tdm,.tdrl small,.fdmut,#bmfd .fdmut,.fdg h3,.fdsum span,.fdext label,.col h2,#pn label.f,#pn li .w,.pck,.fdpsep,#fbd,.tdc li li,.fdtx,.note){color:var(--muted)!important}
html[data-theme=dark] :is(.tdtop,.fdtr.trip,.fdnr.trip){background:#0f2d44!important;border-color:#1e5675!important}
html[data-theme=dark] .tdneed{background:#2e2610!important;border-color:#6b5717!important}html[data-theme=dark] .tdalert{background:#331a1d!important;border-color:#7a3036!important}
html[data-theme=dark] :is(.fdbar){background:var(--bg);border-color:var(--border)}
html[data-theme=dark] :is(.fdsubs,.fdext,.fdcnt,.tag){background:#1b3150;color:var(--text)}
html[data-theme=dark] :is(.acts button,.tp,#pn .sg button,.snzm button,.snzm input,#pn input,#pn select,#pn textarea,#fbi,.wait input,#login input,.fdta,.fdext input,.fdext select,.fdrow2 input,.fdpop .fdpr select,#pn .x,#dp .dph button){background:#0e1d31;color:var(--text);border-color:var(--border)}
html[data-theme=dark] .tp.on{background:#0079a3;color:#fff}
html[data-theme=dark] :is(.a a,.tdl,.fdlnk,#fdv .fdst a,.t button.tt:hover,.col h2 button,#bmfd a:not(.bmb)){color:var(--accent-ink)}
html[data-theme=dark] .tdl{border-color:var(--border)}
html[data-theme=dark] .bmb.ghost{background:transparent;color:var(--accent-ink);border-color:var(--border)}html[data-theme=dark] .bmb.ghost:hover{background:#1b3150;color:#fff}
html[data-theme=dark] :is(.fdst.pl,.fdchip,.priv,.rotag){background:#163a52;color:#9fe0f7}
html[data-theme=dark] .fdst.ok,html[data-theme=dark] .fdpill.ok,html[data-theme=dark] .fdtg.l,html[data-theme=dark] .tag.back{background:#143a28;color:#8fe0b4}
html[data-theme=dark] .fdst.late,html[data-theme=dark] .fdtg.f,html[data-theme=dark] .due{background:#3a2e0c;color:#ffd970}
html[data-theme=dark] :is(.fdst.sk,.fdst.un){background:#24364d;color:#c7d4e0}html[data-theme=dark] .fdtg.m{background:#2d2550;color:#cfc3ff}
html[data-theme=dark] :is(.hot,.tag.nudge){background:#3d1a1d;color:#ffb3b3}html[data-theme=dark] .tag.snz{background:#123048;color:#9fd8f5}
html[data-theme=dark] #nudgebar{background:#2d1517;border-color:#7a3036;color:#ffd0d0}
html[data-theme=dark] :is(.fdday,.fdrow2,.fdtbl th,.fdtbl td,#pn li,.fdc .fdch){border-color:var(--border)!important}
html[data-theme=dark] .fdfbl{background:#2e2610;color:#ffe08a}
html[data-theme=dark] .fdspr.on{background:#2e2610}
html[data-theme=dark] #fdv iframe{background:#0a1626}
html[data-theme=dark] .card.done .t,html[data-theme=dark] .pdone{color:var(--muted)}
/* Strategy / Reports / Permissions panels use dark surfaces already; match the tokens */
html[data-theme=dark] :is(#strat,#rpt,#perm) :is(input,select,textarea){background:#0e1d31;color:var(--text);border-color:var(--border)}
html[data-theme=dark] :is(select,.gsel,.sel,input[type=text],input[type=email],input[type=date],input[type=search]){background:#0e1d31;color:var(--text);border-color:var(--border)}
html[data-theme=dark] .acts a.o{background:#2e2610;color:#ffe08a;border-color:#6b5717}
html[data-theme=dark] :is(h4.gh,.card b,.m b){color:#c7d4e0!important}
html[data-theme=dark] .star{color:#c7d4e0}
/* ── Permissions page ── */
body.pmon main>:not(#bmperms){display:none!important}body:not(.pmon) #bmperms{display:none}
#bmperms{max-width:1400px;margin:0 auto;padding:16px 16px 56px;color:var(--text);font-family:'Public Sans',system-ui,sans-serif}
.pmh{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}.pmh h2{margin:0 0 4px;font-size:1.5rem}
.pmmut{color:var(--muted);font-size:.85rem}.pmmsg{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-weight:600}
.pmcard{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin:12px 0}
.pmcard summary{cursor:pointer;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;min-height:44px;list-style:none}.pmcard summary h3{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.pmform{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.pmform .wide{grid-column:1/-1}
.pmform label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--muted)}
#bmperms :is(input,select,textarea){font:inherit;font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;min-height:44px}
.pmform fieldset{border:1px solid var(--border);border-radius:8px;display:flex;flex-wrap:wrap;gap:4px 14px}.pmform legend{font-size:.85rem;color:var(--muted);font-weight:600}
.pmck{flex-direction:row!important;align-items:center;gap:6px!important;color:var(--text)!important;font-weight:400!important;min-height:44px}.pmck input{min-height:0!important;width:20px;height:20px}
.pmrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pmbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}.pmbar input{flex:1 1 240px}
.pmseg{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.pmseg button{border:0;background:var(--panel);color:var(--text);font:600 .9rem 'Public Sans',sans-serif;padding:0 14px;min-height:44px;cursor:pointer}.pmseg button.on{background:#0079a3;color:#fff}
.pmtw{overflow:auto;padding:0}.pmt{border-collapse:separate;border-spacing:0;width:100%;font-size:.88rem}
.pmt th,.pmt td{border-bottom:1px solid var(--border);padding:6px;text-align:center;white-space:nowrap}.pmt th{background:var(--panel);position:sticky;top:0;z-index:1}
.pms{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-left:1px solid var(--border)}.pmpl{font-weight:600;font-size:.78rem;color:var(--muted)}
.pmn{text-align:left!important;position:sticky;left:0;background:var(--panel);z-index:2;min-width:220px}
.pmname{all:unset;cursor:pointer;display:block;min-height:44px;line-height:1.35}.pmname:focus-visible,.pmc:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.pmtag{font-size:.72rem;font-weight:700;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:1px 8px;color:var(--text)}
.pmc{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-weight:700;font-size:16px;cursor:pointer;font-style:normal}
.pmc.on{background:#e3f5ea;border-color:#1d7a3a;color:#145a3a}.pmc.ovr{border-width:2px;border-style:dashed}.pmc.off.ovr{background:#fdecec;border-color:#b3261e;color:#8c1d18}.pmc:disabled{opacity:.6;cursor:not-allowed}
.pmleg{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:8px 0}.pmleg .pmc{width:26px;height:26px;cursor:default}
.pmdet td{text-align:left;white-space:normal;background:var(--bg)}.pmdg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pmdg h4{margin:0 0 6px;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.pml{list-style:none;padding:0;margin:0 0 8px}.pml li{padding:4px 0;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.pmoff{text-decoration:line-through;color:var(--muted)}
.pmchip{display:inline-block;background:#e6f6fc;color:#00688c;border-radius:999px;padding:2px 8px;margin:2px;font-size:.78rem;font-weight:600}
.bmb.sm{min-height:36px;padding:4px 10px}.pmlog{list-style:none;padding:0;margin:8px 0 0;max-height:360px;overflow:auto}.pmlog li{padding:6px 0;border-top:1px solid var(--border)}
html[data-theme=dark] .pmc.on{background:#143a28;border-color:#4ade80;color:#b7f5cf}html[data-theme=dark] .pmc.off.ovr{background:#3d1a1d;border-color:#f87171;color:#ffc9c9}html[data-theme=dark] .pmchip{background:#163a52;color:#9fe0f7}
@media(max-width:900px){.pmform{grid-template-columns:1fr 1fr}.pmdg{grid-template-columns:1fr}#bmperms{padding:12px 10px 48px}.pmn{min-width:150px}.bmb.sm{min-height:44px}}
@media(max-width:520px){.pmform{grid-template-columns:1fr}}
/* v3: perms header like MC; phone tap targets; Save contrast */
body.pmon #app>header .chips,body.pmon #app>header .tabs,body.pmon #app>header #fbf,body.pmon #app>header #tb{display:none!important}
@media (max-width:760px){#snav .sni{min-height:44px}.sel,.gsel,.star,.tdl{min-height:44px;min-width:44px}select,.gsel{min-height:44px}}
.pri,button.pri{background:#00678b!important;color:#fff!important}
html:not([data-theme=dark]) h4.gh,html:not([data-theme=dark]) p.muted,html:not([data-theme=dark]) .muted{color:#4a5a6a}
html:not([data-theme=dark]) .star{color:#6b5a00}html:not([data-theme=dark]) li.w{color:#4a5a6a}
@media (max-width:760px){#snav .sni{min-height:44px!important;height:auto!important}#strat button,#strat .x,#strat summary,.tt,#bmperms .bmb{min-height:44px!important}}
header .tab.on{color:#fff!important;background:#0079a3!important}
html:not([data-theme=dark]) #fbp li.w,html:not([data-theme=dark]) li.w{color:#4a5a6a!important}
/* v4: workspaces */
body.wson main>:not(#bmws){display:none!important}body:not(.wson) #bmws{display:none}
body.wson #app>header .chips,body.wson #app>header .tabs,body.wson #app>header #fbf,body.wson #app>header #tb{display:none!important}
#bmws{max-width:1200px;margin:0 auto;padding:16px 20px 60px;color:var(--text)}#bmws h2{margin:8px 0 4px}
#bmws .wsh{margin:0 0 8px;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.wsform{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:10px}.wsform label{display:flex;flex-direction:column;font-size:.8rem;color:var(--muted);gap:3px}
.wsform input,.wsform select,.wsact select{min-height:44px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font:inherit}
.wsgrow{flex:1 1 240px}.wsgrow input{width:100%}
#bmws .bmb,#pmws .bmb{min-height:44px;min-width:44px;padding:0 14px;border-radius:8px;border:1px solid #00678b;background:#00678b;color:#fff;font:inherit;font-weight:600;cursor:pointer}
#bmws .bmb.ghost,#pmws .bmb.ghost{background:transparent;color:var(--accent-ink,#00678b)}
html:not([data-theme=dark]) #bmws .bmb.ghost{color:#00678b}
.wsgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.wsw{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--bg)}.wswh{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.wsn{font-size:2rem;font-weight:700;color:var(--text)}
.wsbar{list-style:none;margin:6px 0 0;padding:0}.wsbar li{display:grid;grid-template-columns:90px 1fr 32px;gap:6px;align-items:center;font-size:.8rem;margin:3px 0}.wsbar i{display:block;height:10px;border-radius:5px;background:#0079a3}
.wscols{display:flex;gap:10px;overflow-x:auto;padding:6px 0}.wscol{flex:1 0 220px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:8px}
.wscol h4{margin:2px 0 8px;font-size:.8rem;color:var(--text)}.wscard{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px;margin:0 0 8px;font-size:.85rem;color:var(--text)}
.wsact{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}.wsboard{margin:10px 0}
#bmws .pmmsg.bad{color:#b42318}html[data-theme=dark] #bmws .pmmsg.bad{color:#ff9b91}
@media (max-width:760px){#bmws{padding:12px}.wscol{flex-basis:80%}}
#wsmsg:empty{display:none}
/* QA 11/4: phone top bar so the ☰ button never covers headings/buttons; room for the version label */
@media(max-width:900px){body:not(.snopen)::before{content:"";display:block;position:sticky;top:0;height:calc(60px + env(safe-area-inset-top));margin-bottom:-0px;background:var(--bg,#f4f6f8);z-index:40;border-bottom:1px solid var(--border,#d7e0e7)}}
body{padding-bottom:28px}
#bmver{background:var(--panel,#fff)!important;border:1px solid var(--border,#d7e0e7)!important;border-radius:8px;opacity:.85!important}
html[data-theme=dark] .lgwm{content:url(/bm-wordmark.svg)}
