/* Khanal Group app shell: K-Finance's design for the server-rendered apps. Source of truth: shared-ui/kg-shell.css
 * (+ kg-shell.js, kg-shell.php); shared-ui/sync.sh copies it next to each app's own stylesheet, which it follows and overrides.
 * Desktop (>= 901px) a rail with grouped navigation; 721-900px an icon rail that opens over the page; <= 720px five bottom tabs.
 * Fonts: Public Sans and JetBrains Mono (and Young Serif for titles), all SIL Open Font License 1.1, served by each app. */
@font-face{font-family:"Public Sans";src:url(fonts/public-sans.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(fonts/jetbrains-mono.woff2) format("woff2");font-weight:100 800;font-display:swap}
@font-face{font-family:"Young Serif";src:url(fonts/young-serif.woff2) format("woff2");font-weight:400;font-display:swap}

/* tokens (K-Finance) on the page body, so they win over each app's own :root values */
.kgs-body{color-scheme:light;--bg:#f5f6f9;--surface:#fff;--surface-2:#f0f1f6;--surface-3:#e7e9f0;--ink:#151a33;--ink-2:#3a4060;--muted:#5d6380;--faint:#8a8fa8;
--line:#e2e4ec;--line-strong:#cdd1de;--accent:#4b2fa8;--accent-ink:#fff;--crit:#b8281f;--crit-soft:#fdecea;--attn:#a65a07;--attn-soft:#fdf1e3;--info:#2f55c8;--info-soft:#eaf0fd;
--ok:#17734f;--ok-soft:#e5f4ed;--neutral-soft:#eef0f5;--shadow-overlay:0 18px 48px -12px rgba(21,26,51,.28),0 2px 6px rgba(21,26,51,.08);--shadow-card:0 1px 0 rgba(21,26,51,.04);
--scrim:rgba(17,20,40,.42);--f-ui:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
--f-display:"Young Serif",Georgia,"Times New Roman",serif;--r-sm:4px;--r-md:8px;--r-lg:12px;--rail:236px;--rail-c:60px;--topbar:56px;--tabs:58px;--ease:cubic-bezier(.2,.7,.2,1);--dur:.16s}
/* each app keeps its colour */
.kgs-a-p{--accent:#9a5b13}.kgs-a-c{--accent:#b23a6a}.kgs-a-l{--accent:#2f7f8a}.kgs-a-t{--accent:#2f8a5b}.kgs-a-d{--accent:#5b6474}.kgs-a-k{--accent:#4b2fa8}
.kgs-body{--accent-soft:color-mix(in oklab,var(--accent) 11%,var(--surface));--accent-line:color-mix(in oklab,var(--accent) 35%,var(--surface));--focus:var(--accent);--kg-brand:var(--accent);
/* the apps' own names for the same things */
--card:var(--surface);--mute:var(--muted);--violet:var(--accent);--vhi:var(--accent);--lav:var(--accent);--violet-hi:var(--accent);--lav-dim:var(--muted);--v:var(--accent);
--good:var(--ok);--bad:var(--crit);--warn:var(--attn);--ring:color-mix(in oklab,var(--accent) 22%,transparent);--serif:var(--f-display);--sans:var(--f-ui);--mono:var(--f-mono)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .kgs-body{color-scheme:dark;--bg:#0d0f22;--surface:#15182e;--surface-2:#1b1f3a;--surface-3:#242947;--ink:#e9eaf5;--ink-2:#c7cae0;--muted:#9ca1c0;--faint:#737896;
--line:#262a4a;--line-strong:#353a60;--accent-ink:#12142a;--crit:#ff8a80;--crit-soft:#3a1a22;--attn:#f2a65e;--attn-soft:#34261a;--info:#8fa8ff;--info-soft:#1c2448;--ok:#62d0a4;--ok-soft:#14302a;--neutral-soft:#20243f;
--shadow-overlay:0 18px 48px -12px rgba(0,0,0,.6),0 2px 6px rgba(0,0,0,.4);--scrim:rgba(4,5,14,.62)}
:root:not([data-theme=light]) .kgs-a-p{--accent:#e3a75e}:root:not([data-theme=light]) .kgs-a-c{--accent:#f08bb4}:root:not([data-theme=light]) .kgs-a-l{--accent:#6cc6d1}
:root:not([data-theme=light]) .kgs-a-t{--accent:#6fd0a0}:root:not([data-theme=light]) .kgs-a-d{--accent:#aeb6c6}:root:not([data-theme=light]) .kgs-a-k{--accent:#a996ff}}
:root[data-theme=dark] .kgs-body{color-scheme:dark;--bg:#0d0f22;--surface:#15182e;--surface-2:#1b1f3a;--surface-3:#242947;--ink:#e9eaf5;--ink-2:#c7cae0;--muted:#9ca1c0;--faint:#737896;
--line:#262a4a;--line-strong:#353a60;--accent-ink:#12142a;--crit:#ff8a80;--crit-soft:#3a1a22;--attn:#f2a65e;--attn-soft:#34261a;--info:#8fa8ff;--info-soft:#1c2448;--ok:#62d0a4;--ok-soft:#14302a;--neutral-soft:#20243f;--scrim:rgba(4,5,14,.62)}
:root[data-theme=dark] .kgs-a-p{--accent:#e3a75e}:root[data-theme=dark] .kgs-a-c{--accent:#f08bb4}:root[data-theme=dark] .kgs-a-l{--accent:#6cc6d1}:root[data-theme=dark] .kgs-a-t{--accent:#6fd0a0}:root[data-theme=dark] .kgs-a-d{--accent:#aeb6c6}:root[data-theme=dark] .kgs-a-k{--accent:#a996ff}

html:has(.kgs-body){background:var(--bg)}
.kgs-body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 var(--f-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.kgs-body *,.kgs-body *::before,.kgs-body *::after{box-sizing:border-box}
:where(.kgs-body) a{color:var(--accent)}
:where(.kgs-body) :focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.kgs-skip{position:absolute;left:8px;top:-60px;z-index:100;padding:10px 14px;border-radius:var(--r-md);background:var(--ink);color:var(--bg)!important;font-weight:600}.kgs-skip:focus{top:8px}

/* layout */
.kgs{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);min-height:100vh}
.kgs-rail{position:sticky;top:0;height:calc(100vh - var(--kg-bar-vis,0px));display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);overflow:hidden;z-index:35}
.kgs-rh{display:flex;align-items:center;height:var(--topbar);border-bottom:1px solid var(--line);flex:none}
.kgs-brand{display:flex;align-items:center;gap:10px;flex:1;min-width:0;height:100%;padding:0 16px;color:var(--ink)!important;text-decoration:none!important;font-weight:400}
.kgs .kgs-mk{width:28px;height:28px;flex:none;border-radius:7px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font:400 16px/1 var(--f-display);box-shadow:none}
.kgs-bt{display:flex;flex-direction:column;line-height:1.1;min-width:0}.kgs-bt strong{font:400 15px var(--f-display);letter-spacing:-.01em;white-space:nowrap}
.kgs-bt span{font:500 9.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.kgs-org{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:10px 8px 0;padding:7px 10px;min-height:36px;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink)!important;font-size:13px;font-weight:600;text-decoration:none!important}
.kgs-org:hover{background:var(--surface-2)}.kgs-ot{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kgs-oc{color:var(--muted);font-weight:500;font-size:12px;white-space:nowrap}
.kgs-nav{flex:1;overflow-y:auto;padding:10px 8px 16px;scrollbar-width:thin}
.kgs-ng{margin-top:14px}.kgs-ng:first-child{margin-top:0}
.kgs-ngt{margin:0;padding:0 10px 4px;font-size:10.5px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.kgs-nl{display:flex;align-items:center;gap:10px;min-height:34px;padding:0 10px;border-radius:var(--r-sm);color:var(--ink-2)!important;font-weight:520;font-size:13.5px;text-decoration:none!important;white-space:nowrap;position:relative;transition:background var(--dur) var(--ease)}
.kgs-nl svg{width:16px;height:16px;flex:none;color:var(--muted)}.kgs-nl:hover{background:var(--surface-2);color:var(--ink)!important}
.kgs-nl.on{background:var(--accent-soft);color:var(--accent)!important}.kgs-nl.on svg{color:var(--accent)}
.kgs-nlb{overflow:hidden;text-overflow:ellipsis}
.kgs-cnt{margin-left:auto;font:500 10.5px var(--f-mono);padding:0 5px;border-radius:3px;background:var(--crit-soft);color:var(--crit)}
.kgs-ng form{margin:2px 0 0;padding:0 10px}.kgs-ng .linkbtn{all:unset;cursor:pointer;font-size:12px;color:var(--muted);padding:4px 0}.kgs-ng .linkbtn:hover{color:var(--ink)}
.kgs-rf{padding:10px 16px 12px;border-top:1px solid var(--line);font-size:11.5px;line-height:1.45;color:var(--muted);flex:none}
.kgs-main{min-width:0;display:flex;flex-direction:column}
.kgs-top{position:sticky;top:0;z-index:30;height:var(--topbar);display:flex;align-items:center;gap:8px;padding:0 20px;background:color-mix(in oklab,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.kgs-tb-brand{display:none;text-decoration:none!important}
.kgs-crumbs{flex:1;min-width:0;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kgs-crumbs a{color:var(--muted)}.kgs-crumbs span{margin:0 6px;color:var(--faint)}.kgs-crumbs strong{color:var(--ink);font-weight:600}
.kgs-tools{display:flex;align-items:center;gap:6px;flex:none}
.kgs-tools .kga-sb,.kgs-tools .allapps,.kgs-tools .bell,.kgs-tools>a{display:inline-flex;align-items:center;gap:7px;width:auto;height:34px;margin:0;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2)!important;font:550 13px var(--f-ui);text-decoration:none!important;cursor:pointer;position:relative}
.kgs-tools .kga-sb:hover,.kgs-tools .allapps:hover,.kgs-tools .bell:hover,.kgs-tools>a:hover{background:var(--surface-2);color:var(--ink)!important;border-color:var(--line)}
.kgs-tools .kga-sb{min-width:200px;color:var(--muted)!important}.kgs-tools .kga-sb kbd{margin-left:auto}
.kgs-tools .bell{width:34px;padding:0;justify-content:center;border-color:transparent;background:none}
.kgs-tools .bell .dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--crit)}
.kgs-ib{display:inline-grid;place-items:center;width:34px;height:34px;margin:0;padding:0;border:1px solid transparent;border-radius:var(--r-sm);background:none;color:var(--ink-2);cursor:pointer;font:inherit;flex:none}
.kgs-ib:hover{background:var(--surface-2)}.kgs-ib[hidden]{display:none}
.kgs-um{position:relative}.kgs-um summary{list-style:none;display:flex;align-items:center;gap:8px;height:34px;padding:0 6px 0 2px;border-radius:var(--r-sm);cursor:pointer}
.kgs-um summary::-webkit-details-marker{display:none}.kgs-um summary:hover{background:var(--surface-2)}
.kgs-av{position:relative;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font:700 11px var(--f-ui)}
.kgs-un{font-size:13px;font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kgs-menu{position:absolute;right:0;top:40px;min-width:230px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-overlay);z-index:45}
.kgs-menu a,.kgs-menu .linkbtn,.kgs-acct a,.kgs-acct .linkbtn{display:flex;align-items:center;gap:6px;width:100%;min-height:34px;margin:0;padding:0 10px;border:0;border-radius:var(--r-sm);background:none;color:var(--ink)!important;font:500 13.5px var(--f-ui);text-align:left;text-decoration:none!important;cursor:pointer}
.kgs-menu a:hover,.kgs-menu .linkbtn:hover,.kgs-acct a:hover,.kgs-acct .linkbtn:hover{background:var(--surface-2)}
.kgs-menu a[aria-current],.kgs-acct a[aria-current]{background:var(--accent-soft);color:var(--accent)!important}
.kgs-menu .mh,.kgs-acct .mh{padding:8px 10px 2px;font-size:10.5px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.kgs-menu hr,.kgs-acct hr{border:0;border-top:1px solid var(--line);margin:6px 4px}.kgs-menu form,.kgs-acct form{margin:0}
.kgs-content{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:24px 24px 64px;min-width:0}.kgs-content:focus{outline:none}
.kgs-tabs{display:none}
.kgs-scrim{position:fixed;inset:0;background:var(--scrim);z-index:60;animation:kgs-fade var(--dur) var(--ease)}
.kgs-more{position:fixed;top:0;right:0;bottom:0;width:min(380px,100vw);z-index:61;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-overlay);animation:kgs-in .2s var(--ease)}
.kgs-scrim[hidden],.kgs-more[hidden]{display:none}
.kgs-mh{display:flex;align-items:center;gap:8px;height:var(--topbar);padding:0 12px 0 20px;border-bottom:1px solid var(--line);flex:none}.kgs-mh h2{flex:1;margin:0;font:650 15px var(--f-ui)}
.kgs-mb{flex:1;overflow-y:auto;padding:8px 8px calc(24px + env(safe-area-inset-bottom))}
.kgs-mb .kgs-org,.kgs-menupage .kgs-org{margin:6px 0 10px}
.kgs-full .kgs-ng{margin-top:16px}.kgs-full .kgs-nl{min-height:44px;font-size:14.5px}.kgs-full .kgs-nl svg{width:18px;height:18px}
.kgs-acct{margin-top:14px;padding-top:8px;border-top:1px solid var(--line)}.kgs-acct a,.kgs-acct .linkbtn{min-height:44px;font-size:14.5px}
.kgs-menupage{max-width:560px}
@keyframes kgs-fade{0%{opacity:0}}@keyframes kgs-in{0%{transform:translateX(24px);opacity:0}}

/* tablet: icon rail; the toggle opens it over the page (the page does not move) */
@media (max-width:900px){
.kgs{grid-template-columns:var(--rail-c) minmax(0,1fr)}
.kgs-rail{width:var(--rail-c)}
.kgs-rh{flex-direction:column;height:auto;padding:10px 0 8px;gap:6px}.kgs-brand{justify-content:center;padding:0;height:auto}
.kgs-bt,.kgs-rail .kgs-ngt,.kgs-rail .kgs-cnt,.kgs-rf,.kgs-rail .kgs-org,.kgs-rail .kgs-ng form{display:none}
.kgs-rail .kgs-nl{justify-content:center;padding:0;min-height:40px}.kgs-rail .kgs-nlb{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kgs-rail .kgs-ng{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.kgs-rail .kgs-ng:first-child{border-top:0;padding-top:0}
.kgs.kgs-wide .kgs-rail{position:fixed;left:0;top:0;height:100vh;width:var(--rail);box-shadow:var(--shadow-overlay);z-index:55}
.kgs.kgs-wide .kgs-rh{flex-direction:row;height:var(--topbar);padding:0}.kgs.kgs-wide .kgs-brand{justify-content:flex-start;padding:0 16px}
.kgs.kgs-wide .kgs-bt,.kgs.kgs-wide .kgs-rail .kgs-org{display:flex}.kgs.kgs-wide .kgs-rail .kgs-ngt,.kgs.kgs-wide .kgs-rail .kgs-ng form{display:block}
.kgs.kgs-wide .kgs-rail .kgs-cnt{display:inline}.kgs.kgs-wide .kgs-rail .kgs-ng{border-top:0;margin-top:14px;padding-top:0}
.kgs.kgs-wide .kgs-rail .kgs-nl{justify-content:flex-start;padding:0 10px}.kgs.kgs-wide .kgs-rail .kgs-nlb{position:static;width:auto;height:auto;clip:auto}
.kgs-content{padding:20px 20px 56px}.kgs-tools .kga-sb{min-width:0}.kgs-tools .kga-sb kbd,.kgs-un{display:none}
}
@media (min-width:901px){.kgs-rt{display:none!important}}

/* phone: no rail, five bottom tabs; the page keeps room for them */
@media (max-width:720px){
.kgs{grid-template-columns:minmax(0,1fr)}
.kgs-rail{display:none}
.kgs-top{padding:0 12px;gap:6px}.kgs-tb-brand{display:inline-flex}
.kgs-tools .allapps span,.kgs-tools .kga-sb .kga-sl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kgs-tools .kga-sb,.kgs-tools .allapps{width:40px;height:40px;padding:0;justify-content:center}.kgs-tools .bell{width:40px;height:40px}.kgs-um summary{height:40px}
.kgs-content{padding:16px 16px calc(var(--tabs) + env(safe-area-inset-bottom) + 32px)}
.kgs-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(var(--tabs) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line)}
.kgs-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:44px;min-height:44px;font:500 10.5px/1.1 var(--f-ui);color:var(--muted)!important;text-decoration:none!important;position:relative;-webkit-tap-highlight-color:transparent}
.kgs-tab svg{width:19px;height:19px}.kgs-tab span{max-width:100%;padding:0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kgs-tab.on,.kgs-tab[aria-expanded=true]{color:var(--accent)!important;font-weight:650}
.kgs-tab:focus-visible{outline-offset:-3px}
.kgs-menu{position:fixed;left:8px;right:8px;top:auto;bottom:calc(var(--tabs) + env(safe-area-inset-bottom) + 8px)}
:where(.kgs-content) h1{font-size:24px}
.kgs-body .flash,.kgs-body .kgm-flash{scroll-margin-top:64px}
}
@media (pointer:coarse){.kgs-nl{min-height:44px}.kgs-menu a,.kgs-menu .linkbtn{min-height:44px}:where(.kgs-content) .btn{min-height:40px}}
@media (prefers-reduced-motion:reduce){.kgs-scrim,.kgs-more{animation:none}.kgs-nl{transition:none}}
@media print{.kgs{display:block}.kgs-rail,.kgs-top,.kgs-tabs,.kgs-more,.kgs-scrim,.kgs-skip{display:none!important}.kgs-content{padding:0}}

/* page content: the apps' own classes in K-Finance's look (single-class weight, so an app's more specific rule still wins) */
:where(.kgs-content) h1{margin:0;font:400 28px/1.15 var(--f-display);letter-spacing:-.015em;color:var(--ink)}
:where(.kgs-content) h2{font-family:var(--f-ui);font-weight:650;letter-spacing:-.01em}
:where(.kgs-content) h3{font-weight:650}
:where(.kgs-body) .ph{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
:where(.kgs-body) .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-card)}
:where(.kgs-body) .ch{min-height:48px;padding:10px 16px;border-bottom:1px solid var(--line)}:where(.kgs-body) .ch h2,:where(.kgs-body) .card h2{font-size:14.5px}
:where(.kgs-body) .cb{padding:16px}
:where(.kgs-body) .stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;box-shadow:var(--shadow-card)}
:where(.kgs-body) .sl{font:500 12px var(--f-ui);letter-spacing:0;text-transform:none;color:var(--muted)}
:where(.kgs-body) .sv{margin-top:4px;font:600 24px/1.1 var(--f-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
:where(.kgs-body) .ss{font-size:12px;color:var(--muted)}
:where(.kgs-body) .stat.bad .sv{color:var(--crit)}:where(.kgs-body) .stat.warn .sv{color:var(--attn)}:where(.kgs-body) .stat.good .sv{color:var(--ok)}
:where(.kgs-body) .kpi{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line)}:where(.kgs-body) .kpi b{font:600 24px/1.15 var(--f-mono);letter-spacing:-.03em}
:where(.kgs-body) .t,:where(.kgs-body) .tbl,:where(.kgs-content) table:not([class]){width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
:where(.kgs-body) .t th,:where(.kgs-body) .tbl th,:where(.kgs-content) table:not([class]) th{background:var(--surface-2);text-align:left;font:650 11px var(--f-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
:where(.kgs-body) .t td,:where(.kgs-body) .tbl td,:where(.kgs-content) table:not([class]) td{padding:9px 12px;border-bottom:1px solid var(--line)}
:where(.kgs-body) .t tbody tr:hover,:where(.kgs-body) .tbl tbody tr:hover{background:var(--surface-2)}
:where(.kgs-body) .t tbody tr:last-child td,:where(.kgs-body) .tbl tr:last-child td{border-bottom:0}
:where(.kgs-body) .btn{min-height:34px;height:auto;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);font:550 13px var(--f-ui);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}
:where(.kgs-body) .btn:hover{background:color-mix(in oklab,var(--accent) 88%,var(--ink));text-decoration:none}
:where(.kgs-body) .btn.alt{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}:where(.kgs-body) .btn.alt:hover{background:var(--surface-2);border-color:var(--line-strong)}
:where(.kgs-body) .btn.sm{min-height:28px;padding:0 9px;font-size:12px}
:where(.kgs-body) .btn.danger{background:var(--surface);border-color:color-mix(in oklab,var(--crit) 35%,var(--line));color:var(--crit)}:where(.kgs-body) .btn.danger:hover{background:var(--crit-soft)}
:where(.kgs-body) .badge,:where(.kgs-body) .pill{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border:0;border-radius:var(--r-sm);font:600 11px/1 var(--f-ui);letter-spacing:.01em;text-transform:none;white-space:nowrap;background:var(--neutral-soft);color:var(--ink-2)}
:where(.kgs-body) .badge.good,:where(.kgs-body) .badge.ok,:where(.kgs-body) .pill.good,:where(.kgs-body) .pill.on{background:var(--ok-soft);color:var(--ok)}
:where(.kgs-body) .badge.bad,:where(.kgs-body) .pill.bad{background:var(--crit-soft);color:var(--crit)}
:where(.kgs-body) .badge.warn,:where(.kgs-body) .pill.warn{background:var(--attn-soft);color:var(--attn)}
:where(.kgs-body) .badge.info{background:var(--info-soft);color:var(--info)}
:where(.kgs-body) .chip{border-radius:var(--r-sm);background:var(--surface-2);border-color:var(--line);color:var(--ink-2)}
:where(.kgs-body) .flash,:where(.kgs-body) .err,:where(.kgs-body) .ok:not(.badge){border-radius:var(--r-md);border:1px solid var(--line);font-size:13.5px}
:where(.kgs-body) .flash.ok,:where(.kgs-body) p.ok{background:var(--ok-soft);color:var(--ok);border-color:color-mix(in oklab,var(--ok) 30%,var(--line))}
:where(.kgs-body) .flash.err,:where(.kgs-body) p.err{background:var(--crit-soft);color:var(--crit);border-color:color-mix(in oklab,var(--crit) 30%,var(--line))}
:where(.kgs-body) .note,:where(.kgs-body) .banner{border-radius:var(--r-md);border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--surface)}
:where(.kgs-body) .note.warn,:where(.kgs-body) .banner.warn{border-left-color:var(--attn)}:where(.kgs-body) .note.bad{border-left-color:var(--crit)}:where(.kgs-body) .banner.good{border-left-color:var(--ok)}
:where(.kgs-body) .tabs{gap:2px;border-bottom:1px solid var(--line);scrollbar-width:none}
:where(.kgs-body) .tabs a{color:var(--muted);font-weight:550;font-size:13.5px;border-bottom:2px solid transparent}
:where(.kgs-body) .tabs a:hover{color:var(--ink)}:where(.kgs-body) .tabs a.on,:where(.kgs-body) .tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}
:where(.kgs-content) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select,textarea){border-color:var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-family:var(--f-ui)}
:where(.kgs-content) :is(input,select,textarea):focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in oklab,var(--focus) 22%,transparent)}
:where(.kgs-body) .empty{color:var(--muted)}
:where(.kgs-body) .muted,:where(.kgs-body) .small{color:var(--muted)}
:where(.kgs-body) .num{font-variant-numeric:tabular-nums}
:where(.kgs-body) .kg-ai{margin:12px 0;padding:12px 14px;border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface-2)}
:where(.kgs-body) .kg-ai-h{display:flex;align-items:center;gap:8px;margin-bottom:6px}:where(.kgs-body) .kg-ai-label{margin:4px 0 8px}
:where(.kgs-body) .kg-ai-f{display:block;font-weight:600;font-size:13px;margin:8px 0 4px}:where(.kgs-body) .kg-ai-t{width:100%;min-height:4.5em;font-size:14px;line-height:1.45}
:where(.kgs-body) .kg-ai-a{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}:where(.kgs-body) .kg-ai-ask{display:inline-block;margin:4px 0}:where(.kgs-body) .kg-ai-wait{color:var(--muted);font-size:13.5px}
:where(.kgs-body) .kg-ai-facts{margin:4px 0 10px;padding:8px 10px;border-left:3px solid var(--line-strong);background:var(--surface)}:where(.kgs-body) .kg-ai-facts dl{display:grid;grid-template-columns:minmax(110px,max-content) 1fr;gap:4px 12px;margin:4px 0 0;font-size:13.5px}:where(.kgs-body) .kg-ai-facts dt{color:var(--muted)}:where(.kgs-body) .kg-ai-facts dd{margin:0;overflow-wrap:anywhere}
