/* EDGE ID full-screen workspace kit (Owner, 12 Oct 2026): every pixel used; controls on the edges; dense and zoomed out like
   Judiverse Mail, Excel and ChatGPT; nothing floating; no centred column. Look F (Focus Rail): navy, cyan accent, icon rail. */
:root{--bg:#061520;--pane:#071b27;--pane2:#0a2231;--rail:#030e16;--card:#0b2636;--hover:#0e2d40;--sel:#0f3a52;--line:rgba(114,228,255,.13);--line2:rgba(114,228,255,.24);
 --text:#e6f2f8;--mute:#8fb0c0;--dim:#6a8c9c;--acc:#72e4ff;--acc2:#3fc8f0;--ok:#5ee6a8;--warn:#ffc96b;--bad:#ff7a8a;--vio:#b49cff;--ink:#041019}
html[data-look="D"],html[data-look="ice"]{--bg:#f5f9fc;--pane:#ffffff;--pane2:#f0f6fa;--rail:#e6eff5;--card:#ffffff;--hover:#e9f2f8;--sel:#d6ebf6;--line:rgba(4,16,25,.10);--line2:rgba(4,16,25,.18);
 --text:#0b1c26;--mute:#4f6b79;--dim:#7890a0;--acc:#0a7fb3;--acc2:#0a7fb3;--ok:#13804f;--warn:#9a6400;--bad:#c02a3c;--vio:#6b4fd8;--ink:#ffffff}
*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}
body{font:12.5px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
svg.i{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* frame: rail | pane | work */
.ws{display:grid;grid-template-columns:52px 216px 1fr;height:100vh;width:100vw}
.ws.nopane{grid-template-columns:52px 1fr}
.rail{background:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:2px}
.rail .lion{width:32px;height:32px;border-radius:8px;margin-bottom:8px}
.rail a{width:40px;height:38px;border-radius:9px;display:grid;place-items:center;color:var(--mute);position:relative}
.rail a.on{background:var(--sel);color:var(--acc)}.rail a.on::before{content:"";position:absolute;left:-6px;top:9px;bottom:9px;width:3px;border-radius:2px;background:var(--acc)}
.rail a b{position:absolute;top:4px;right:3px;min-width:15px;height:15px;border-radius:8px;background:var(--acc);color:var(--ink);font-size:9.5px;display:grid;place-items:center;padding:0 3px}
.rail .sp{flex:1}.rail .me{width:30px;height:30px;border-radius:50%;background:var(--acc);color:var(--ink);font-weight:800;font-size:11px;display:grid;place-items:center}
.pane{background:var(--pane);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;overflow:hidden}
.pane .ph{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-weight:700;font-size:13.5px;border-bottom:1px solid var(--line)}
.pane .ph .wm{display:flex;align-items:center;gap:8px}.pane .ph .wm small{font-weight:500;color:var(--mute);font-size:11px}
.pane .new{margin:10px 10px 6px;display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:var(--acc);color:var(--ink);font-weight:700}
.nav{padding:4px 6px;overflow:hidden}.nav .g{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);padding:10px 8px 4px}
.nav a{display:flex;align-items:center;gap:9px;padding:5px 8px;border-radius:7px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav a svg{color:var(--mute)}.nav a.on{background:var(--sel)}.nav a.on svg{color:var(--acc)}.nav a .c{margin-left:auto;color:var(--mute);font-size:11px}.nav a .c.hot{color:var(--acc);font-weight:700}
.pane .foot{margin-top:auto;border-top:1px solid var(--line);padding:8px 10px;display:flex;align-items:center;gap:8px;font-size:11.5px}
.pane .foot .me{width:26px;height:26px;border-radius:50%;background:var(--acc);color:var(--ink);font-weight:800;font-size:10px;display:grid;place-items:center}
.pane .foot small{display:block;color:var(--mute);font-size:10.5px}
.work{display:flex;flex-direction:column;min-width:0;height:100vh}
/* app bar */
.appbar{height:44px;flex:none;display:flex;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--pane)}
.appbar .crumb{display:flex;align-items:center;gap:6px;color:var(--mute);white-space:nowrap}.appbar .crumb b{color:var(--text);font-size:13.5px}
.search{flex:1;max-width:620px;margin:0 auto;display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;border:1px solid var(--line2);border-radius:8px;background:var(--pane2);color:var(--mute)}
.search kbd{margin-left:auto;font-size:10.5px;border:1px solid var(--line2);border-radius:4px;padding:0 4px}
.appbar .r{display:flex;align-items:center;gap:4px}.ib{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;color:var(--mute)}
.pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:13px;border:1px solid var(--line2);font-size:11.5px;color:var(--text);white-space:nowrap}
/* ribbon: grouped commands on the top edge */
.ribbon{flex:none;display:flex;align-items:stretch;gap:0;padding:4px 8px 0;border-bottom:1px solid var(--line);background:var(--pane);overflow:hidden}
.rg{display:flex;flex-direction:column;padding:0 6px;border-right:1px solid var(--line)}.rg:last-child{border-right:0}
.rg .cmds{display:flex;gap:1px}.rg .gl{font-size:10px;color:var(--dim);text-align:center;padding:2px 0 4px}
.cmd{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:46px;padding:5px 6px 3px;border-radius:6px;color:var(--text);font-size:10.5px;white-space:nowrap}
.cmd svg{width:18px;height:18px;color:var(--acc)}.cmd.on{background:var(--sel)}.cmd.dis{opacity:.45}
/* content panes */
.panes{flex:1;min-height:0;display:grid;overflow:hidden}
.p{min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;border-right:1px solid var(--line)}.p:last-child{border-right:0}
.p.alt{background:var(--pane)}
.ph2{height:36px;flex:none;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--line);font-weight:650;font-size:12.5px}
.ph2 .sp{flex:1}.ph2 small{color:var(--mute);font-weight:400}
.tabs{display:flex;gap:2px;padding:0 10px;border-bottom:1px solid var(--line);height:32px;align-items:flex-end;flex:none}
.tabs a{padding:6px 10px;color:var(--mute);border-bottom:2px solid transparent}.tabs a.on{color:var(--text);border-color:var(--acc)}
.body{flex:1;min-height:0;overflow:hidden;padding:10px 12px}
.grid{display:grid;gap:10px}
.kpis{display:grid;gap:8px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.kpi small{display:block;color:var(--mute);font-size:10.5px}.kpi b{display:block;font-size:18px;font-weight:700;margin-top:1px}.kpi i{font-style:normal;font-size:10.5px;color:var(--ok)}.kpi i.dn{color:var(--bad)}
.box{background:var(--card);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.box .bh{height:30px;flex:none;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid var(--line);font-weight:650;font-size:12px}.box .bh .sp{flex:1}.box .bh small{color:var(--mute);font-weight:400}
.box .bb{padding:8px 10px;flex:1;min-height:0;overflow:hidden}
/* dense tables like Excel */
table{width:100%;border-collapse:collapse;font-size:12px}thead th{position:sticky;top:0;background:var(--pane2);text-align:left;font-weight:600;color:var(--mute);font-size:11px;padding:5px 8px;border-bottom:1px solid var(--line2);white-space:nowrap}
td{padding:4px 8px;border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}tr.sel td{background:var(--sel)}tr:hover td{background:var(--hover)}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}.pos{color:var(--ok)}.neg{color:var(--bad)}
.mono{font-size:11.5px}
.chip{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 7px;border-radius:9px;font-size:10.5px;border:1px solid var(--line2);color:var(--mute);white-space:nowrap}
.chip.ok{color:var(--ok);border-color:rgba(94,230,168,.4)}.chip.warn{color:var(--warn);border-color:rgba(255,201,107,.4)}.chip.bad{color:var(--bad);border-color:rgba(255,122,138,.45)}.chip.acc{color:var(--acc);border-color:var(--line2)}.chip.syn{color:var(--vio);border-color:rgba(180,156,255,.45)}
.btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:7px;background:var(--acc);color:var(--ink);font-weight:700;font-size:12px;border:0;white-space:nowrap}
.btn.g{background:transparent;color:var(--text);border:1px solid var(--line2);font-weight:600}
.row{display:flex;align-items:center;gap:8px}.sp{flex:1}.mute{color:var(--mute)}.small{font-size:11px}
.list .it{display:flex;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line)}.list .it.sel{background:var(--sel)}.list .it .grow{flex:1;min-width:0}
.list .it b{display:block;font-size:12.5px}.list .it small{display:block;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:10.5px;font-weight:800;color:var(--ink);background:var(--acc);flex:none}.av.v{background:var(--vio)}.av.o{background:var(--ok)}.av.w{background:var(--warn)}
.track{height:6px;border-radius:3px;background:var(--pane2);overflow:hidden}.track i{display:block;height:100%;background:var(--acc)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px}.kv span{color:var(--mute)}
/* Jude docked on the bottom edge of the work area (never floating) */
.jude{flex:none;display:flex;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid var(--line);background:var(--pane)}
.jude .in{flex:1;height:30px;display:flex;align-items:center;padding:0 10px;border:1px solid var(--line2);border-radius:8px;background:var(--pane2);color:var(--mute)}
.jude .mp{height:30px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--line2);border-radius:8px;font-size:11.5px}
.jude .send{width:30px;height:30px;border-radius:8px;background:var(--acc);color:var(--ink);display:grid;place-items:center}
/* status bar, Excel-style */
.status{height:24px;flex:none;display:flex;align-items:center;gap:14px;padding:0 10px;border-top:1px solid var(--line);background:var(--rail);color:var(--mute);font-size:11px}
.status .sp{flex:1}.status .ok{color:var(--ok)}
a{color:inherit;text-decoration:none}
.pane .ph .wm{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* One font everywhere, like ChatGPT (Owner, 12 Oct 2026): the system UI font, numbers aligned with tabular figures, one family. */
*,*::before,*::after,svg text,kbd,code,pre,.mono,input,button,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif!important}
.mono,td.n,th.n,.kpi b,.status{font-variant-numeric:tabular-nums}
.mono{font-size:inherit}
/* Codex-style menus and sign-in (Owner, 12 Oct 2026: "codex has a more clean and visible easy to see style") */
.menu{position:fixed;z-index:50;width:300px;background:var(--pane2);border:1px solid var(--line2);border-radius:15px;padding:9px;box-shadow:0 12px 40px rgba(0,0,0,.35);font-size:13px}
.menu[hidden]{display:none}
.menu .mt{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;font-size:11px;color:var(--mute)}
.menu .mt button{border:0;background:none;color:var(--mute);font-size:15px;cursor:pointer}
.menu .mo{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:0;border-radius:10px;background:none;color:var(--text);text-align:left;cursor:pointer;font-size:13px}
.menu .mo:hover{background:var(--hover)}.menu .mo b{font-weight:550;display:block}.menu .mo small{display:block;color:var(--mute);font-size:11px;margin-top:3px}
.menu .mo .tick{color:var(--acc)}.menu .mo .chev{color:var(--mute)}.menu hr{border:0;border-top:1px solid var(--line);margin:4px 6px}
.rail .me,.jude .mp,.jude .ib,.appbar .pill{cursor:pointer}
.looks{display:inline-flex;gap:2px;padding:2px;border-radius:999px;border:1px solid var(--line2)}
.looks button{border:0;background:transparent;color:var(--mute);font-size:11px;padding:3px 9px;border-radius:999px;cursor:pointer}
.looks button[aria-pressed=true]{background:var(--acc);color:var(--ink)}
.auth{width:100%;max-width:400px;margin:auto;padding:40px 20px;text-align:center}
.auth .sym{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:34px;font-size:22px;font-weight:650}
.auth .sym img{width:64px;height:64px;border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.35)}
.auth h1{font-size:28px;font-weight:650;letter-spacing:-.01em}.auth>p{font-size:13px;color:var(--mute);margin:14px 0 24px}
.auth .dev{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;border:1px solid var(--line2);border-radius:12px;background:var(--pane2);margin-bottom:12px}
.auth .dev b{display:block;font-size:13px}.auth .dev small{color:var(--mute)}
.auth .primary{width:100%;height:44px;border:0;border-radius:999px;background:var(--acc);color:var(--ink);font-weight:700;font-size:14px;margin-top:4px}
.auth .textlink{display:block;margin:14px auto 0;font-size:13px;color:var(--text)}
.auth .backup{font-size:11px;color:var(--mute);margin-top:6px}.auth .legal{font-size:11px;color:var(--mute);margin-top:34px}
.looks.float{display:none}

