/* v29 — only the internal workspace. Login and global tokens stay unchanged. */
.shell{
 --bg:oklch(.976 .004 245);--card:oklch(1 0 0);--sf:var(--card);
 --ink:oklch(.25 .035 255);--mut:oklch(.49 .025 250);--mu:var(--mut);
 --line:oklch(.90 .015 245);--ln:var(--line);
 --sb:oklch(.25 .085 255);--act:oklch(.39 .11 252);
 --acc:oklch(.48 .17 253);--acc2:oklch(.39 .14 253);--ac:var(--acc);
 --pos:oklch(.47 .11 162);--in:var(--pos);--neg:oklch(.51 .18 25);--out:var(--neg);
 --in-s:oklch(.96 .026 162);--out-s:oklch(.96 .018 25);--inf-s:oklch(.96 .014 245);
 --wn:oklch(.48 .10 75);--wn-s:oklch(.97 .03 85);
 --nav-text:oklch(.92 .022 245);--nav-muted:oklch(.77 .035 245);--on:oklch(1 0 0);
 --nav-line:oklch(.40 .065 255);--nav-hover:oklch(.33 .08 255);
 --c1:var(--acc);--c2:oklch(.70 .13 80);--c3:var(--neg);--c4:var(--pos);--c5:oklch(.67 .08 230);
 --r:8px;--sh:0 2px 8px color-mix(in oklch,var(--ink) 5%,transparent);
 grid-template-columns:248px minmax(0,1fr);gap:32px;padding:20px 32px 24px 20px;color:var(--ink);background:var(--bg);min-height:100vh;
}
body:has(#gate[hidden]){background:var(--bg)!important;padding:0}
.shell *{letter-spacing:0}
.shell .sb{top:20px;border-radius:8px;background:var(--sb);color:var(--on)}
.shell .sb-top{padding:22px 18px 12px;gap:8px;flex-wrap:wrap}
.shell .sb .brand{font-size:19px;line-height:1.3;color:var(--on);gap:10px}
.shell .sb .brand .mk-logo{width:44px;height:44px;flex-basis:44px;border-radius:6px;background:var(--card)}
.shell .mnu{display:grid!important;place-items:center;width:32px;height:32px;min-height:32px;margin-left:auto;background:var(--nav-hover)!important;color:var(--on)!important;border-radius:6px!important}
.shell .sb-t{color:var(--nav-muted);font-size:11px;padding:0 20px;margin:18px 0 8px}
.shell .sb .nv{padding:0 10px 12px;border:0;scrollbar-color:var(--nav-line) transparent}
.shell .sb .nv .nav-group{border:0;border-radius:0;background:transparent}
.shell .sb .nv .nav-group>summary{padding:10px;color:var(--nav-muted);font-size:11px}
.shell .sb .nv .nav-group>summary:after{color:var(--nav-muted)}
.shell .sb .nv .nav-group[open]>summary{color:var(--nav-text)}
.shell .sb .nv .nav-group-items{padding:0;gap:3px}
.shell .sb .nv button{font-size:14px;min-height:42px;padding:10px;border-radius:6px;gap:10px;color:var(--nav-text)}
.shell .sb .nv button:hover{background:var(--nav-hover)}
.shell .sb .nv button[aria-pressed=true]{background:var(--act);color:var(--on);box-shadow:inset 3px 0 var(--c4)}
.shell .sb .nv .ab{background:var(--nav-hover);color:var(--nav-text);border-radius:4px}
.shell .sb .nv button[aria-pressed=true] .ab{background:var(--acc);color:var(--on)}
.shell .sb .usr{border-color:var(--nav-line);padding:14px 12px}
.shell .sb .usr .cap{color:var(--nav-muted)}
.shell .sb .usr button{background:var(--nav-hover);color:var(--nav-text);border-radius:6px}
.shell .sb .env-chip{border:1px solid var(--nav-line);background:var(--nav-hover);box-shadow:none;border-radius:6px;margin:8px 16px}
.shell .sb .env-chip[data-env=pj]{background:var(--pos)}
.shell .sb .env-chip i{background:var(--act);border-radius:5px}
.shell .mt{margin:0 0 28px;border-bottom:1px solid var(--line);padding-bottom:16px;min-height:54px}
.shell .crumb{color:var(--mut);font-size:13px}
.shell .connection-actions{flex-direction:row;width:auto;gap:10px}
.shell .connection-status,.shell .page-refresh{background:var(--card);border-radius:6px;box-shadow:none;border:1px solid var(--line)}
.shell .connection-status.is-online{color:var(--pos)}
.shell .connection-status.is-offline{color:var(--neg)}
.shell .connection-status i{background:var(--pos);box-shadow:none;width:7px;height:7px}
.shell .connection-status.is-offline i{background:var(--neg);box-shadow:none}
.shell .page-refresh:hover{background:var(--inf-s)}
.shell .ph{margin:0 0 24px}.shell .ph-t{font-size:30px;line-height:1.25}.shell .ph-s{font-size:14px}
.shell .mn .pn{border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:24px 0;background:transparent}
.shell .mn .pn h2{font-size:19px;font-weight:700}.shell .mn .cap{font-size:13px}
.shell .mn .pn .pn{padding:16px 0;border:0;border-radius:0;box-shadow:none}
.shell .dashboard-sortable{gap:24px}.shell .dashboard-column{gap:24px}
.shell .dash-all{padding:24px 0!important}
.shell .dash-head{padding:0 0 22px;gap:24px}
.shell .mn .hero{background:transparent;color:var(--ink)}
.shell .mn .hero .big{font-size:38px;color:var(--ink);line-height:1.2}
.shell .mn .big.pos,.shell .pos,.shell .v.pos{color:var(--pos)}
.shell .mn .big.neg,.shell .neg,.shell .v.neg{color:var(--neg)}
.shell .dash-bank{background:var(--inf-s);padding:16px;border-radius:6px}
.shell .dash-kpis{gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr))}
.shell .dash-kpi{padding:18px;border:1px solid var(--line);border-radius:6px;background:var(--card)}
.shell .dash-kpi b{font-size:24px;white-space:normal;overflow:visible;overflow-wrap:anywhere;line-height:1.3}
.shell .dash-box{background:transparent;border-radius:0;border-top:1px solid var(--line);padding:20px 0}
.shell .dash-history-analysis{background:var(--inf-s);border-radius:6px}
.shell .dash-drag-handle{border-radius:4px;background:var(--card);color:var(--mut)}
.shell .mn button{border-radius:6px;background:var(--card);border-color:var(--line);color:var(--ink);box-shadow:none}
.shell .mn button:hover{background:var(--inf-s);border-color:var(--acc)}
.shell .mn button.pri{background:var(--acc);border-color:var(--acc);color:var(--on)}
.shell .mn button.pri:hover{background:var(--acc2);border-color:var(--acc2)}
.shell .mn button.gh{background:transparent;border-color:transparent;color:var(--acc)}
.shell .mn input:not([type=checkbox]):not([type=radio]):not([type=file]),.shell .mn select,.shell .mn textarea{border-radius:6px;background:var(--card);border:1px solid var(--line);min-height:44px}
.shell .mn input:focus,.shell .mn select:focus,.shell .mn textarea:focus{outline:3px solid color-mix(in oklch,var(--acc) 22%,transparent);border-color:var(--acc)}
.shell button:focus-visible,.shell summary:focus-visible{outline:3px solid var(--c5);outline-offset:3px}
.shell .tb{background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:none}
.shell .launch-search-control,.shell .category-step,.shell .category-group-item,.shell .cli-sug{background:var(--card);border-radius:6px}
.shell .cli-sug button:hover{background:var(--inf-s)}
.shell .ins li{background:var(--inf-s);border-radius:4px}
.shell .ins li.ok{background:var(--in-s);border-color:var(--pos)}
.shell .ins li.bad{background:var(--out-s);border-color:var(--neg)}
.shell .ins li.warn{background:var(--wn-s);border-color:var(--wn)}
.shell #trial-bar{background:var(--inf-s);border-radius:6px;color:var(--ink)}
.shell #trial-bar.fim{background:var(--out-s);color:var(--neg)}
.shell .ft{border-top:1px solid var(--line);padding-top:18px;color:var(--mut)}
@media(min-width:981px){
 .shell.is-compact{grid-template-columns:84px minmax(0,1fr)}
 .shell.is-compact .sb-top{padding:18px 12px;justify-content:center}
 .shell.is-compact .mnu{margin:0}
 .shell.is-compact .sb .brand>span,.shell.is-compact .sb-t,.shell.is-compact .env-chip,.shell.is-compact .sb .usr .cap,.shell.is-compact .nv .nl,.shell.is-compact .nv .alert-count{display:none}
 .shell.is-compact .nav-group>summary{font-size:0;padding:8px 0;justify-content:center}
 .shell.is-compact .nav-group>summary:after{font-size:15px}
 .shell.is-compact .sb .nv button{justify-content:center;padding:8px 0}
 .shell.is-compact .sb .usr{padding:10px 4px}
 .shell.is-compact .sb .usr button{font-size:11px;padding:6px 3px;overflow-wrap:anywhere}
}
@media(max-width:980px){
 .shell{display:block;padding:12px;min-height:100vh}
 .shell .sb{position:relative;top:0;height:auto;min-height:0;margin-bottom:20px}
 .shell .sb-top{padding:14px 16px;flex-wrap:nowrap}
 .shell .sb .brand{font-size:18px}
 .shell .sb .nv{max-height:55vh}
 .shell .sb-body{display:none}.shell .sb.open .sb-body{display:flex}
 .shell .mn .pn{padding:20px 0}.shell .mn .pn.hero{padding:20px 0}
 .shell .mt{margin-bottom:20px;gap:8px}.shell .connection-status,.shell .page-refresh{min-width:80px;font-size:12px}
}
@media(max-width:640px){
 .shell .ph-t{font-size:26px}.shell .mn .hero .big{font-size:32px}
 .shell .dash-kpis{grid-template-columns:1fr}.shell .dash-all{padding:20px 0!important}
 .shell .g{grid-template-columns:minmax(0,1fr)}
 .shell .ls li>div,.shell .ls li>span:first-child{min-width:0;overflow-wrap:anywhere}
 .shell .lg li{grid-template-columns:12px minmax(0,1fr) auto;gap:8px}.shell .lg em{grid-column:3}
 .shell .mt-right{margin-left:0}.shell .crumb{flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){.shell *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Keep the monthly overview full-width while preserving sortable DOM groups. */
.shell .dashboard-column{display:contents}
.shell [data-dash-card=summary]{grid-column:1/-1}
.shell .dash-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.shell .dash-head{grid-template-columns:minmax(0,1fr) minmax(240px,.5fr)}
@media(max-width:640px){.shell .dash-kpis,.shell .dash-head{grid-template-columns:minmax(0,1fr)}}
