/* Vorath business suite — design system v2 (2026-10-28).
   One type family (Inter, Cairo for Arabic), one brand colour used for action and selection only, semantic colours for
   state only, neutral greys for everything else. Client tokens: --brand, --accent, logo (set by /api/brand).
   User preferences (Settings › Preferences) set data-theme, data-density, data-text, data-rail on <html>. */
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/web/assets/inter-400.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(/web/assets/inter-500.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:600 700;font-display:swap;src:url(/web/assets/inter-700.woff2) format("woff2")}
@font-face{font-family:"ANJA Cairo";font-weight:200 1000;font-display:swap;src:url(/web/assets/cairo-arabic.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFC}
:root{
  --brand:#007a7d; --brand-700:#00605f; --brand-100:#dcefee; --brand-50:#f0f8f7; --accent:#e8590c; --on-brand:#fff;
  --bg:#f5f6f8; --panel:#fff; --panel-2:#f9fafb; --hover:#f2f4f7; --text:#101828; --text-2:#475467; --muted:#667085; --line:#e4e7ec; --line-2:#eef0f3;
  --bar:#fff; --bar-2:#f2f4f7; --bar-fg:#475467;
  --ok:#067647; --ok-bg:#ecfdf3; --warn:#b54708; --warn-bg:#fffaeb; --bad:#c01f14; --bad-bg:#fef3f2; --info:#175cd3; --info-bg:#eff8ff;
  --c1:var(--brand); --c2:#4e5ba6; --c3:#d99a2b; --c4:#9e77ed; --c5:#2e90fa; --c6:#c4467a; --c-prev:#cdd2da;
  --amazon:#ff9900; --noon:#e6d400; --shopify:#5e8e3e;
  --font:Inter,"ANJA Cairo","Segoe UI",system-ui,sans-serif; --display:var(--font); --mono:ui-monospace,"Cascadia Mono",Consolas,monospace;
  --r:12px; --r-sm:8px; --sh:0 1px 2px rgba(16,24,40,.04); --sh-lg:0 16px 40px -12px rgba(16,24,40,.22),0 4px 8px -4px rgba(16,24,40,.06);
  --pad:16px; --row:44px; --ctl:36px; --fs:14px;
  color-scheme:light;
}
:root[data-theme="dark"]{--bg:#0e1116;--panel:#161b22;--panel-2:#1b2129;--hover:#212833;--text:#e8eaed;--text-2:#b3bcc8;--muted:#8a94a3;--line:#2b333e;--line-2:#222932;
  --bar:#161b22;--bar-2:#212833;--bar-fg:#b3bcc8;--brand-100:#123634;--brand-50:#0f2827;--brand-700:#7fd1cc;
  --ok:#47cd89;--ok-bg:#0d2e20;--warn:#f5b950;--warn-bg:#33260c;--bad:#f97066;--bad-bg:#3a1714;--info:#84caff;--info-bg:#102a4c;
  --c2:#8098f9;--c3:#f5b950;--c4:#bfa5f7;--c5:#84caff;--c6:#f07aa8;--c-prev:#3a4350;--sh:none;--sh-lg:0 16px 40px -12px rgba(0,0,0,.6);color-scheme:dark}
:root[data-density="compact"]{--pad:12px;--row:36px;--ctl:32px}
:root[data-text="lg"] .shell,:root[data-text="lg"] .drawer,:root[data-text="lg"] .pop,:root[data-text="lg"] .modal{zoom:1.1}
:root[data-text="xl"] .shell,:root[data-text="xl"] .drawer,:root[data-text="xl"] .pop,:root[data-text="xl"] .modal{zoom:1.22}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs);line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}
a{color:var(--brand-700);text-decoration:none} a:hover{text-decoration:underline}
button{font:inherit;color:inherit;cursor:pointer} button:disabled{cursor:not-allowed;opacity:.55}
input,select,textarea{font:inherit;color:var(--text)}
.num,td.n,.kpi .v{font-variant-numeric:tabular-nums}
svg.i{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
[hidden]{display:none!important}
/* app bar */
.appbar{height:56px;background:var(--bar);color:var(--bar-fg);display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid var(--line);position:relative;z-index:25}
.appbar .suite{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:700;font-size:16px;letter-spacing:-.01em;min-width:206px;text-decoration:none}
.appbar .suite i{width:26px;height:26px;border-radius:8px;background:var(--brand);display:inline-grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.appbar .suite i::after{content:"";width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.appbar .client{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:600;font-size:13.5px;padding:0 10px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--panel)}
.appbar .client img{width:20px;height:20px;border-radius:5px;object-fit:contain}
.gs{flex:1;max-width:520px;margin:0 auto;display:flex;align-items:center;gap:8px;background:var(--bar-2);border:1px solid transparent;border-radius:9px;height:36px;padding:0 12px;color:var(--muted);font-size:13.5px;min-width:0;cursor:text;text-align:start}
.gs:hover{border-color:var(--line)} .gs span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs kbd,kbd{font:11.5px var(--font);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:0 5px;color:var(--muted);background:var(--panel);white-space:nowrap}
.appbar .sp{flex:1}
.ab{width:36px;height:36px;border:0;background:transparent;border-radius:8px;color:var(--bar-fg);display:inline-flex;align-items:center;justify-content:center;position:relative} .ab:hover{background:var(--bar-2);color:var(--text)}
.ab svg.i{width:18px;height:18px}
.ab .dot{position:absolute;top:4px;inset-inline-end:3px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--bad);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;border:2px solid var(--bar)}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:600;font-size:12.5px;border:0;margin-inline-start:4px}
/* shell */
.shell{display:grid;grid-template-columns:232px minmax(0,1fr);height:calc(100% - 56px)}
:root[data-rail="mini"] .shell{grid-template-columns:64px minmax(0,1fr)}
.rail{background:var(--panel);border-inline-end:1px solid var(--line);overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:1px}
.rail .grp{font-size:12px;color:var(--muted);font-weight:500;padding:14px 10px 4px}
.rail .grp:first-child{padding-top:4px}
.rail a{display:flex;align-items:center;gap:11px;padding:0 10px;border-radius:8px;color:var(--text-2);font-weight:500;min-height:36px;text-decoration:none;white-space:nowrap;position:relative}
.rail a svg.i{width:18px;height:18px;color:var(--muted)}
.rail a:hover{background:var(--hover);color:var(--text)}
.rail a[aria-current="page"]{background:var(--brand-50);color:var(--brand-700);font-weight:600} .rail a[aria-current="page"] svg.i{color:var(--brand)}
.rail a .c{margin-inline-start:auto;font-size:11.5px;font-weight:600;color:var(--text-2);background:var(--hover);padding:0 7px;border-radius:999px;line-height:19px}
.rail a .c.hot{background:var(--bad-bg);color:var(--bad)}
.rail .foot{margin-top:auto;padding:12px 6px 2px;font-size:12.5px;color:var(--muted);display:grid;gap:8px}
.rail .foot .ok{display:flex;align-items:center;gap:7px;padding:0 4px} .rail .foot .ok i{width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}
.rail .foot .ok.stale i{background:var(--warn)}
.rail .plan{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:12.5px;color:var(--text-2)}
.rail .plan b{color:var(--brand-700)}
.rail .collapse{border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:8px;padding:6px 4px;font-size:12.5px;border-radius:6px} .rail .collapse:hover{color:var(--text)}
:root[data-rail="mini"] .rail a{justify-content:center;padding:0;font-size:0;gap:0} :root[data-rail="mini"] .rail a .c{position:absolute;top:2px;inset-inline-end:2px;font-size:10px;line-height:15px;padding:0 4px}
:root[data-rail="mini"] .rail .grp{font-size:0;padding:8px 0 0;border-top:1px solid var(--line-2);margin:6px 8px 0} :root[data-rail="mini"] .rail .grp:first-child{border:0;margin:0}
:root[data-rail="mini"] .rail .foot span,:root[data-rail="mini"] .rail .plan,:root[data-rail="mini"] .rail .collapse span{display:none}
:root[data-rail="mini"] .rail .collapse svg{transform:scaleX(-1)}
.work{overflow-y:auto;min-width:0;scroll-behavior:smooth}
/* page header */
.ph{background:var(--panel);border-bottom:1px solid var(--line);padding:18px 28px 0}
.crumbs{display:none}
.ph .row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:40px}
.ph h1{font-weight:650;font-weight:700;font-size:22px;margin:0;letter-spacing:-.02em;color:var(--text)}
.ph .meta{color:var(--muted);font-size:13px;flex-basis:100%;order:9;margin-top:-4px}
.ph .grow{flex:1}
.ph .intro{color:var(--text-2);font-size:13.5px;margin:4px 0 0;max-width:80ch}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:var(--panel);border-radius:var(--r-sm);min-height:var(--ctl);padding:0 14px;font-weight:500;font-size:13.5px;white-space:nowrap;color:var(--text);text-decoration:none;box-shadow:var(--sh);transition:background .12s,border-color .12s}
.btn:hover{background:var(--hover);text-decoration:none}
.btn.p{background:var(--brand);border-color:var(--brand);color:var(--on-brand);font-weight:600} .btn.p:hover{background:var(--brand-700);border-color:var(--brand-700)}
:root[data-theme="dark"] .btn.p:hover{background:var(--brand);filter:brightness(1.12)}
.btn.danger{color:var(--bad);border-color:var(--line)} .btn.danger:hover{background:var(--bad-bg)}
.btn.ghost{border-color:transparent;background:transparent;box-shadow:none} .btn.ghost:hover{background:var(--hover)}
.btn.sm{min-height:30px;padding:0 10px;font-size:13px;border-radius:7px}
.btn.icon{padding:0;width:var(--ctl)} .btn.sm.icon{width:30px}
.btn[aria-busy="true"]{position:relative;color:transparent!important} .btn[aria-busy="true"]::after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-color:var(--muted) transparent var(--muted) transparent;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bar-2);padding:2px;gap:2px} .seg button{border:0;background:transparent;min-height:calc(var(--ctl) - 6px);padding:0 11px;font-size:13px;color:var(--text-2);border-radius:6px;font-weight:500}
.seg button:hover{color:var(--text)} .seg button[aria-pressed="true"]{background:var(--panel);color:var(--text);font-weight:600;box-shadow:0 1px 2px rgba(16,24,40,.08)}
.tabs{display:flex;gap:2px;margin-top:14px;overflow-x:auto;scrollbar-width:none} .tabs::-webkit-scrollbar{display:none}
.tabs button,.tabs a{border:0;background:transparent;padding:10px 12px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;font-size:14px;text-decoration:none}
.tabs button:hover,.tabs a:hover{color:var(--text)} .tabs button[aria-selected="true"],.tabs a[aria-selected="true"]{color:var(--text);border-color:var(--brand);font-weight:600}
.tabs button .c,.tabs a .c{font-size:11.5px;color:var(--text-2);margin-inline-start:6px;background:var(--hover);border-radius:999px;padding:0 6px;font-weight:600}
/* inputs */
.inp,select.f,.search{border:1px solid var(--line);border-radius:var(--r-sm);min-height:var(--ctl);padding:0 10px;background:var(--panel);color:var(--text);font-size:13.5px}
.inp:focus,select.f:focus,.search:focus-within{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}
.search{display:inline-flex;align-items:center;gap:7px;color:var(--muted)} .search input{border:0;background:transparent;color:var(--text);min-width:180px;outline:none;font-size:13.5px;padding:0;min-height:calc(var(--ctl) - 2px)}
label.fld{display:grid;gap:5px;font-size:13px;font-weight:500;color:var(--text-2)} label.fld small{font-weight:400;color:var(--muted)}
/* workspace */
.ws{padding:24px 28px 80px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;max-width:1680px}
.ws.one{grid-template-columns:minmax(0,1fr)}
.col{display:grid;gap:20px;align-content:start;min-width:0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);min-width:0}
.card .hd{display:flex;align-items:center;gap:10px;padding:14px var(--pad) 12px;flex-wrap:wrap} .card .hd h2{font-size:15px;font-weight:600;margin:0;letter-spacing:-.005em}
.card .hd .sub{color:var(--muted);font-size:13px} .card .hd .r{margin-inline-start:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.card .hd + .bd{padding-top:2px}
.card .bd{padding:14px var(--pad) var(--pad)}
.card > .toolbar{border-top:1px solid var(--line-2)}
.info{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;color:var(--muted);border:0;background:transparent;padding:0;position:relative}
.info svg{width:15px;height:15px} .info:hover,.info:focus-visible{color:var(--text)}
.tip{position:fixed;z-index:60;max-width:340px;background:var(--text);color:var(--panel);font-size:12.5px;line-height:1.45;padding:8px 10px;border-radius:8px;box-shadow:var(--sh-lg);pointer-events:none}
.tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;padding:1px 8px;border-radius:999px;background:var(--hover);color:var(--text-2);white-space:nowrap;line-height:20px}
.tag.ok{background:var(--ok-bg);color:var(--ok)} .tag.warn{background:var(--warn-bg);color:var(--warn)} .tag.bad{background:var(--bad-bg);color:var(--bad)} .tag.info{background:var(--info-bg);color:var(--info)}
/* KPI tiles */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:16px 18px 12px;display:flex;flex-direction:column;gap:2px;min-width:0;cursor:pointer;transition:border-color .15s,box-shadow .15s;position:relative;text-align:start}
.kpi:hover{border-color:var(--brand)} .kpi:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.kpi .k{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center;font-weight:500}
.kpi .v{font-size:28px;font-weight:650;font-weight:700;letter-spacing:-.025em;line-height:1.2;color:var(--text)}
.kpi .d{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .kpi .d em{font-style:normal;font-weight:600;border-radius:5px;padding:0 5px;margin-inline-end:2px} .kpi .d em.up{color:var(--ok);background:var(--ok-bg)} .kpi .d em.dn{color:var(--bad);background:var(--bad-bg)}
.kpi .sp{width:100%;height:34px;margin-top:8px;order:9}
.kpi.ok .v{color:var(--text)} .kpi.est .v{color:var(--text)}
/* charts (Vorath.chart) */
.chart{width:100%;height:auto;display:block;overflow:visible} .chart text{font-size:11.5px;fill:var(--muted);font-family:var(--font)}
.vc{position:relative;width:100%} .vc svg{display:block;width:100%;overflow:visible} .vc text{font-size:11.5px;fill:var(--muted);font-family:var(--font)}
.vc .grid line{stroke:var(--line-2)} .vc .axis line{stroke:var(--line)} .vc .zero{stroke:var(--muted);stroke-opacity:.5}
.vc .hover-line{stroke:var(--muted);stroke-dasharray:3 3;pointer-events:none}
.vc .vt{position:absolute;z-index:5;pointer-events:none;background:var(--panel);border:1px solid var(--line);box-shadow:var(--sh-lg);border-radius:8px;padding:8px 10px;font-size:12.5px;min-width:150px;white-space:nowrap}
.vc .vt .h{font-weight:600;margin-bottom:4px;color:var(--text)} .vc .vt .r{display:flex;align-items:center;gap:8px;color:var(--text-2)} .vc .vt .r b{margin-inline-start:auto;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums;padding-inline-start:14px}
.vc .vt i,.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none}
.legend{display:flex;gap:6px 16px;font-size:12.5px;color:var(--text-2);flex-wrap:wrap;align-items:center} .legend i{margin-inline-end:6px;vertical-align:-1px}
.legend button{border:0;background:transparent;padding:2px 0;display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:12.5px} .legend button[aria-pressed="false"]{opacity:.4}
.donut-wrap{display:flex;gap:20px;align-items:center;flex-wrap:wrap} .donut-wrap svg{width:150px;height:150px;flex:none}
/* tables */
table{border-collapse:collapse;width:100%}
th{font-size:12.5px;color:var(--muted);font-weight:500;text-align:start;padding:9px 12px;background:var(--panel-2);border-bottom:1px solid var(--line);border-top:1px solid var(--line-2);white-space:nowrap}
td{padding:10px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle;height:var(--row)} tbody tr:last-child td{border-bottom:0} tbody tr:hover td{background:var(--panel-2)}
:root[data-density="compact"] td{padding-top:6px;padding-bottom:6px}
td.n,th.n{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}
.tw{overflow-x:auto}
.q .t{font-weight:600} .q .b{color:var(--text-2);font-size:13px;margin-top:2px;max-width:64ch}
.q .mod{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:5px;margin-top:4px} .q .mod i{width:8px;height:8px;border-radius:2px;background:var(--brand);display:inline-block}
.stk.neg{color:var(--bad);font-weight:600} .stk.pos{color:var(--ok);font-weight:600}
.sure{display:inline-flex;gap:2px;vertical-align:middle;margin-inline-end:6px} .sure i{width:5px;height:12px;border-radius:2px;background:var(--line)} .sure i.on{background:var(--brand)}
.acts{display:flex;gap:6px;justify-content:flex-end}
.chk{width:16px;height:16px;border:1.5px solid var(--line);border-radius:4px;display:inline-block;vertical-align:middle;background:var(--panel)}
input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);margin:0;vertical-align:middle}
.toolbar{display:flex;gap:8px;align-items:center;padding:10px var(--pad);flex-wrap:wrap}
.toolbar .f{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--r-sm);padding:0 10px;min-height:32px;font-size:13px;color:var(--text-2);background:var(--panel)} .toolbar .f svg{width:13px;height:13px}
tr.done td{opacity:.5}
.pager{display:flex;align-items:center;gap:8px;padding:10px var(--pad);border-top:1px solid var(--line-2);font-size:13px;color:var(--muted)} .pager .sp{flex:1}
/* Vorath.grid: the dynamic table */
.vg{min-width:0}
.vg .vg-bar{display:flex;gap:8px;align-items:center;padding:12px var(--pad);flex-wrap:wrap;border-top:1px solid var(--line-2)}
.vg .vg-bar .sp{flex:1}
.card > .vg:first-child .vg-bar,.vg.bare .vg-bar{border-top:0}
.vg .chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:0 var(--pad) 10px}
.vg .chips:empty{display:none}
.chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--brand-100);background:var(--brand-50);color:var(--brand-700);border-radius:999px;padding:0 4px 0 10px;min-height:28px;font-size:12.5px;font-weight:500}
.chip button{border:0;background:transparent;color:inherit;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;padding:0} .chip button:hover{background:var(--brand-100)}
.chip .lab{cursor:pointer} .chip b{font-weight:600}
.vg table th.s{cursor:pointer;user-select:none} .vg table th.s:hover{color:var(--text)}
.vg table th .ar{display:inline-block;width:10px;margin-inline-start:4px;opacity:.9}
.vg table th[aria-sort] {color:var(--text)}
.vg tr.click{cursor:pointer}
.vg tr.sel td{background:var(--brand-50)}
.vg .empty{padding:40px 16px;text-align:center;color:var(--muted)}
.vg .empty b{display:block;color:var(--text);font-size:15px;margin-bottom:4px}
.vg .bulk{display:flex;gap:8px;align-items:center;padding:8px var(--pad);background:var(--brand-50);border-top:1px solid var(--brand-100);font-size:13px}
.vg .count{font-size:13px;color:var(--muted);white-space:nowrap}
.vg td.wrap{white-space:normal}
.vg .bar-cell{display:flex;align-items:center;gap:8px;justify-content:flex-end} .vg .bar-cell i{display:block;height:6px;border-radius:3px;background:var(--brand);opacity:.75;max-width:70px}
/* popovers, menus, modal */
.pop{position:fixed;z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--sh-lg);min-width:220px;max-width:min(380px,calc(100vw - 24px));max-height:min(70vh,560px);overflow:auto;padding:6px;font-size:13.5px}
.pop .ph2{font-size:12px;color:var(--muted);font-weight:500;padding:8px 10px 4px}
.pop .mi{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;text-align:start;padding:8px 10px;border-radius:7px;color:var(--text);text-decoration:none;font-size:13.5px}
.pop .mi:hover,.pop .mi.on{background:var(--hover);text-decoration:none} .pop .mi svg.i{color:var(--muted)} .pop .mi .r{margin-inline-start:auto;color:var(--muted);font-size:12px}
.pop .sep{height:1px;background:var(--line-2);margin:6px 0}
.pop .form{display:grid;gap:10px;padding:8px} .pop .form .row2{display:flex;gap:8px} .pop .form .inp,.pop .form select{width:100%}
.pop .opts{display:grid;gap:2px;max-height:240px;overflow:auto;margin:0 -2px;padding:0 2px} .pop .opts label{display:flex;gap:8px;align-items:center;padding:5px 6px;border-radius:6px;cursor:pointer;font-size:13px} .pop .opts label:hover{background:var(--hover)} .pop .opts label small{margin-inline-start:auto;color:var(--muted)}
.pop .acts2{display:flex;gap:8px;justify-content:flex-end}
.modal-bg{position:fixed;inset:0;background:rgba(16,24,40,.45);z-index:70;display:flex;align-items:flex-start;justify-content:center;padding:10vh 16px 16px;backdrop-filter:blur(2px)}
.modal{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-lg);width:min(640px,100%);max-height:76vh;display:flex;flex-direction:column;overflow:hidden}
.modal .mh{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line-2)} .modal .mh h2{margin:0;font-size:16px;font-weight:600} .modal .mh .x{margin-inline-start:auto}
.modal .mb{padding:16px;overflow:auto} .modal .mf{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--line-2)}
.cmdk .ci{display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--line)} .cmdk .ci input{flex:1;border:0;outline:none;background:transparent;font-size:16px;height:56px;color:var(--text)}
.cmdk .res{overflow:auto;padding:6px} .cmdk .gh{font-size:12px;color:var(--muted);padding:10px 10px 4px;font-weight:500}
.cmdk .it{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:8px;cursor:pointer;color:var(--text);text-decoration:none} .cmdk .it.on{background:var(--hover)} .cmdk .it svg.i{color:var(--muted)} .cmdk .it .s{color:var(--muted);font-size:12.5px;margin-inline-start:auto;white-space:nowrap}
.cmdk .foot{display:flex;gap:14px;padding:8px 16px;border-top:1px solid var(--line-2);font-size:12px;color:var(--muted)}
/* toasts */
.toasts{position:fixed;bottom:20px;inset-inline-end:20px;display:grid;gap:8px;z-index:80;max-width:min(420px,calc(100vw - 40px))}
.toast{position:static;transform:none;background:var(--text);color:var(--panel);padding:11px 14px;border-radius:10px;font-size:13.5px;box-shadow:var(--sh-lg);display:flex;gap:12px;align-items:center;animation:tin .18s ease-out}
.toast.bad{background:var(--bad);color:#fff} .toast a,.toast button{color:inherit;text-decoration:underline;background:none;border:0;padding:0;margin-inline-start:auto;font-weight:600}
@keyframes tin{from{opacity:0;transform:translateY(8px)}}
/* side panel content */
.assist .msgs{display:grid;gap:10px;font-size:13.5px}
.msg{padding:10px 12px;border-radius:12px;background:var(--panel-2);border:1px solid var(--line-2);max-width:100%}
.msg.me{background:var(--brand-50);border-color:var(--brand-100);margin-inline-start:28px}
.msg .src{font-size:12px;color:var(--muted);margin-top:6px}
.msg table{font-size:12.5px;margin-top:6px} .msg td,.msg th{padding:4px 6px;height:auto}
.ask{display:flex;gap:6px;margin-top:10px} .ask input{flex:1;min-width:0;border:1px solid var(--line);border-radius:var(--r-sm);min-height:var(--ctl);padding:0 10px;background:var(--panel);color:var(--text)}
.ask input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}
.sugg{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px} .sugg button{border:1px solid var(--line);background:var(--panel);border-radius:999px;font-size:12.5px;padding:4px 11px;color:var(--text-2)} .sugg button:hover{border-color:var(--brand);color:var(--brand-700)}
.tl{display:grid;gap:0} .tl .ev{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-2);font-size:13px} .tl .ev:last-child{border:0}
.tl .ev i{width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--muted)} .tl .ev i.ok{background:var(--ok)} .tl .ev i.warn{background:var(--warn)} .tl .ev i.bad{background:var(--bad)}
.tl .ev .w{color:var(--text)} .tl .ev .s{color:var(--muted);font-size:12px} .tl .ev .t{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}
/* money ladder (waterfall rows) */
.ladder{display:grid;grid-template-columns:minmax(130px,190px) minmax(0,1fr) auto;gap:8px 12px;align-items:center;font-size:13px}
.ladder .lab{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--text-2)} .ladder .lab.tot{font-weight:600;color:var(--text)} .ladder .lab small{color:var(--muted);font-size:12px}
.ladder .tr{height:10px;border-radius:3px;background:var(--line-2);position:relative;overflow:hidden} .ladder .tr i{position:absolute;top:0;height:100%;background:var(--brand);border-radius:3px} .ladder .tr i.neg{background:var(--bad);opacity:.8} .ladder .tr i.tot{background:var(--c2)} .ladder .tr i.est{background:repeating-linear-gradient(135deg,var(--warn) 0 3px,transparent 3px 6px);opacity:.8}
.ladder .v{text-align:end;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap} .ladder .v.neg{color:var(--bad)} .ladder .v.tot{font-weight:700}
.ladder .rule{grid-column:1/-1;height:1px;background:var(--line-2);margin:2px 0}
.note{font-size:13px;color:var(--muted)}
/* drawer */
.drawer{position:fixed;inset:56px 0 0 auto;width:min(640px,100%);background:var(--panel);border-inline-start:1px solid var(--line);box-shadow:var(--sh-lg);transform:translateX(100%);transition:transform .22s cubic-bezier(.2,.7,.2,1);z-index:30;display:flex;flex-direction:column;visibility:hidden}
.drawer.open{transform:none;visibility:visible} .drawer .dh{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)} .drawer .dh h2{font-size:16px;margin:0;font-weight:600} .drawer .dh .x{margin-inline-start:auto}
.drawer .db{padding:16px 18px;overflow:auto;flex:1}
.scrim{position:fixed;inset:56px 0 0 0;background:rgba(16,24,40,.28);opacity:0;pointer-events:none;transition:opacity .22s;z-index:29} .scrim.show{opacity:1;pointer-events:auto}
.err{background:var(--bad-bg);color:var(--bad);border:1px solid color-mix(in srgb,var(--bad) 35%,transparent);border-radius:var(--r);padding:12px 14px;grid-column:1/-1}
.ill{font-size:12px;color:var(--warn)}
.burger{display:none}
/* empty / loading */
.skel{background:linear-gradient(90deg,var(--line-2),var(--hover),var(--line-2));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:6px;min-height:14px}
@keyframes sk{to{background-position:-200% 0}}
.empty-state{padding:32px 16px;text-align:center;color:var(--muted)} .empty-state b{display:block;color:var(--text);font-size:15px;margin-bottom:4px}
/* path: the "start here" steps */
.path{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.step{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);text-decoration:none;color:var(--text);transition:border-color .15s}
.step:hover{border-color:var(--brand);text-decoration:none}
.step .n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--hover);color:var(--text-2);flex:none}
.step.todo .n{background:var(--brand);color:#fff} .step.done .n{background:var(--ok-bg);color:var(--ok)}
.step .t{font-weight:600;font-size:14px} .step .s{font-size:12.5px;color:var(--muted);margin-top:2px}
/* forms (settings) */
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px 16px}
.pref{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line-2)} .pref:last-child{border:0}
.pref .pt{font-weight:600;font-size:14px} .pref .pd{color:var(--muted);font-size:13px;grid-column:1}
.pref > :last-child{grid-row:1/3;grid-column:2}
.swatches{display:flex;gap:8px} .swatches button{width:28px;height:28px;border-radius:50%;border:2px solid var(--panel);box-shadow:0 0 0 1px var(--line)} .swatches button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--text)}
@media (max-width:1240px){.ws{grid-template-columns:1fr}}
@media (max-width:900px){.shell,:root[data-rail="mini"] .shell{grid-template-columns:1fr}.rail{position:fixed;inset:56px auto 0 0;width:260px;z-index:30;transform:translateX(-100%);transition:transform .2s;box-shadow:var(--sh-lg)}.rail.open{transform:none}
  :root[data-rail="mini"] .rail a{justify-content:flex-start;padding:0 10px;font-size:inherit;gap:11px}
  .burger{display:inline-flex}.gs span{display:none}.gs{flex:0;max-width:40px;padding:0 10px;margin:0}.gs kbd{display:none}.appbar .suite{min-width:0}.appbar .client{display:none}.ws{padding:16px 16px 80px;gap:16px}.ph{padding:14px 16px 0}.col{gap:16px}}
