/* HeroX HQ v3.2 theme — clean, light, AI-first (Dan, 24 Oct: "similar to Workday, cleaner and AI-native").
   Loaded after every other stylesheet: it re-tokens the app and restyles the shell, cards, tables, buttons and inputs.
   Action colour blue; HeroX red stays only on the logo mark. */
:root{
  --bg:#f4f6f8;--surface:#fff;--surface2:#f5f7f9;--border:#e3e7eb;--grid:#e6e9ed;--gridh:#f8f9fb;
  --ink:#1f262e;--ink2:#4f5b67;--ink3:#8a96a3;
  --action:#0875e1;--action2:#005cb9;--action3:#004387;--action-soft:#e8f2fd;
  --brand:#1f262e;--brand2:#333d47;--accent:#0875e1;--accent-soft:#e8f2fd;--sel:#0875e1;
  --ok:#1f7a3a;--ok-soft:#e5f6e9;--warn:#9a5700;--warn-soft:#fff1db;--bad:#c0281d;--bad-soft:#ffebe9;--info:#004387;--info-soft:#e3effc;--grey-soft:#eef1f4;--pur:#5b3a91;--pur-soft:#efe7fb;
  --sh1:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.04);--sh2:0 8px 28px rgba(16,24,40,.10),0 2px 6px rgba(16,24,40,.05);
  --nav:240px;--r:12px;--top:64px;
  --eg-l:#eef1f4;--eg-r:#e3e8ed;--eg-line:#cdd4db;--eg-line2:#d8dee4;--eg-a1:#cfe3fb;--eg-on:#f6faff
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0f1419;--surface:#161c23;--surface2:#1c242c;--border:#28323c;--grid:#2a333d;--gridh:#1a2129;
  --ink:#e8edf2;--ink2:#a7b3bf;--ink3:#76838f;--action:#4da3f7;--action2:#7cbcfa;--action3:#a9d2fc;--action-soft:#14304d;
  --brand:#0b0f13;--accent:#4da3f7;--accent-soft:#14304d;--sel:#4da3f7;
  --ok:#8fdba6;--ok-soft:#173826;--warn:#f2c46d;--warn-soft:#3a2c12;--bad:#ff9a8f;--bad-soft:#41201c;--info:#9cc8f5;--info-soft:#15304a;--grey-soft:#262e37;--pur:#cdb4f2;--pur-soft:#2e2443;
  --sh1:0 1px 2px rgba(0,0,0,.3);--sh2:0 10px 30px rgba(0,0,0,.45);
  --eg-l:#1e2731;--eg-r:#19212a;--eg-line:#36434f;--eg-line2:#2d3843;--eg-a1:#245a8f;--eg-on:#1a2531}}
html,body{background:var(--bg);color:var(--ink);font:14px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--action)}
.ic{width:18px;height:18px;flex-shrink:0}

/* ---------- side navigation ---------- */
#nav{width:var(--nav);background:var(--surface);color:var(--ink2);border-right:1px solid var(--border)}
#nav .brand{padding:18px 18px 12px;border-bottom:0}
#nav .brand .logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
#nav .brand .logo i{width:28px;height:28px;border-radius:8px;background:var(--hx);display:block;position:relative;flex-shrink:0}
#nav .brand .logo i:after{content:'';position:absolute;left:6px;right:6px;bottom:8px;height:10px;border-radius:12px 12px 1px 1px;background:#fff}
#nav .brand b{font-size:16px;font-weight:700;letter-spacing:-.2px}#nav .brand b:before{display:none}
#nav .links{padding:4px 0 10px}
#nav a.l{margin:1px 10px;padding:7px 10px;border-radius:9px;color:var(--ink2);font-size:13.5px;font-weight:500;border-left:0;gap:11px}
#nav a.l .ic{color:var(--ink3)}
#nav a.l:hover{background:var(--surface2);color:var(--ink)}#nav a.l:hover .ic{color:var(--ink2)}
#nav a.l.on{background:var(--action-soft);color:var(--action2);font-weight:600}#nav a.l.on .ic{color:var(--action)}
#nav .grp{font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3);opacity:1;padding:14px 20px 4px}
#nav .navmini{display:flex;flex-wrap:wrap;gap:4px;padding:2px 12px 6px 40px}
#nav .navmini a.l{margin:0;padding:2px 9px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:500;color:var(--ink2)}
#nav .navmini a.l.on{border-color:var(--action);background:var(--action-soft);color:var(--action2)}
#nav .me{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--border);font-size:12.5px;opacity:1;color:var(--ink)}
#nav .me .av{width:32px;height:32px;font-size:12px}
#nav .me .me-n{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#nav .me .me-r{color:var(--ink3);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#nav .me button{background:none;border:0;color:var(--ink3);cursor:pointer;padding:6px;margin:0;border-radius:8px;display:inline-flex}
#nav .me button:hover{background:var(--surface2);color:var(--ink)}
.av{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:600}

