/* AU ONE ERP · construction/base.css
   Extracted verbatim from construction.html lines 32-1121. */
:root{
  --ink:#1b1f24; --ink2:#39424b; --paper:#e8eaed; --paper2:#fbfcfd; --paper3:#f6f6f1;
  --line:#d3d8de; --line2:#e2e6ea;
  --amber:#E0922B; --amber-d:#9c6312; --amber-soft:#faf0dc;
  --ok:#3f7d4e; --warn:#E0922B; --bad:#d6453f; --info:#3c4a54;
  --steel:#3c4a54; --green:#3f7d4e; --red:#d6453f;
  --olive:#6f7d33; --olive-d:#5b6733; --olive-soft:#eef0dd; /* P8: unified platform olive (was orange #f0661c) */
  --muted:#697079; --muted2:#878f98;
  --shadow:0 1px 2px rgba(20,24,28,.06), 0 10px 24px -8px rgba(20,24,28,.16);
  /* UI polish v2 — additive tokens only, nothing above this line changes meaning.
     --brand gives the few remaining var(--brand,#e0922f) fallbacks a real value
     instead of silently falling back to a pre-rebrand orange; --olive-rgb lets
     rgba() glows stay on-brand across both themes without a second hardcoded
     triple to keep in sync. */
  --brand:var(--olive);
  --olive-rgb:111,125,51;
  --r-sm:10px; --r-md:14px; --r-lg:18px; --r-xl:24px;
  --shadow-1:0 1px 2px rgba(20,24,28,.05);
  --shadow-2:0 1px 2px rgba(20,24,28,.06), 0 10px 24px -8px rgba(20,24,28,.16);
  --shadow-3:0 2px 4px rgba(20,24,28,.08), 0 20px 40px -12px rgba(20,24,28,.28);
  --ease-spring:cubic-bezier(.34,1.56,.64,1); --ease-out:cubic-bezier(.16,1,.3,1);
  --dur-1:120ms; --dur-2:180ms;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{color-scheme:light;background:var(--paper)}
html,body{margin:0;padding:0}
body{font-family:'Archivo',sans-serif;color:var(--ink);background:var(--paper);color-scheme:light;
  background-image:linear-gradient(rgba(20,24,28,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(20,24,28,.025) 1px,transparent 1px);
  background-size:30px 30px;font-size:15px;line-height:1.4;padding-bottom:96px}
.mono{font-family:'IBM Plex Mono',monospace;font-variant-numeric:tabular-nums}
h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.02em}
header{position:sticky;top:0;z-index:40;background:var(--ink);color:var(--paper2);padding:calc(12px + env(safe-area-inset-top)) 16px 12px;box-shadow:0 4px 16px rgba(19,32,46,.25)}
.brand{display:flex;align-items:center;gap:10px}
.logo{width:46px;height:46px;background:var(--olive);border-radius:11px;flex:none;display:grid;place-items:center;overflow:hidden;padding:6px}
.logo img{width:100%;height:100%;object-fit:contain;display:block}
.brand h1{font-family:'Lexend','Archivo',sans-serif;font-size:18px;font-weight:800;line-height:1.05;letter-spacing:-.01em}
.brand small{display:block;font-weight:500;font-size:10.5px;color:#b3c182;letter-spacing:.08em;text-transform:uppercase;margin-top:1px}
.bagtog{margin-left:auto;display:flex;background:rgba(255,255,255,.08);border-radius:8px;padding:3px;font-size:12px;font-weight:700}
.bagtog button{border:0;background:transparent;color:#b9c2cc;padding:5px 9px;border-radius:6px;font:inherit;font-weight:700;cursor:pointer}
.bagtog button.on{background:var(--olive);color:#fff}
.tabs{display:flex;gap:4px;overflow-x:auto;margin-top:11px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;border:0;background:transparent;color:#9aa6b1;font:inherit;font-weight:700;padding:9px 13px;cursor:pointer;font-size:13px;border-bottom:3px solid transparent;white-space:nowrap}
.tab.on{color:var(--paper2);border-bottom-color:var(--olive)}
.tab .dot{display:inline-block;min-width:16px;height:16px;line-height:16px;text-align:center;font-size:10px;background:var(--olive);color:#fff;border-radius:8px;margin-left:5px;font-weight:800;padding:0 3px}
main{padding:16px 14px 0;max-width:780px;margin:0 auto;background:var(--paper);min-height:100vh}
.view{display:none}
.view.on{display:block}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.intro{font-size:13px;color:var(--ink2);background:var(--amber-soft);border:1px solid #d8c596;border-left:4px solid var(--amber);border-radius:8px;padding:10px 12px;margin-bottom:14px}
.intro b{font-weight:800}
.card{background:var(--paper2);border:1px solid var(--line);border-radius:14px;padding:15px 16px;margin-bottom:12px;box-shadow:var(--shadow)}
.card.item{border-left:4px solid var(--steel);position:relative}
.card-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.card-head h3{font-size:14.5px;flex:1}
.idx{width:22px;height:22px;border-radius:7px;background:var(--ink);color:var(--paper2);display:grid;place-items:center;font-size:11px;font-weight:800;flex:none}
.del{border:0;background:#f0d9d4;color:var(--red);width:28px;height:28px;border-radius:7px;font-size:16px;font-weight:800;cursor:pointer;flex:none;line-height:1}
.grid{display:grid;gap:10px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:1fr 1fr 1fr}
label.f{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
label.f .lbl{display:flex;justify-content:space-between;align-items:baseline}
label.f .u{color:var(--muted2);font-weight:600;text-transform:none;letter-spacing:0}
input,select{font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:500;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:8px;padding:9px 10px;width:100%;appearance:none;-webkit-appearance:none}
/* ⚠ TICK BOXES WERE INVISIBLE APP-WIDE (fixed 2026-08-01). The rule above targets
   `input` — which includes checkboxes and radios — and `appearance:none` strips the
   browser's own box AND its checkmark. Nothing in this file ever drew a replacement,
   so `accent-color` had no effect and a ticked box looked identical to an unticked
   one: the user clicked, the data DID change, and the screen showed nothing. It hit
   every checkbox in the app (schedule tasks, "Seen", petty project picker, admin
   focus list). Restoring the native control is the correct fix — the custom look
   lives in .lux-ck below, which draws its own check deliberately. */
input[type=checkbox],input[type=radio]{appearance:auto;-webkit-appearance:auto;width:auto;height:auto;min-width:0;padding:0;border:0;background:none;border-radius:0;accent-color:var(--olive)}
select{font-family:'Archivo',sans-serif;font-weight:600;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' stroke='%231b1f24' stroke-width='1.6' fill='none'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}
input:focus,select:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(224,146,43,.18)}
input::placeholder{color:#b8b3a5}
.txt input{font-family:'Archivo',sans-serif}
.res{margin-top:11px;border-top:1px dashed var(--line);padding-top:10px;display:grid;gap:5px;font-size:12.5px}
.res .row{display:flex;justify-content:space-between;gap:8px}
.res .row span:first-child{color:var(--ink2);font-weight:600}
.res .row .v{font-family:'IBM Plex Mono',monospace;font-weight:600;color:var(--ink);text-align:right}
.res .sub{color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
.res .cost{display:flex;justify-content:space-between;font-weight:800;font-size:13.5px;border-top:1px solid var(--line2);margin-top:5px;padding-top:6px}
.res .cost .v{color:var(--olive-d)}
.add{width:100%;border:1.5px dashed var(--line2);background:var(--paper2);color:var(--steel);font:inherit;font-weight:800;font-size:13.5px;padding:12px;border-radius:12px;cursor:pointer}
.add:hover,.add:active{border-color:var(--steel);background:rgba(53,78,85,.05)}
.empty{text-align:center;color:var(--muted);font-size:13px;padding:14px 6px 18px;font-weight:600}
/* ---- Smart Plumbing wizard ---- */
.plmw-modebar{margin:2px 0 14px;width:100%;display:flex}
.plmw-modebar .segbtn{flex:1;text-align:center;padding:9px 8px}
.plmw-intro{background:linear-gradient(135deg,var(--olive-soft),var(--paper2));border:1px solid var(--line2);border-left:4px solid var(--olive);border-radius:12px;padding:13px 15px;margin:0 0 14px;font-size:13px;color:var(--ink2);line-height:1.5}
.plmw-intro b{color:var(--olive-d)}
.plmw-eyebrow{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--olive-d);display:flex;align-items:center;gap:8px}
.plmw-step{margin:0 0 16px}
.plmw-step>.plmw-eyebrow{margin:0 0 9px}
.plmw-stepnum{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--olive);color:#fff;font-size:11px;font-weight:800;letter-spacing:0}
.plmw-chips{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding:2px 1px 7px}
.plmw-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.15;text-align:left}
.plmw-chip small{font-weight:600;font-size:10px;opacity:.72}
.plmw-chip.on small{opacity:.94;color:#fff}
.plmw-quick{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.plmw-quick .chip{padding:6px 12px;font-size:12px}
.plmw-fxgrid{display:flex;flex-direction:column;gap:8px}
.plmw-fx{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--paper2);border:1px solid var(--line2);border-radius:11px;padding:9px 10px 9px 13px}
.plmw-fxlbl{display:flex;flex-direction:column;min-width:0}
.plmw-fxlbl span{font-weight:700;font-size:13.5px;color:var(--ink)}
.plmw-fxlbl small{font-size:10.5px;color:var(--muted)}
.plmw-stepper{display:flex;align-items:center;flex:none;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.plmw-pm{width:38px;height:38px;border:0;background:#fff;color:var(--olive-d);font-size:21px;font-weight:800;cursor:pointer;line-height:1;font-family:inherit}
.plmw-pm:active{background:var(--olive-soft)}
.plmw-num{width:48px;height:38px;border:0;border-left:1px solid var(--line2);border-right:1px solid var(--line2);text-align:center;font-size:15px;font-weight:800;font-family:'IBM Plex Mono',monospace;color:var(--ink);background:#fff}
.plmw-h{margin:9px 0 0}
.plmw-more{margin-top:9px}
.plmw-more>summary{font-size:12.5px;font-weight:700;color:var(--olive-d);cursor:pointer;padding:5px 0;list-style:none}
.plmw-more>summary::-webkit-details-marker{display:none}
.plmw-more[open]>summary{margin-bottom:8px}
.plmw-gen{width:100%;border:0;background:var(--olive);color:#fff;font:inherit;font-weight:800;font-size:15px;padding:14px;border-radius:12px;cursor:pointer;box-shadow:var(--shadow);margin:4px 0 18px;letter-spacing:.01em}
.plmw-gen:active{background:var(--olive-d);transform:scale(.99)}
.plmw-conf{border-left:4px solid var(--green)}
.plmw-conf.mid{border-left-color:var(--amber)}
.plmw-conf.lo{border-left-color:var(--red)}
.plmw-confhead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.plmw-score{font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--green);line-height:1;display:flex;align-items:baseline;gap:9px}
.plmw-conf.mid .plmw-score{color:var(--amber-d)}
.plmw-conf.lo .plmw-score{color:var(--red)}
.plmw-score span{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.plmw-meter{height:9px;border-radius:6px;background:var(--line2);overflow:hidden;margin:11px 0 4px}
.plmw-meter i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--green),#6fae73)}
.plmw-conf.mid .plmw-meter i{background:linear-gradient(90deg,var(--amber),#e6b15a)}
.plmw-conf.lo .plmw-meter i{background:linear-gradient(90deg,var(--red),#e6857f)}
.plmw-conffac{margin-top:9px}
.plmw-conffac summary{font-size:12px;font-weight:700;color:var(--muted);cursor:pointer}
.plmw-metrics{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.plmw-pill{flex:1;min-width:84px;background:var(--paper3);border:1px solid var(--line2);border-radius:10px;padding:8px 10px}
.plmw-pill b{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:2px}
.plmw-pill span{font-size:16px;font-weight:800;color:var(--ink);font-family:'IBM Plex Mono',monospace}
.plmw-recorow{border-top:1px solid var(--line2);padding:10px 0 3px}
.plmw-recorow:first-of-type{border-top:0;padding-top:2px}
.plmw-recotop{display:flex;align-items:center;gap:10px}
.plmw-recolbl{flex:1;font-weight:700;font-size:13.5px;color:var(--ink);line-height:1.3}
.plmw-recoqty{font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:12.5px;color:var(--olive-d);white-space:nowrap;text-align:right}
.plmw-why{flex:none;border:1px solid var(--olive);background:transparent;color:var(--olive-d);font:inherit;font-weight:800;font-size:11px;padding:3px 11px;border-radius:999px;cursor:pointer}
.plmw-why:active{background:var(--olive-soft)}
.plmw-whybox{display:none;margin:9px 0 5px;background:var(--olive-soft);border-radius:10px;padding:10px 13px}
.plmw-whybox.on{display:block;animation:plmwfade .18s ease}
@keyframes plmwfade{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
.plmw-whynote{margin:0 0 6px;font-size:12.5px;font-weight:700;color:var(--olive-d)}
.plmw-whybox ul{margin:0;padding-left:17px}
.plmw-whybox li{font-size:12.5px;color:var(--ink2);line-height:1.5;margin:3px 0}
.plmw-whybox li b{color:var(--ink)}
.plmw-assume .plmw-assumelist{margin:0;padding-left:17px}
.plmw-assumelist li{font-size:12.5px;color:var(--ink2);line-height:1.55;margin:5px 0}
.plmw-bom{padding:0}
.plmw-bom>summary{padding:13px 15px;font-weight:800;font-size:13px;cursor:pointer;color:var(--ink2)}
.plmw-bom .res{padding:0 15px 13px}
.plmw-actions{margin:12px 0 4px;display:flex;gap:8px;flex-wrap:wrap}
.plmw-actions button{flex:1;min-width:128px}
.plmw-applied{font-size:12px;font-weight:700;color:var(--green);text-align:center;margin:9px 0 2px}
.plmw-empty{padding:26px 16px}
.plmadv{margin-top:16px;border:1px dashed var(--line);border-radius:12px;padding:0 11px 6px}
.plmadv>summary{padding:13px 4px;font-weight:800;font-size:13px;color:var(--steel);cursor:pointer;list-style:none;margin:0 -11px}
.plmadv>summary::-webkit-details-marker{display:none}
.plmadv[open]>summary{border-bottom:1px solid var(--line2);margin-bottom:10px;padding-left:15px;padding-right:15px}
html[data-theme="dark"] .plmw-fx,html[data-theme="dark"] .plmw-stepper,html[data-theme="dark"] .plmw-pm,html[data-theme="dark"] .plmw-num{background:#fff;color:#1f2a33}
html[data-theme="dark"] .plmw-pm{color:var(--olive-d)}
/* ---- Structural sub-tabs + Summary per-area ---- */
.rsubn{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:rgba(0,0,0,.14);color:inherit;font-size:10px;font-weight:800}
.rsub.on .rsubn{background:rgba(255,255,255,.28)}
.structmove{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 10px;padding:8px 10px;background:var(--paper3);border:1px solid var(--line2);border-radius:10px}
.structmovelbl{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.structchip{border:1px solid var(--line);background:#fff;color:var(--ink2);font:inherit;font-weight:700;font-size:11.5px;padding:5px 11px;border-radius:999px;cursor:pointer}
.structchip:active{transform:scale(.96)}
.structchip.on{background:var(--olive);color:#fff;border-color:var(--olive)}
html[data-theme="dark"] .structchip{background:#172230;color:var(--ink2);border-color:var(--line2)}
.sumsubhd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 4px;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--olive-d);border-left:3px solid var(--olive);padding-left:8px}
.sumsubt{font-family:'IBM Plex Mono',monospace;font-weight:700;color:var(--olive-d);letter-spacing:0;text-transform:none}
.suminner{margin:6px 0 2px;border:1px dashed var(--line);border-radius:9px;padding:0 10px}
.suminner>summary{padding:9px 2px;font-size:12px;font-weight:800;color:var(--steel);cursor:pointer;list-style:none}
.suminner>summary::-webkit-details-marker{display:none}
.suminner[open]>summary{border-bottom:1px solid var(--line2);margin-bottom:6px}
.suminnerlbl{font-size:12px;font-weight:800;color:var(--ink);margin:8px 0 3px}
.suminnerlbl .muted{font-weight:600}
/* ---- Smart Electrical wizard extras ---- */
.elw-load{border-left:4px solid var(--steel)}
.elw-ckt{width:100%;border-collapse:collapse;font-size:12.5px;min-width:420px}
.elw-ckt th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800;padding:5px 8px;border-bottom:1.5px solid var(--line)}
.elw-ckt td{padding:6px 8px;border-bottom:1px solid var(--line);color:var(--ink2)}
.elw-ckt td.n,.elw-ckt th.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.elw-ckt tr.sub td{font-weight:800;color:var(--ink);background:var(--paper)}
.elw-ckt tr:last-child td{border-bottom:none}
.secttl{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:6px 2px 9px;display:flex;align-items:center;gap:8px;border-left:3px solid var(--olive);padding-left:8px}
.secttl::after{content:"";flex:1;height:1px;background:var(--line)}
.subttl{margin:12px 2px 8px;color:var(--steel);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:11px}
.bottom{position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--ink);color:var(--paper2);padding:9px 16px calc(9px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;box-shadow:0 -4px 16px rgba(19,32,46,.3)}
.bottom .lab{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--olive)}
.bottom .tot{font-family:'IBM Plex Mono',monospace;font-size:20px;font-weight:600;line-height:1.05}
.bottom .sm{font-size:11px;color:#9aa6b1;font-family:'IBM Plex Mono',monospace}
.bottom .go{margin-left:auto;background:var(--olive);color:#fff;border:0;font:inherit;font-weight:800;padding:10px 14px;border-radius:9px;cursor:pointer;font-size:13px}
.bottom .go:active{background:var(--olive-d)}
/* ---- Administrator portfolio dashboard ---- */
.navitem.adminnav{margin-top:8px;border-top:1px solid rgba(255,255,255,.12);padding-top:11px;color:#e9b27a}
.navitem.adminnav .nicon{color:#ef8a3c}
.navitem.adminnav.on{background:rgba(239,108,26,.22);border-left-color:var(--olive)}
.apg{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:6px 0 14px}
.apk{background:var(--paper2);border:1px solid var(--line);border-radius:11px;padding:10px 12px}
.apk .v{font-family:'IBM Plex Mono',monospace;font-weight:800;font-size:16px;color:var(--ink);line-height:1.1}
.apk .l{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800;margin-top:3px}
.aproj{background:var(--paper2);border:1px solid var(--line);border-radius:13px;padding:13px;margin-bottom:12px;box-shadow:var(--shadow)}
.aproj h4{margin:0;font-family:'Lexend','Archivo',sans-serif;font-weight:800;font-size:15px;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.aproj .ameta{font-size:11px;color:var(--muted);font-weight:600;margin:3px 0 6px}
.amini{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:var(--ink2);margin:4px 0 6px}
.amini b{font-family:'IBM Plex Mono',monospace;color:var(--ink)}
.aband{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;border:1px solid currentColor}
.asrc{font-size:9px;font-weight:800;color:var(--muted2);text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--line2);border-radius:999px;padding:2px 7px}
.arec{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.arec li{font-size:12px;line-height:1.45;padding:7px 10px;border-radius:8px;border-left:3px solid var(--line2);color:var(--ink2);background:rgba(120,130,140,.07)}
.arec li.ok{background:rgba(110,140,60,.12);border-left-color:var(--olive)}
.arec li.warn{background:rgba(187,70,52,.13);border-left-color:#bb4634}
.arec li.info{background:rgba(120,130,140,.10);border-left-color:#9aa6b1}
.arec li b{color:var(--ink)}
.atop{font-size:11.5px;color:var(--ink2);margin:2px 0 4px}
.atop b{color:var(--ink)}
.sumcard{background:var(--paper2);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:12px;box-shadow:var(--shadow)}
.sumcard h3{background:var(--ink);color:var(--paper2);padding:10px 14px;font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.sumcard h3 .t{font-family:'IBM Plex Mono',monospace;color:var(--olive);font-weight:600}
table{width:100%;border-collapse:collapse;font-size:12.5px}
th,td{text-align:left;padding:7px 14px;border-bottom:1px solid var(--line2)}
th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800;background:#efeee7}
html[data-theme="dark"] th{background:var(--paper3);color:var(--ink2)}
td.n,th.n{text-align:right;font-family:'IBM Plex Mono',monospace;font-variant-numeric:tabular-nums}
tr:last-child td{border-bottom:0}
tr.sub td{font-weight:800;background:#efeee7}
.grand{background:var(--ink);color:var(--paper2);border-radius:12px;padding:16px 16px 18px;margin-bottom:14px}
.grand .line{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid rgba(255,255,255,.1)}
.grand .line .v{font-family:'IBM Plex Mono',monospace;font-weight:600}
.grand .big{font-size:16px;font-weight:800;border:0;padding-top:13px}
.grand .big .v{font-size:25px;color:var(--olive)}
.grand .muted{color:#9aa6b1;font-size:12px}.boqtier{margin-bottom:11px}.boqtiername{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--olive);margin-bottom:9px}.boqtier.internal{box-shadow:inset 4px 0 0 #4f9bff}.boqtier.internal .boqtiername{color:#7fb2ff}.boqtier.client{box-shadow:inset 4px 0 0 #ef6c1a}.boqtier.client .boqtiername{color:#ffb27a}.boqtier.client .big .v{color:#ffb27a}.boqctrl .setrow{margin-bottom:8px}.boqctrl .grid.g2{gap:8px}html[data-theme="dark"] .boq input,html[data-theme="dark"] .boq select,html[data-theme="dark"] .boq textarea{background:#ffffff;color:#1f2a33;border-color:#cfd3d8}html[data-theme="dark"] .boq input::placeholder{color:#9aa1a8}.boqtiersel{margin-bottom:8px}.boqtierhint{font-size:12px;color:var(--muted);margin-top:9px;line-height:1.45}.boqtierhint b{color:var(--ink2)}
.pillrow{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px}
.pill{background:var(--paper2);border:1px solid var(--line);border-radius:20px;padding:7px 13px;font-size:12px;font-weight:700;display:flex;gap:7px;align-items:center}
.pill b{font-family:'IBM Plex Mono',monospace;color:var(--olive-d)}
.btnrow{display:flex;gap:9px;margin:4px 0 18px}
.btnrow button{flex:1;border:1.5px solid var(--ink);background:var(--paper2);color:var(--ink);font:inherit;font-weight:800;font-size:13px;padding:12px;border-radius:10px;cursor:pointer}
.btnrow button.fill{background:var(--ink);color:var(--paper2)}
.note{font-size:11.5px;color:var(--muted);line-height:1.5;margin:2px 2px 20px}
.note b{color:var(--ink2)}
.tag{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:5px;background:var(--olive-soft);color:var(--olive-d)}
.tag.g{background:#d6ead9;color:var(--green)}
.hint{font-size:11px;color:var(--muted);margin-top:4px;font-weight:600}

.print-head{margin:0 2px 14px}
@media print{header,.bottom,.add,.del,.btnrow,.tabs,.intro,.diag,.tips,.seg,.stats,.qbar,.noprint,.au-fab,.au-bottomfade{display:none!important}body{padding:0;background:#fff}.view{display:block!important}main{max-width:100%;background:#fff}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.diag{background:var(--paper2);border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:0 0 12px}
.diag>summary{cursor:pointer;font-size:11.5px;font-weight:800;color:var(--olive-d);text-transform:uppercase;letter-spacing:.05em;list-style:none}
.diag>summary::-webkit-details-marker{display:none}
.diag>summary::before{content:'\25B8  ';color:var(--olive)}
.diag[open]>summary::before{content:'\25BE  '}
.diagwrap{margin:9px 0 4px}
.diagwrap svg{width:100%;height:auto;display:block;max-width:560px;margin:2px auto;background:#f6f5ef;border:1px solid var(--line);border-radius:8px}
.diaglegend{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:11px;color:var(--ink2);margin-top:6px}
.diaglegend .lg{display:inline-flex;align-items:center;gap:5px}
.diaglegend .lg i{width:11px;height:11px;border-radius:3px;display:inline-block;border:1px solid rgba(0,0,0,.18)}
.tips{background:var(--paper2);border:1px solid var(--line);border-radius:10px;padding:8px 13px;margin:0 0 12px}
.tips>summary{cursor:pointer;font-size:11.5px;font-weight:800;color:var(--olive-d);text-transform:uppercase;letter-spacing:.05em;list-style:none}
.tips>summary::-webkit-details-marker{display:none}
.tips>summary::before{content:'\25B8  ';color:var(--olive)}
.tips[open]>summary::before{content:'\25BE  '}
.tipdyn{margin:9px 0 4px;background:var(--olive-soft);border-left:3px solid var(--olive);border-radius:6px;padding:7px 10px;font-size:12.5px;color:var(--ink2);line-height:1.5}
.tiplist{margin:8px 0 2px;padding-left:18px}
.tiplist li{font-size:12.5px;color:var(--ink2);line-height:1.55;margin-bottom:5px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 12px}
@media(max-width:560px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{background:var(--paper2);border:1px solid var(--line);border-radius:10px;padding:10px 8px;text-align:center}
.stat .sv{font-size:19px;font-weight:900;color:var(--ink);font-family:'IBM Plex Mono',ui-monospace,monospace}
.stat .sl{font-size:10px;color:var(--muted2);margin-top:2px;line-height:1.25}
.seg{display:inline-flex;border:1px solid var(--line2);border-radius:9px;overflow:hidden;margin:0 0 12px}
.segbtn{background:#fff;border:0;padding:7px 16px;font-size:12.5px;font-weight:700;color:var(--ink2);cursor:pointer;font-family:inherit;border-right:1px solid var(--line2)}
html[data-theme="dark"] .segbtn{background:#172230;color:var(--ink2)}
.segbtn:last-child{border-right:0}
.segbtn.on{background:var(--olive);color:#fff}
.hdrctl{display:flex;align-items:center;gap:8px;margin-left:auto}
.hdrctl .who{font-size:12px;font-weight:800;color:#fff;background:rgba(255,255,255,.16);padding:4px 11px;border-radius:20px;white-space:nowrap}
.hbtn{background:rgba(255,255,255,.18);color:#fff;border:0;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.hbtn:hover{background:rgba(255,255,255,.32)}
body.noapp .bottom,body.noapp .tabs{display:none!important}
.login{max-width:520px;margin:0 auto}
.loginhero{text-align:center;padding:18px 14px 14px}
.login .lead{font-size:13px;color:var(--ink2);line-height:1.5;margin:0}
.logobig{width:62px;height:62px;border-radius:15px;background:var(--olive);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;padding:11px;box-shadow:0 6px 18px rgba(116,128,64,.28)}
.logobig img{width:100%;height:100%;object-fit:contain}
.loginhero h2{font-size:19px;margin:4px 0 6px;color:var(--ink)}
.logincard{margin-bottom:12px}
.adminbox{background:var(--paper2)}
.prim{width:100%;margin-top:11px;background:var(--ink);color:#fff;border:0;border-radius:10px;padding:12px;font-weight:800;font-size:14px;cursor:pointer;font-family:inherit}
.prim:active{transform:translateY(1px)}
.ghost{width:100%;margin-top:11px;background:#fff;color:var(--ink);border:1.5px solid var(--line2);border-radius:10px;padding:11px;font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit}
.ghost:hover{background:var(--paper2)}
.prow{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line)}
.prow:first-child{border-top:0}
.prow .pn{font-weight:700;color:var(--ink2);font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prow .pt{font-size:12px;color:var(--muted);font-family:'IBM Plex Mono',ui-monospace,monospace;white-space:nowrap}
.mini{border:1px solid var(--line2);background:#fff;color:var(--ink);font:inherit;font-weight:700;font-size:11.5px;padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap}
html[data-theme="dark"] .mini{background:#172230;color:var(--ink)}
.mini.porem{color:var(--red);border-color:var(--red);margin-left:8px}
.mini.poadd{color:var(--green);border-color:var(--green);margin-left:8px}
.poex td{color:var(--muted2);text-decoration:line-through}
.poex td .mini{text-decoration:none;color:var(--green)}
.schedrow{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line2)}
.schedrow:last-child{border-bottom:0}
.srk{flex:1;font-weight:600;font-size:12.5px;color:var(--ink)}
.schedrow input[type=date]{flex:0 0 auto;width:auto;padding:6px 8px;font:inherit;font-size:12.5px;border:1px solid var(--line);border-radius:7px;background:var(--paper2);color:var(--ink)}
.srtag{flex:0 0 auto;font-size:10.5px;color:var(--muted2);font-weight:800;text-transform:uppercase;letter-spacing:.04em;min-width:62px;text-align:center}
.mini.srauto{flex:0 0 auto;color:var(--amber-d);border-color:var(--amber)}
.mini:hover{background:var(--paper2)}
.mini.del2{border-color:#e0b4b0;color:var(--red)}
.pmbtns{display:flex;gap:9px;margin-bottom:8px}
.prim2{flex:1;background:var(--ink);color:#fff;border:0;border-radius:9px;padding:11px;font-weight:800;font-size:13px;cursor:pointer;font-family:inherit}
.ghost2{flex:1;background:#fff;color:var(--ink);border:1.5px solid var(--line2);border-radius:9px;padding:11px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}
.boq td{padding:5px 8px;border-top:1px solid var(--line);color:var(--ink2);vertical-align:top}
.boq th{padding:6px 8px}
.boq th.r,.boq td.r{text-align:right;white-space:nowrap}
.boq tr.lab td{font-style:italic;color:var(--muted);background:#faf9f4}
.boq tr.subt td{font-weight:800;color:var(--ink);border-top:1.5px solid var(--line2);background:#f1f0e8}
.sugg{background:var(--paper2);border:1px solid var(--line);border-radius:10px;padding:8px 13px;margin:0 0 12px}
.sugg>summary{cursor:pointer;font-size:11.5px;font-weight:800;color:var(--ink2);text-transform:uppercase;letter-spacing:.05em;list-style:none}
.sugg>summary::-webkit-details-marker{display:none}
.sugg>summary::before{content:'\25B8  ';color:var(--olive)}
.sugg[open]>summary::before{content:'\25BE  '}
.srow{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--ink2);line-height:1.5;margin:9px 0}
.srow .sb{flex:none;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#fff;border-radius:6px;padding:3px 7px;margin-top:1px;width:62px;text-align:center}
.sb.first{background:var(--olive-d)}
.sb.fast{background:#b8862f}
.sb.seq{background:var(--ink)}
.ins p{margin:7px 0;font-size:12.5px;color:var(--ink2);line-height:1.5}
.ins p:first-child{margin-top:2px}
.seqlist{margin:4px 0 2px;padding-left:22px}
.seqlist li{font-size:12.5px;color:var(--ink2);line-height:1.5;margin-bottom:7px;font-weight:600}
.insights .ins{padding-top:2px}
.qc details{background:var(--paper2);border:1px solid var(--line);border-radius:11px;margin-bottom:10px;overflow:hidden}
.qc details summary{cursor:pointer;font-weight:800;font-size:13px;color:var(--ink);padding:12px 14px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f1f0e8}
html[data-theme="dark"] .qc details summary{background:#1f2630;color:#e9ecef}
.qc details summary::-webkit-details-marker{display:none}
.qc details summary::after{content:'\25B8';color:var(--olive);font-size:11px;margin-left:auto}
.qc details[open] summary::after{content:'\25BE'}
.qc summary .ct{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.qc .tcard{padding:10px 14px;border-top:1px solid var(--line)}
.qc .tn{font-weight:800;font-size:12.5px;color:var(--olive-d);margin-bottom:4px}
.qc .tl{font-size:12px;color:var(--ink2);line-height:1.5;margin:2px 0}
.qc .tl b,.qc .pass b{color:var(--ink)}
.qc .pass{background:var(--olive-soft);border-left:3px solid var(--olive);border-radius:6px;padding:6px 9px;margin:5px 0 3px;font-size:12px;color:var(--ink2);line-height:1.5}
.qc .ref{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-top:3px}
.burger{flex:none;width:38px;height:38px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:0;border-radius:9px;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}
.burger:hover{background:rgba(255,255,255,.22)}
body.nomenu .burger,body.nomenu .homebtn{display:none}
/* The "back to AU One home" chevron is a permanent nav — should stay visible on every
   view including Mission Control, Petty Cash, Tracker, Admin. Overrides the body.nomenu
   rule above without touching the other burger buttons. */
body #auBackLauncher{display:grid}
.drawer{position:fixed;top:0;left:0;height:100vh;height:100dvh;width:270px;max-width:84vw;background:var(--ink);color:#fff;z-index:60;transform:translateX(-100%);transition:transform .25s ease;overflow-y:auto;padding:calc(10px + env(safe-area-inset-top)) 10px 28px;box-shadow:4px 0 24px rgba(0,0,0,.3);-webkit-overflow-scrolling:touch}
body.nav-open .drawer{transform:none}
.scrim{position:fixed;inset:0;background:rgba(10,16,24,.5);z-index:55;opacity:0;pointer-events:none;transition:opacity .25s ease}
body.nav-open .scrim{opacity:1;pointer-events:auto}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 12px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:8px}
.drawer-head span{font-family:'Lexend','Archivo',sans-serif;font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#b3c182}
.dclose{background:transparent;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:0 6px}
.navitem{display:flex;align-items:center;width:100%;text-align:left;border:0;background:transparent;color:#cdd6df;font:inherit;font-weight:600;font-size:14px;padding:11px 12px;border-radius:9px;cursor:pointer;margin-bottom:2px;border-left:3px solid transparent}
.navitem:hover{background:rgba(255,255,255,.08);color:#fff}
.navitem.on{background:rgba(116,128,64,.28);color:#fff;border-left-color:var(--olive)}
.navitem .ndot{margin-left:auto;background:var(--olive);color:#fff;font-size:11px;font-weight:800;min-width:20px;height:20px;border-radius:10px;display:inline-grid;place-items:center;padding:0 5px}
.chips{display:flex;flex-wrap:wrap;gap:7px;padding-bottom:2px;margin:0 0 12px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1.5px solid var(--line2);background:#fff;color:var(--ink2);font:inherit;font-weight:700;font-size:12.5px;padding:8px 14px;border-radius:20px;cursor:pointer;white-space:nowrap}
.chip.on{background:var(--olive);color:#fff;border-color:var(--olive)}
.tcard2{padding:11px 13px}
.tcard2 .tn{font-weight:800;font-size:13px;color:var(--olive-d);margin-bottom:4px}
.tcard2 .tl{font-size:12.5px;color:var(--ink2);line-height:1.5;margin:2px 0}
.tcard2 .tl b,.tcard2 .pass b{color:var(--ink)}
.tcard2 .pass{background:var(--olive-soft);border-left:3px solid var(--olive);border-radius:6px;padding:6px 9px;margin:5px 0 3px;font-size:12px;color:var(--ink2);line-height:1.5}
.tcard2 .ref{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-top:3px}
.qcform .formhead{display:flex;align-items:center;gap:12px;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:12px}
.qcform .formhead img{width:48px;height:48px;object-fit:contain;background:var(--olive);border-radius:10px;padding:6px}
.qcform .ft{font-family:'Lexend','Archivo',sans-serif;font-weight:800;font-size:18px;color:var(--ink);line-height:1.1}
.qcform .fs{font-size:12px;color:var(--muted);font-weight:600;margin-top:2px}
.qcform table{border-collapse:collapse;width:100%;margin-bottom:10px}
.qcform .fmeta td{border:1px solid var(--line2);padding:8px 10px;font-size:12.5px;color:var(--ink2)}
.qcform .ftrade{font-weight:800;font-size:13px;color:#fff;background:var(--ink);padding:7px 11px;border-radius:7px 7px 0 0;margin-top:10px}
.qcform .ftests th{border:1px solid #9a958a;background:#eef0e4;font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink);padding:6px;text-align:left}
.qcform .ftests td{border:1px solid #9a958a;padding:7px 6px;font-size:11px;color:var(--ink2);vertical-align:top;height:38px}
.qcform .fref{font-size:9.5px;color:var(--muted);font-weight:700;text-transform:uppercase;margin-top:3px}
.qcform .fpass{font-size:10.5px;color:var(--olive-d);margin-top:4px}
.qcform .fsign{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px;font-size:12px;color:var(--ink2);font-weight:700}
.qcform .fsign div{flex:1;min-width:210px}
.qcform .fsign span{font-size:9.5px;color:var(--muted);font-weight:500}
.navitem .nicon{flex:none;width:22px;height:22px;display:grid;place-items:center;margin-right:11px;color:#b3c182}
.navitem .nicon svg{width:20px;height:20px;display:block}
.navitem .nlabel{flex:1;text-align:left}
.navitem.on .nicon,.navitem:hover .nicon{color:#fff}
.welcome{background:linear-gradient(135deg,var(--ink),#33424d);color:#fff;border:0}
.welcome .wtitle{font-family:'Lexend','Archivo',sans-serif;font-weight:800;font-size:17px;margin-bottom:9px}
.welcome .wsteps{margin:0 0 13px;padding-left:20px}
.welcome .wsteps li{font-size:13px;line-height:1.55;margin-bottom:6px;color:#dde3ea}
.welcome .wsteps b{color:#fff}
.welcome .wlabel{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#b3c182;margin-bottom:9px}
.welcome .wjump{display:flex;flex-wrap:wrap;gap:8px}
.welcome .wjump button{background:rgba(255,255,255,.13);color:#fff;border:0;border-radius:9px;padding:9px 14px;font:inherit;font-weight:700;font-size:13px;cursor:pointer}
.welcome .wjump button:hover{background:rgba(255,255,255,.24)}
.welcome .wjump .wmenu{background:var(--olive);width:100%;text-align:center;padding:12px;font-size:14px}
.welcome .wjump .wmenu:hover{background:var(--olive-d)}
.dpsub{font-weight:800;font-size:12.5px;color:var(--ink);margin:13px 0 7px;text-transform:uppercase;letter-spacing:.03em}
.poform .ftests td,.dashprint .ftests td{vertical-align:top}
.themebtn{margin-left:auto;flex:none;width:38px;height:38px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:0;border-radius:9px;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s,transform .18s cubic-bezier(.34,1.56,.64,1)}
.themebtn:hover{background:rgba(255,255,255,.22)}
.themebtn:active{transform:scale(.88)}
.themebtn svg{width:20px;height:20px;display:block;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.themebtn:active svg{transform:rotate(-24deg)}
html[data-theme="dark"]{--ink:#f3f5f0;--ink2:#cdd6c6;--paper:#0d0d07;--paper2:#15160f;--paper3:#1b1d14;--line:rgba(255,255,255,.11);--line2:rgba(255,255,255,.18);--muted:#9aa6b2;--muted2:#727e8b;--olive-soft:rgba(163,178,94,.14);--amber-soft:#2a2310;--shadow:0 20px 44px rgba(0,0,0,.52),0 0 0 1px rgba(163,178,94,.10),0 0 50px rgba(163,178,94,.06);--olive:#A3B25E;--olive-d:#c3d17e;--cyan:#4FD7D0;--green:#7fd49a;--red:#f08a80;--glass:rgba(255,255,255,.05);--r:24px;--spring:cubic-bezier(.34,1.56,.64,1);--brand:var(--olive);--olive-rgb:163,178,94;--shadow-1:0 1px 2px rgba(0,0,0,.3);--shadow-2:0 20px 44px rgba(0,0,0,.52),0 0 0 1px rgba(163,178,94,.10),0 0 50px rgba(163,178,94,.06);--shadow-3:0 4px 10px rgba(0,0,0,.4),0 28px 60px -10px rgba(0,0,0,.6),0 0 0 1px rgba(163,178,94,.14)}
html[data-theme="dark"] header,html[data-theme="dark"] .drawer{background:rgba(13,13,7,.86);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid var(--line)}
html[data-theme="dark"] .dashcard,html[data-theme="dark"] .trkkpi,html[data-theme="dark"] .card,html[data-theme="dark"] .scard{background:var(--glass);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-color:var(--line);box-shadow:var(--shadow);transition:transform .25s var(--spring),box-shadow .28s,border-color .28s}
@media(hover:hover){html[data-theme="dark"] .dashcard:hover,html[data-theme="dark"] .trkkpi:hover,html[data-theme="dark"] .card:hover{transform:translateY(-3px);border-color:rgba(163,178,94,.32)}}

html[data-theme="dark"] body,html[data-theme="dark"] main{background:var(--paper)}
html[data-theme="dark"] body{color-scheme:dark}
html[data-theme="dark"] header{background:#101216;color:#e9ecef}
html[data-theme="dark"] .drawer{background:#101216}
html[data-theme="dark"] .bottom{background:#101216;color:#e9ecef}
html[data-theme="dark"] .bottom .tot{color:#f3f5f7}
html[data-theme="dark"] .prim2{background:var(--olive);color:#fff}
html[data-theme="dark"] .ghost2{background:#1e2228;color:var(--ink2);border-color:var(--line2)}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#101b27;color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] select{color-scheme:dark}
html[data-theme="dark"] select option,html[data-theme="dark"] select optgroup{background:var(--paper3);color:var(--ink)}
html[data-theme="dark"] input[readonly]{background:#0c141d !important;color:var(--muted2) !important}
html[data-theme="dark"] .chip{background:#172230;color:var(--ink2);border-color:var(--line2)}
html[data-theme="dark"] .go{background:var(--olive);color:#fff}
html[data-theme="dark"] .segbtn.on{background:var(--olive);color:#fff}
html[data-theme="dark"] .btnrow button.fill{background:var(--olive);color:#fff;border-color:var(--olive)}
html[data-theme="dark"] .add{color:var(--ink2);border-color:var(--line2)}
.schedtbl{border-collapse:collapse;width:100%;font-size:12px}
.schedtbl th{text-align:left;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800;padding:8px;border-bottom:2px solid var(--line2);white-space:nowrap}
.schedtbl td{padding:9px 8px;border-bottom:1px solid var(--line);color:var(--ink2);vertical-align:top}
.schedtbl tr:last-child td{border-bottom:0}
.schedtbl .tname{font-weight:700;color:var(--ink)}
.schedtbl .sdate{font-size:10px;color:var(--muted);margin-top:2px;font-weight:500}
.phlegend{display:flex;flex-wrap:wrap;gap:12px;margin:2px 0 11px;padding:0 2px}
.phl{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--ink2)}
.phdot{width:11px;height:11px;border-radius:3px;display:inline-block;flex:none;vertical-align:middle}
.themebtn svg{pointer-events:none}
html[data-theme="dark"] .qc .tn,html[data-theme="dark"] .tcard2 .tn{color:#b7c98a}
html[data-theme="dark"] .welcome{background:linear-gradient(135deg,#1b2026,#33424d)}
html[data-theme="dark"] .idx{background:#2d3741;color:#e9ecef}
html[data-theme="dark"] .schedtbl .tname{color:#e8edf3}
html[data-theme="dark"] .boq,html[data-theme="dark"] .qcform{--ink:#1f2a33;--ink2:#3b454f;--muted:#69727c;--muted2:#8a929b;--line:#e3e0d6;--line2:#cfd3d8;--olive-d:#5b6733;--amber-d:#9a5b14;--paper:#ffffff;--paper2:#ffffff;background:#ffffff;color:#1f2a33;border-radius:10px;padding:16px 14px 20px;box-shadow:0 2px 16px rgba(0,0,0,.55)}
html[data-theme="dark"] .qcform .schedtbl .tname{color:#1f2a33}
html[data-theme="dark"] .boq .secttl,html[data-theme="dark"] .qcform .secttl{color:#1f2a33}
.matsearch{width:100%;padding:10px 12px;border:1.5px solid var(--line2);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:13px;margin:0 0 10px;-webkit-appearance:none}
html[data-theme="dark"] .matsearch{background:#101b27;border-color:var(--line);color:var(--ink)}
.matrow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid var(--line)}
.matrow:last-child{border-bottom:0}
.mn{font-weight:700;font-size:13px;color:var(--ink);line-height:1.3}
.md{display:block;font-weight:500;font-size:11px;color:var(--muted);margin-top:1px;text-transform:none;letter-spacing:0}
.mp{font-family:'IBM Plex Mono',ui-monospace,monospace;font-weight:600;font-size:12.5px;color:var(--olive);white-space:nowrap;padding-top:1px}
html[data-theme="dark"] .mp{color:#b7c98a}
.qcform .sigin{display:block;width:100%;max-width:240px;border:0;border-bottom:1.5px solid var(--line);background:transparent;font:inherit;font-size:12px;font-weight:700;color:var(--ink2);padding:18px 2px 3px;margin:0 0 2px;-webkit-appearance:none}
.qcform .metain{border:0;border-bottom:1px solid var(--line);background:transparent;font:inherit;font-weight:700;color:var(--ink2);padding:1px 4px 2px;min-width:130px;-webkit-appearance:none}
.qcform .sigin:focus,.qcform .metain:focus{outline:none;border-color:var(--olive)}
@media print{.qcform .sigin,.qcform .metain{border-bottom:1px solid #000;color:#000}.qcform .sigin::placeholder,.qcform .metain::placeholder{color:transparent}}
.mcat{display:inline-block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--olive);background:var(--olive-soft);padding:1px 6px;border-radius:6px;margin-left:5px;vertical-align:middle;white-space:nowrap}
html[data-theme="dark"] .mcat{color:#b7c98a;background:#1f2a18}
.ecard{background:var(--paper2);border:1px solid var(--line);border-radius:11px;padding:11px 13px;margin-bottom:9px;box-shadow:var(--shadow)}
.eh{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:3px}
.en{font-family:'Lexend',system-ui,sans-serif;font-weight:700;font-size:13.5px;color:var(--ink)}
.ecg{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;color:#fff;white-space:nowrap}
.ecg-tool{background:#4a5a64}.ecg-equipment{background:#35707e}.ecg-consumable{background:#b98519}.ecg-ppe{background:#bb4634}
.ep{font-size:12.5px;color:var(--ink2);font-weight:600;margin-bottom:1px}
.ed{font-size:11.5px;color:var(--muted);line-height:1.4;margin-bottom:6px}
.erow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:5px}
.epill{font-size:11px;color:var(--ink2);background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:2px 8px}
.epill b{color:var(--muted);font-weight:700;font-size:9.5px;text-transform:uppercase;letter-spacing:.03em;margin-right:3px}
.ebr{font-size:11px;color:var(--muted);margin-bottom:2px}
.enote{font-size:11px;color:var(--amber-d);background:var(--amber-soft);border-radius:6px;padding:4px 8px;margin-top:4px}
html[data-theme="dark"] .epill{background:#0e151d}
html[data-theme="dark"] .enote{color:#e8c98a}
.tradesel{display:block;width:100%;padding:11px 38px 11px 13px;border:1.5px solid var(--line2);border-radius:10px;background-color:#fff;color:var(--ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2716%27%20height%3D%2716%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%238b8676%27%20stroke-width%3D%272.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpolyline%20points%3D%276%209%2012%2015%2018%209%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:15px;margin:0 0 9px}
.tradesel:focus{outline:none;border-color:var(--olive)}
html[data-theme="dark"] .tradesel{background-color:#101b27;border-color:var(--line);color:var(--ink)}
.card{transition:box-shadow .22s ease,transform .22s ease}
.sumcard{border-radius:14px}
.card-head h3{font-family:'Lexend','Archivo',sans-serif;letter-spacing:-.012em}
.secttl{letter-spacing:.1em;border-left-width:3px}
.intro{background:linear-gradient(0deg,rgba(185,133,25,.05),rgba(185,133,25,.05)),var(--paper2);border:1px solid var(--line2);border-left:3px solid var(--amber);border-radius:11px;padding:11px 14px;color:var(--ink2);line-height:1.5}
header{box-shadow:0 1px 0 rgba(255,255,255,.05) inset,0 8px 22px -8px rgba(15,34,67,.5)}
.brand h1{font-size:19px}
main{padding-top:18px}
.tradesel,.matsearch{border-radius:11px}
.epill{border-radius:8px}
.ecard{border-radius:12px;transition:box-shadow .22s ease,transform .22s ease}
.chip{transition:background .15s ease,border-color .15s ease}
@media(hover:hover){
 .card:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(15,34,67,.05),0 14px 30px -10px rgba(15,34,67,.18)}
 .ecard:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(15,34,67,.05),0 14px 30px -10px rgba(15,34,67,.18)}
}
html[data-theme="dark"] .intro{background:rgba(185,133,25,.06);border-color:#3a4655;border-left-color:var(--amber)}
html[data-theme="dark"] .add{background:#172230;border-color:var(--line2);color:#9fb27a}
html[data-theme="dark"] .card,html[data-theme="dark"] .ecard{box-shadow:0 2px 10px rgba(0,0,0,.35)}
.themebtn svg{pointer-events:none}
/* ---- safety-orange header accent line (bold industrial) ---- */
header{border-bottom:2px solid var(--olive)}
/* ---- micro-interactions: press + transitions (150-250ms) ---- */
.add,.btnrow button,.go,.chip,.segbtn,.tab,.themebtn,.wmenu,.del,.tradesel{transition:transform .16s cubic-bezier(.2,.7,.3,1),background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}
.add:active,.btnrow button:active,.go:active,.chip:active,.segbtn:active,.themebtn:active,.wmenu:active,.del:active{transform:scale(.96)}
.tab:active{transform:translateY(1px)}
input,select,textarea{transition:border-color .16s ease,box-shadow .16s ease}
.go{box-shadow:0 2px 8px -2px rgba(0,0,0,.32)}
.go:active{box-shadow:0 1px 4px -2px rgba(0,0,0,.32)}
/* ---- headings: steel text, orange marker (keep orange as an accent) ---- */
.secttl{color:var(--ink2)}
.qc .tn,.tcard2 .tn{color:var(--ink)}
html[data-theme="dark"] .secttl{color:#aab2bb}
html[data-theme="dark"] .qc .tn,html[data-theme="dark"] .tcard2 .tn{color:#dfe4e9}
/* ---- glassmorphism bottom bar (guarded; solid fallback for low-end) ---- */
@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){
 .bottom{background:rgba(27,31,36,.82);-webkit-backdrop-filter:blur(12px) saturate(1.25);backdrop-filter:blur(12px) saturate(1.25);border-top:1px solid rgba(255,255,255,.06)}
 html[data-theme="dark"] .bottom{background:rgba(16,18,22,.84)}
}
/* ---- success pulse (available for confirmations) ---- */
@keyframes okpulse{0%{box-shadow:0 0 0 0 rgba(var(--olive-rgb),.45)}100%{box-shadow:0 0 0 14px rgba(var(--olive-rgb),0)}}
.okpulse{animation:okpulse .5s ease-out}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
.sellbl{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:2px 2px 5px}
.cloudstatus{font-size:12px;color:var(--muted);opacity:0;max-height:0;overflow:hidden;transition:opacity .2s ease,max-height .2s ease,margin .2s ease}
.cloudstatus.show{opacity:1;max-height:46px;margin:2px 0 7px}
.cloudstatus.ok{color:var(--green)}
.cloudstatus.err{color:var(--red)}
@keyframes cloudfade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.cloudfade{animation:cloudfade .2s ease}
.autocloud{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:9px 11px;margin:2px 0 8px}
.acrow{display:flex;align-items:center;gap:12px;justify-content:space-between}
.actitle{font-weight:800;font-size:12.5px;color:var(--ink)}
.acsub{font-size:11px;color:var(--muted);margin-top:1px;line-height:1.4}
.acsw{flex:none;width:46px;height:27px;border-radius:999px;border:0;background:var(--line2);position:relative;cursor:pointer;transition:background .18s ease;padding:0}
.acsw.on{background:var(--olive)}
.acknob{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:left .18s ease}
.acsw.on .acknob{left:22px}
.cloudauto{font-size:11.5px;font-weight:700;color:var(--muted);opacity:0;max-height:0;overflow:hidden;transition:opacity .2s ease,max-height .2s ease,margin .2s ease}
.cloudauto.show{opacity:1;max-height:40px;margin-top:7px}
.cloudauto.ok{color:var(--green)}.cloudauto.err{color:var(--red)}
html[data-theme="dark"] .autocloud{background:#0e151d;border-color:var(--line)}
.homebtn{flex:none;width:38px;height:38px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:0;border-radius:9px;color:#fff;cursor:pointer;margin-left:auto}
.homebtn:hover{background:rgba(255,255,255,.22)}.homebtn svg{width:20px;height:20px;display:block}
.brand .themebtn{margin-left:8px}
#voBar{position:sticky;top:0;z-index:39}
.vobar{display:flex;align-items:center;gap:10px;justify-content:space-between;background:#caa23a;color:#1f2730;font-size:12px;font-weight:700;padding:8px 14px;flex-wrap:wrap}
.vobar button{flex:none;border:0;background:#1f2730;color:#fff;font:inherit;font-weight:800;font-size:11.5px;padding:6px 11px;border-radius:7px;cursor:pointer}
.home{max-width:620px;margin:0 auto}
.homehero{text-align:center;padding:14px 10px 10px}
.homehero h2{font-family:'Lexend','Archivo',sans-serif;font-size:21px;color:var(--ink);margin:6px 0 3px}
.homehero .hsub{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--olive-d)}
.hbig{display:block;width:100%;border:0;border-radius:13px;padding:15px;font:inherit;font-weight:800;font-size:15.5px;cursor:pointer;margin-bottom:12px}
.hcont{background:var(--olive);color:#fff;box-shadow:0 6px 18px rgba(var(--olive-rgb),.28)}.hcont:active{transform:translateY(1px)}
.hgrid{margin-bottom:6px}
.hcard{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--paper2);border-radius:13px;padding:14px 15px;cursor:pointer;box-shadow:var(--shadow)}
.hcard:active{transform:translateY(1px)}
.hcard .hci{font-size:24px;font-weight:800;color:var(--olive);line-height:1}
.hcard .hcl{font-weight:800;font-size:15px;color:var(--ink);margin-top:6px}
.hcard .hcd{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.45}
.hgrid2 .hcard{margin-bottom:10px}
.hcard.hnew{border-color:var(--olive)}
.hcard.hquick{border-style:dashed}
.hcard.hquick .hci{color:var(--muted2)}
.hci svg{vertical-align:middle}
.qbar{display:flex;align-items:center;gap:10px;justify-content:space-between;background:var(--olive-soft);color:var(--olive-d);font-size:12px;font-weight:700;padding:8px 14px;flex-wrap:wrap;border-bottom:1px solid var(--olive)}
.qbar button{flex:none;border:0;background:var(--olive);color:#fff;font:inherit;font-weight:800;font-size:11.5px;padding:6px 11px;border-radius:7px;cursor:pointer}
.tracker .oshero,.trackerproj{padding-top:2px}
.trkkpis,.trksum{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:6px 0 10px}
.trkkpi{background:var(--paper2);border:1px solid var(--line);border-radius:13px;padding:11px 13px;box-shadow:var(--shadow)}
.tkl{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.tkv{font-family:'Lexend','Archivo',sans-serif;font-weight:800;font-size:17px;margin-top:3px;color:var(--ink);font-variant-numeric:tabular-nums}
.tkv.pos,.tks.pos{color:var(--green)} .tkv.neg,.tks.neg{color:var(--red)}
.tks{font-size:11px;font-weight:800;margin-top:1px}
.trkstat{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;color:var(--ink2);margin:0 2px 12px}
.trkstat b{color:var(--ink);font-variant-numeric:tabular-nums}
.trkhd{display:flex;align-items:center;justify-content:space-between;margin:4px 2px 8px}
.trkadd,.trkadd2 button{border:0;background:var(--olive);color:#fff;font:inherit;font-weight:800;font-size:12px;padding:8px 13px;border-radius:8px;cursor:pointer}.trkresync{background:transparent;color:var(--ink2);border:1px solid var(--line2)}.trkresync:hover{border-color:var(--olive);color:var(--olive-d)}.trksavehint{font-size:11px;font-weight:700;color:var(--muted);align-self:center}.trkrowdel{margin-left:8px;border:1px solid var(--line2);background:transparent;color:var(--red);font:inherit;font-weight:800;font-size:10.5px;width:20px;height:20px;line-height:1;border-radius:6px;cursor:pointer;vertical-align:middle;padding:0;flex:none}.trkrowdel:hover{background:#d6453f;color:#fff;border-color:#d6453f}.seenbadge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;padding:6px 11px;border-radius:999px;margin:2px 0 11px;letter-spacing:.01em}.seenbadge.ok{background:rgba(63,125,78,.13);color:var(--green);border:1px solid rgba(63,125,78,.30)}.seenbadge.wait{background:rgba(214,158,46,.16);color:var(--amber-d);border:1px solid rgba(214,158,46,.36)}.seenbadge.none{background:var(--line);color:var(--muted);border:1px solid var(--line2)}.seenbadge.me{background:var(--olive-soft);color:var(--olive-d);border:1px solid rgba(var(--olive-rgb),.30)}html[data-theme="dark"] .seenbadge.ok{color:#7fd49a}html[data-theme="dark"] .seenbadge.wait{color:#e6c45a}.seenchk{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:800;color:var(--olive-d);margin-left:8px;cursor:pointer;vertical-align:middle;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.seenchk input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--green);border-radius:5px;background:var(--paper2);cursor:pointer;margin:0;flex:none;display:inline-grid;place-content:center;vertical-align:middle;transition:background .12s ease,border-color .12s ease}.seenchk input::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2.6px 2.6px 0;transform:rotate(45deg) translateY(-1px);opacity:0;transition:opacity .1s ease}.seenchk input:checked{background:var(--green);border-color:var(--green)}.seenchk input:checked::after{opacity:1}.seenchk.on{color:var(--green)}.portsrc{font-size:11.5px;font-weight:700;color:var(--muted);margin:-4px 2px 12px;padding:7px 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper2)}.portsrc b{color:var(--olive-d)}@media print{@page portfolio{size:legal landscape;margin:11mm}body.printport #printRoot{page:portfolio}body.printport .gproj{break-inside:avoid;page-break-inside:avoid;margin:0 0 14px}body.printport .gptitle{font-weight:800;font-size:13px;color:#111;margin:8px 0 1px}body.printport .gpmeta{font-size:9.5px;color:#555;margin-bottom:4px}body.printport .gpchart{border:1px solid #ddd;border-radius:6px;padding:5px;background:#fff}body.printport .gpchart svg{width:100%;height:auto;display:block}}
.trkscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;background:var(--paper2)}
.trktbl{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}
.trktbl th{font-size:9px;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);font-weight:800;text-align:right;padding:9px 10px;border-bottom:2px solid var(--line2);background:var(--paper2)}
.trktbl td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:right;color:var(--ink2);font-variant-numeric:tabular-nums}
.trktbl tbody tr{cursor:pointer}
.trktbl tbody tr:hover td{background:var(--olive-soft)}
.trktbl th:first-child,.trktbl td:first-child{position:sticky;left:0;text-align:left;background:var(--paper2);font-weight:800;color:var(--ink);box-shadow:1px 0 0 var(--line)}
.trktbl td.pos{color:var(--green);font-weight:700} .trktbl td.neg{color:var(--red);font-weight:700}
.trkback{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.trkback button{border:0;background:var(--paper2);border:1px solid var(--line);color:var(--ink2);font:inherit;font-weight:800;font-size:12.5px;padding:7px 12px;border-radius:9px;cursor:pointer}
.trkttl{font-family:'Lexend','Archivo',sans-serif;font-weight:800;font-size:18px;color:var(--ink)}
.trkf{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line2)}
.trkf:last-child{border-bottom:0}
.trkf label{flex:1;font-size:12.5px;color:var(--ink2)}
.trkf input{flex:none;width:48%;max-width:220px;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font:inherit;font-size:13px;background:var(--paper);color:var(--ink);text-align:right}
.trkcat{background:var(--paper2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px;box-shadow:var(--shadow)}
.trkcathd{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:13.5px;color:var(--ink);margin-bottom:6px}
.trkcatsum{font-family:'IBM Plex Mono',monospace;color:var(--olive-d)}
.trkelist{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.trke,.trkadd2{display:flex;gap:5px;align-items:center}
.trkadd2{border-top:1px dashed var(--line2);padding-top:8px}
.trke input,.trkadd2 input{border:1px solid var(--line);border-radius:7px;padding:6px 7px;font:inherit;font-size:12px;background:var(--paper);color:var(--ink);min-width:0}
.trked{width:124px;flex:none} .trkew{width:40px;flex:none;text-align:center} .trkedesc{flex:1} .trkea{width:92px;flex:none;text-align:right}
.trkex{flex:none;border:0;background:transparent;color:var(--red);font-size:18px;font-weight:800;cursor:pointer;padding:0 3px;line-height:1}
.trkdel{display:block;width:100%;margin-top:14px;border:1px solid var(--red);background:transparent;color:var(--red);font:inherit;font-weight:800;font-size:13px;padding:11px;border-radius:11px;cursor:pointer}
.trktabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 -2px 12px;padding:0 2px 3px}
.trktabs::-webkit-scrollbar{display:none}
@media (hover:hover) and (pointer:fine){
  .hscroll{cursor:grab;scrollbar-width:thin;scrollbar-color:var(--line2) transparent;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%)}
  .hscroll.dragging{cursor:grabbing;user-select:none}
  .hscroll::-webkit-scrollbar{height:9px;width:9px;display:block}
  .hscroll::-webkit-scrollbar-thumb{background:var(--line2);border-radius:8px}
  .hscroll::-webkit-scrollbar-thumb:hover{background:var(--muted)}
  .hscroll::-webkit-scrollbar-track{background:transparent}
  .trktabs{scrollbar-width:thin;padding-bottom:7px}
  .trktabs::-webkit-scrollbar{display:block;height:8px}
  .trktab,.trktbl tbody tr,.hscroll a,.hscroll button{cursor:pointer}
}
.trktab{flex:none;border:1px solid var(--line);background:var(--paper2);color:var(--ink2);font:inherit;font-weight:800;font-size:12px;padding:7px 11px;border-radius:9px;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:5px}
.trktab.on{background:var(--ink);color:var(--paper2);border-color:var(--ink)}
.trksoon{font-size:8.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--olive-d);background:var(--olive-soft);padding:1px 5px;border-radius:999px}
.trktab.on .trksoon{color:var(--paper2);background:rgba(255,255,255,.2)}
.trkphhd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.trkphname{font-family:'Lexend','Archivo',sans-serif;font-weight:800;font-size:16px;color:var(--ink)}
.pdtabs{display:flex;gap:6px;margin-bottom:12px}
.pdtab{flex:1;border:1px solid var(--line);background:var(--paper2);color:var(--ink2);font:inherit;font-weight:800;font-size:12.5px;padding:9px;border-radius:10px;cursor:pointer}
.pdtab.on{background:var(--ink);color:var(--paper2);border-color:var(--ink)}
.trfnote{font-size:12px;color:var(--muted);line-height:1.5;margin:0 2px 8px}
.trfadd{display:block;width:100%;margin:0 0 6px;border:1px dashed var(--olive);background:transparent;color:var(--olive-d);font:inherit;font-weight:800;font-size:13px;padding:10px;border-radius:11px;cursor:pointer}
.trfgrp{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--olive-d);margin:14px 2px 6px}
.trfitem{background:var(--paper2);border:1px solid var(--line);border-radius:11px;padding:9px 11px;margin-bottom:7px;box-shadow:var(--shadow)}
.trfn{font-size:13px;font-weight:700;color:var(--ink)}
.trfu{font-size:11px;font-weight:600;color:var(--muted)}
.trfr{display:flex;align-items:center;gap:8px;margin-top:7px}
.trfr label{display:flex;flex-direction:column;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);gap:2px}
.trfr input{width:84px;border:1px solid var(--line);border-radius:7px;padding:6px 7px;font:inherit;font-size:12.5px;background:var(--paper);color:var(--ink);text-align:right}
.trfd{margin-left:auto;font-family:'IBM Plex Mono',monospace;font-weight:700;color:var(--olive-d);font-size:12.5px}
.trfx{flex:none;border:0;background:transparent;color:var(--red);font-size:17px;font-weight:800;cursor:pointer;padding:0 2px;line-height:1}
.trftop{display:flex;gap:7px;margin:0 0 6px}
.trftop .trfadd{margin:0;flex:1}
.trfall{flex:none;border:1px solid var(--line);background:var(--paper2);color:var(--muted);font:inherit;font-weight:800;font-size:11.5px;padding:0 13px;border-radius:11px;cursor:pointer}
.trfmeta{font-size:11px;font-weight:700;color:var(--muted);margin:0 2px 9px;letter-spacing:.02em}
.trfsec{margin-bottom:8px}
.trfphase{display:flex;align-items:center;width:100%;gap:10px;border:1px solid var(--line);background:var(--paper2);border-radius:11px;padding:12px 13px;cursor:pointer;box-shadow:var(--shadow);text-align:left}
.trfphase .trfpn{flex:1;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--olive-d)}
.trfphase .trfpr{display:flex;align-items:center;gap:9px}
.trfphase .cnt{min-width:20px;text-align:center;font-size:11px;font-weight:800;color:var(--olive-d);background:var(--olive-soft);border-radius:999px;padding:2px 8px}
.trfphase .chev{font-size:17px;font-weight:800;color:var(--muted);transition:transform .18s ease;display:inline-block;line-height:1}
.trfsec.open>.trfphase{border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--olive-soft);background:var(--olive-soft)}
.trfsec.open .chev{transform:rotate(90deg)}
.trfbody{display:none;padding:9px 9px 4px;border:1px solid var(--line);border-top:0;border-radius:0 0 11px 11px;background:var(--paper)}
.trfsec.open .trfbody{display:block}
.trfbody .trfitem:last-child{margin-bottom:2px}
.boqcheck{background:var(--paper2);border:1px solid var(--line);border-radius:14px;padding:13px;box-shadow:var(--shadow);margin-bottom:4px}
.boqck1{display:flex;gap:18px;flex-wrap:wrap}
.boqck1 .tkl{font-size:10px}
.boqck1 .tkv{font-size:16px}
.boqstatus{margin-top:10px;font-size:12.5px;font-weight:800;color:var(--ink2)}
.boqstatus.pos{color:var(--green)} .boqstatus.neg{color:var(--red)}
.boqrow{display:flex;align-items:center;gap:8px;padding:7px 2px;border-bottom:1px solid var(--line2)}
.boqrow .trfn{flex:1;font-weight:600}
.boqq{width:82px;flex:none;border:1px solid var(--line);border-radius:7px;padding:6px 7px;font:inherit;font-size:12.5px;background:var(--paper);color:var(--ink);text-align:right}
.boqamt{width:106px;flex:none;text-align:right;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink2)}
.boqtot{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;padding:11px 2px;border-top:2px solid var(--line2);font-size:12.5px;color:var(--ink2)}
.boqtot b{color:var(--ink);font-variant-numeric:tabular-nums}
.trfr .trfmoney{width:92px;font-size:11.5px}
.trfr{flex-wrap:wrap}
.trfhd{display:flex;align-items:flex-start;gap:8px}
.trfhd .trfn{flex:1}
.trfcomp{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}
.trfcomp span{flex:1;min-width:90px;display:flex;flex-direction:column;gap:1px;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;color:var(--ink)}
.trfcomp span i{font-style:normal;font-size:9px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.trfcomp .tt{color:var(--olive-d)}
.trfphase .trfpt{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:800;color:var(--olive-d)}
.trfsub{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:3px 1px;padding:9px 11px;background:var(--olive-soft);border-radius:9px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--olive-d)}
.trfsub .v{font-family:'IBM Plex Mono',monospace;text-transform:none;letter-spacing:0;font-weight:700}
.trfmetarow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 2px 9px}
.trfmetarow .trfmeta{margin:0}
.trfclr{flex:none;border:1px solid var(--line);background:var(--paper2);color:var(--red);font:inherit;font-weight:800;font-size:11px;padding:5px 11px;border-radius:9px;cursor:pointer}
.trfgrand{margin:10px 0 4px;padding:13px 14px;border:1.5px solid var(--olive);border-radius:13px;background:var(--paper2);box-shadow:var(--shadow)}
.trfgrand .gl{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--olive-d);margin-bottom:9px}
.trfgrand .gv{display:flex;gap:10px;flex-wrap:wrap}
.trfgrand .gv span{flex:1;min-width:96px;display:flex;flex-direction:column;gap:2px;font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:800;color:var(--ink)}
.trfgrand .gv span i{font-style:normal;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.trfgrand .gv .tt{color:var(--olive-d)}
.expbar{display:flex;gap:8px;margin:0 0 12px}
.schcard{padding:11px 13px}
.schrow{display:flex;align-items:center;gap:10px;margin:5px 0}
.schm{width:78px;flex:none;font-size:11px;font-weight:800;color:var(--ink2)}
.schbarwrap{flex:1;height:14px;background:var(--paper);border:1px solid var(--line);border-radius:7px;overflow:hidden}
.schbar{height:100%;background:linear-gradient(90deg,var(--olive),var(--olive-d));border-radius:7px;min-width:2px}
.schv{width:108px;flex:none;text-align:right;font-size:11.5px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink)}
.schtot{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:12px;color:var(--ink2)}
.schproj{padding:12px;margin-bottom:10px}
.schhd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:9px}
.schname{font-size:15px;font-weight:800;color:var(--ink)}
.schpic{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--olive);padding:2px 7px;border-radius:6px;margin-left:4px}
.schsel{border:1px solid var(--line);border-radius:8px;padding:6px 9px;font:inherit;font-size:12px;font-weight:700;background:var(--paper2);color:var(--ink);max-width:62%}
.schnote{font-size:12.5px;color:var(--ink2);background:var(--paper2);border:1px solid var(--line);border-radius:9px;padding:9px 11px;line-height:1.5}
.schnote.err{border-color:var(--red);color:var(--red)}
.schfacts{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:11.5px;color:var(--muted);margin-bottom:9px}
.schfacts b{color:var(--ink2)}
.schstat{margin:6px 0}
.schtblwrap{margin-top:9px;border:1px solid var(--line);border-radius:10px;background:var(--paper2)}
.schtbl{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}
.schtbl th{font-size:9px;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);font-weight:800;text-align:left;padding:8px 10px;border-bottom:2px solid var(--line2);background:var(--paper2)}
.schtbl td{padding:7px 10px;border-bottom:1px solid var(--line);color:var(--ink2);vertical-align:top}
.schtbl tr:last-child td{border-bottom:none}
.schmcell{font-weight:800;color:var(--ink)}
.schspend{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink)}
.phpill{display:inline-block;color:#fff;font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:6px;margin:1px 2px 1px 0;white-space:nowrap}
.schbar.neg{background:linear-gradient(90deg,#e0746e,var(--red))}
.schbar.collect{background:linear-gradient(90deg,#5aa9c4,#3f7d8a)}
.gpos{color:var(--green);font-weight:800} .gneg{color:var(--red);font-weight:800}
.ceorec{margin:2px 0 6px}
.headproj{padding:12px;margin-bottom:10px}
.headprog{font-size:18px;font-weight:800;color:var(--olive-d);font-variant-numeric:tabular-nums}
.hpbar{height:10px;background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:2px 0 9px}
.hpfill{height:100%;background:linear-gradient(90deg,var(--olive),var(--olive-d));min-width:1px}
.headcats{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}
.headcat{flex:1 1 calc(50% - 6px);display:flex;justify-content:space-between;gap:8px;background:var(--paper2);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:11.5px}
.hcn{color:var(--muted);font-weight:700} .hcv{font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.ceotbl{min-width:660px}
.ceotbl tbody tr{cursor:default}
.ceotbl tbody tr:hover td{background:transparent}
.ceotbl tr.ceotot td{font-weight:800;color:var(--ink);background:var(--olive-soft);border-top:2px solid var(--line2)}
.ceotbl tr.ceotot td:first-child{background:var(--olive-soft)}
.headproj .headprog{font-weight:800;font-variant-numeric:tabular-nums;color:var(--olive)}
.hdsec{margin-top:11px}
.hdst{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.hdgrid{display:grid;grid-template-columns:1fr;gap:5px 16px}
.hdkv{display:flex;justify-content:space-between;gap:10px;font-size:13px;border-bottom:1px dotted var(--line);padding-bottom:3px}
.hdk{color:var(--muted);min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hdv{font-weight:700;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex:0 0 auto}
.hdkv.hdfull{grid-column:1/-1;flex-direction:column;align-items:flex-start;gap:2px}
.hdkv.hdfull .hdv{text-align:left;white-space:normal;font-weight:600;font-size:12px}
.trkfsec{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:16px 0 8px;padding-top:10px;border-top:1px solid var(--line)}
.item .subhd{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:12px 0 5px;border-top:1px dashed var(--line2);padding-top:9px}
.osutil{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;flex-wrap:wrap}
.netpill{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;padding:7px 12px;border-radius:999px;background:var(--card2,#eceae4);color:var(--muted)}
.netpill .dot{width:8px;height:8px;border-radius:50%;background:#9aa0a6;flex:0 0 auto}
.netpill.on{background:rgba(58,166,87,.15);color:#2f6f43}.netpill.on .dot{background:#3aa657;animation:netpulse 2s infinite}
.netpill.off{background:rgba(214,138,26,.16);color:#9a6a16}.netpill.off .dot{background:#d68a1a}
@keyframes netpulse{0%{box-shadow:0 0 0 0 rgba(58,166,87,.5)}70%{box-shadow:0 0 0 7px rgba(58,166,87,0)}100%{box-shadow:0 0 0 0 rgba(58,166,87,0)}}
.dlbtn{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:13.5px;padding:9px 16px;border-radius:12px;border:0;background:linear-gradient(135deg,#828f44,#5d6a2f);color:#fff;cursor:pointer;box-shadow:0 6px 16px rgba(93,106,47,.32)}
.dlbtn .dli{font-size:15px;line-height:1}.dlbtn:active{transform:translateY(1px)}
.dlbtn.installed{background:rgba(58,166,87,.16);color:#2f6f43;box-shadow:none}
.ihint{font-size:12.5px;line-height:1.55;background:var(--card2,#f2efe9);border:1px solid var(--line2);border-radius:12px;padding:11px 13px;margin:0 0 12px}
.intro3d{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;overflow:hidden;perspective:1200px;animation:i3in .45s ease}
.intro3d.out{opacity:0;transform:scale(1.05);transition:opacity .55s ease,transform .55s ease}
.intro3d .i3bg{position:absolute;inset:0}

.intro3d .i3tile.i3coin{background:linear-gradient(135deg,#828f44,#5d6a2f);box-shadow:0 26px 54px rgba(96,108,52,.55),inset 0 3px 5px rgba(250,232,150,.55),inset 0 -10px 18px rgba(33,38,12,.34),inset 0 0 0 1.6px rgba(214,184,96,.5)}
.intro3d .i3tile.i3coin::after{background:linear-gradient(135deg,rgba(252,236,168,.5) 0%,rgba(252,236,168,.14) 20%,rgba(255,255,255,0) 44%,rgba(20,24,6,.18) 100%)}
.intro3d .i3tile.i3coin::before{background:linear-gradient(90deg,rgba(255,240,180,0),rgba(255,240,180,.55),rgba(255,240,180,0))}
.intro3d .i3tile.i3coin svg{width:128px;height:auto}
.intro3d .i3navy{background:radial-gradient(1200px 800px at 50% 34%,#16294a,#0c1626 58%,#070e1a);opacity:1}
.intro3d .i3stage{position:relative;z-index:2;display:grid;justify-items:center;gap:20px;padding:0 24px}
.intro3d .i3flip{position:relative;width:210px;height:210px;perspective:1000px}.intro3d .i3flipinner{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:i3logoin .8s cubic-bezier(.2,.85,.2,1) .15s both,i3flip 1s cubic-bezier(.6,0,.3,1) 2.8s forwards}
.intro3d .i3face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:grid;place-items:center}
.intro3d .i3front{filter:drop-shadow(0 16px 30px rgba(0,0,0,.30))}
.intro3d .i3back{transform:rotateY(180deg)}
.intro3d .i3tile{position:relative;overflow:hidden;width:200px;height:200px;border-radius:46px;background:linear-gradient(135deg,#ff8a2e,#e0560f);display:grid;place-items:center;box-shadow:0 26px 54px rgba(224,86,15,.5),inset 0 3px 4px rgba(255,255,255,.55),inset 0 -10px 18px rgba(0,0,0,.30),inset 0 0 0 1.5px rgba(255,255,255,.15)}
.intro3d .i3tile::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,.12) 20%,rgba(255,255,255,0) 42%,rgba(0,0,0,.12) 100%)}
.intro3d .i3tile::before{content:"";position:absolute;top:-50%;left:-60%;width:55%;height:200%;transform:rotate(18deg);pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.4),rgba(255,255,255,0));animation:i3shine 2.4s ease-in-out .7s 1 both}
.intro3d .i3tile svg{position:relative;z-index:1;width:118px;height:118px}
.intro3d .i3word{width:264px;max-width:72vw;opacity:0;transform:translateY(10px);animation:i3rise .6s ease .5s forwards,i3fadeout .4s ease 2.35s forwards}
.intro3d .i3word svg{width:100%;height:auto}
.intro3d .i3title{font-family:'Archivo',sans-serif;font-weight:900;font-size:30px;letter-spacing:-.5px;color:#fff;text-align:center;opacity:0;transform:translateY(16px);animation:i3rise .7s ease 3.95s forwards;text-shadow:0 6px 24px rgba(0,0,0,.4)}
.intro3d .i3tag{font-family:'Archivo',sans-serif;font-weight:800;font-size:17px;letter-spacing:.4px;color:#ff9d57;text-align:center;opacity:0;transform:translateY(12px) scale(.96);animation:i3tagin .85s cubic-bezier(.2,.8,.2,1) 4.65s forwards}
.intro3d .i3skip{position:fixed;bottom:30px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:1px;color:rgba(255,255,255,.5);opacity:0;animation:i3rise .6s ease 1.8s forwards}
@keyframes i3logoin{0%{transform:scale(.62)}100%{transform:scale(1)}}
@keyframes i3flip{0%{transform:rotateY(0)}100%{transform:rotateY(180deg)}}@keyframes i3in{from{opacity:0}to{opacity:1}}
@keyframes i3rise{to{opacity:1;transform:translateY(0)}}
@keyframes i3tagin{0%{opacity:0;transform:translateY(12px) scale(.96)}60%{opacity:1}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes i3fadeout{to{opacity:0;transform:translateY(-6px)}}
@keyframes i3oliveout{to{opacity:0}}
@keyframes i3navyin{to{opacity:1}}
@keyframes i3shine{0%{left:-60%}100%{left:130%}}
@media (prefers-reduced-motion: reduce){.intro3d,.intro3d *{animation-duration:.01s!important}}
.trkaddbtn{margin-left:auto;font:inherit;font-size:13px;font-weight:700;border:1px solid var(--line2);background:var(--card);color:var(--ink);border-radius:8px;padding:5px 11px;cursor:pointer}
html[data-theme="dark"] .trkaddbtn{background:var(--paper2)}
.wbweek{padding:12px}
.wbwkhd{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.wbwklbl{font-weight:800;font-size:15px;border:1px solid transparent;background:transparent;color:var(--ink);width:130px;border-radius:6px;padding:3px 5px}
.wbwklbl:focus{border-color:var(--line2);background:var(--card)}
html[data-theme="dark"] .wbwklbl:focus{background:var(--paper2)}
.wbwktot{font-weight:800;font-variant-numeric:tabular-nums;color:var(--olive)}
.wbdelwk{margin-left:auto;font:inherit;font-size:12px;color:var(--muted);background:none;border:none;cursor:pointer;text-decoration:underline}
.wbsite{margin-top:10px}
.wbsitehd{display:flex;justify-content:space-between;font-weight:800;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:4px 2px;border-bottom:1px solid var(--line)}
.wbtbl{min-width:880px}
.wbtbl td{padding:3px 4px;vertical-align:middle}
.wbin{font:inherit;font-size:12.5px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:6px;padding:4px 6px;width:100%;box-sizing:border-box}
html[data-theme="dark"] .wbin{background:var(--paper2)}
.wbsup{min-width:150px}.wbacct{min-width:140px}.wbamt{text-align:right;min-width:96px;font-variant-numeric:tabular-nums}
.wbstat{font:inherit;font-size:11px;font-weight:800;border-radius:999px;padding:3px 10px;border:1px solid transparent;cursor:pointer;white-space:nowrap}
.wbstat.wbwarn{background:rgba(196,128,0,.16);color:#8a5a00;border-color:rgba(196,128,0,.32)}
.wbstat.wbok{background:rgba(40,135,55,.16);color:#1d6e2e;border-color:rgba(40,135,55,.32)}
.wbstat.wbpaid{background:var(--olive-soft);color:var(--olive);border-color:var(--olive)}
html[data-theme="dark"] .wbstat.wbwarn{color:#e0a93a}html[data-theme="dark"] .wbstat.wbok{color:#67c97a}
.wbdel{background:none;border:none;color:var(--muted);font-size:17px;cursor:pointer;line-height:1;padding:0 4px}
.wbadd{display:flex;gap:6px;margin-top:11px;flex-wrap:wrap;align-items:center}
.wbadd select,.wbadd input{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:6px 8px}
html[data-theme="dark"] .wbadd select,html[data-theme="dark"] .wbadd input{background:var(--paper2)}
.wbadd input{flex:1;min-width:120px}
.wbadd button{font:inherit;font-weight:700;background:var(--olive);color:#fff;border:none;border-radius:8px;padding:6px 14px;cursor:pointer;white-space:nowrap}
.wbempty{color:var(--muted);font-size:13px;padding:8px 2px}
.opexcard{padding:13px 15px}
.opexrow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:11px}
.opexrow label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.opexin{border:1px solid var(--line);border-radius:9px;padding:9px 12px;font:inherit;font-size:15px;font-weight:800;background:var(--paper);color:var(--ink);text-align:right;width:170px}
.opexgrid{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 11px}
.opexk{flex:1 1 calc(33.3% - 8px);min-width:120px;background:var(--paper2);border:1px solid var(--line);border-radius:11px;padding:10px 12px}
.opexk .v{font-size:17px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.opexk .l{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);margin-top:3px;line-height:1.3}
.opexk.big{background:linear-gradient(180deg,var(--olive-soft),var(--paper2));border-color:var(--olive)}
.opexk.big .v{color:var(--olive-d);font-size:22px}
.opexverdict{padding:10px 13px;border-radius:10px;font-size:12.5px;font-weight:700;line-height:1.5}
.opexverdict.ok{background:rgba(63,125,78,.12);color:var(--green);border:1px solid rgba(63,125,78,.32)}
.opexverdict.warn{background:rgba(214,69,63,.1);color:var(--red);border:1px solid rgba(214,69,63,.32)}
/* ===== CEO dashboard — professional visual layer ===== */
.cdash{margin-top:4px}
.cdash-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px;margin:10px 0 18px}
.chero{position:relative;background:var(--paper2);border:1px solid var(--line);border-radius:15px;padding:14px 15px 13px 18px;box-shadow:var(--shadow);overflow:hidden;container-type:inline-size}
.chero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--line2)}
.chero .cl{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.chero .cv{font-family:'IBM Plex Mono',monospace;font-size:18px;font-size:clamp(10px,5.6cqi,18px);font-weight:700;color:var(--ink);letter-spacing:-.02em;margin-top:5px;font-variant-numeric:tabular-nums;line-height:1.05;white-space:nowrap}
.chero .csub{font-size:10.5px;font-weight:600;color:var(--muted);margin-top:6px;line-height:1.35}
.chero .csub b{color:var(--ink2);font-weight:800}
.chero.feat{background:linear-gradient(135deg,var(--olive-soft),var(--paper2));border-color:var(--olive)}
.chero.feat::before{background:var(--olive)}
.chero.feat .cv{color:var(--olive-d);font-size:20px;font-size:clamp(10px,5.8cqi,19px)}
.chero.good::before{background:var(--green)} .chero.good .cv{color:var(--green)}
.chero.warn::before{background:var(--amber)} .chero.warn .cv{color:var(--amber)}
.chero.bad::before{background:var(--red)} .chero.bad .cv{color:var(--red)}
.cdash-sec{margin:18px 0}
.cdash-sect{font-family:'Lexend','Archivo',sans-serif;font-size:14px;font-weight:800;color:var(--ink);letter-spacing:-.01em;margin:0 2px 10px;display:flex;align-items:center;gap:9px}
.cdash-sect::before{content:"";width:4px;height:15px;border-radius:3px;background:var(--olive)}
.cbars{display:flex;flex-direction:column;gap:8px;margin:2px 0 12px;padding:14px 15px;background:var(--paper2);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.cbar-row{display:grid;grid-template-columns:84px 1fr auto;align-items:center;gap:11px}
.cbar-name{font-size:11.5px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cbar-track{height:9px;border-radius:6px;background:var(--line);overflow:hidden}
.cbar-fill{height:100%;border-radius:6px;transition:width .5s cubic-bezier(.4,0,.2,1)}
.cbar-amt{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:700;color:var(--ink2);font-variant-numeric:tabular-nums;white-space:nowrap}
.cp-good{background:var(--green)} .cp-mid{background:var(--amber)} .cp-bad{background:var(--red)}
.cpill{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;letter-spacing:.03em;padding:3px 9px 3px 7px;border-radius:20px;white-space:nowrap;text-transform:uppercase}
.cpill i{width:7px;height:7px;border-radius:50%;flex:0 0 auto}
.cpill.cp-good{background:rgba(63,125,78,.13);color:var(--green)} .cpill.cp-good i{background:var(--green)}
.cpill.cp-mid{background:rgba(224,146,43,.16);color:var(--amber-d)} .cpill.cp-mid i{background:var(--amber)}
.cpill.cp-bad{background:rgba(214,69,63,.13);color:var(--red)} .cpill.cp-bad i{background:var(--red)}
.cmwrap{display:flex;flex-direction:column;gap:4px;min-width:74px}
.cmval{font-family:'IBM Plex Mono',monospace;font-weight:700;font-variant-numeric:tabular-nums;font-size:12px}
.cmbar{height:6px;border-radius:4px;background:var(--line);overflow:hidden}
.cmfill{height:100%;border-radius:4px}
.cdash-tbl thead th{font-size:10px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;font-weight:800;border-bottom:1.5px solid var(--line2);white-space:nowrap}
.cdash-tbl td{font-size:12px;vertical-align:middle}
.cdash-tbl tbody tr:not(.ceotot):hover td{background:var(--olive-soft)}
.cdash-tbl td.num{font-family:'IBM Plex Mono',monospace;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.cdash-tbl tr.ceotot td.num{font-family:'IBM Plex Mono',monospace}
.cdash-opex{padding:0;overflow:hidden}
.copex-top{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.copex-run{background:var(--paper2);padding:16px 17px;position:relative}
.copex-run::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--olive)}
.copex-run.good::before{background:var(--green)} .copex-run.warn::before{background:var(--amber)} .copex-run.bad::before{background:var(--red)}
.copex-run .cl{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.copex-run .crun{font-family:'IBM Plex Mono',monospace;font-size:34px;font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1;margin:7px 0 5px;font-variant-numeric:tabular-nums}
.copex-run.good .crun{color:var(--green)} .copex-run.warn .crun{color:var(--amber)} .copex-run.bad .crun{color:var(--red)}
.copex-run .csub{font-size:10.5px;color:var(--muted);font-weight:600}
.copex-in{background:var(--paper2);padding:16px 17px;display:flex;flex-direction:column;justify-content:center;gap:7px}
.copex-in label{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.copex-in .opexin{width:100%;text-align:right}
.copex-in .copex-note{font-size:10px;color:var(--muted);font-weight:600}
.copex-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line)}
.copex-cell{background:var(--paper2);padding:11px 13px}
.copex-cell .v{font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.copex-cell .v.gpos{color:var(--green)} .copex-cell .v.gneg{color:var(--red)}
.copex-cell .l{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);margin-top:3px;line-height:1.3}
.cdash-opex .opexverdict{margin:13px}
.cdash-foot{margin:10px 2px 0;padding:13px 16px;border-radius:13px;background:linear-gradient(135deg,var(--olive-soft),var(--paper2));border:1px solid var(--olive);display:flex;justify-content:space-between;align-items:center;gap:10px}
.cdash-foot span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.cdash-foot b{font-family:'IBM Plex Mono',monospace;font-size:19px;color:var(--olive-d);font-variant-numeric:tabular-nums}
@media(max-width:380px){.copex-top{grid-template-columns:1fr}.cbar-row{grid-template-columns:72px 1fr auto}}

.expbtn{flex:1;border:1px solid var(--line);background:var(--paper2);color:var(--ink2);font:inherit;font-weight:800;font-size:12px;padding:9px 8px;border-radius:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;box-shadow:var(--shadow)}
.expbtn:active{background:var(--paper)}
.expbtn svg{width:15px;height:15px;flex:none}
#printRoot{display:none}
@media print{
 @page{size:auto;margin:13mm}
 html,body{background:#fff !important}
 body.printing>*{display:none !important}
 body.printing #printRoot{display:block !important}
 .rpt{font-family:'Archivo',Arial,sans-serif;color:#111}
 .rpthd{border-bottom:2px solid #111;padding-bottom:9px;margin-bottom:15px}
 .rptbrand{font-size:9.5px;font-weight:800;letter-spacing:.09em;color:#c8530f}
 .rpttl{font-size:23px;font-weight:800;margin-top:2px}
 .rptsub{font-size:12px;color:#555;margin-top:1px}
 .rptdate{font-size:9.5px;color:#888;margin-top:3px}
 .rptsec{margin:13px 0;break-inside:avoid}
 .rptsect{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#333;margin-bottom:6px}
 .rpttbl{width:100%;border-collapse:collapse;font-size:10px;table-layout:auto}
 .rpttbl th{background:#efefef;text-align:left;padding:5px 7px;border:1px solid #b9b9b9;font-size:9px;text-transform:uppercase;letter-spacing:.02em}
 .rpttbl td{padding:5px 7px;border:1px solid #cfcfcf}
 .rpttbl td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
 .rpttbl tr.tot td{font-weight:800;border-top:2px solid #111;background:#f7f7f7}
}
.hsrc{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted2);margin:10px 2px 6px}
/* monthly billing breakdown (in-app) */
.autotag{display:inline-block;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--olive-d);background:var(--olive-soft);border-radius:4px;padding:1px 4px;margin-left:5px}
html[data-theme="dark"] .autotag{background:#3a2316;color:#d98a4e}
.mobill{margin:9px 0 2px;padding:10px 12px;border:1px solid var(--line);border-left:3px solid var(--olive);border-radius:11px;background:var(--paper)}
.mobillrow{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12.5px}
.mobillrow span{font-weight:700;color:var(--ink2);text-transform:uppercase;font-size:10.5px;letter-spacing:.03em}
.mobillrow b{font-size:15px;font-weight:900;color:var(--olive-d);font-variant-numeric:tabular-nums}
html[data-theme="dark"] .mobillrow b{color:#e2935a}
.mobillrow.proj{margin-top:7px}
.mobillrow.proj b{color:var(--ink2)}
.mobillbrk{font-size:10.5px;font-weight:600;color:var(--muted);margin-top:2px;line-height:1.45;font-variant-numeric:tabular-nums}
.mobillprint{margin-top:9px;width:100%;border:1px solid var(--olive);background:var(--olive-soft);color:var(--olive-d);font:inherit;font-weight:800;font-size:12px;padding:8px;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px}
.mobillprint svg{width:15px;height:15px}
html[data-theme="dark"] .mobillprint{background:#3a2316;color:#e2935a}
@media print{
  @page billing{size:8.5in 14in;margin:14mm}
  body.printbill #printRoot{page:billing}
  body.printbill .billdoc{font-family:'Archivo',Arial,sans-serif;color:#1a1a1a}
  .billhd{display:flex;align-items:center;gap:16px;background:#3a3a3a;padding:14px 18px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .billlogo{flex:0 0 auto;width:64px;height:64px;color:#fff}
  .billlogo svg{width:64px;height:64px;fill:#fff}
  .billco{color:#fff}
  .billcn{font-size:23px;font-weight:800;letter-spacing:.01em;line-height:1.05}
  .billca{font-size:11px;margin-top:3px;color:#e6e6e6}
  .billcc{font-size:10.5px;margin-top:2px;color:#cfcfcf}
  .billrule{height:9px;background:#7a8a2e;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .billmeta{margin:22px 0 14px;font-size:12px;line-height:2}
  .billmeta b{font-weight:700}
  .billtbl{width:100%;border-collapse:collapse;font-size:12px}
  .billtbl td{padding:7px 12px}
  .billtbl .bv{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
  .billsect td{background:#c9c9c9;text-align:center;font-weight:800;letter-spacing:.04em;padding:8px;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-top:1px solid #9a9a9a;border-bottom:1px solid #9a9a9a}
  .billtbl tr.billgap td{border-bottom:1px solid #cfcfcf;padding-bottom:14px}
  .billtbl tr.billgap+tr td{padding-top:14px}
  .billband td{background:#b8b8b8;font-weight:800;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .billsign{display:flex;justify-content:space-between;gap:40px;margin-top:60px}
  .bsc{flex:1}
  .bsl{font-size:12px;margin-bottom:34px}
  .bsig{border-bottom:1px solid #1a1a1a;margin-bottom:3px}
  .bsn{font-size:13px;font-weight:800;text-decoration:underline}
  .bsr{font-size:11px;color:#333}
}
.hrow{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line);background:var(--paper2);border-radius:11px;margin-bottom:7px}
.hrn{flex:1;font-weight:700;font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hrt{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;color:var(--olive-d);white-space:nowrap}
.hrow .mini.hview{color:var(--steel);border-color:var(--steel)}
html[data-theme="dark"] .hrow,html[data-theme="dark"] .hcard{background:#0e151d}
html[data-theme="dark"] .vobar{background:#9a7d22;color:#fff}
.acctstrip{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;background:var(--paper2);border:1px solid var(--line);border-radius:11px;padding:9px 12px;margin-bottom:12px;font-size:12.5px;color:var(--ink2)}
.acctstrip b{color:var(--ink)}
.acctstrip button{flex:none;border:0;background:var(--olive);color:#fff;font:inherit;font-weight:800;font-size:11.5px;padding:7px 12px;border-radius:8px;cursor:pointer}
.oshome .oshero,.ossoon .oshero{padding-top:10px}
.osll{color:#fff}
.osll svg{width:34px;height:34px}
.osgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:540px;margin:8px auto 18px}
.ostile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;text-align:center;width:100%;min-height:122px;background:var(--paper2);border:1px solid var(--line);border-radius:16px;padding:18px 12px;cursor:pointer;font:inherit;color:var(--ink);box-shadow:var(--shadow);position:relative;animation:osrise .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--osd,0ms)}
.ostile:hover{border-color:var(--olive)}
.ostile:active{transform:scale(.99)}
.hcard:focus-visible,.ostile:focus-visible,.mini:focus-visible,.tb-phase:focus-visible,.tb-trade:focus-visible{outline:2px solid var(--olive);outline-offset:2px}
@keyframes osrise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.osico{width:52px;height:52px;flex:none;border-radius:13px;background:var(--olive-soft);color:var(--olive-d);display:grid;place-items:center}
.osico svg{width:27px;height:27px}
.ostx{flex:1;min-width:0;display:block}
.osname{font-family:'Lexend','Archivo',sans-serif;font-weight:700;font-size:14.5px;letter-spacing:-.01em;color:var(--ink);text-align:center;line-height:1.2}
.osgo{font-size:11px;font-weight:800;color:var(--olive-d);letter-spacing:.02em;margin-left:auto}
.osbadge{position:absolute;top:9px;right:9px;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--olive-d);background:var(--olive-soft);padding:2px 7px;border-radius:999px}
.osdesc{display:block;font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:4px}
.ostile.soon .osico{background:var(--line2);color:var(--muted)}
.osfoot{margin:2px 4px 14px;text-align:center;font-size:12px}
.sooncard{max-width:560px;margin:0 auto;background:var(--paper2);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.soonlead{font-size:13.5px;color:var(--ink2);line-height:1.55;margin:0 0 10px}
.soonlist{list-style:none;margin:6px 0 14px;padding:0}
.soonlist li{position:relative;padding:7px 0 7px 24px;font-size:13px;color:var(--ink2);border-bottom:1px solid var(--line2)}
.soonlist li:last-child{border-bottom:0}
.soonlist li:before{content:"";position:absolute;left:4px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--olive)}
.soonnote{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 14px}
.osback{background:var(--ink);color:var(--paper2)}
html[data-theme="dark"] .osback{background:#0f1216;color:var(--ink)}
.acform{display:flex;flex-direction:column;gap:11px}
.acform .fld{display:flex;flex-direction:column;gap:4px}
.acform .fld span{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.acform input{font:inherit;font-size:15px;padding:11px 12px;border:1px solid var(--line2);border-radius:9px;background:var(--paper);color:var(--ink);width:100%}
.acform input:focus{outline:2px solid var(--olive);border-color:var(--olive)}
/* ---- Admin dashboard: wide web layout + grid ---- */
body.adminwide main{max-width:min(2200px,95vw)}
@media(min-width:760px){ .apg{grid-template-columns:repeat(3,1fr)} }
@media(min-width:1100px){ .apg{grid-template-columns:repeat(6,1fr)} .apk .v{font-size:15px} }
.aprojhead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0 9px}
.aprojhead .secttl{margin:0}
.alseg{display:inline-flex;gap:2px;background:var(--paper2);border:1px solid var(--line);border-radius:9px;padding:2px}
.alseg button{border:0;background:transparent;font:inherit;font-weight:800;font-size:11.5px;color:var(--muted);padding:6px 12px;border-radius:7px;cursor:pointer}
.alseg button.on{background:var(--olive);color:#fff}
.aprojwrap.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,560px),1fr));align-items:start}
.acgantt{margin:8px 0 4px}
.aprojc{background:var(--paper2);border:1px solid var(--line);border-radius:13px;padding:13px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.aprojc h4{margin:0 0 2px;font-family:'Lexend','Archivo',sans-serif;font-weight:800;font-size:14.5px;color:var(--ink);display:flex;align-items:center;gap:7px;flex-wrap:wrap;line-height:1.2}
.aprojc .ameta{font-size:10.5px;color:var(--muted);font-weight:600;margin:0 0 8px}
.acbig{font-family:'IBM Plex Mono',monospace;font-weight:800;font-size:19px;color:var(--ink);line-height:1}
.acmx{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;margin:8px 0}
.acmx .k{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}
.acmx .x{font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:13px;color:var(--ink);margin-top:1px}
.aprojc .atop{font-size:11px;color:var(--ink2);margin:0 0 8px}
.aproc1{font-size:11px;line-height:1.4;padding:6px 9px;border-radius:7px;border-left:3px solid var(--line2);color:var(--ink2);background:rgba(120,130,140,.07);margin:0 0 9px}
.aproc1.warn{background:rgba(187,70,52,.13);border-left-color:#bb4634}
.aproc1.ok{background:rgba(110,140,60,.12);border-left-color:var(--olive)}
.aproc1.info{background:rgba(120,130,140,.10);border-left-color:#9aa6b1}
.aproc1 b{color:var(--ink)}
.aprojc .pmbtns{margin-top:auto}
.aprojc .pmbtns button{width:100%}
.vobtns{display:flex;gap:8px;flex:none}
.agantt{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:10px 0 6px}
.atlabel{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:9px 0 6px}
.atlist{display:flex;flex-direction:column;gap:5px}
.atrow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:9px 11px;cursor:pointer;font:inherit}
.atrow:hover{border-color:var(--olive)}
.atrow.open{border-color:var(--olive);background:var(--paper2)}
.atrow .atn{flex:1;font-weight:700;font-size:12.5px;color:var(--ink)}
.atrow .atcost{font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:12px;color:var(--ink)}
.atrow .atcar{color:var(--muted);font-size:11px;transition:transform .15s ease}
.atrow.open .atcar{transform:rotate(180deg)}
.atpanel{background:var(--paper2);border:1px solid var(--line2);border-radius:9px;margin:1px 0 4px;padding:10px 12px}
.atmat{display:flex;flex-direction:column;gap:4px}
.atml{display:grid;grid-template-columns:1fr auto auto;gap:6px 12px;font-size:12px;align-items:baseline}
.atml .atmn{color:var(--ink)}
.atml .atmq{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);text-align:right}
.atml .atmc{font-family:'IBM Plex Mono',monospace;color:var(--ink);font-weight:600;text-align:right}
.atfoot{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line2);font-size:11.5px;color:var(--ink2)}
.atfoot b{color:var(--ink);font-family:'IBM Plex Mono',monospace}
.atfoot .atsub b{color:var(--olive-d)}
.adet{margin:8px 0 12px;border:1px solid var(--line);border-radius:11px;background:var(--paper2);overflow:hidden}
.adet>summary{cursor:pointer;list-style:none;padding:11px 13px;font-weight:800;font-size:12.5px;color:var(--ink);display:flex;align-items:center;gap:9px}
.adet>summary::-webkit-details-marker{display:none}
.adet>summary::before{content:"\25b8";color:var(--olive);font-size:11px;transition:transform .15s ease;display:inline-block}
.adet[open]>summary::before{transform:rotate(90deg)}
.adet .adetbody{padding:0 13px 12px}
html[data-theme="dark"] .atrow,html[data-theme="dark"] .atpanel,html[data-theme="dark"] .adet{background:#0e151d}
.secttl.tog{cursor:pointer;user-select:none}
.secttl.tog .togcar{display:inline-block;margin-left:8px;font-size:11px;color:var(--muted);transition:transform .15s ease}
.secttl.tog.open .togcar{transform:rotate(180deg)}
.subttl.tog{cursor:pointer;user-select:none;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper2);margin-top:8px}
.subttl.tog:hover{border-color:var(--olive)}
.subttl.tog .togcar{margin-left:auto;font-size:11px;color:var(--muted);transition:transform .15s ease;flex:none}
.subttl.tog.open .togcar{transform:rotate(180deg)}
#matCard .subttl.tog:first-child{margin-top:0}
html[data-theme="dark"] .subttl.tog{background:#0e151d}
.crewtrade{margin-bottom:13px}
.crewtiers{display:flex;flex-direction:column;gap:5px}
.crewtier{display:flex;align-items:center;gap:6px}
.crewtier input{padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font:inherit;font-size:14px}
.crewtier .cti{width:62px;text-align:center}
.crewtier .ctr{flex:1;min-width:88px}
.crewtier .cx{color:var(--muted);font-weight:800}
.crewtier .ctu{color:var(--muted);font-size:11px;white-space:nowrap}
.crewtier .ctdel{border:1px solid var(--line);background:transparent;color:var(--muted);width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:15px;line-height:1;flex:none;padding:0}
.crewtier .ctdel:hover{border-color:#c8503a;color:#c8503a}
.ctadd{margin-top:6px}
.crewsum{font-size:11.5px;color:var(--ink2);margin-top:8px;line-height:1.5}
html[data-theme="dark"] .crewtier input{background:#0e151d}
.crewlbl{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 5px;display:flex;align-items:center;gap:6px}
.crewlbl .u{font-weight:600;text-transform:none;letter-spacing:0;color:var(--muted)}
.crewlbl .opt{font-weight:700;text-transform:none;letter-spacing:0;color:#b5651d;background:rgba(181,101,29,.13);padding:1px 7px;border-radius:999px;font-size:10px}
.crewnone{font-size:12px;color:var(--muted);padding:2px 0 4px}
.crewperson{display:flex;align-items:center;gap:7px;margin:4px 0}
.crewperson .cpn{flex:1;min-width:0;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crewperson .cpn .cpp{font-size:10.5px;color:var(--muted);font-weight:600}
.crewperson .ctr{width:96px;flex:none}
.crewsearchwrap{margin-top:7px}
.crewsearch{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font:inherit;font-size:13px}
.crewresults{display:flex;flex-direction:column;gap:3px;margin-top:5px}
.crewopt{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;border:1px solid var(--line);background:var(--paper2);border-radius:8px;padding:7px 10px;cursor:pointer;font:inherit;font-size:12.5px;color:var(--ink)}
.crewopt:hover{border-color:var(--olive);background:var(--paper)}
.crewopt .con b{font-weight:800}
.crewopt .cop{font-size:10.5px;color:var(--muted);font-weight:700;white-space:nowrap}
.crewopt.cadd{color:var(--olive);font-weight:700;justify-content:flex-start}
.crewsum .cpct{color:var(--olive);font-weight:700}
html[data-theme="dark"] .crewsearch{background:#0e151d}
html[data-theme="dark"] .crewopt{background:#0e151d}