@media (max-width:700px){.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:12px}.kpi .v{font-size:22px}
  .q table,.q tbody,.q tr,.q td{display:block;width:100%} .q thead{display:none} .q tr{padding:10px 12px;border-bottom:1px solid var(--line-2)} .q td{padding:0;border:0;height:auto} .q td+td{margin-top:6px} .q td.n{text-align:start} .acts{justify-content:flex-start;flex-wrap:wrap} .q td.ck{display:none}
  .pref{grid-template-columns:1fr}.pref > :last-child{grid-row:auto;grid-column:1}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
:root[data-motion="off"] *{transition:none!important;animation:none!important}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
/* departments: manager chip, metric tiles (Team page and Command Centre) */
.mgr{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel);border-radius:999px;min-height:32px;padding:0 12px 0 4px;font-weight:500;font-size:13px;width:fit-content}
.mgr:hover{border-color:var(--brand);color:var(--brand-700)}
.mgr b{width:24px;height:24px;border-radius:50%;background:var(--brand-50);color:var(--brand-700);display:grid;place-items:center;font-size:11px}
.mets{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.met{border:1px solid var(--line-2);border-radius:8px;padding:8px 10px;min-width:0;background:var(--panel)}
.met .l{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.met .v{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.met .v.warn{color:var(--warn)} .met .v.bad{color:var(--bad)} .met .v.ok{color:var(--ok)} .met .v.na{color:var(--muted);font-weight:400;font-size:13px}
.met .n{font-size:12px;color:var(--muted)}
.sh{font-size:12.5px;color:var(--muted);margin:0 0 6px;font-weight:500}
.dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.dp{border:1px solid var(--line);border-radius:var(--r);padding:14px;background:var(--panel-2);min-width:0}
.dp .dph{display:flex;align-items:center;gap:8px;margin-bottom:6px} .dpn{font-weight:600;font-size:14.5px;color:var(--text)}
.dp .sh{margin:12px 0 4px} .dp .dl{font-size:13px;padding:2px 0}
/* meet the manager */
.meet .db{display:grid;gap:12px;align-content:start}
.meet .msgs{display:grid;gap:10px;font-size:13.5px;line-height:1.55}
.meet .msg .typing{color:var(--muted);font-size:12.5px}
.meet .draft{border:1px solid var(--brand-100);background:var(--brand-50);border-radius:12px;padding:12px;display:grid;gap:8px;font-size:13.5px}
.meet .draft ul{margin:0;padding-inline-start:18px} .meet .draft summary{cursor:pointer;font-size:12.5px;color:var(--brand-700)}
.meet .draft pre{white-space:pre-wrap;font:12.5px/1.5 var(--mono);margin:6px 0 0;max-height:220px;overflow:auto}
.meet .ask{margin-top:0} .meet .sugg{margin-top:4px}
.meet .foot{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line-2);padding-top:10px}
/* missions: the proposal, its steps as they run, the report */
.mission .mhead .mt{font-size:18px;font-weight:650;letter-spacing:-.01em;line-height:1.3}
.mission .mhead .meta,.mission .st .meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px}
.mission .tag svg.i{width:13px;height:13px}
.mission ul.fd{margin:0;padding-inline-start:18px;display:grid;gap:4px;font-size:13.5px;color:var(--text-2)} .mission ul.fd b{color:var(--text)}
.mission ol.steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mission li.st{display:flex;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.mission li.st .n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:600;background:var(--hover);color:var(--text-2)}
.mission li.st .b{flex:1;min-width:0;display:grid;gap:4px} .mission li.st .t{font-weight:600;font-size:14px}
.mission li.st.waiting{border-color:var(--warn);box-shadow:0 0 0 3px var(--warn-bg)} .mission li.st.waiting .n{background:var(--warn-bg);color:var(--warn)}
.mission li.st.done .n{background:var(--ok-bg);color:var(--ok)} .mission li.st.failed .n{background:var(--bad-bg);color:var(--bad)}
.mission li.st.skipped,.mission li.st.rejected,.mission li.st.undone{opacity:.62}
.mission li.st .ch{margin:2px 0 0;padding-inline-start:18px;font-size:12.5px;color:var(--text-2)}
.mission .sh b.w{color:var(--warn)}
.mission .assign{display:grid;gap:8px} .mission textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);padding:10px 12px;font:14px/1.5 var(--font);resize:vertical}
.mission textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}
.mission details summary{cursor:pointer;font-size:13px;color:var(--brand-700)} .mission details[open] summary{margin-bottom:8px}
.mission .rules ul.fd li{display:flex;align-items:center;gap:6px} .mission .rules .btn.ghost{min-height:24px;padding:0 6px}
.mission form.ask{display:flex;gap:8px;flex-wrap:wrap;align-items:center} .mission form.ask input{flex:1;min-width:160px;border:1px solid var(--line);border-radius:var(--r-sm);min-height:var(--ctl);padding:0 10px;background:var(--panel);color:var(--text)}
.mission .log ul{margin:0;padding-inline-start:0;list-style:none;display:grid;gap:4px;font-size:12.5px}
.mission .rep .sh{margin-top:4px}
.mission .foot{position:sticky;bottom:-16px;background:var(--panel);padding-bottom:14px;margin-bottom:-16px;z-index:2;box-shadow:0 -10px 16px -12px rgba(0,0,0,.35)}
.mission .xps{display:flex;flex-wrap:wrap;gap:6px} .mission .xp{display:inline-flex;gap:6px;align-items:baseline;border:1px solid var(--line);background:var(--panel-2);border-radius:999px;padding:3px 11px;font-size:12.5px;color:var(--text-2)}
.mission .xp b{color:var(--text);font-variant-numeric:tabular-nums}
/* the task board */
.kb{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:14px;overflow-x:auto;padding-bottom:6px;align-items:start}
.kb .col{background:var(--panel-2);border:1px solid var(--line-2);border-radius:14px;padding:10px;display:grid;gap:8px;align-content:start;min-height:120px}
.kb .col h3{margin:2px 4px 4px;font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center;color:var(--text-2)} .kb .col h3 .c{margin-inline-start:auto;font-weight:600;color:var(--muted)}
.kb .col.waiting h3{color:var(--warn)}
.kb .cd{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:6px;cursor:pointer;text-align:start;box-shadow:var(--sh);font-size:13px}
.kb .cd:hover{border-color:var(--brand)} .kb .cd .t{font-weight:600;font-size:13.5px;line-height:1.35} .kb .cd .mm{color:var(--muted);font-size:12px}
.kb .cd .row{display:flex;gap:6px;flex-wrap:wrap;align-items:center} .kb .empty{color:var(--muted);font-size:12.5px;padding:10px 4px}
.mx{display:inline-flex;gap:8px;flex-wrap:wrap}
/* help */
.help h3{font-size:14px;margin:18px 0 6px} .help h3:first-child{margin-top:0} .help dl{display:grid;grid-template-columns:minmax(110px,max-content) 1fr;gap:6px 14px;margin:0;font-size:13px} .help dt{font-weight:600} .help dd{margin:0;color:var(--text-2)}
.help ol{margin:0;padding-inline-start:20px;display:grid;gap:6px;font-size:13.5px}