/* ---------- main + top bar ---------- */
#main{margin-left:var(--nav);padding:0 32px 90px}
#topbar{display:flex;align-items:center;gap:14px;height:var(--top);margin:0 -32px 22px;padding:0 32px;position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;color:var(--ink)}
#topbar #mnav{display:none;background:none;border:0;color:var(--ink);cursor:pointer;padding:6px;border-radius:8px}
#gs{position:relative;flex:1;max-width:640px;display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;height:42px;padding:0 12px 0 14px;gap:8px;box-shadow:var(--sh1);transition:box-shadow .15s,border-color .15s}
#gs.focus{border-color:var(--action);box-shadow:0 0 0 4px var(--action-soft)}
#gs .gs-ic{display:flex;color:var(--ink3)}
#gs input{flex:1;border:0;background:none;outline:0;font-size:14px;color:var(--ink);min-width:0}
#gs input::placeholder{color:var(--ink3)}
#gs kbd{font:500 11px/1 Inter,system-ui,sans-serif;color:var(--ink3);border:1px solid var(--border);border-radius:5px;padding:3px 6px}
.gs-r{display:none;position:absolute;left:0;right:0;top:48px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh2);padding:6px;max-height:70vh;overflow:auto;z-index:70}
.gs-r.on{display:block}
.gs-i{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;text-decoration:none;color:var(--ink)}
.gs-i.on,.gs-i:hover{background:var(--surface2)}
.gs-i .gs-ii{width:32px;height:32px;border-radius:9px;background:var(--surface2);display:flex;align-items:center;justify-content:center;color:var(--ink2);flex-shrink:0}
.gs-i.ask .gs-ii{background:linear-gradient(135deg,#0875e1,#7b5cf5);color:#fff}
.gs-i.on .gs-ii{background:var(--surface)}.gs-i.ask.on .gs-ii{background:linear-gradient(135deg,#0875e1,#7b5cf5)}
.gs-t{display:block;font-weight:550;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gs-s{display:block;font-size:12px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-none{padding:10px 12px;font-size:12.5px;color:var(--ink3)}
.ai-btn{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 16px 0 13px;border-radius:999px;border:0;cursor:pointer;font-weight:600;font-size:13.5px;color:#fff;background:linear-gradient(135deg,#0875e1 0%,#5b63f0 60%,#8a5cf5 100%);box-shadow:0 4px 14px rgba(8,117,225,.28)}
.ai-btn:hover{filter:brightness(1.06)}
#ai{position:static}

/* ---------- assistant panel ---------- */
#aipanel{position:fixed;top:0;right:0;bottom:0;left:auto;width:440px;max-width:100vw;height:auto;max-height:none;display:flex;flex-direction:column;z-index:160;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--sh2);border-radius:0;transform:translateX(105%);transition:transform .22s ease}
#aipanel.on{transform:none}
#aipanel .ai-h{display:flex;align-items:center;gap:10px;padding:0 14px 0 18px;height:var(--top);border-bottom:1px solid var(--border)}
#aipanel .ai-mark{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#0875e1,#8a5cf5)}
#aipanel .ai-x{background:none;border:0;color:var(--ink2);cursor:pointer;padding:6px;border-radius:8px;display:flex}#aipanel .ai-x:hover{background:var(--surface2)}
#aipanel .msgs{flex:1;overflow:auto;padding:18px}
#aipanel .ai-hello{padding:4px 2px 2px}#aipanel .ai-hello b{font-size:16px}
#aipanel .ai-sugs{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:14px}
#aipanel .ai-f{display:flex;gap:8px;padding:14px 16px;border-top:1px solid var(--border)}
#aipanel .ai-f .in{border-radius:999px;padding:9px 16px}
#aipanel .ai-f .btn{width:40px;height:40px;padding:0;justify-content:center}
.msg{border-radius:14px;padding:10px 14px}.msg.u{background:var(--action);color:#fff}.msg.a{background:var(--surface2)}
.msg.u .src{color:rgba(255,255,255,.8)}
@media (min-width:1600px){body.ai-open #main{margin-right:440px}}

/* ---------- type, cards, KPIs ---------- */
h1{font-size:26px;font-weight:700;letter-spacing:-.4px;line-height:1.25}
h2{font-size:16px;font-weight:650;letter-spacing:-.1px}
.sub{color:var(--ink2);font-size:13px}
.card{border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh1)}
.pad{padding:16px 18px}
.kpis{gap:12px}
.kpi{border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh1)}
.kpi .k{font-size:12.5px;font-weight:500;color:var(--ink2)}.kpi .v{font-size:26px;font-weight:700;letter-spacing:-.4px;margin-top:4px}.kpi .s{font-size:12px;margin-top:4px}
.kpi.big{border-color:var(--border);background:linear-gradient(180deg,var(--action-soft),var(--surface))}.kpi.big .v{color:var(--action2)}
.mt{margin-top:16px}.mt2{margin-top:28px}

/* ---------- buttons, inputs, chips, tabs ---------- */
.btn{border-radius:999px;padding:7px 15px;font-weight:600;font-size:13px;border-color:var(--border);box-shadow:none;transition:background .12s,border-color .12s}
.btn:hover{background:var(--surface2);border-color:#cfd5dc}
.btn.p{background:var(--action);border-color:var(--action);color:#fff}.btn.p:hover{background:var(--action2);border-color:var(--action2)}
.btn.sm{padding:4px 11px;font-size:12px}
.btn.d{color:var(--bad)}
.in{border-radius:9px;border-color:#d5dbe1;padding:7px 11px;transition:border-color .12s,box-shadow .12s}
.in:focus{outline:0;border-color:var(--action);box-shadow:0 0 0 3px var(--action-soft)}
select.in{padding-right:28px}
.chip{font-weight:550}
.tabs{gap:4px;border-bottom:1px solid var(--border);margin-top:18px}
.tabs a{padding:10px 14px;font-weight:550;color:var(--ink2);border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a:hover{color:var(--ink)}
.tabs a.on{color:var(--action2);border-bottom-color:var(--action)}
.fseg{border-radius:999px;border-color:var(--border);background:var(--surface);padding:2px;gap:2px}
.fseg a{border-left:0;border-radius:999px;padding:5px 14px;font-weight:550}
.fseg a.on{background:var(--action);color:#fff;font-weight:600}
.alert{border-radius:10px;padding:10px 14px}
.bar{background:var(--grey-soft)}.bar i{background:var(--action)}

/* ---------- tables ---------- */
table.t th{font-size:12px;text-transform:none;letter-spacing:0;color:var(--ink2);font-weight:600;background:var(--surface);padding:10px 12px;border-bottom:1px solid var(--border)}
table.t td{padding:10px 12px;border-bottom:1px solid var(--grid)}
table.t tr.click:hover td{background:var(--surface2)}
table.t tr.tot td{background:var(--gridh)}
.card > .tw:first-child table.t th:first-child,.card > .tw:first-child{border-top-left-radius:var(--r)}
.sheet{border-radius:10px;border-color:var(--border)}
.sheet thead th{font-weight:600;color:var(--ink2)}

/* ---------- modal, drawer, toasts, login ---------- */
#modal{background:rgba(15,20,25,.42);backdrop-filter:blur(2px)}
#modal .box{border-radius:16px;box-shadow:var(--sh2)}
#drawer{box-shadow:var(--sh2);border-left:1px solid var(--border)}
.toast{background:var(--ink);color:var(--surface);border-radius:12px;padding:11px 16px;box-shadow:var(--sh2)}
@media (prefers-color-scheme:dark){.toast{background:#e8edf2;color:#161c23}}
#login{background:radial-gradient(1200px 600px at 20% -10%,var(--action-soft),transparent 60%),var(--bg)}
#login .box{border-radius:18px;box-shadow:var(--sh2);padding:28px}

/* ---------- Home ---------- */
.home{max-width:1180px;margin:0 auto}
.home-hero{padding:26px 0 8px;text-align:center}
.home-date{color:var(--ink3);font-size:13px;font-weight:500}
.home-hi{font-size:32px;margin-top:4px;letter-spacing:-.6px}
.home-ask{display:flex;align-items:center;gap:10px;max-width:760px;margin:22px auto 0;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:8px 8px 8px 20px;box-shadow:var(--sh2)}
.home-ask:focus-within{border-color:var(--action);box-shadow:0 0 0 4px var(--action-soft),var(--sh2)}
.home-ask > .ic{color:#7b5cf5;width:22px;height:22px}
.home-ask input{flex:1;border:0;outline:0;background:none;font-size:15.5px;color:var(--ink);min-width:0;height:40px}
.home-ask .btn{height:42px;padding:0 18px;font-size:14px}
.home-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:820px;margin:16px auto 0}
.hchip{border:1px solid var(--border);background:var(--surface);color:var(--ink2);border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer;text-align:left;transition:all .12s}
.hchip:hover{border-color:var(--action);color:var(--action2);background:var(--action-soft)}
.home-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;margin-top:30px}.home-grid > *{min-width:0}.hai{min-width:0}
.home-card{padding:18px 18px 12px}
.hc-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}
.hact{display:flex;flex-direction:column}
.hai{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:10px;text-decoration:none;color:var(--ink)}
.hai + .hai{border-top:1px solid var(--grid)}
.hai:hover{background:var(--surface2)}
.hai-ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hai-ic.bad{background:var(--bad-soft);color:var(--bad)}.hai-ic.warn{background:var(--warn-soft);color:var(--warn)}.hai-ic.info{background:var(--info-soft);color:var(--info)}
.hai-t{display:block;font-weight:550;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hai-s{display:block;font-size:12px;color:var(--ink3)}
.hai-go{color:var(--ink3);display:flex}
.hact-empty{display:flex;gap:12px;align-items:center;padding:18px 8px;color:var(--ok)}.hact-empty .ic{width:28px;height:28px}.hact-empty b{color:var(--ink)}
.hglance{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hg{display:flex;flex-direction:column;padding:12px 14px;border:1px solid var(--grid);border-radius:12px;text-decoration:none;color:var(--ink);background:var(--surface)}
.hg:hover{border-color:var(--action);background:var(--action-soft)}
.hg-k{font-size:12px;color:var(--ink2);font-weight:500}.hg-v{font-size:22px;font-weight:700;letter-spacing:-.3px;margin-top:2px}.hg-s{font-size:11.5px;color:var(--ink3);margin-top:2px}
.home-sec{margin-bottom:12px}
.apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.app{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;text-decoration:none;color:var(--ink);box-shadow:var(--sh1);transition:all .12s}
.app:hover{border-color:var(--action);box-shadow:var(--sh2);transform:translateY(-1px)}
.app-ic{grid-row:1/3;width:40px;height:40px;border-radius:11px;background:var(--action-soft);color:var(--action);display:flex;align-items:center;justify-content:center}
.app-ic .ic{width:20px;height:20px}
.app-t{font-weight:650;font-size:14px}.app-d{font-size:12px;color:var(--ink3);line-height:1.35}

/* ---------- small screens ---------- */
@media (max-width:860px){
  #nav{transform:translateX(-100%);transition:transform .2s;box-shadow:var(--sh2)}#nav.open{transform:none}
  #main{margin-left:0;padding:0 14px 90px}
  #topbar{margin:0 -14px 14px;padding:0 14px;gap:8px;background:var(--surface);border-bottom-color:var(--border);color:var(--ink)}
  #topbar #mnav{display:flex}
  #topbar button{font-size:inherit}
  #gs kbd{display:none}
  .ai-btn span{display:none}#topbar .ai-btn{width:40px;padding:0;justify-content:center;background:linear-gradient(135deg,#0875e1 0%,#5b63f0 60%,#8a5cf5 100%);color:#fff;flex-shrink:0}
  .home-grid{grid-template-columns:1fr}
  .home-hi{font-size:26px}
  .hglance{grid-template-columns:1fr 1fr}
}

/* ---------- Your AI team: the engine (v3.3, 25 Oct — after donkey.trade's layered engine) ---------- */
.ai-tn{font-weight:300;color:var(--ink3);margin-right:2px;font-variant-numeric:tabular-nums}
.tabs a.on .ai-tn,h2 a .ai-tn{color:var(--action)}
.ai-eyebrow,.eng-eyebrow{font-size:11.5px;letter-spacing:.9px;text-transform:uppercase;color:var(--ink3);font-weight:500}
.eng-card{padding:18px 20px 16px;overflow:hidden}
.eng{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px;align-items:start;margin-top:4px;max-width:1010px}
.eng-fig{position:relative;min-width:0}
.eng-fig svg{width:100%;height:auto;display:block;overflow:visible;font-family:inherit}
.eng-hint{position:absolute;left:0;bottom:2px}
.eng-l{cursor:pointer;outline:none;transition:transform .55s cubic-bezier(.2,.75,.2,1)}
.eng-l.up{transform:translateY(-64px)}
.es-t{fill:var(--surface);stroke:var(--eg-line);stroke-width:.8;transition:fill .3s}
.es-l{fill:var(--eg-l);stroke:var(--eg-line);stroke-width:.6}.es-r{fill:var(--eg-r);stroke:var(--eg-line);stroke-width:.6}
.eng-l.on .es-t{fill:var(--eg-on)}
.eb-t{fill:var(--surface);stroke:var(--eg-line2);stroke-width:.5}.eb-l{fill:var(--eg-l);stroke:var(--eg-line2);stroke-width:.5}.eb-r{fill:var(--eg-r);stroke:var(--eg-line2);stroke-width:.5}
.eb.ea .eb-t{fill:var(--eg-a1);stroke:var(--action)}.eb.ea .eb-l{fill:var(--action);stroke:var(--action2)}.eb.ea .eb-r{fill:var(--action2);stroke:var(--action2)}
.eb.ea-soft .eb-t{fill:var(--eg-on);stroke:var(--action);stroke-dasharray:3 2}.eb.ea-soft .eb-l,.eb.ea-soft .eb-r{fill:var(--eg-a1);stroke:var(--action)}
.ed-s{fill:var(--surface);stroke:var(--eg-line);stroke-width:.8}.ed-r{fill:none;stroke:var(--eg-line);stroke-width:.6}
.ed.ea .ed-s{fill:var(--eg-a1);stroke:var(--action)}.ed.ea .ed-r{stroke:var(--action)}
.eg-grid{stroke:var(--eg-line2);stroke-width:.6}
.eg-mast{stroke:var(--action);stroke-width:2.2;stroke-linecap:round}.eg-node{fill:var(--action)}
.eg-lab{opacity:.5;transition:opacity .3s}.eng-l.on .eg-lab,.eng-l:hover .eg-lab{opacity:1}
.eg-num{font-size:19px;font-weight:300;fill:var(--ink3)}.eg-name{font-size:19px;font-weight:400;fill:var(--ink2)}.eg-sub{font-size:12.5px;fill:var(--ink3)}
.eng-l.on .eg-num{fill:var(--action)}.eng-l.on .eg-name{fill:var(--ink)}.eng-l.on .eg-sub{fill:var(--ink2)}
.eg-lead{stroke:var(--eg-line);stroke-width:1}.eng-l.on .eg-lead{stroke:var(--ink3)}
.eg-pill{opacity:0;transition:opacity .3s}.eng-l.on .eg-pill{opacity:1}
.eg-pill rect{fill:var(--surface);stroke:var(--action);stroke-width:1}.eg-pill text{fill:var(--action);font-size:10.5px;letter-spacing:.8px;font-weight:500}
.eng-link{stroke:var(--action);stroke-width:1.2;fill:none}
.eng-panel{transition:margin-top .45s cubic-bezier(.2,.75,.2,1);min-width:0}
.engp-h{font-size:20px;color:var(--action);font-weight:400;letter-spacing:-.2px;line-height:1.3}
.engp-does{list-style:none;margin:12px 0 0;padding:0}
.engp-does li{position:relative;padding:4px 0 4px 24px;color:var(--ink);font-size:14px}
.engp-does li:before{content:'';position:absolute;left:0;top:15px;width:13px;height:1px;background:var(--ink3)}
.engp-hr{height:1px;background:var(--border);margin:14px 0 4px}
.engp-f{display:flex;gap:10px;margin-top:10px}.engp-f i{width:9px;height:9px;background:var(--action);margin-top:6px;flex-shrink:0}
.engp-f b{color:var(--action);font-weight:500}
.eng-chips{display:none}
.road{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.road-c{border-top:2px solid var(--border);padding-top:10px}
.road-t{font-size:11.5px;letter-spacing:.9px;text-transform:uppercase;font-weight:600;margin-bottom:6px}
.road-t.ok{color:var(--ok)}.road-t.warn{color:var(--warn)}.road-t.info{color:var(--action)}.road-t.grey{color:var(--ink3)}
.road-c:has(.ok){border-top-color:var(--ok)}.road-c:has(.warn){border-top-color:var(--warn)}.road-c:has(.info){border-top-color:var(--action)}
.road ul{list-style:none;margin:0;padding:0}.road li{padding:4px 0;font-size:13.5px;border-bottom:1px solid var(--border)}.road li:last-child{border-bottom:0}
.skills{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}
.skill{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;box-shadow:var(--sh1);min-width:0}
@media (max-width:900px){
  .eng{grid-template-columns:1fr}.eng-link{display:none}.eng-panel{margin-top:0!important}.eng-hint{display:none}
  .eng-chips{display:flex;flex-wrap:wrap;gap:6px}.eng-chips .chip{cursor:pointer;border:1px solid var(--border);background:var(--surface)}
  .eng-chips .chip.on{border-color:var(--action);background:var(--action-soft);color:var(--action2)}
  .eg-lab{display:none}.road{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){.road{grid-template-columns:1fr}}

/* ---------- v3.4 (25 Oct): Jarvis on Home, the company map, sortable tables, resizable grid columns, EOS polish ---------- */
.jv{padding:18px 20px;border-color:color-mix(in srgb,var(--action) 28%,var(--border));background:linear-gradient(180deg,var(--action-soft),var(--surface) 70%)}
.jv-h{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.jv-h h2{margin:0;font-size:17px}
.jv-mark{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--action),#7b5cd6);flex-shrink:0}
.jv-mark .ic{width:18px;height:18px}
.jv-btns{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.jv-list{margin-top:12px;display:flex;flex-direction:column;gap:2px}
.jv-it{display:flex;gap:12px;align-items:center;padding:10px 4px;border-top:1px solid var(--border)}
.jv-who{font-size:11.5px;font-weight:600;color:var(--action2);background:var(--action-soft);border-radius:999px;padding:2px 9px;white-space:nowrap}
@media (max-width:700px){.jv-it{flex-wrap:wrap}.jv-it .jv-btns{width:100%}}
.map-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;gap:2px;background:var(--grey-soft)}
.map-bar.sm{height:10px}
.map-bar span{display:block;min-width:3px;cursor:pointer}
.map-leg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px}
.map-leg a{color:var(--ink2);text-decoration:none;display:inline-flex;align-items:center;gap:6px;padding:2px 6px;border-radius:6px}
.map-leg a.on{background:var(--action-soft);color:var(--action2)}
.map-leg i,.map-dot{width:10px;height:10px;border-radius:3px;display:inline-block}
.map-dot{margin-right:6px;vertical-align:-1px}
.map-steps{margin:10px 0 0 18px;padding:0;line-height:1.7}
table.t th.sorth{cursor:pointer;user-select:none;white-space:nowrap}
table.t th.sorth:hover{color:var(--ink)}
table.t th[data-sort]:after{content:' ▲';font-size:9px;color:var(--action)}
table.t th[data-sort="desc"]:after{content:' ▼'}
table.t td.rng{background:color-mix(in srgb,var(--action) 14%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--action) 45%,transparent)}
.sheet th .cres{position:absolute;right:-3px;top:0;bottom:0;width:7px;cursor:col-resize;z-index:2}
.sheet th .cres:hover{background:color-mix(in srgb,var(--action) 35%,transparent)}
.brief li.ck{list-style:none;margin-left:-16px}
body.tsel,body.tsel *{user-select:none!important}
/* EOS, prettier (Dan, 25 Oct): the V/TO, scorecard and people pages in the HQ look — blue headings, soft tints, rounded cards */
:root{--eos-navy:var(--action2);--eos-ink:var(--action2);--eos-line:var(--border);--eos-tint:var(--action-soft);--eos-tint-ink:var(--action2)}
.hq-title{background:linear-gradient(90deg,var(--action2),var(--action));color:#fff;border-radius:var(--r) var(--r) 0 0;font-weight:600;letter-spacing:.6px;text-transform:uppercase;font-size:12.5px;padding:11px 16px}
.vto{border-radius:var(--r);box-shadow:var(--sh1);border-color:var(--border)}
.vto-side{background:linear-gradient(180deg,var(--action),var(--action2));letter-spacing:4px}
.vto-hd{background:var(--surface2);color:var(--action2);border-bottom:1px solid var(--border);font-weight:600}
.vto-lab{font-weight:600;color:var(--action2)}
.vto-c{line-height:1.55}
#scg .grp td,#ppg .grp td{background:var(--action-soft);color:var(--action2);font-weight:600}
.eos-subnav{background:var(--grey-soft);border-radius:999px;padding:3px}
.eos-subnav a{border-radius:999px}
.ac-seat{border-radius:var(--r)!important;box-shadow:var(--sh1)}
/* company map: build progress */
.map-stage{list-style:none;padding:0;margin:0;display:grid;gap:6px;counter-reset:ms}
.map-stage li{counter-increment:ms;display:flex;gap:10px;align-items:baseline;color:var(--ink3)}
.map-stage li:before{content:counter(ms);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--grey-soft);color:var(--ink3);font-size:12px;font-weight:700;flex-shrink:0}
.map-stage li.done{color:var(--ink2)}.map-stage li.done:before{content:'✓';background:var(--ok-soft);color:var(--ok)}
.map-stage li.on{color:var(--ink);font-weight:600}.map-stage li.on:before{background:var(--action);color:#fff}
.map-stage li .sub{font-weight:400}
/* Finance → Cash Flow, clean view (polish of Dan's sheet: same structure, calmer colours) */
:root{--cf-head:#17324f;--cf-head-ink:#fff;--cf-proj:#eaf1f8;--cf-proj-ink:#12324f;--cf-sec:#f2f4f7;--cf-sec-ink:var(--ink);--cf-sec2:#e4e8ee;--cf-sec2-ink:var(--ink);--cf-dark:#4f5b67;--cf-dark-ink:#fff;--cf-good:#e5f6e9;--cf-good-ink:#1f7a3a;--cf-bad:#fdecea;--cf-bad-ink:#b3261e;--cf-warn:#fff3dc;--cf-warn-ink:#8a5200;--cf-info:#e8f2fd;--cf-info-ink:#004387;--cf-mute:transparent;--cf-mute-ink:var(--ink3);--cf-act:#f6f9fd}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--cf-head:#1d3a57;--cf-proj:#1a2633;--cf-proj-ink:#cfe0f3;--cf-sec:#1e262f;--cf-sec2:#26303b;--cf-dark:#3a4652;--cf-good:#173826;--cf-good-ink:#8fdba6;--cf-bad:#41201c;--cf-bad-ink:#ff9a8f;--cf-warn:#3a2c12;--cf-warn-ink:#f2c46d;--cf-info:#14304d;--cf-info-ink:#9cc8f5;--cf-act:#18202a}}
:root[data-theme="dark"]{--cf-head:#1d3a57;--cf-proj:#1a2633;--cf-proj-ink:#cfe0f3;--cf-sec:#1e262f;--cf-sec2:#26303b;--cf-dark:#3a4652;--cf-good:#173826;--cf-good-ink:#8fdba6;--cf-bad:#41201c;--cf-bad-ink:#ff9a8f;--cf-warn:#3a2c12;--cf-warn-ink:#f2c46d;--cf-info:#14304d;--cf-info-ink:#9cc8f5;--cf-act:#18202a}
.wb.pretty{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh1)}
.wbt.pretty{font:12.5px/1 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}
.wbt.pretty th,.wbt.pretty td{height:26px;max-height:26px;line-height:25px;padding:0 8px;border-right:1px solid var(--grid);border-bottom:1px solid var(--grid);background:var(--surface);color:var(--ink)}
.wbt.pretty thead th{background:var(--surface2);color:var(--ink3);font-size:10.5px;font-weight:500;border-color:var(--border);height:24px;max-height:24px;line-height:23px}
.wbt.pretty thead th.bud{color:var(--action2);font-weight:600}.wbt.pretty thead th.act{color:var(--ink3);font-style:normal}
.wbt.pretty td.rn,.wbt.pretty th.rn{background:var(--surface2);color:var(--ink3);border-color:var(--border)}
.wbt.pretty td.rn.gh{background:var(--surface2)}
.wbt.pretty td.ac{background:var(--cf-act)}
.wbt.pretty td.ro:not(.robg){color:var(--ink2)!important}.wbt.pretty td.ro.robg{font-style:normal}
.wbt.pretty td.z{color:var(--ink3)!important;opacity:.7}
.wbt.pretty tr:hover td:not(.rn){box-shadow:inset 0 1px 0 var(--action-soft),inset 0 -1px 0 var(--action-soft)}
.wbt.pretty td.sel{outline:2px solid var(--action);outline-offset:-2px}
.wbt.pretty .wbtog{border-color:var(--border);background:var(--surface);color:var(--ink2);border-radius:4px;width:16px;height:16px;line-height:13px;margin-top:5px}
.wbt.pretty td.fz{box-shadow:inset -1px 0 0 var(--border)}
.wbview{display:inline-flex;align-items:center;gap:10px;margin-left:auto;font-size:12px;color:var(--ink2)}
.wbview label{display:inline-flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}
.wbview input{margin:0}
.fseg.sm a{padding:3px 10px;font-size:12px}
/* Home · Jarvis: exact action before the yes, events, 24-hour undo log */
.jv-row{border-top:1px solid var(--border)}
.jv-row .jv-it{border-top:0}
.jv-open{color:inherit;text-decoration:none;display:flex;flex-direction:column;min-width:0}
.jv-open:hover b{color:var(--action2)}
.jv-why{display:block}
.jv-ev{display:inline-block;font-size:11px;font-weight:700;color:var(--warn);background:var(--warn-soft);border-radius:999px;padding:1px 8px;margin-right:4px;vertical-align:1px}
.jv-det[hidden]{display:none}
.jv-det{margin:0 4px 12px 4px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);display:grid;gap:8px}
.jv-what{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--action2);background:var(--action-soft);border-radius:8px;padding:6px 10px}
.jv-what .ic{width:15px;height:15px;flex-shrink:0}
.jv-f{display:grid;gap:3px;font-size:12px;color:var(--ink2);font-weight:600}
.jv-f .in{font-weight:400}
.jv-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.jv-log{margin-top:12px;border-top:1px solid var(--border);padding-top:8px}
.jv-log summary{cursor:pointer;font-weight:600;font-size:13px;padding:4px 2px}
.jv-lg{display:flex;gap:10px;align-items:center;padding:8px 4px;border-top:1px dashed var(--border)}
.jv-lg:first-of-type{border-top:0}
@media (max-width:700px){.jv-2{grid-template-columns:1fr}.jv-lg{flex-wrap:wrap}}
.ai-rules{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.ai-rules textarea{font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;min-height:420px}
.ai-rules-side h3{font-size:13.5px;margin:0 0 6px}.ai-rules-side ul{margin:0;padding-left:18px;color:var(--ink2)}
@media (max-width:900px){.ai-rules{grid-template-columns:1fr}}
/* v4 menu (29 Oct): Future modules fold away behind one toggle */
#nav .navfold{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 20px);margin:10px 10px 0;padding:8px 10px;border:1px dashed var(--border);border-radius:9px;background:none;cursor:pointer;font:inherit;font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--ink3);text-align:left}
#nav .navfold:hover{color:var(--ink2);border-color:var(--ink3)}
#nav .navfold .ic{width:14px;height:14px;transition:transform .15s}
#nav .navfold.open{border-style:solid;color:var(--ink2)}
#nav .navfold.open .ic{transform:rotate(90deg)}
#nav .navfold:focus-visible{outline:2px solid var(--action);outline-offset:2px}
#nav .navfut[hidden]{display:none}
#nav .navfut{padding-top:2px}