/* Pills everywhere (Owner, 12 Oct 2026: "I only approved pills everywhere, whether it's a tall pill or a short pill").
   Every control, question, input, tab, chip, menu item and command is a pill; panels are soft-cornered containers. */
.btn,.chip,.pill,.search,.jude .in,.jude .mp,.jude .send,.cmd,.nav a,.tabs a,.pane .new,.rail a,.menu .mo,.looks,.looks button,.ib,
input,select,button,.auth .primary,.auth .dev,.kv b .chip,.av,.me{border-radius:999px!important}
textarea{border-radius:22px!important}
.menu{border-radius:22px!important}
.box,.kpi,.card,.cap{border-radius:16px!important}
[style*="border-radius:4px"],[style*="border-radius:5px"],[style*="border-radius:6px"],[style*="border-radius:7px"],[style*="border-radius:8px"],[style*="border-radius:9px"],[style*="border-radius:10px"],[style*="border-radius: 6px"],[style*="border-radius: 8px"]{border-radius:999px!important}
.tabs{gap:6px;padding:4px 10px;align-items:center;height:38px}.tabs a{border:1px solid transparent;padding:4px 12px;border-bottom:1px solid transparent}
.tabs a.on{border-color:var(--acc);background:var(--sel);color:var(--text)}
.cmd{padding:5px 10px 3px}.cmd.on{outline:1px solid var(--acc)}
.rail a.on::before{display:none}.rail a.on{outline:1px solid var(--acc)}
.nav a.on{outline:1px solid var(--line2)}
/* The wordmark: JudeAI | EDGE ID beside the lion */
.pane .ph .brand{display:flex;align-items:center;gap:6px;font-weight:700;font-size:14px;white-space:nowrap}
.pane .ph .brand i{font-style:normal;color:var(--mute);font-weight:400}
.pane .appname{padding:10px 14px 0;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
/* Discipline pass (Owner, 12 Oct 2026): adaptive at every width, air in the type, no grey text. */
:root{--mute:#c6dbe6;--dim:#9fc3d3;--line:rgba(114,228,255,.16);--line2:rgba(114,228,255,.3)}
html[data-look="D"],html[data-look="ice"]{--mute:#2b4656;--dim:#3f5d6d}
body{font-size:13px;line-height:1.5;letter-spacing:.005em}
h1{letter-spacing:0}h2,h3{letter-spacing:.005em}
.appbar{height:52px;gap:14px;padding:0 16px}.appbar .crumb b{font-size:14px}
.ribbon{padding:6px 10px 0}.rg{padding:0 8px}.cmd{min-width:52px;padding:6px 8px 4px;gap:4px;font-size:11px}.rg .gl{padding:3px 0 6px;letter-spacing:.04em}
.pane .ph{height:52px;padding:0 14px}.pane .new{margin:12px 12px 8px;padding:9px 12px}.nav a{padding:7px 10px;margin:1px 0}.nav .g{padding:14px 10px 6px;letter-spacing:.08em}
.ph2{height:40px;padding:0 14px;gap:10px}.tabs{height:42px;gap:8px;padding:5px 12px}.tabs a{padding:5px 13px}.body{padding:12px 14px}
thead th{padding:7px 10px;letter-spacing:.04em}td{padding:6px 10px;line-height:1.45}
.kpi{padding:10px 12px}.kpi small{font-size:11px;letter-spacing:.03em}.kpi b{font-size:19px;margin-top:3px}.kpis{gap:10px}
.box .bh{height:34px;padding:0 12px}.box .bb{padding:10px 12px}.kv{gap:6px 14px}.list .it{padding:10px 12px}
.chip{height:20px;padding:0 9px;font-size:11px}.status{height:26px;font-size:11.5px;gap:16px}
.jude{padding:8px 12px;gap:10px}.jude .in{height:34px;padding:0 14px}.jude .mp{height:34px;padding:0 12px}
/* KPI strips: never squeeze; wrap into as many columns as fit */
.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
.grid2,.grid3,.grid4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}
/* The frame adapts: narrower than 1500 the section pane collapses to the rail; narrower than 1200 the inspector drops below;
   narrower than 900 panes stack and scroll; the rail becomes a bottom bar on phones. */
@media (max-width:1500px){.ws{grid-template-columns:52px 1fr}.pane{display:none}.appbar .crumb{display:flex}}
@media (max-width:1200px){.panes{grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:minmax(0,1fr);overflow:auto}.p{border-right:0;border-bottom:1px solid var(--line);min-height:320px;overflow:auto}
  .cmd{min-width:44px}.cmd span,.rg .gl{display:none}.search{max-width:360px}.appbar .pill{display:none}}
@media (max-width:900px){.ws{grid-template-columns:1fr;grid-template-rows:1fr 56px}.rail{flex-direction:row;border-right:0;border-top:1px solid var(--line);padding:0 8px;gap:0;justify-content:space-around;order:2;overflow-x:auto}
  .rail .lion{display:none}.rail .sp{display:none}.rail a{width:44px;height:44px}.work{height:auto;min-height:0;order:1}.panes{overflow:auto}.p{min-height:280px}
  .ribbon{overflow-x:auto;flex-wrap:nowrap}.appbar{height:48px}.search{max-width:none;flex:1}.status{display:none}.jude .mp{display:none}}
.panes{overflow:auto}.p{overflow:auto}

/* Looks: electric = A (brighter navy, glass), ice = D (light), rail = F (default, icon rail only). */
html[data-look="electric"]{--bg:radial-gradient(1200px 700px at 70% 0%,#0d3f5c 0%,#071722 55%,#040d14 100%);--pane:rgba(7,27,39,.92);--pane2:#0b2a3c;--rail:#061a26;--card:#0d2d40;--hover:#11384f;--sel:#134460}
html[data-look="electric"] body{background-attachment:fixed}
html[data-look="rail"] .pane,html[data-look="F"] .pane{display:none}
html[data-look="rail"] .ws,html[data-look="F"] .ws{grid-template-columns:52px 1fr}
html[data-look="electric"] .ws,html[data-look="ice"] .ws{grid-template-columns:52px 216px 1fr}
html[data-look="electric"] .pane,html[data-look="ice"] .pane{display:flex}
@media (max-width:1500px){html[data-look="electric"] .ws,html[data-look="ice"] .ws{grid-template-columns:52px 1fr}html[data-look="electric"] .pane,html[data-look="ice"] .pane{display:none}}
/* The look switch is a quiet icon bottom-left in the rail (Owner, 12 Oct 2026); no named colour toggle in the top bar. */
.looks,.looks.float{display:none!important}
.rail .look-btn{width:40px;height:38px;border-radius:999px;display:grid;place-items:center;color:var(--mute);cursor:pointer;margin-top:auto}
.rail .look-btn:hover{background:var(--hover);color:var(--acc)}
.rail .sp{display:none}

/* Selection is a highlight, never a ring (Owner, 12 Oct 2026). Columns never go below a readable width; nothing clips. */
.cmd.on,.rail a.on,.nav a.on,.tabs a.on,tr.sel td,.list .it.sel{outline:0!important;box-shadow:none!important;background:var(--sel)}
.rail a.on{color:var(--acc)}
.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}
.kpi b{white-space:nowrap}.kpi small{white-space:normal}
.panes>.p{min-width:0}.ph2{flex-wrap:wrap;height:auto;min-height:40px;padding:6px 14px}.ph2 .chip{max-width:100%}
.ribbon{overflow-x:auto;scrollbar-width:none}.ribbon::-webkit-scrollbar{display:none}
td,th{max-width:none}table{table-layout:auto}.body table{min-width:0}
.appbar .crumb b{white-space:nowrap}.appbar{gap:10px}.appbar .r{flex:none}
.p{overflow:auto}.body{overflow:auto}
@media (max-width:1500px){.panes{grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important}.panes>.p:nth-child(2):nth-last-child(2){display:none}}
@media (max-width:1200px){.panes{grid-template-columns:minmax(0,1fr)!important}}
/* Overlap fix (12 Oct 2026): rows grow to content, panes never claim more than their row, tall panes scroll inside. */
.panes{grid-auto-rows:minmax(0,1fr)!important;align-items:stretch}
.p{min-height:0!important;max-height:100%;overflow:auto!important}
@media (max-width:1200px){.panes{grid-auto-rows:minmax(320px,auto)!important;overflow:auto}}
@media (max-width:900px){.panes{grid-auto-rows:minmax(280px,auto)!important}}
/* Content inside a pane never resizes the pane: fixed-height blocks inside panes become capped and scroll. */
.p [style*="height:300px"],.p [style*="height:320px"],.p [style*="height:280px"]{max-height:45%;min-height:0!important;overflow:auto}

/* One wordmark, every page, top-left of the app bar; the breadcrumb is the page name only (Owner, 12 Oct 2026). */
.appbar .crumb .wm{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;margin-right:14px;white-space:nowrap}
.appbar .crumb .wm i{font-style:normal;opacity:.6}
.rail .lion{display:block}
/* Panes are laid out by flex, not grid, so a pane can never paint over another; each pane scrolls inside itself. */
.panes{display:flex!important;flex-direction:row;align-items:stretch;min-height:0;overflow:hidden}
.panes>.p{flex:1 1 0;min-width:0;min-height:0;overflow:auto!important;max-height:none}
.panes>.p.alt:last-child{flex:0 0 clamp(300px,30%,420px)}
.panes>.p:first-child:not(:last-child){flex:1 1 0}
.panes>.p:nth-child(2):not(:last-child){flex:1 1 0}
.panes>.p>*{flex:none}.panes>.p>.body{flex:1 1 auto;min-height:0;overflow:auto}
.p [style*="height:300px"],.p [style*="height:320px"],.p [style*="height:280px"]{height:auto!important;max-height:none;flex:none}
@media (max-width:1200px){.panes{flex-direction:column;overflow:auto}.panes>.p{flex:none;max-height:none;min-height:360px}.panes>.p.alt:last-child{flex:none}}

.appbar .crumb .wm{margin-right:0}.appbar .crumb b,.appbar .crumb>span:not(.wm){display:none}

/* No grey text, anywhere (Owner): secondary text is pale ice blue, never grey. Hierarchy by weight and size, not by dimming. */
:root{--mute:#9fdcf5;--dim:#63ddff;--text:#f6fbff}
html[data-look="ice"]{--mute:#0a5f8f;--dim:#0a7fb3;--text:#061520;--bg:#f2f8fc;--pane:#ffffff;--pane2:#e8f3fa;--rail:#dceaf3;--card:#ffffff;--hover:#dbeef9;--sel:#c5e5f6;--line:rgba(10,95,143,.22);--line2:rgba(10,95,143,.4);--acc:#0a7fb3;--ink:#ffffff}
html[data-look="ice"] body{background:#f2f8fc}
html[data-look="electric"]{--bg:#0b2d45;--pane:#0d3650;--pane2:#114566;--rail:#082436;--card:#12456a;--hover:#175b85;--sel:#1a6a9b;--line:rgba(114,228,255,.28);--line2:rgba(114,228,255,.5)}
html[data-look="electric"] body{background:radial-gradient(1200px 700px at 70% 0%,#145f8c 0%,#0b2d45 55%,#061a2c 100%);background-attachment:fixed}
/* Contrast and hierarchy: pane darker than card, card lighter than pane, lines visible, headings heavier. */
html[data-look="rail"]{--bg:#04101a;--pane:#071d2c;--pane2:#0a2a3e;--rail:#030c14;--card:#0d2f44;--hover:#12405a;--sel:#164d6c;--line:rgba(114,228,255,.22);--line2:rgba(114,228,255,.42)}
.card,.box,.kpi{border:1px solid var(--line2);box-shadow:0 1px 0 rgba(255,255,255,.04) inset}
h1,h2,h3,.ph2,.bh,thead th,.kpi b{color:#ffffff;font-weight:700}html[data-look="ice"] h1,html[data-look="ice"] h2,html[data-look="ice"] h3,html[data-look="ice"] .ph2,html[data-look="ice"] .bh,html[data-look="ice"] thead th,html[data-look="ice"] .kpi b{color:#061520}
.kpi small,.nav .g,.rg .gl,.small,.status{color:var(--mute)}
/* The smooth look of the engine render: tighter letterfit on headings, clean tabular figures, 2px radii on data rows. */
body{font-feature-settings:"ss01","tnum","cv11";letter-spacing:-.005em}h1,h2,.kpi b,.appbar .crumb .wm{letter-spacing:-.02em}td,th{letter-spacing:0}
/* Everything clickable shows a hand and reacts. */
a,.cmd,.chip,.btn,.ib,.nav a,.rail a,.tabs a,tr[onclick],.li,.rec-row{cursor:pointer}
.nav a:hover,.rail a:hover,.cmd:hover,.tabs a:hover{background:var(--hover)}.btn:hover{filter:brightness(1.1)}
/* The old eye icon in the top bar is Privacy View, so it must look pressable */
.appbar .ib{cursor:pointer}
/* ===== Clear, easy to look at, distinct (Owner, 12 Oct 2026). Not a rebuild: the flat ground, the text spacing and the
   contrast from the engine render, applied to the layout that exists. */
:root{--ground:linear-gradient(106deg,#0b0c0c,#0b0e10,#10232f);--bg:#0b0e10;--pane:#0d1319;--pane2:#13202b;--rail:#070b0e;--card:#111b25;--hover:rgba(99,221,255,.08);--sel:rgba(99,221,255,.14);--line:rgba(255,255,255,.09);--line2:rgba(99,221,255,.4);--text:#f2f8fc;--mute:#bfe6f6;--dim:#63ddff;--acc:#63ddff}
body,html[data-look="rail"] body{background:var(--ground);background-attachment:fixed}
html[data-look="electric"]{--ground:radial-gradient(1200px 700px at 70% 0%,#0f4a6e 0%,#0a2a40 50%,#06161f 100%);--pane:#0c2a3d;--pane2:#113a52;--card:#0f3449;--hover:rgba(99,221,255,.12);--sel:rgba(99,221,255,.18)}
html[data-look="ice"]{--ground:#f4f8fb;--bg:#f4f8fb;--pane:#ffffff;--pane2:#e9f1f6;--rail:#e2ecf3;--card:#ffffff;--line:rgba(10,23,34,.1);--line2:rgba(10,104,156,.45);--text:#0a1722;--mute:#0a5f8f;--dim:#0a689c;--acc:#0a7fb3;--ink:#fff;--hover:rgba(10,127,179,.08);--sel:rgba(10,127,179,.14)}
/* text: air between lines, words and letters; clear sizes; secondary text is light, never dim */
body{font-size:13px;line-height:1.55;letter-spacing:.004em;word-spacing:.02em}
h1{font-size:22px;font-weight:650;letter-spacing:-.02em;line-height:1.2}h2,h3,.ph2,.bh{font-size:13.5px;font-weight:650;line-height:1.4}
td,th{padding:8px 12px;line-height:1.5}thead th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--mute)}
.kpi b{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-top:4px}.kpi small{font-size:11.5px;letter-spacing:.01em}.kpi{padding:12px 14px}.kpis{gap:12px}
.kv{gap:8px 16px;line-height:1.5}.list .it{padding:11px 14px}.nav a{padding:8px 12px;line-height:1.4}.chip{letter-spacing:.01em}
.small,.kpi i,.rg .gl,.nav .g,.status{font-size:11.5px;letter-spacing:.02em}
/* contrast: surfaces step clearly (ground < pane < card), dividers visible, headings white */
.card,.box,.kpi{background:var(--card);border:1px solid var(--line)}.p.alt{background:var(--pane)}
h1,h2,h3,.ph2,.bh,.kpi b,td b,.list .it b{color:#ffffff}html[data-look="ice"] h1,html[data-look="ice"] h2,html[data-look="ice"] h3,html[data-look="ice"] .ph2,html[data-look="ice"] .bh,html[data-look="ice"] .kpi b,html[data-look="ice"] td b{color:#0a1722}
.chip.ok{background:rgba(0,137,90,.22);color:#8ff2c6;border-color:transparent}.chip.bad{background:rgba(200,16,46,.3);color:#ffb6bf;border-color:transparent}.chip.warn{background:rgba(255,201,107,.2);color:#ffdc93;border-color:transparent}.chip.acc{background:rgba(99,221,255,.16);color:var(--acc);border-color:transparent}.chip.syn{background:rgba(180,156,255,.18);color:#dccfff;border-color:transparent}
tr:hover td{background:var(--hover)}tr.sel td{background:var(--sel)}
/* motion like JudeCinema */
a,.cmd,.chip,.btn,.ib,.nav a,.rail a,.tabs a,tr,.li{transition:background .15s,color .15s,transform .15s,box-shadow .15s}
.btn:hover{box-shadow:0 10px 26px rgba(24,163,233,.35);transform:translateY(-1px)}
/* Room to breathe (Owner, 12 Oct 2026): like ChatGPT. Wider margins, taller rows, calmer ribbon, one thing at a time. */
.panes>.p{padding:6px 24px 12px}.panes{gap:0}.p.alt{padding-left:24px}
.body{padding:14px 0}.ph2{min-height:48px;padding:10px 0;gap:12px}.ph2 small{margin-left:4px}
td,th{padding:10px 12px}thead th{padding:9px 12px}.list .it{padding:13px 12px;gap:12px}.kv{gap:10px 18px}
.kpis{gap:14px}.kpi{padding:14px 16px}.box{margin-bottom:16px}.box .bh{height:40px}.box .bb{padding:12px 14px}
.appbar{height:60px;padding:0 24px;gap:16px}.appbar .r{gap:8px}.search{height:34px;max-width:560px}
.ribbon{padding:8px 18px 0;gap:4px}.rg{padding:0 10px}.cmd{min-width:54px;padding:7px 9px 5px;gap:5px}.rg .gl{padding:4px 0 8px}
.nav a{padding:9px 12px;margin:2px 0}.nav .g{padding:18px 12px 8px}.pane{padding:16px 10px}.pane .new{margin:14px 12px 10px;padding:10px 12px}
.rail{padding:12px 0;gap:6px}.rail a{width:40px;height:40px}
.jude{padding:12px 24px;gap:12px}.jude .in{height:38px;padding:0 16px;font-size:13.5px}
.status{height:30px;padding:0 24px;gap:18px}
/* calm: secondary chips in headers only when they say something; never more than three in a row */
.ph2 .chip:nth-of-type(n+4){display:none}
/* the first pane is the work; the inspector is quieter */
.p.alt{opacity:.96}

.appbar a.crumb{text-decoration:none;color:inherit}.rail>a:first-child{width:auto;height:auto;border-radius:8px!important;margin-bottom:8px}

/* Every device (Owner, 12 Oct 2026). Tablets: section pane folds, inspector drops below. Phones: rail at the bottom, one pane at a time, touch targets 44px. */
@media (max-width:1100px){.ws{grid-template-columns:52px 1fr!important}.pane{display:none!important}.panes{flex-direction:column;overflow:auto}.panes>.p{flex:none;min-height:0}.panes>.p.alt:last-child{flex:none;border-left:0!important;border-top:1px solid var(--line)}
  .ribbon{overflow-x:auto}.cmd{min-width:48px}.search{max-width:none;flex:1}.appbar .pill{display:none}}
@media (max-width:700px){.ws{grid-template-columns:1fr!important;grid-template-rows:1fr 60px}.rail{flex-direction:row;order:2;border-right:0!important;border-top:1px solid var(--line)!important;padding:4px 6px;gap:0;justify-content:space-around;overflow-x:auto}
  .rail>a:first-child,.rail .sp,.rail .me,.rail .look-btn{display:none}.rail a{width:44px;height:44px;flex:none}.work{order:1;height:auto;min-height:0}
  .appbar{height:52px;padding:0 14px;gap:8px}.appbar .r .ib:not(:last-child){display:none}.appbar .crumb .wm{font-size:12px}
  .ribbon{padding:6px 10px 0}.rg .gl{display:none}.cmd{min-width:44px;padding:6px}.cmd svg{width:20px;height:20px}
  .panes>.p{padding:4px 14px 10px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kpi b{font-size:22px}
  table{font-size:12.5px}td,th{padding:9px 8px}.jude{padding:8px 12px}.jude .mp{display:none}.status{display:none}
  .btn,.chip,.tabs a,.nav a{min-height:36px}.btn{min-height:44px}}
@media (hover:none){.rail a,.cmd,.btn,.tabs a{min-height:44px}}
/* Tablet (701 to 1100): the rail stays a left column and the work area fills; nothing inherits the phone bottom-rail. */
@media (min-width:701px) and (max-width:1100px){.ws{display:grid!important;grid-template-columns:52px 1fr!important;grid-template-rows:100vh!important}
  .rail{flex-direction:column!important;order:0;border-top:0!important;border-right:1px solid var(--line)!important;padding:12px 0;justify-content:flex-start;overflow:visible}
  .rail>a:first-child,.rail .sp,.rail .me,.rail .look-btn{display:flex}.rail .sp{display:block}.work{order:0;height:100vh;display:flex;flex-direction:column}
  .panes{flex-direction:column;overflow:auto;flex:1;min-height:0}.panes>.p{flex:none;min-height:0}.status{display:flex}}
/* Jude side panel: a collapsible column on the right of every page, like a browser extension. */
.jude{display:none!important}
.jp{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;background:var(--pane);border-left:1px solid var(--line);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .2s ease;z-index:40}
body.jp-open .jp{transform:none}body.jp-open .ws{padding-right:380px}
.jp-head{height:56px;flex:none;display:flex;align-items:center;gap:10px;padding:0 14px 0 18px;border-bottom:1px solid var(--line)}
.jp-title{font-weight:700;font-size:14px}.jp-ctx{font-size:12px;color:var(--mute)}
.jp-ib{width:32px;height:32px;border-radius:999px;border:0;background:transparent;color:var(--text);font-size:18px;cursor:pointer}.jp-ib:hover{background:var(--hover)}
.jp-thread{flex:1;min-height:0;overflow:auto;padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.jp-msg{display:flex}.jp-msg.me{justify-content:flex-end}.jp-b{max-width:88%;padding:10px 14px;border-radius:18px;background:var(--pane2);line-height:1.5;white-space:pre-wrap;word-break:break-word}.jp-msg.me .jp-b{background:var(--sel)}
.jp-cites{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.jp-compose{flex:none;display:flex;align-items:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--line)}
.jp-in{flex:1;resize:none;border:0;border-radius:18px;padding:10px 14px;background:var(--pane2);color:var(--text);font:inherit;line-height:1.45;outline:0}
.jp-send{width:38px;height:38px;border-radius:999px;border:0;background:var(--acc);color:var(--ink);font-size:18px;cursor:pointer;flex:none}
.jp-foot{flex:none;display:flex;align-items:center;gap:8px;padding:6px 14px 10px;font-size:11.5px;color:var(--mute)}.jp-mp{padding:3px 10px;border-radius:999px;background:var(--pane2)}
.jp-tab{position:fixed;right:0;bottom:84px;width:44px;height:44px;border-radius:999px 0 0 999px;border:1px solid var(--line);border-right:0;background:var(--pane);display:grid;place-items:center;cursor:pointer;z-index:41;transition:right .2s ease}
.jp-tab img{width:26px;height:26px;border-radius:7px}body.jp-open .jp-tab{right:380px;border-radius:999px 0 0 999px}
@media (max-width:1100px){.jp{width:min(380px,92vw)}body.jp-open .ws{padding-right:0}body.jp-open .jp-tab{right:min(380px,92vw)}}
@media (max-width:700px){.jp-tab{bottom:72px}}

/* Panes keep the widths each screen declared (flex-basis), inside a flex row that cannot overlap; below 1100px they stack. */
.panes>.p[style*="flex:0 0"]{flex-shrink:0}
@media (max-width:1100px){.panes>.p[style]{flex:none!important;max-width:none!important;min-width:0!important;width:100%}}
.tabs{position:relative;z-index:0;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}
/* Contrast, not monochrome (Owner, 12 Oct 2026). Five layers, each distinct: ground, pane, card, selection, accent. */
html[data-look="rail"],:root{--ground:#07090c;--bg:#07090c;--rail:#0b0f14;--pane:#0f1620;--pane2:#17222e;--card:#15202c;--hover:#1b2a39;--sel:#1f3b55;--line:rgba(255,255,255,.1);--line2:rgba(99,221,255,.5);--text:#f4f8fb;--mute:#aee3f7;--acc:#4fd3ff}
html[data-look="rail"] body,body{background:#07090c}
.rail{background:#0b0f14!important}.pane{background:#0d131b!important}.p.alt{background:#0f1620!important}.appbar,.ribbon{background:#0b1118!important}.status{background:#0b0f14!important}
.card,.box,.kpi{background:#15202c!important;border:1px solid rgba(255,255,255,.1)!important}
.box .bh,.ph2{background:transparent}.kpi b{color:#ffffff}.kpi small{color:#aee3f7}
h1,h2,h3,.ph2,.bh,td b,.list .it b,.kv b{color:#ffffff}td{color:#dceaf3}thead th{color:#8fd4ef}
tr:nth-child(even) td{background:rgba(255,255,255,.025)}tr:hover td{background:#1b2a39}tr.sel td{background:#1f3b55}
.btn{background:#4fd3ff;color:#06131c}.btn.g{background:#1b2a39;color:#f4f8fb}.nav a.on,.rail a.on,.tabs a.on,.cmd.on{background:#1f3b55;color:#ffffff}.rail a.on{color:#4fd3ff}
.chip.ok{background:#0f5a3c;color:#b9ffd9}.chip.bad{background:#6b1424;color:#ffd0d6}.chip.warn{background:#5c4210;color:#ffe3a6}.chip.acc{background:#124a66;color:#bff0ff}.chip.syn{background:#3a2a6b;color:#e4daff}.chip{background:#1b2a39;color:#dceaf3}
.search{background:#17222e}.jp{background:#0f1620}.jp-b{background:#17222e}.jp-msg.me .jp-b{background:#1f3b55}
.pos{color:#7ff0bd}.neg{color:#ff9aa8}.kpi i{color:#7ff0bd}.kpi i.dn{color:#ff9aa8}

/* The EDGE ID portal: quiet, centred on the screen's natural focus, one box, the lion, the places you use. */
.portal{display:flex;flex-direction:column;min-height:100vh}.portal .appbar{border-bottom:0!important;background:transparent!important}
.portal-c{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;padding:0 24px 12vh}
.portal-lion{width:84px;height:84px;border-radius:22px;box-shadow:0 22px 46px -26px rgba(24,163,233,.6)}
.portal-box{width:min(720px,100%);display:flex;align-items:center;gap:10px;padding:8px 8px 8px 22px;border-radius:999px;background:#17222e;border:1px solid rgba(99,221,255,.35);box-shadow:0 10px 26px rgba(24,163,233,.12)}
.portal-box input{flex:1;border:0;outline:0;background:transparent;color:#f4f8fb;font-size:17px;padding:10px 0}
.portal-go{width:42px;height:42px;border-radius:999px;border:0;background:#4fd3ff;color:#06131c;font-size:20px;cursor:pointer}
.portal-hits{width:min(720px,100%);display:flex;flex-direction:column;background:#0f1620;border:1px solid rgba(255,255,255,.1);border-radius:22px;padding:6px;margin-top:-14px}
.portal-hits a{padding:10px 16px;border-radius:999px;color:#f4f8fb;text-decoration:none}.portal-hits a.on,.portal-hits a:hover{background:#1f3b55}.portal-hits a.ask{color:#4fd3ff}
.portal-places{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:720px}
.portal-places a{padding:9px 16px;border-radius:999px;background:#15202c;border:1px solid rgba(255,255,255,.1);color:#f4f8fb;text-decoration:none;font-size:13.5px}.portal-places a:hover{background:#1f3b55}
html[data-look="ice"] .portal-box{background:#fff}html[data-look="ice"] .portal-box input,html[data-look="ice"] .portal-places a,html[data-look="ice"] .portal-hits a{color:#0a1722}html[data-look="ice"] .portal-places a,html[data-look="ice"] .portal-hits{background:#fff}
@media (max-width:700px){.portal-c{padding:0 16px 10vh;gap:20px}.portal-lion{width:64px;height:64px}.portal-box input{font-size:16px}}

/* The EDGE ID home, built like the JudeAI home (Owner, 12 Oct 2026): wide sidebar, the lion tile centred, the composer at the foot. */
body.pt{background:radial-gradient(1000px 700px at 55% 30%,#0b3c5a 0%,#082638 45%,#061826 100%);background-attachment:fixed}
.portal-hits[hidden]{display:none!important}
.pt-app{display:grid;grid-template-columns:300px 1fr;height:100vh}
.pt-side{display:flex;flex-direction:column;padding:18px 14px;border-right:1px solid rgba(255,255,255,.08);background:rgba(4,14,22,.55)}
.pt-top{display:flex;align-items:center;gap:8px;padding:2px 6px 18px}.pt-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;font-size:17px;white-space:nowrap}.pt-brand img{width:32px;height:32px;border-radius:9px}.pt-brand i{font-style:normal;opacity:.55;font-weight:400}
.pt-ib{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;color:#dceaf3;cursor:pointer}.pt-ib:hover{background:rgba(255,255,255,.07)}
.pt-row{display:flex;align-items:center;gap:14px;padding:11px 14px;border-radius:999px;color:#f4f8fb;text-decoration:none;font-size:15.5px}.pt-row:hover{background:rgba(255,255,255,.07)}.pt-row svg{width:18px;height:18px;color:#dceaf3}
.pt-new{font-weight:600;margin-bottom:10px}.pt-nav{display:flex;flex-direction:column;gap:4px}
.pt-acct{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 6px 0;border-top:1px solid rgba(255,255,255,.08)}.pt-ava{width:34px;height:34px;border-radius:50%;background:#4fd3ff;color:#06131c;display:grid;place-items:center;font-weight:800;font-size:12px}.pt-who b{display:block;color:#fff;font-size:14px}.pt-who small{color:#aee3f7;font-size:12px}
.pt-main{position:relative;display:flex;flex-direction:column;min-width:0}
.pt-hist{position:absolute;top:18px;right:24px;width:36px;height:36px;border-radius:999px;display:grid;place-items:center;color:#dceaf3}.pt-hist:hover{background:rgba(255,255,255,.07)}
.pt-hero{flex:1;display:grid;place-items:center}.pt-tile{width:112px;height:112px;border-radius:28px;box-shadow:0 30px 60px -30px rgba(24,163,233,.7)}
.pt-dock{width:min(1040px,calc(100% - 64px));margin:0 auto 22px;display:flex;flex-direction:column;gap:10px}
.pt-box{background:#0c2233;border:1.5px solid rgba(99,221,255,.55);border-radius:28px;padding:18px 18px 12px;box-shadow:0 0 0 4px rgba(99,221,255,.06)}
.pt-box textarea{width:100%;min-height:58px;resize:none;border:0;outline:0;background:transparent;color:#f4f8fb;font:inherit;font-size:18px;line-height:1.45}.pt-box textarea::placeholder{color:#8fe0ff}
.pt-ctrl{display:flex;align-items:center;gap:10px;margin-top:8px}.pt-c{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;color:#dceaf3;cursor:pointer}.pt-c:hover{background:rgba(255,255,255,.07)}
.pt-pill{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.14);color:#f4f8fb;font-weight:600;font-size:15px}.pt-dot{width:8px;height:8px;border-radius:50%;background:#5ee6a8}
.pt-send{width:46px;height:46px;border-radius:999px;border:0;background:#4fd3ff;color:#06131c;display:grid;place-items:center;cursor:pointer}.pt-send svg{width:20px;height:20px}
.pt-under{display:flex;align-items:center;padding:0 10px;color:#aee3f7;font-size:14px}.pt-tog{display:inline-flex;align-items:center;gap:10px}.pt-tog i{width:36px;height:20px;border-radius:999px;background:#18a3e9;position:relative}.pt-tog i::after{content:"";position:absolute;right:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff}.pt-tog b{color:#fff;letter-spacing:.08em;font-size:12px}
.pt-ask{display:inline-flex;align-items:center;gap:8px}.pt-note{text-align:center;color:#aee3f7;font-size:13px;margin:4px 0 0}
.pt .portal-hits{width:100%;margin:0}
@media (max-width:900px){.pt-app{grid-template-columns:1fr}.pt-side{display:none}.pt-dock{width:calc(100% - 28px)}.pt-tile{width:84px;height:84px}}
html body.pt,html[data-look] body.pt{background:radial-gradient(1000px 700px at 55% 30%,#0b3c5a 0%,#082638 45%,#061826 100%)!important;background-attachment:fixed}
body.pt .jp-tab{display:none}body.pt.jp-open .pt-app{padding-right:380px}
.pt-pill{white-space:nowrap;flex:none}@media (max-width:700px){.pt-pill{height:36px;padding:0 12px;font-size:14px}.pt-ctrl{gap:6px}}

/* Owner, 12 Oct 2026: send has no fill; sidebar compact like ChatGPT; the plus opens a menu. */
.pt-send{background:transparent!important;border:1.5px solid #4fd3ff!important;color:#4fd3ff!important}.pt-send:hover{background:rgba(79,211,255,.12)!important}
.pt-app{grid-template-columns:260px 1fr}
.pt-side{padding:12px 10px}.pt-top{padding:4px 6px 10px}.pt-brand{font-size:15px}.pt-brand img{width:28px;height:28px}
.pt-row{padding:8px 12px;font-size:14px;gap:12px}.pt-row svg{width:16px;height:16px}.pt-new{margin-bottom:6px}.pt-nav{gap:1px}
.pt-acct{padding:10px 6px 0}.pt-who b{font-size:13px}
.pt-c{border:0;background:transparent}
.pt-menu{position:relative;width:300px;background:#0f1c28;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:8px;box-shadow:0 18px 40px rgba(0,0,0,.45);align-self:flex-start;margin-left:8px}
.pt-menu[hidden]{display:none}.pt-mt{padding:8px 12px;font-size:12px;color:#aee3f7}
.pt-mo{display:block;width:100%;text-align:left;border:0;background:transparent;color:#f4f8fb;padding:10px 12px;border-radius:14px;cursor:pointer;font:inherit}.pt-mo:hover{background:#1f3b55}
.pt-mo b{display:block;font-weight:600;font-size:14px}.pt-mo small{display:block;color:#aee3f7;font-size:12px;margin-top:2px}

/* Apps: calm, grouped, every app one clickable pill (Owner, 12 Oct 2026). */
.pt-apps{overflow:auto}.pa-wrap{width:min(880px,calc(100% - 64px));margin:0 auto;padding:56px 0 48px}
.pa-wrap h1{font-size:28px;font-weight:650;letter-spacing:-.02em;color:#fff;margin-bottom:28px}
.pa-g{margin-bottom:28px}.pa-g h2{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#aee3f7;font-weight:600;margin-bottom:12px}
.pa-list{display:flex;flex-wrap:wrap;gap:10px}
.pa-a{padding:11px 18px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#f4f8fb;text-decoration:none;font-size:15px;transition:background .15s,transform .15s}
.pa-a:hover{background:#1f3b55;transform:translateY(-1px)}
.pt-row.on{background:rgba(255,255,255,.08)}
@media (max-width:700px){.pa-wrap{width:calc(100% - 32px);padding:28px 0}}

.pt-fly{position:fixed;left:268px;top:120px;width:min(560px,calc(100vw - 300px));max-height:calc(100vh - 160px);overflow:auto;background:#0f1c28;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:12px 16px 4px;box-shadow:0 22px 50px rgba(0,0,0,.5);z-index:60}
.pt-fly[hidden]{display:none}.pt-fly.from-plus{left:50%;top:auto;bottom:200px;transform:translateX(-30%)}
.pt-fly .pa-g{margin-bottom:14px}.pt-fly .pa-g h2{margin-bottom:8px;font-size:11px}.pt-fly .pa-list{gap:8px}.pt-fly .pa-a{padding:8px 14px;font-size:14px}
@media (max-width:900px){.pt-fly{left:12px;right:12px;width:auto;top:70px}.pt-fly.from-plus{left:12px;transform:none;bottom:180px;top:auto}}

/* The skinny icon rail returns on the far left of the home (Owner, 12 Oct 2026); the sidebar beside it can be hidden. */
.pt-app{grid-template-columns:52px 260px 1fr}
.pt-app>.rail{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 0;background:rgba(3,10,16,.7)!important;border-right:1px solid rgba(255,255,255,.08)!important;height:100vh}
.pt-app>.rail>a:first-child{margin-bottom:6px}.pt-app>.rail .sp{flex:1;display:block}
body.pt-hide .pt-app{grid-template-columns:52px 0 1fr}body.pt-hide .pt-side{display:none}
.pt-ib{border:0;background:transparent}
.pt-fly{left:320px}body.pt-hide .pt-fly{left:60px}
@media (max-width:900px){.pt-app{grid-template-columns:1fr;grid-template-rows:1fr 60px}.pt-app>.rail{order:2;flex-direction:row;height:60px;justify-content:space-around;overflow-x:auto}.pt-main{order:1}}
/* Hiding the sidebar leaves two tracks, never a zero-width one (bug, 12 Oct 2026). */
body.pt-hide .pt-app{grid-template-columns:52px 1fr!important}
@media (max-width:900px){body.pt-hide .pt-app{grid-template-columns:1fr!important}}
/* The composer is a quiet one-line pill until you start; then it opens tall with its controls (Owner, 12 Oct 2026). */
.pt-box{transition:padding .18s ease,border-radius .18s ease}
.pt-box:not(.open){display:flex;align-items:center;gap:10px;padding:6px 6px 6px 22px;border-radius:999px;border:1px solid rgba(99,221,255,.35);box-shadow:none}
.pt-box:not(.open) textarea{min-height:24px;height:24px;font-size:16px;line-height:24px;overflow:hidden}
.pt-box:not(.open) .pt-ctrl{margin:0;gap:0}.pt-box:not(.open) .pt-ctrl>*:not(.pt-send){display:none}
.pt-box:not(.open)+.pt-under,.pt-box:not(.open)~.pt-note{display:none}
.pt-send{background:#4fd3ff!important;border:0!important;color:#06131c!important}.pt-send:hover{filter:brightness(1.08)}

/* ===== One estate, one look (Owner, 12 Oct 2026): every page, the home, the landing and the JudeAI panel share these. ===== */
/* Contrast for everyone, including disabled users: text is white or near-white on dark, never blue on blue, never grey. */
html:not([data-look="ice"]){--text:#ffffff;--mute:#eef3f7;--dim:#e3eaf0;--sel:#1d3c58;--hover:#17293a}
html:not([data-look="ice"]) .tabs a,html:not([data-look="ice"]) .tabs a.on,html:not([data-look="ice"]) .nav a .c.hot,html:not([data-look="ice"]) .portal-hits a.ask{color:#fff!important}
html:not([data-look="ice"]) .chip{color:#fff!important;font-weight:600}
html:not([data-look="ice"]) .chip.ok{background:#0b6b48!important}html:not([data-look="ice"]) .chip.warn{background:#8a5a00!important}html:not([data-look="ice"]) .chip.bad{background:#a3203a!important}
html:not([data-look="ice"]) .chip.acc{background:#145a85!important}html:not([data-look="ice"]) .chip.vio{background:#5a3fb0!important}
::placeholder{color:rgba(255,255,255,.72)!important;opacity:1}html[data-look="ice"] ::placeholder{color:#24394a!important}
.pt-box textarea::placeholder{color:rgba(255,255,255,.72)!important}
:focus-visible{outline:2px solid #fff!important;outline-offset:2px}
.pt-under,.pt-note,.pt-mt,.pt-mo small,.pt-who small,.pa-g h2{color:#eef3f7!important}
/* Wordmark and avatar are images. */
img.wm{height:17px;width:auto;display:block;border-radius:0!important}.pt-brand img.wm{width:auto;height:16px}html[data-look="ice"] img.wm{filter:brightness(0)}
.crumb img.wm{height:18px}
.me,.pt-ava,.ava{background:transparent!important;padding:0!important;overflow:hidden}.me img.av,.pt-ava img.av,.ava img.av{width:100%;height:100%;display:block;border-radius:50%}
/* SVG icons only: dropdown chevrons, status dots, switches. */
svg.chev{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}
svg.dot{width:9px;height:9px;fill:#5ee6a8;flex:none}svg.sw{width:36px;height:20px;flex:none}svg.sw rect{fill:#18a3e9}svg.sw circle{fill:#fff}
svg.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pt-tog i{display:none}
/* The imaging viewer (and every main middle pane) is never hidden at laptop widths. */
@media (max-width:1500px){.panes>.p:nth-child(2):nth-last-child(2){display:flex!important}}
@media (min-width:1101px) and (max-width:1500px){.panes>.p[style*="flex:0 0"]{flex-shrink:1!important;min-width:240px}}
body.jp-open .panes>.p[style*="flex:0 0"]{flex-shrink:1!important;min-width:220px}

/* Home: a thin pill in the middle under the lion; typing moves it to the bottom and opens the full mouth. */
.pt-main{align-items:stretch;justify-content:center}
.pt-wmlink{position:absolute;top:22px;left:28px;display:none;z-index:2}body.pt-hide .pt-wmlink{display:block}
@media (max-width:900px){.pt-wmlink{display:block;left:18px;top:18px}}
.pt-main:not(.typing) .pt-hero{flex:none;margin:0 0 26px}
.pt-main:not(.typing) .pt-dock{width:min(720px,calc(100% - 48px));margin:0 auto}
.pt-quick{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:min(820px,calc(100% - 48px));margin:22px auto 0}
.pt-main.typing{justify-content:flex-end}.pt-main.typing .pt-hero{flex:1 1 auto;align-content:start;padding-top:40px;min-height:0}
.pt-main.typing .pt-tile{width:72px;height:72px;border-radius:20px}.pt-main.typing .pt-quick{display:none}
.pt-main.typing .pt-dock{width:min(1040px,calc(100% - 64px));margin:0 auto 22px}
.pt-main.typing .portal-hits{max-height:calc(100vh - 380px);overflow:auto}
.pt-tile{transition:width .25s ease,height .25s ease}
.pt-box.open .pt-ctrl .sp{flex:1}
.pt-ask-btn{position:absolute;top:16px;right:72px}
/* One dropdown for every pill. */
.ed-menu{position:fixed;z-index:200;min-width:240px;background:#0f1c28;border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:8px;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.ed-menu .pt-mo{display:grid;grid-template-columns:1fr auto;align-items:center}.ed-menu .pt-mo small{grid-column:1}.ed-menu .pt-mo .tick{grid-row:1/span 2;grid-column:2;color:#fff}
.ed-menu .pt-mo.on{background:#1d3c58}
.model-pill,.pt-pill{cursor:pointer}
/* The JudeAI panel looks exactly like the home: same ground, same composer. */
.jp{background:radial-gradient(700px 500px at 50% 0%,#0b3c5a 0%,#082638 50%,#061826 100%)!important;border-left:1px solid rgba(255,255,255,.12)!important;width:400px}
body.jp-open .ws{padding-right:400px}body.pt.jp-open .pt-app{padding-right:400px}
.jp-head{height:64px;gap:10px;padding:0 12px 0 18px;border-bottom:0!important}.jp-lion{width:30px;height:30px;border-radius:9px}.jp-wm{height:16px;width:auto}
.jp-ctx{font-size:13px;color:#fff!important;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.08);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}
.jp-ib{display:grid;place-items:center;color:#fff}
.jp-thread{padding:12px 18px}.jp-b{background:rgba(255,255,255,.08)!important;color:#fff;font-size:15px}.jp-msg.me .jp-b{background:#1d3c58!important}.jp-msg.wait .jp-b{opacity:.8}
.jp-dock{flex:none;padding:10px 14px 14px}.jp-box{padding:14px 14px 10px!important}.jp-box textarea{min-height:44px;font-size:16px}
.jp-box .pt-send{width:40px;height:40px}.jp-dock .pt-note{font-size:12px;margin-top:8px}
.jp-tab{display:none!important}.jp-foot,.jp-compose{display:none}
@media (max-width:1100px){.jp{width:min(400px,100vw)}body.jp-open .ws{padding-right:0}body.pt.jp-open .pt-app{padding-right:0}}
/* "Open JudeAI": a top-right icon on every page. */
.jp-open-btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px 0 6px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;flex:none}
.jp-open-btn img{width:26px;height:26px;border-radius:8px}.jp-open-btn:hover,.jp-open-btn.on{background:#1d3c58}
@media (max-width:700px){.jp-open-btn span{display:none}.jp-open-btn{padding:0 5px}}
/* Every row, tab and command responds: a record drawer, toasts and an ask-before-acting sheet. */
tbody tr{cursor:pointer}tbody tr.sel,tbody tr.sel td{background:#1d3c58!important}
.ed-drawer{position:fixed;top:12px;bottom:12px;right:12px;width:min(420px,calc(100vw - 24px));z-index:150;background:#0f1c28;border:1px solid rgba(255,255,255,.14);border-radius:24px;box-shadow:0 30px 70px rgba(0,0,0,.55);display:flex;flex-direction:column;transform:translateX(110%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.ed-drawer.in{transform:none}body.jp-open .ed-drawer{right:412px}
.ed-dh{display:flex;align-items:center;gap:10px;padding:18px 18px 8px}.ed-dh b{font-size:18px;color:#fff}.ed-dh .sp{flex:1}
.ed-dsub{padding:0 18px 12px;color:#eef3f7;font-size:14px}
.ed-dl{flex:1;overflow:auto;padding:4px 18px;display:grid;grid-template-columns:auto 1fr;gap:10px 16px;align-content:start}
.ed-dl dt{color:#eef3f7;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding-top:2px}.ed-dl dd{margin:0;color:#fff;font-size:15px}
.ed-acts{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px 18px;border-top:1px solid rgba(255,255,255,.1)}
.ed-act{padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:14px;cursor:pointer}.ed-act:hover{background:#1d3c58}.ed-act.go{background:#4fd3ff;color:#06131c;border:0;font-weight:700}
.ed-x{width:36px;height:36px;border-radius:999px;border:0;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}.ed-x:hover{background:rgba(255,255,255,.08)}
.ed-toasts{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:300;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.ed-toast{padding:12px 20px;border-radius:999px;background:#fff;color:#06131c;font-weight:600;font-size:14px;box-shadow:0 12px 30px rgba(0,0,0,.4);transition:opacity .3s,transform .3s}.ed-toast.out{opacity:0;transform:translateY(8px)}
.ed-sheet{position:fixed;inset:0;z-index:250;display:grid;place-items:center;background:rgba(2,8,14,.55)}
.ed-card{width:min(420px,calc(100vw - 32px));background:#0f1c28;border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:22px}.ed-card b{display:block;font-size:18px;color:#fff;margin-bottom:6px}.ed-card p{color:#eef3f7;margin:0 0 18px}
.ed-card .ed-acts{border:0;padding:0;justify-content:flex-end}
.cmd.flash{background:#1d3c58!important}
/* Channel composer is its own component and always shows. */
.ch-compose{display:flex!important}
.pt-tog.off svg.sw rect{fill:rgba(255,255,255,.25)}.pt-tog.off svg.sw circle{transform:translateX(-16px)}svg.sw circle{transition:transform .2s}
.rail .look-btn{display:none!important}
.sym img.wm-door{height:26px;width:auto;border-radius:0;box-shadow:none}
/* Focus is a highlight, never a ring (Owner); typing boxes show no outline. */
:focus-visible{outline:none!important}a:focus-visible,button:focus-visible,[role="button"]:focus-visible,.cmd:focus-visible{background-color:#1d3c58!important}
.pt-brand{min-width:0;overflow:hidden}.pt-brand img.wm{height:15px!important;width:auto!important;max-width:170px;flex:none}
.pt-brand{flex:none}
/* Light Ice: one light look across every surface, dark text everywhere, fills keep white text (Owner, 12 Oct 2026). */
html[data-look="ice"] body,html[data-look="ice"] .ws,html[data-look="ice"] .work,html[data-look="ice"] .appbar,html[data-look="ice"] .ribbon,html[data-look="ice"] .status,html[data-look="ice"] .pane,html[data-look="ice"] .panes{background:#f2f7fb!important;color:#0a1722!important}
html[data-look="ice"] .p,html[data-look="ice"] .card,html[data-look="ice"] .kpi,html[data-look="ice"] table,html[data-look="ice"] thead th,html[data-look="ice"] tbody td{background:#ffffff!important}
html[data-look="ice"] .rail{background:#e3edf4!important}html[data-look="ice"] .rail a,html[data-look="ice"] .cmd,html[data-look="ice"] .cmd svg,html[data-look="ice"] .ib,html[data-look="ice"] svg.i{color:#0a3d5c!important}
html[data-look="ice"] body :is(td,th,span,b,small,p,a,div,h1,h2,h3,h4,label,li,dd,dt,em,strong,code,button):not(.chip):not(.go):not(.pt-send):not(.jp-send):not(.badge):not(.ed-toast){color:#0a1722!important}
html[data-look="ice"] .search,html[data-look="ice"] .jp-open-btn{background:#fff!important;border-color:rgba(10,61,92,.25)!important}
html[data-look="ice"] tbody tr.sel td,html[data-look="ice"] .tabs a.on,html[data-look="ice"] .cmd.on,html[data-look="ice"] .rail a.on{background:#cfe8f7!important}
html[data-look="ice"] .ed-drawer,html[data-look="ice"] .ed-menu,html[data-look="ice"] .ed-card,html[data-look="ice"] .jp{background:#ffffff!important;border-color:rgba(10,61,92,.2)!important}
html[data-look="ice"] .jp-b{background:#eef5fa!important}html[data-look="ice"] .jp-msg.me .jp-b{background:#cfe8f7!important}
html[data-look="ice"] ::placeholder{color:#2c4a5e!important}

/* ===== Clarity layer (Owner, 12 Oct 2026): calm, restrained, easy to see. Benchmark: the ChatGPT MPR screen; ours must be clearer. ===== */
/* Hierarchy: primary white, secondary faded white (AAA on these grounds), never blue, never grey. */
html:not([data-look="ice"]){--text:#ffffff;--mute:rgba(255,255,255,.78);--dim:rgba(255,255,255,.7);--line:rgba(255,255,255,.08);--line2:rgba(99,221,255,.35);--hover:rgba(255,255,255,.04);--sel:rgba(99,221,255,.1)}
/* Focus Rail: flat navy surfaces, no busy gradients behind content. */
html[data-look="rail"] body,html[data-look="rail"] .ws,html[data-look="rail"] .work{background:#0a1219!important}
html[data-look="rail"] .p,html[data-look="rail"] .pane,html[data-look="rail"] .appbar,html[data-look="rail"] .ribbon,html[data-look="rail"] .status,html[data-look="rail"] .panes{background:#0c1620!important}
html[data-look="rail"] .rail{background:#081017!important}
html:not([data-look="ice"]) .p{border-right:1px solid var(--line)!important}
/* Restrained selection, like any normal app: a quiet tint, a thin accent edge on lists. Never rings, never loud fills. */
.rail a.on{background:rgba(99,221,255,.12)!important;color:#fff!important;border-radius:12px!important}.rail a.on::before{display:none!important}
.cmd.on{outline:none!important;background:rgba(99,221,255,.12)!important;box-shadow:inset 0 0 0 1px rgba(99,221,255,.32)!important}
.tabs a{outline:none!important;border:0!important}.tabs a.on{background:rgba(99,221,255,.12)!important;box-shadow:inset 0 0 0 1px rgba(99,221,255,.32)!important;color:#fff!important}
tbody tr.sel,tbody tr.sel td,.list .it.sel,.nav a.on,.it.sel{background:rgba(255,255,255,.055)!important}
tbody tr.sel td:first-child,.list .it.sel,.nav a.on{box-shadow:inset 2px 0 0 #4fd3ff!important}
tbody tr:hover td,.list .it:hover,.nav a:hover,.cmd:hover,.tabs a:hover{background:rgba(255,255,255,.035)}
a:focus-visible,button:focus-visible,[role="button"]:focus-visible,.cmd:focus-visible{background-color:rgba(255,255,255,.07)!important}
.jp-open-btn:hover,.jp-open-btn.on,.ed-act:hover,.ed-menu .pt-mo.on,.pt-mo:hover,.pa-a:hover,.portal-hits a.on,.portal-hits a:hover{background:rgba(255,255,255,.07)!important}
/* Toolbar: one calm row of pills, icon then label; group captions hidden; overflow goes into More. */
.ribbon{padding:8px 14px!important;align-items:center!important;gap:0;min-height:52px}
.rg{display:flex!important;align-items:center;padding:0 6px!important;border-right:1px solid var(--line)}.rg:last-of-type{border-right:0}
.rg .gl{display:none!important}.rg .cmds{gap:2px!important;align-items:center}
.cmd{flex-direction:row!important;align-items:center!important;gap:7px!important;height:34px;min-width:0!important;padding:0 12px!important;border-radius:999px!important;font-size:13px!important;font-weight:500;line-height:1}
.cmd svg,.cmd .i{width:16px!important;height:16px!important;flex:none}
.cmd-more{margin-left:auto}
/* Panel headers, section labels, key-value rows: the clear rhythm of a professional workbench. */
.ph2{min-height:54px!important;padding:12px 18px!important;font-size:15px!important;font-weight:650!important;border-bottom:1px solid var(--line)!important;gap:10px!important}
.ph2 small{font-size:12.5px!important;font-weight:400!important;color:var(--mute)!important}
.box{border-radius:14px!important;background:rgba(255,255,255,.025)!important;border:1px solid var(--line)!important}
.box .bh{min-height:44px;height:auto!important;padding:10px 16px!important;font-size:11.5px!important;letter-spacing:.09em;text-transform:uppercase;font-weight:650!important;color:var(--mute)!important;border-bottom:1px solid var(--line)!important}
.box .bh small{text-transform:none;letter-spacing:0;font-size:12px}
.box .bb{padding:12px 16px!important}
.kv{grid-template-columns:minmax(0,auto) minmax(0,1fr)!important;gap:0!important;font-size:13.5px!important;line-height:1.45}
.kv>span{color:var(--mute)!important;padding:9px 16px 9px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.kv>b{text-align:right;font-weight:600;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06);color:#fff;min-width:0;overflow-wrap:anywhere}
/* Tables: quiet headers, generous rows, hairline separators. */
thead th{font-size:11.5px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)!important;font-weight:650!important;background:transparent!important;border-bottom:1px solid var(--line)!important}
tbody td{border-bottom:1px solid rgba(255,255,255,.05)!important}
/* Chips: tinted and outlined, readable, never heavy blocks of colour. */
html:not([data-look="ice"]) .chip{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;font-weight:600;font-size:11.5px}
html:not([data-look="ice"]) .chip.ok{background:rgba(94,230,168,.12)!important;border-color:rgba(94,230,168,.38)!important;color:#d2ffe9!important}
html:not([data-look="ice"]) .chip.warn{background:rgba(255,201,107,.12)!important;border-color:rgba(255,201,107,.4)!important;color:#ffeac0!important}
html:not([data-look="ice"]) .chip.bad{background:rgba(255,122,138,.13)!important;border-color:rgba(255,122,138,.42)!important;color:#ffd9de!important}
html:not([data-look="ice"]) .chip.acc{background:rgba(99,221,255,.12)!important;border-color:rgba(99,221,255,.4)!important;color:#fff!important}
html:not([data-look="ice"]) .chip.vio,html:not([data-look="ice"]) .chip.syn{background:rgba(180,156,255,.12)!important;border-color:rgba(180,156,255,.4)!important;color:#f0eaff!important}
.status{font-size:12.5px!important;color:var(--mute)!important;min-height:36px}
.status svg.dot{margin-right:6px;vertical-align:middle}
/* Tabs never wrap or cut: one quiet row; counts sit beside labels. */
.tabs{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;gap:6px!important;align-items:center;min-height:46px}.tabs::-webkit-scrollbar{display:none}
.tabs a,.tabs button{white-space:nowrap!important;flex:none;line-height:1.2;padding:7px 14px!important}
/* Cards in a pane keep their full height; the pane scrolls instead of squashing them. */
.box{flex-shrink:0!important}.p>.body,.p .body{overflow:auto}
/* Columns that do not fit a pane are tucked into the row's record drawer, never cut off. */
th.colhide,td.colhide{display:none!important}
/* The record inspector docks beside the work and pushes it aside; it never covers the evidence (12 Oct 2026). */
@media (min-width:1101px){
 .ed-drawer{top:0;bottom:0;right:0;border-radius:0;border-width:0 0 0 1px;width:400px;box-shadow:none;background:#0c1620}
 body.ed-open .ws{padding-right:400px;transition:padding .28s cubic-bezier(.2,.8,.2,1)}
 body.ed-open.jp-open .ws{padding-right:800px}body.jp-open .ed-drawer{right:400px}
}
.ed-drawer .ed-dh b{font-size:17px}.ed-dl{gap:0 16px!important}.ed-dl dt,.ed-dl dd{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.ed-dl dd{text-align:right;font-weight:600}