/* ======================================================================
   Premium layer (2026-10-28): dark-first, deep glass, fine light edges, a soft brand glow. No neon, no flicker.
   ====================================================================== */
:root[data-theme="dark"]{--bg:#05080c;--panel:#0b1016;--panel-2:#0f151d;--hover:rgba(148,163,184,.08);--text:#eaf0f6;--text-2:#a8b3c2;--muted:#6f7c8e;
  --line:rgba(148,163,184,.13);--line-2:rgba(148,163,184,.07);--bar:rgba(7,11,16,.72);--bar-2:rgba(148,163,184,.07);--bar-fg:#a8b3c2;
  --brand-700:#6fe0d8;--brand-100:color-mix(in srgb,var(--brand) 26%,transparent);--brand-50:color-mix(in srgb,var(--brand) 13%,transparent);
  --glass:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));--edge:inset 0 1px 0 rgba(255,255,255,.05);
  --c1:#2ccfc4;--c2:#7b8cff;--c3:#f2b45a;--c4:#c39bff;--c5:#5cc8ff;--c6:#ff7aa8;--c-prev:#2a3442;--glow:0 0 0 1px rgba(255,255,255,.03),0 10px 30px -12px rgba(0,0,0,.8)}
:root:not([data-theme="dark"]){--bg:#f3f5f8;--glass:#fff;--edge:none;--sh:0 1px 2px rgba(16,24,40,.04),0 8px 24px -14px rgba(16,24,40,.12);--glow:var(--sh)}
:root{--r:16px;--r-sm:10px}
body{background:radial-gradient(1100px 520px at 12% -12%,color-mix(in srgb,var(--brand) 16%,transparent),transparent 62%),radial-gradient(900px 480px at 100% -6%,rgba(110,120,255,.10),transparent 60%),var(--bg);background-attachment:fixed}
:root:not([data-theme="dark"]) body{background:radial-gradient(1100px 520px at 12% -14%,color-mix(in srgb,var(--brand) 10%,transparent),transparent 60%),var(--bg)}
.appbar{background:var(--bar);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--line)}
.appbar .suite{font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:14px}
.appbar .suite i{background:conic-gradient(from 210deg,var(--brand),color-mix(in srgb,var(--brand) 40%,#8fa0ff),var(--brand));box-shadow:0 0 18px -2px color-mix(in srgb,var(--brand) 70%,transparent)}
.appbar .client{background:var(--bar-2);border-color:var(--line)}
.gs{background:var(--bar-2);border:1px solid var(--line)} .gs:hover{border-color:color-mix(in srgb,var(--brand) 50%,var(--line))}
.rail{background:color-mix(in srgb,var(--panel) 70%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}
.ph{background:transparent;border-bottom:1px solid var(--line-2)}
.ph h1{font-size:24px;font-weight:700;letter-spacing:-.03em}
.card,.kpi,.dp,.step{background:var(--glass),var(--panel);border-color:var(--line);box-shadow:var(--edge),var(--glow)}
:root[data-theme="dark"] .card,:root[data-theme="dark"] .kpi,:root[data-theme="dark"] .step{background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.kpi{padding:18px 20px 14px;overflow:hidden}
.kpi::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--brand) 60%,transparent),transparent);opacity:.6}
.kpi .v{font-size:30px;font-weight:700;letter-spacing:-.035em}
:root[data-theme="dark"] .kpi .v{background:linear-gradient(180deg,#fff 20%,#b7c4d4);-webkit-background-clip:text;background-clip:text;color:transparent}
.kpi:hover{border-color:color-mix(in srgb,var(--brand) 55%,var(--line));box-shadow:var(--edge),0 0 0 1px color-mix(in srgb,var(--brand) 25%,transparent),0 18px 40px -20px color-mix(in srgb,var(--brand) 60%,transparent)}
.kpi .sp{height:40px}
.btn{background:var(--panel-2);border-color:var(--line);box-shadow:var(--edge)} .btn:hover{background:var(--hover);border-color:color-mix(in srgb,var(--text) 18%,var(--line))}
.btn.p{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 62%,#7fe9ff));border-color:transparent;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 22px -10px color-mix(in srgb,var(--brand) 85%,transparent)}
.btn.p:hover{filter:brightness(1.08);background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 62%,#7fe9ff))}
.btn.ghost{background:transparent;box-shadow:none}
.seg{background:var(--bar-2);border-color:var(--line)} .seg button[aria-pressed="true"]{background:var(--panel);box-shadow:var(--edge),0 1px 2px rgba(0,0,0,.25)}
.tabs button[aria-selected="true"],.tabs a[aria-selected="true"]{border-color:var(--brand);box-shadow:0 8px 14px -12px var(--brand)}
th{background:transparent;border-top:0;font-size:12px;letter-spacing:.01em}
tbody tr:hover td{background:var(--hover)}
.tag{background:var(--hover)}
.inp,select.f,.search,.ask input{background:var(--panel-2);border-color:var(--line)}
.pop,.modal,.drawer{background:var(--panel);border-color:var(--line)}
:root[data-theme="dark"] .pop,:root[data-theme="dark"] .modal{background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.modal-bg{background:rgba(2,5,9,.55)}
.chip{background:var(--brand-50);border-color:var(--brand-100)}
/* rail by department */
.rail a{min-height:38px}
.rail a .lbl{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.rail a .lbl small{font-size:11.5px;color:var(--muted);font-weight:400;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rail a.dept{min-height:46px}
.rail a[aria-current="page"]{background:linear-gradient(90deg,var(--brand-50),transparent);color:var(--text)}
.rail a[aria-current="page"]::before{content:"";position:absolute;inset-inline-start:-10px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--brand);box-shadow:0 0 12px var(--brand)}
.rail .subs{display:grid;margin:2px 0 6px 21px;padding-inline-start:12px;border-inline-start:1px solid var(--line)}
.rail .subs a{min-height:30px;font-size:13px;color:var(--muted);padding:0 10px;font-weight:500}
.rail .subs a.on{color:var(--brand-700);background:var(--brand-50)}
:root[data-rail="mini"] .rail .subs{display:none}
:root[data-rail="mini"] .rail a .lbl{display:none}
.rail a .c.hot{background:color-mix(in srgb,var(--bad) 18%,transparent);color:var(--bad)}
/* period picker */
.period{display:inline-flex;align-items:center;gap:4px}
.period .pbtn{gap:9px;padding:0 12px;min-height:40px}
.period .pbtn .pl{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;text-align:start}
.period .pbtn .pl b{font-weight:600;font-size:13.5px} .period .pbtn .pl small{font-size:11.5px;color:var(--muted)}
.period .pstep{width:32px;min-height:40px}
.pop .pp{display:grid;grid-template-columns:170px 210px;gap:6px}
.pop .pp .pre{display:grid;align-content:start;border-inline-end:1px solid var(--line-2);padding-inline-end:6px}
.pop .pp .cus{display:grid;gap:10px;align-content:start;padding:8px 6px}
.pop .pp .cus .inp{width:100%}
@media (max-width:560px){.pop .pp{grid-template-columns:1fr}.pop .pp .pre{border:0;grid-template-columns:1fr 1fr}.period .pbtn .pl small{display:none}}
/* charts: premium touches */
.vc .grid line{stroke:var(--line-2)}
.vc .vl{font-size:11px;fill:var(--text-2);font-weight:600}
.vc .mk{fill:var(--panel);stroke:var(--c1);stroke-width:2.5}
.vc .mkt{font-size:11.5px;font-weight:600;fill:var(--text)}
.vc .track{fill:var(--line-2)}
.vc .wsep{stroke:var(--line);stroke-dasharray:2 4}
.vc .wcon{stroke:var(--muted);stroke-opacity:.5;stroke-dasharray:2 3}
:root[data-theme="dark"] .vc .ln{filter:drop-shadow(0 0 6px color-mix(in srgb,currentColor 55%,transparent))}
.vc path.bar,.vc path.ghost{transition:opacity .15s}
.vc .vt{background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:12px}
/* the (i) buttons that hold the long texts */
.info{vertical-align:middle;margin-inline-start:4px;cursor:help}
/* the path */
.step{transition:transform .15s,border-color .15s} .step.todo .n{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 60%,#7fe9ff));box-shadow:0 0 14px -2px color-mix(in srgb,var(--brand) 70%,transparent)}
.step:hover{border-color:color-mix(in srgb,var(--brand) 55%,var(--line));transform:translateY(-1px)}
/* scrollbars */
.work,.rail,.drawer .db,.pop,.modal .mb{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text) 18%,transparent) transparent}
.tag.info{width:auto;height:auto;display:inline-flex;border-radius:999px;padding:1px 8px;margin:0;cursor:default;vertical-align:baseline}
.vg .quick{display:contents}.vg .qf{gap:6px;font-weight:500;color:var(--text-2)}.vg .qf svg.i{width:13px;height:13px;opacity:.6}.vg .qf.on{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand-700)}.vg .qf.on b{color:var(--text);font-weight:600}
.kpi .v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:700px){.kpi .v{font-size:20px}.kpi{padding:12px 12px 10px}.period .pstep{display:none}}

/* the top bar: when the data was read, and Refresh all */
.fresh{display:flex;align-items:center;height:34px;margin-inline-end:6px;border:1px solid var(--line);border-radius:8px;background:var(--bar-2);overflow:hidden;flex:none}
.fresh[hidden],.fresh button[hidden]{display:none}
.fresh button{height:100%;border:0;background:transparent;color:var(--bar-fg);font:500 12.5px var(--font);display:inline-flex;align-items:center;gap:7px;padding:0 10px;white-space:nowrap;cursor:pointer}
.fresh button:hover:not(:disabled){color:var(--text);background:var(--panel)}
.fresh button:disabled{opacity:.55;cursor:default}
.fresh .fresh-go{border-inline-start:1px solid var(--line);color:var(--text)}
.fresh .fresh-go .i{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fresh .fresh-at i{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 22%,transparent)}
.fresh.warn .fresh-at i{background:var(--warn);box-shadow:0 0 0 3px color-mix(in srgb,var(--warn) 22%,transparent)}
.fresh.run .fresh-at i{background:var(--brand);animation:fresh-p 1.2s ease-in-out infinite}
.fresh.run .fresh-go .i{animation:fresh-s 1.2s linear infinite}
@keyframes fresh-p{50%{opacity:.35}} @keyframes fresh-s{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.fresh.run .fresh-at i,.fresh.run .fresh-go .i{animation:none}}
.fresh-pop{position:fixed;z-index:80;width:min(340px,calc(100vw - 16px));background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px 0;box-shadow:0 14px 40px rgba(0,0,0,.35);font-size:13px;color:var(--text)}
.fresh-pop .fp-h{padding:8px 14px 10px;font-weight:600;border-bottom:1px solid var(--line-2)}
.fresh-pop .fp-r{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px}
.fresh-pop .fp-r b{display:block;font-weight:600} .fresh-pop .fp-r small{color:var(--muted);font-size:11.5px}
.fresh-pop .fp-t{color:var(--muted);white-space:nowrap;font-size:12px}
.fresh-pop .fp-a{display:block;padding:9px 14px 6px;border-top:1px solid var(--line-2);color:var(--brand);font-weight:600;text-decoration:none}
@media (max-width:1180px){.fresh .fresh-go span{display:none}}
@media (max-width:760px){.fresh .fresh-at span{display:none}.fresh .fresh-at{padding:0 9px}}

/* Settings › AI: the flight deck */
.aid-top{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:20px;align-items:stretch} @media (max-width:820px){.aid-top{grid-template-columns:1fr}}
.aid-k{font-size:12px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.aid-big{font-size:34px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}
.aid-bar{height:5px;border-radius:3px;background:var(--line-2);margin:8px 0;overflow:hidden}.aid-bar i{display:block;height:100%;background:var(--brand)}.aid-cap{display:block;margin-top:10px}
.aid-pre{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.aid-p{display:flex;flex-direction:column;gap:5px;text-align:start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);color:var(--text);cursor:pointer;font:inherit}
.aid-p:hover{border-color:var(--brand)}.aid-p.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}.aid-p b{font-size:15px}.aid-p span{font-size:12.5px;color:var(--muted);flex:1}.aid-p em{font-style:normal;font-size:12px;font-weight:600;color:var(--brand)}
.aid-r{display:grid;grid-template-columns:38px minmax(170px,1fr) minmax(330px,auto) 76px 124px;gap:12px;align-items:center;padding:10px 16px;border-top:1px solid var(--line-2)}.aid-r:first-child{border-top:0}
.aid-r.off .aid-t,.aid-r.off .aid-dial,.aid-r.off .aid-m{opacity:.42}
.aid-t{display:grid;min-width:0}.aid-m{display:grid;text-align:end;font-variant-numeric:tabular-nums}
.aid-sw{position:relative;width:34px;height:20px;display:inline-block;cursor:pointer}.aid-sw input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.aid-sw i{position:absolute;inset:0;border-radius:10px;background:var(--line);transition:background .15s}.aid-sw i:after{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;border-radius:50%;background:#fff;transition:transform .15s}.aid-sw input:checked+i{background:var(--brand)}.aid-sw input:checked+i:after{transform:translateX(14px)}.aid-sw input:focus-visible+i{outline:2px solid var(--brand);outline-offset:2px}
.aid-dial{display:grid;grid-template-columns:repeat(4,1fr);background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:2px;gap:2px}
.aid-s{position:relative;border:0;background:transparent;color:var(--muted);font:500 12.5px var(--font);padding:5px 6px;border-radius:7px;cursor:pointer;display:grid;justify-items:center;min-height:32px}.aid-s small{font-size:10.5px;opacity:.8;font-variant-numeric:tabular-nums}
.aid-s:hover:not(:disabled){color:var(--text);background:var(--panel)}.aid-s.on{background:var(--brand);color:#fff;font-weight:600}.aid-s:disabled{opacity:.3;cursor:not-allowed}
.aid-s.rec:not(.on):after{content:"";position:absolute;top:4px;right:4px;width:5px;height:5px;border-radius:50%;background:var(--ok)}
.aid-more{border:0;background:transparent;cursor:pointer;padding:0;text-align:end}
.aid-x{grid-column:2/-1;font-size:13px;padding:2px 0 6px}.aid-x p{margin:0 0 8px}.aid-f{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media (max-width:980px){.aid-r{grid-template-columns:38px minmax(0,1fr) 76px}.aid-dial{grid-column:1/-1;order:3}.aid-more{grid-column:1/-1;order:4;text-align:start}.aid-x{grid-column:1/-1;order:5}}
