*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--c-canvas);color:var(--c-text-1);font:var(--fw-regular) var(--fs-body)/1.5 var(--font-sans);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}:root{--font-sans:"MiSans",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--fw-regular:400;--fw-medium:500;--fw-strong:650;--fs-caption:12px;--fs-small:13px;--fs-body:14px;--fs-title:15px;--fs-subhead:17px;--fs-heading:20px;--fs-display:28px;--fs-metric:32px;--fs-display-m:24px;--fs-micro:11px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:28px;--sp-8:32px;--sp-10:40px;--r-xs:6px;--r-ctl:10px;--r-inner:14px;--r-overlay:18px;--r-slab:22px;--r-pill:999px;--dur-fast:150ms;--dur-normal:220ms;--dur-slow:450ms;--ease-out:cubic-bezier(.22,1,.36,1);--ctl-h:36px;--row-h:52px;--cell-x:14px}:root[data-density=compact]{--ctl-h:32px;--row-h:42px;--cell-x:12px}:root[data-density=relaxed]{--ctl-h:40px;--row-h:60px;--cell-x:16px}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur-normal:0ms;--dur-slow:0ms}}:root{color-scheme:light;--c-canvas:#e7edf0;--c-canvas-light:#f8fbfc;--c-canvas-deep:#d9e4ea;--c-surface:#ffffff;--c-sunken:#f3f6f8;--c-hover:#f6f9fb;--c-selected:#f1f6fe;--c-slab-edge:rgba(255,255,255,.8);--c-text-1:#15202b;--c-text-2:#4a5866;--c-text-3:#66727e;--c-text-4:#aab4bd;--c-on-accent:#ffffff;--c-canvas-text-3:#58646f;--c-paper:#ffffff;--c-paper-ink:#15202b;--c-paper-mute:#5f6b77;--c-paper-line:#c9d3db;--c-line:#eaeff3;--c-line-2:#dbe3e9;--c-line-control:#8b939f;--c-accent:#0f63c9;--c-accent-hover:#0b56b3;--c-accent-text:#0b54ad;--c-accent-bg:#eef4fd;--c-accent-ring:rgba(15,99,201,.22);--c-quiet:#dfe7f1;--c-quiet-2:#c5d3e2;--c-quiet-hover:#b9cfee;--c-ok:#2f9e76;--c-info:#2a8fa6;--c-warn:#c9892b;--c-danger:#d0574a;--c-special:#7a68d4;--c-neutral:#a1abb5;--c-ok-text:#1f7c5b;--c-warn-text:#93611a;--c-danger-text:#b4432f;--c-ok-bg:#e9f6f0;--c-info-bg:#e6f3f6;--c-warn-bg:#fbf2e4;--c-danger-bg:#fbecea;--c-scrim:rgba(231,237,240,.55);--c-scrim-modal:rgba(21,32,43,.28);--sh-float:0 1px 2px rgba(22,48,74,.07),0 8px 20px -12px rgba(22,48,74,.28);--sh-slab:0 0 0 1px var(--c-slab-edge),0 1px 1px rgba(22,48,74,.035),0 4px 10px rgba(22,48,74,.035),0 28px 60px -30px rgba(22,48,74,.30);--sh-overlay:0 0 0 1px rgba(22,48,74,.05),0 2px 6px rgba(22,48,74,.06),0 40px 90px -34px rgba(22,48,74,.50);--sh-primary:inset 0 1px 0 rgba(255,255,255,.18),0 1px 1px rgba(15,99,201,.35),0 10px 20px -12px rgba(15,99,201,.85);--c-border-control:var(--c-line-control);--c-login-card-bg:rgba(255,255,255,.94);--c-login-card-edge:#ffffff;--c-login-card-highlight:#ffffff;--c-water-surface-a:#eff4f5;--c-water-surface-b:#f8faf9;--c-water-surface-c:#f4f7f7;--c-water-sky:#d1dde6;--c-water-fog:#ccdbe3;--c-water-light:#ffffff;--c-water-shadow:#dce5e9;--water-night:0;--water-static-opacity:.85}:root[data-theme=dark]{color-scheme:dark;--c-canvas:#0b1117;--c-canvas-light:#121c25;--c-canvas-deep:#070b10;--c-surface:#131b23;--c-sunken:#0f161d;--c-hover:#18222c;--c-selected:#152337;--c-slab-edge:rgba(255,255,255,.045);--c-text-1:#e6edf3;--c-text-2:#aeb9c4;--c-text-3:#808d9a;--c-text-4:#56626e;--c-on-accent:#ffffff;--c-canvas-text-3:#808d9a;--c-paper:#ffffff;--c-paper-ink:#15202b;--c-paper-mute:#5f6b77;--c-paper-line:#c9d3db;--c-line:#1e2933;--c-line-2:#2a3642;--c-line-control:#66737f;--c-accent:#2f74d6;--c-accent-hover:#3f82e2;--c-accent-text:#8dbcff;--c-accent-bg:rgba(63,134,234,.14);--c-accent-ring:rgba(91,152,238,.35);--c-quiet:#22303e;--c-quiet-2:#33465a;--c-quiet-hover:#3c5a7e;--c-ok:#3cc28f;--c-info:#38b1c9;--c-warn:#e0a24a;--c-danger:#ef6b5e;--c-special:#9a8bef;--c-neutral:#6c7885;--c-ok-text:#5fd3a5;--c-warn-text:#efbe73;--c-danger-text:#f59186;--c-ok-bg:rgba(60,194,143,.12);--c-info-bg:rgba(56,177,201,.12);--c-warn-bg:rgba(224,162,74,.12);--c-danger-bg:rgba(239,107,94,.12);--c-scrim:rgba(5,8,12,.5);--c-scrim-modal:rgba(0,0,0,.5);--sh-float:0 1px 2px rgba(0,0,0,.45),0 8px 20px -12px rgba(0,0,0,.65);--sh-slab:0 0 0 1px var(--c-slab-edge),0 1px 1px rgba(0,0,0,.3),0 28px 60px -30px rgba(0,0,0,.75);--sh-overlay:0 0 0 1px rgba(255,255,255,.06),0 2px 6px rgba(0,0,0,.4),0 40px 90px -34px rgba(0,0,0,.85);--sh-primary:inset 0 1px 0 rgba(255,255,255,.14),0 10px 20px -12px rgba(47,116,214,.8);--c-border-control:var(--c-line-control);--c-login-card-bg:rgba(20,25,34,.92);--c-login-card-edge:#2a3341;--c-login-card-highlight:rgba(255,255,255,.05);--c-water-surface-a:#0d141c;--c-water-surface-b:#111a24;--c-water-surface-c:#0f171f;--c-water-sky:#16202b;--c-water-fog:#101922;--c-water-light:#3a5470;--c-water-shadow:#070b10;--water-night:1;--water-static-opacity:.5}:root{--p-b-100:var(--c-accent-bg);--c-bg-canvas:var(--c-canvas);--c-bg-surface:var(--c-surface);--c-bg-sunken:var(--c-sunken);--c-bg-hover:var(--c-hover);--c-bg-selected:var(--c-selected);--c-bg-inverse:var(--c-text-1);--c-border-hairline:var(--c-line);--c-border-subtle:var(--c-line);--c-border-default:var(--c-line-2);--c-border-strong:var(--c-line-control);--c-text-primary:var(--c-text-1);--c-text-secondary:var(--c-text-2);--c-text-tertiary:var(--c-text-3);--c-text-disabled:var(--c-text-4);--c-accent-border:var(--c-accent-ring);--c-accent-contrast:var(--c-on-accent);--c-on-solid:var(--c-on-accent);--c-focus-ring:0 0 0 3px var(--c-accent-ring);--c-ok-fg:var(--c-ok-text);--c-ok-dot:var(--c-ok);--c-ok-border:var(--c-ok-bg);--c-info-fg:var(--c-text-2);--c-info-dot:var(--c-info);--c-info-border:var(--c-info-bg);--c-warn-fg:var(--c-warn-text);--c-warn-dot:var(--c-warn);--c-warn-border:var(--c-warn-bg);--c-danger-fg:var(--c-danger-text);--c-danger-dot:var(--c-danger);--c-danger-border:var(--c-danger-bg);--c-neutral-fg:var(--c-text-2);--c-neutral-bg:var(--c-sunken);--c-neutral-dot:var(--c-neutral);--c-neutral-border:var(--c-line-2);--c-special-fg:var(--c-text-2);--c-special-bg:var(--c-sunken);--c-special-dot:var(--c-special);--c-special-border:var(--c-line-2);--c-overlay-scrim:var(--c-scrim-modal);--c-overlay-scrim-strong:var(--c-scrim-modal);--c-login-scrim-top:var(--c-scrim-modal);--c-login-scrim-bottom:var(--c-scrim-modal);--c-login-glow:var(--c-slab-edge);--c-avatar-bg:var(--c-text-2);--c-skeleton-hi:var(--c-hover);--c-chart-1:var(--c-accent);--c-chart-2:var(--c-quiet-2);--c-chart-3:var(--c-ok);--c-heat-1:var(--c-quiet);--c-heat-2:var(--c-quiet-2);--c-heat-3:var(--c-accent);--c-severity-major:var(--c-danger);--c-severity-medium:var(--c-warn);--c-severity-minor:var(--c-warn-bg);--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:12px;--space-6:16px;--space-7:20px;--space-8:24px;--space-9:32px;--fs-nano:var(--fs-micro);--fs-body-lg:var(--fs-body);--fs-headline:var(--fs-display-m);--radius-sm:var(--r-xs);--radius-control:var(--r-ctl);--radius-card:var(--r-ctl);--radius-panel:var(--r-inner);--radius-full:var(--r-pill);--shadow-xs:0 0 0 0 transparent;--shadow-sm:0 0 0 0 transparent;--shadow-md:var(--sh-float);--shadow-lg:var(--sh-overlay);--shadow-sticky:var(--sh-float);--shadow-up:var(--sh-float);--dur-instant:var(--dur-fast);--control-h:var(--ctl-h);--cell-px:var(--cell-x);--cell-py:12px;--card-pad:16px;--page-gap:16px;--surface-2:var(--c-sunken);--surface-subtle:var(--c-sunken);--surface-hover:var(--c-hover);--foreground:var(--c-text-1);--text:var(--c-text-1);--border:var(--c-line);--line-strong:var(--c-line-2);--brand:var(--c-accent);--danger-text:var(--c-danger-text);--danger-soft:var(--c-danger-bg);--success-text:var(--c-ok-text);--success-soft:var(--c-ok-bg);--warning-text:var(--c-warn-text);--warning-soft:var(--c-warn-bg);--purple:var(--c-special);--purple-soft:var(--c-sunken);--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--ink:var(--c-text-1);--muted:var(--c-text-2);--faint:var(--c-text-3);--line:var(--c-line);--canvas:var(--c-canvas);--surface:var(--c-surface);--surface-soft:var(--c-sunken);--orange:var(--c-accent);--orange-soft:var(--c-accent-bg);--green:var(--c-ok);--green-soft:var(--c-ok-bg);--yellow:var(--c-warn);--yellow-soft:var(--c-warn-bg);--blue:var(--c-info);--blue-soft:var(--c-info-bg);--red:var(--c-danger);--red-soft:var(--c-danger-bg)}:root[data-density=compact]{--cell-py:7px;--card-pad:12px;--page-gap:12px}:root[data-density=relaxed]{--cell-py:16px;--card-pad:20px;--page-gap:20px}@font-face{font-family:MiSans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/misans/MiSans-Regular.woff2) format("woff2")}@font-face{font-family:MiSans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/misans/MiSans-Medium.woff2) format("woff2")}@font-face{font-family:MiSans;font-style:normal;font-weight:650;font-display:swap;src:url(/fonts/misans/MiSans-Semibold.woff2) format("woff2")}body{background:radial-gradient(1100px 640px at 14% -12%,var(--c-canvas-light) 0,transparent 62%),radial-gradient(900px 700px at 108% 112%,var(--c-canvas-deep) 0,transparent 60%),var(--c-canvas)}.app-shell{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr)}.side-nav{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;min-height:100vh}.nav-groups{flex:1 1;min-height:0;padding:0 14px 16px 16px;display:grid;align-content:start;gap:2px;overflow-y:auto;overscroll-behavior:contain}.mobile-nav-close:focus-visible,.mobile-nav-toggle:focus-visible,.nav-link:focus-visible,.nav-workspace-link:focus-visible,.nav-workspace-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.mobile-nav-backdrop,.mobile-nav-close,.mobile-nav-toggle{display:none}.nav-user{display:flex;gap:10px;align-items:center;margin:6px 14px 16px 16px;padding:8px;border-radius:var(--r-ctl)}.avatar{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:linear-gradient(145deg,var(--c-surface),var(--c-sunken));box-shadow:inset 0 0 0 1px var(--c-line-2);color:var(--c-text-2);font-size:var(--fs-small);font-weight:var(--fw-strong)}.nav-user small,.nav-user strong{display:block}.nav-user strong{font-size:var(--fs-small);font-weight:var(--fw-strong)}.nav-user small{color:var(--c-canvas-text-3);font-size:var(--fs-caption)}.app-workspace{min-width:0;display:flex;flex-direction:column;margin:12px 12px 12px 0;border-radius:var(--r-slab);background:var(--c-surface);box-shadow:var(--sh-slab)}.topbar-action{width:36px;height:36px;border:0;border-radius:var(--r-ctl);background:transparent;color:var(--c-text-2);font-weight:var(--fw-strong)}.topbar-action:hover{background:var(--c-hover);color:var(--c-text-1)}.topbar-action:disabled{cursor:not-allowed;opacity:.6}.session-state{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;color:var(--c-text-2);text-align:center}.session-state strong{color:var(--c-text-1);font-size:var(--fs-subhead)}.session-state-spinner{animation:session-spin 1s linear infinite}.dashboard-retry,.session-retry{border:1px solid var(--c-line);border-radius:var(--r-ctl);background:var(--c-surface);color:var(--c-text-1);font-size:var(--fs-caption);font-weight:var(--fw-strong);padding:6px 10px}.dashboard-retry:hover,.session-retry:hover{border-color:var(--c-accent-ring);background:var(--c-accent-bg);color:var(--c-accent-text)}@keyframes session-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app-main{flex:1 1;min-width:0;width:100%;max-width:1520px;margin:0 auto;padding:24px 32px 40px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric-card{min-height:128px;padding:18px 19px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.metric-card p{color:var(--muted);font-weight:600}.metric-card strong{display:block;margin-top:13px;font-size:33px;line-height:1;letter-spacing:0}.metric-card--text strong{font-size:22px;line-height:1.3;overflow-wrap:anywhere}.metric-card small{display:block;margin-top:11px;color:var(--faint);font-size:12px}.metric-card--warning strong{color:var(--yellow)}.metric-card--danger strong{color:var(--red)}.metric-card--success strong{color:var(--green)}.dashboard-section{margin-top:22px}.section-heading{display:flex;justify-content:space-between;gap:14px;margin-bottom:10px}.section-heading h2{font-size:16px}.section-heading p{margin-top:2px;color:var(--muted);font-size:12px}.quick-action-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.quick-action{min-width:0;min-height:98px;padding:14px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);transition:border-color .12s ease,box-shadow .12s ease}.quick-action:hover{border-color:var(--c-accent-border);box-shadow:var(--shadow-md)}.quick-action-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-card)}.quick-action-icon--orange{background:var(--orange-soft);color:var(--orange)}.quick-action-icon--green{background:var(--green-soft);color:var(--green)}.quick-action-icon--yellow{background:var(--yellow-soft);color:var(--yellow)}.quick-action-icon--blue{background:var(--blue-soft);color:var(--blue)}.quick-action-icon--red{background:var(--red-soft);color:var(--red)}.quick-action-copy{min-width:0}.quick-action-copy small,.quick-action-copy strong{display:block}.quick-action-copy strong{font-size:14px}.quick-action-copy small{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.4}.quick-action-arrow{margin-left:auto;flex:0 0 auto;color:var(--faint)}.dashboard-section--split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.work-queue{min-height:178px;padding:17px 18px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface)}.empty-state{min-height:76px;display:grid;place-items:center;border:1px dashed var(--c-border-default);border-radius:var(--radius-control);color:var(--faint);font-size:12px;text-align:center}.dashboard-attention-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.dashboard-attention-list li{display:flex;align-items:baseline;gap:9px;min-height:30px;padding:5px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.dashboard-attention-list li:last-child{border-bottom:0}.dashboard-attention-list strong{min-width:24px;color:var(--ink);font-size:18px;text-align:right}.dashboard-task-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;color:inherit;text-decoration:none}.dashboard-task-link span{display:grid;gap:1px;min-width:0}.dashboard-task-link b{color:var(--ink);font-weight:650}.dashboard-task-link small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-task-link svg{color:var(--muted)}.dashboard-task-link:hover b,.dashboard-task-link:hover svg{color:var(--orange)}.dashboard-status-summary{display:grid;grid-template-columns:86px minmax(0,1fr);gap:9px 12px;font-size:13px}.dashboard-status-summary span{color:var(--muted)}.dashboard-status-summary strong{min-width:0;color:var(--ink);font-weight:600}@media (max-width:1260px){.quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:761px) and (max-width:960px){.app-shell{grid-template-columns:208px minmax(0,1fr)}}@media (max-width:760px){.app-shell{display:block}.side-nav{position:fixed;inset:0 auto 0 0;z-index:50;width:min(320px,88vw);height:100dvh;min-height:100dvh;background:var(--c-canvas);transform:translateX(-102%);visibility:hidden;box-shadow:var(--shadow-lg);transition:transform .18s ease,visibility .18s ease}.side-nav.is-mobile-open{transform:translateX(0);visibility:visible}.brand{padding-right:52px}.mobile-nav-close{position:absolute;top:13px;right:12px;z-index:1;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--muted)}.side-nav.is-mobile-open .mobile-nav-close{display:grid}.mobile-nav-backdrop.is-visible{position:fixed;inset:0;z-index:40;display:block;width:100%;height:100%;padding:0;border:0;background:var(--c-scrim-modal);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.mobile-nav-toggle{width:32px;height:32px;flex:0 0 auto;place-items:center;border:1px solid var(--c-line);border-radius:var(--r-ctl);background:var(--c-surface);color:var(--c-text-2);display:grid}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.dashboard-section--split,.metric-grid,.quick-action-grid{grid-template-columns:1fr}.metric-card{min-height:108px}}@media (min-width:761px) and (max-width:1180px){.app-main{padding:20px 24px 32px}}@media (max-width:760px){.app-workspace{margin:0;border-radius:0;box-shadow:none}.app-main{padding:16px 16px 40px}}.global-toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:400px;width:calc(100vw - 40px);pointer-events:none}.global-toast{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--c-text-1);color:var(--c-surface);border:0;border-radius:var(--r-ctl);box-shadow:var(--sh-float);font-size:var(--fs-small);line-height:1.4;animation:toastSlideIn var(--dur-normal) var(--ease-out);transition:opacity var(--dur-fast) ease,transform var(--dur-fast) ease}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.global-toast-icon{display:grid;place-items:center;flex:none}.global-toast-icon i{width:7px;height:7px;border-radius:50%;background:var(--c-neutral)}.global-toast--success .global-toast-icon i{background:var(--c-ok)}.global-toast--error .global-toast-icon i{background:var(--c-danger)}.global-toast--warning .global-toast-icon i{background:var(--c-warn)}.global-toast--info .global-toast-icon i{background:var(--c-info)}.global-toast-content{flex:1 1;min-width:0;word-break:break-word;font-weight:var(--fw-medium)}.global-toast .global-toast-close{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;padding:0;background:transparent;border:0;color:var(--c-accent-bg);color:color-mix(in srgb,var(--c-surface) 75%,var(--c-accent));border-radius:var(--r-pill);cursor:pointer;transition:color var(--dur-fast) ease,background var(--dur-fast) ease}.global-toast .global-toast-close[data-toast-action]{width:auto;height:24px;padding:0 8px;font-size:var(--fs-small);font-weight:var(--fw-medium);white-space:nowrap}.global-toast .global-toast-close:hover:not(:disabled){background:var(--c-hover)}.global-toast .global-toast-close:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--ctl-h);padding:0 14px;border:0;border-radius:var(--r-ctl);background:var(--c-surface);color:var(--c-text-1);box-shadow:inset 0 0 0 1px var(--c-line-2);font-size:var(--fs-body);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ui-btn:hover:not(:disabled){background:var(--c-hover)}.ui-btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.ui-btn:disabled{opacity:.45;cursor:not-allowed}.ui-btn--primary{background:var(--c-accent);color:var(--c-on-accent);box-shadow:var(--sh-primary)}.ui-btn--primary:hover:not(:disabled){background:var(--c-accent-hover)}.ui-btn--secondary{background:var(--c-surface);color:var(--c-text-1);box-shadow:inset 0 0 0 1px var(--c-line-2)}.ui-btn--secondary:hover:not(:disabled){background:var(--c-hover)}.ui-btn--danger{background:var(--c-surface);color:var(--c-danger-text);box-shadow:inset 0 0 0 1px var(--c-line-2)}.ui-btn--danger:hover:not(:disabled){background:var(--c-danger-bg)}.ui-btn--ghost{background:transparent;color:var(--c-text-2);box-shadow:none}.ui-btn--ghost:hover:not(:disabled){background:var(--c-hover);color:var(--c-text-1)}.ui-drawer-overlay{background:var(--c-scrim);z-index:500}.ui-drawer-overlay,.ui-modal-overlay{position:fixed;inset:0;animation:uiOverlayFadeIn var(--dur-normal) var(--ease-out)}.ui-modal-overlay{background:var(--c-scrim-modal);z-index:600}@keyframes uiOverlayFadeIn{0%{opacity:0}to{opacity:1}}.ui-drawer-overlay{display:flex;justify-content:flex-end}.ui-drawer{height:calc(100vh - 20px);margin:10px;max-width:100vw;background:var(--c-surface);display:flex;flex-direction:column;border-radius:var(--r-overlay);box-shadow:var(--sh-overlay);animation:uiDrawerSlideIn var(--dur-normal) var(--ease-out);position:relative}@keyframes uiDrawerSlideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.ui-drawer-header{height:58px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.ui-drawer-title-group{display:flex;align-items:center;gap:8px;min-width:0}.ui-drawer-title{font-size:var(--fs-heading);font-weight:var(--fw-strong);color:var(--c-text-1)}.ui-drawer-subtitle{font-size:var(--fs-small);color:var(--c-text-3)}.ui-drawer-header-actions{display:flex;align-items:center;gap:8px}.ui-drawer-close-btn,.ui-modal-close-btn{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:var(--r-ctl);background:transparent;color:var(--c-text-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ui-drawer-close-btn:hover,.ui-modal-close-btn:hover{background:var(--c-sunken);color:var(--c-text-1)}.ui-drawer-body{flex:1 1;overflow-y:auto;padding:22px}.ui-drawer-footer{padding:14px 22px;border-top:1px solid var(--c-line);display:flex;align-items:center;justify-content:flex-end;gap:10px;background:var(--c-surface);flex-shrink:0}.ui-modal-overlay{display:grid;place-items:center;padding:20px}.ui-modal{width:100%;background:var(--c-surface);border-radius:var(--r-overlay);box-shadow:var(--sh-overlay);display:flex;flex-direction:column;max-height:calc(100vh - 40px);animation:uiModalScaleIn var(--dur-normal) var(--ease-out);position:relative}@keyframes uiModalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.ui-modal-header{padding:16px 20px;border-bottom:1px solid var(--c-line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.ui-modal-title-group{display:flex;align-items:center;gap:8px}.ui-modal-title{font-size:var(--fs-heading);font-weight:var(--fw-strong);color:var(--c-text-1)}.ui-modal-subtitle{font-size:var(--fs-small);color:var(--c-text-3)}.ui-modal-header-actions{display:flex;align-items:center;gap:8px}.ui-modal-body{flex:1 1;overflow-y:auto;padding:20px}.ui-modal-footer{padding:14px 20px;border-top:1px solid var(--c-line);display:flex;align-items:center;justify-content:flex-end;gap:10px;background:var(--c-surface);border-bottom-left-radius:var(--r-overlay);border-bottom-right-radius:var(--r-overlay);flex-shrink:0}.ui-confirm-overlay{position:absolute;inset:0;background:var(--c-scrim-modal);z-index:600;display:grid;place-items:center;padding:20px;animation:uiOverlayFadeIn var(--dur-fast) var(--ease-out)}.ui-confirm-box{background:var(--c-surface);border-radius:var(--r-inner);padding:20px;width:100%;max-width:360px;box-shadow:var(--sh-overlay);text-align:left}.ui-confirm-header{display:flex;align-items:center;gap:10px;font-size:var(--fs-title);color:var(--c-text-1)}.ui-confirm-icon-warning{color:var(--c-warn);flex-shrink:0}.ui-confirm-desc{margin:10px 0 18px;color:var(--c-text-2);font-size:var(--fs-small);line-height:1.5}.ui-confirm-actions{display:flex;justify-content:flex-end;gap:8px}@media (max-width:960px){.ui-drawer{max-width:calc(100vw - 20px)}}.ui-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 0 0;background:transparent;color:var(--c-text-2);font-size:var(--fs-small);flex-wrap:wrap;gap:12px;border-top:1px solid var(--c-line)}.ui-pagination-info strong{color:var(--c-text-1);font-weight:var(--fw-medium)}.ui-pagination-controls{display:flex;align-items:center;gap:8px}.ui-pagination-select{height:30px;padding:0 8px;border:1px solid var(--c-line-control);border-radius:var(--r-ctl);background:var(--c-surface);color:var(--c-text-1);font-size:var(--fs-small);outline:none}.ui-pagination-select:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.ui-pagination-btn-group{display:flex;align-items:center;gap:4px}.ui-pagination-btn{height:30px;min-width:30px;padding:0 6px;display:grid;place-items:center;border:0;border-radius:var(--r-ctl);background:transparent;color:var(--c-text-2);font-size:var(--fs-small);font-weight:var(--fw-regular);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ui-pagination-btn:hover:not(:disabled){background:var(--c-hover);color:var(--c-text-1)}.ui-pagination-btn:disabled{opacity:.45;cursor:not-allowed}.ui-pagination-btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.ui-pagination-page-btn.is-active{background:var(--c-accent-bg);color:var(--c-accent-text);font-weight:var(--fw-strong)}.ui-pagination-dots{padding:0 4px;color:var(--c-text-3)}.ui-skeleton{background:linear-gradient(90deg,var(--c-sunken) 25%,var(--c-hover) 50%,var(--c-sunken) 75%);background-size:200% 100%;animation:uiSkeletonShimmer 1.5s linear infinite;border-radius:var(--r-xs)}@keyframes uiSkeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.ui-skeleton{animation:none;background:var(--c-sunken)}}.ui-table-skeleton{display:flex;flex-direction:column;gap:12px;padding:16px 20px}.ui-table-skeleton-row{display:flex;align-items:center;gap:16px;min-height:var(--row-h);border-bottom:1px solid var(--c-line)}.ui-table-skeleton-cell{flex:1 1}.ui-card-skeleton{padding:16px 20px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-ctl)}.ui-combobox{position:relative;width:100%}.ui-combobox-trigger{width:100%;height:calc(var(--ctl-h) + 4px);padding:0 12px;border:1px solid var(--c-line-control);border-radius:var(--r-ctl);background:var(--c-surface);color:var(--c-text-1);font-size:var(--fs-body);display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);-webkit-user-select:none;user-select:none}.ui-combobox-trigger:hover{border-color:var(--c-text-3)}.ui-combobox.is-open .ui-combobox-trigger{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-ring)}.ui-combobox.is-disabled .ui-combobox-trigger{background:var(--c-sunken);opacity:.6;cursor:not-allowed}.ui-combobox-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-combobox-label.is-placeholder{color:var(--c-text-3)}.ui-combobox-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;color:var(--c-text-2)}.ui-combobox-clear{border:0;background:transparent;color:var(--c-text-3);padding:2px;cursor:pointer;display:grid;place-items:center;border-radius:var(--r-xs)}.ui-combobox-clear:hover{color:var(--c-text-1)}.ui-combobox-arrow{transition:transform var(--dur-fast) var(--ease-out)}.ui-combobox-arrow.is-flipped{transform:rotate(180deg)}.ui-combobox-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:700;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-inner);box-shadow:var(--sh-overlay);display:flex;flex-direction:column;max-height:240px;animation:uiDropdownSlide var(--dur-fast) var(--ease-out)}@keyframes uiDropdownSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ui-combobox-search-box{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--c-line);background:var(--c-sunken)}.ui-combobox-search-icon{color:var(--c-text-3);flex-shrink:0}.ui-combobox-search-input{width:100%;border:0;background:transparent;font-size:var(--fs-caption);color:var(--c-text-1);outline:none}.ui-combobox-options-list{padding:4px;max-height:190px}.ui-combobox-option{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;padding:0 10px;border-radius:var(--r-xs);font-size:var(--fs-small);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.ui-combobox-option:hover{background:var(--c-hover)}.ui-combobox-option.is-selected{background:var(--c-selected);color:var(--c-accent-text)}.ui-combobox-option.is-disabled{opacity:.4;cursor:not-allowed}.ui-combobox-option-text strong{display:block;font-weight:var(--fw-medium)}.ui-combobox-option-text small{display:block;color:var(--c-text-3);font-size:var(--fs-caption)}.ui-combobox-check{color:var(--c-accent);flex-shrink:0}.ui-combobox-empty{padding:16px;text-align:center;color:var(--c-text-3);font-size:var(--fs-caption)}.ui-search-input-wrapper{position:relative;width:100%;display:flex;align-items:center}.ui-search-icon{position:absolute;left:10px;color:var(--c-text-3);pointer-events:none}.ui-search-input{width:100%;height:calc(var(--ctl-h) + 4px);padding:0 30px 0 32px;background:var(--c-surface);border:1px solid var(--c-line-control);border-radius:var(--r-ctl);font-size:var(--fs-small);color:var(--c-text-1);outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.ui-search-input:focus{background:var(--c-surface);border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-ring)}.ui-search-clear-btn{position:absolute;right:8px;border:0;background:transparent;color:var(--c-text-3);padding:2px;display:grid;place-items:center;cursor:pointer;border-radius:var(--r-xs)}.ui-search-clear-btn:hover{background:var(--c-hover);color:var(--c-text-1)}.ui-stepper{display:flex;align-items:flex-start;width:100%;gap:8px;padding:12px 0}.ui-stepper-item{flex:1 1;display:flex;flex-direction:column;position:relative}.ui-stepper-indicator{display:flex;align-items:center;width:100%;margin-bottom:6px}.ui-stepper-node{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-caption);font-weight:var(--fw-strong);background:var(--c-surface);color:var(--c-text-3);box-shadow:inset 0 0 0 1px var(--c-line-2);flex-shrink:0;transition:all var(--dur-fast) var(--ease-out)}.ui-stepper-line{flex:1 1;height:2px;background:var(--c-line-2);margin:0 6px}.ui-stepper-item.is-completed .ui-stepper-node{background:var(--c-ok);box-shadow:none;color:var(--c-on-accent)}.ui-stepper-item.is-completed .ui-stepper-line{background:var(--c-quiet-2)}.ui-stepper-item.is-current .ui-stepper-node{background:var(--c-surface);color:var(--c-accent);box-shadow:inset 0 0 0 2px var(--c-accent)}.ui-stepper-item.is-error .ui-stepper-node{background:var(--c-danger-bg);color:var(--c-danger-text);box-shadow:inset 0 0 0 2px var(--c-danger)}.ui-stepper-title{font-size:var(--fs-small);font-weight:var(--fw-strong);color:var(--c-text-1)}.ui-stepper-item.is-pending .ui-stepper-title{color:var(--c-text-3);font-weight:var(--fw-regular)}.ui-stepper-desc{font-size:var(--fs-caption);color:var(--c-text-3);margin-top:2px}:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;border-radius:var(--r-xs)}.app-breadcrumbs{display:flex;align-items:center}.app-breadcrumbs,.app-breadcrumbs-single{min-width:0;font-size:var(--fs-small);color:var(--c-text-3)}.app-breadcrumbs-list{overflow:hidden;margin:0;padding:0;list-style:none}.app-breadcrumb-item,.app-breadcrumbs-list{display:flex;align-items:center;gap:6px;min-width:0}.app-breadcrumb-separator{color:var(--c-text-4);flex-shrink:0}.app-breadcrumb-link{color:var(--c-text-3);text-decoration:none;font-weight:var(--fw-medium);transition:color var(--dur-fast) var(--ease-out)}.app-breadcrumb-link:hover{color:var(--c-text-1)}.app-breadcrumb-current,.app-breadcrumbs-single span{color:var(--c-text-1);font-weight:var(--fw-strong)}@media (max-width:960px){.app-breadcrumb-item{flex:0 0 auto;white-space:nowrap}.app-breadcrumbs-list{overflow:hidden}.app-breadcrumb-item:not(:last-child){display:none}.app-breadcrumb-item:last-child{min-width:0;flex-shrink:1}.app-breadcrumb-item:last-child .app-breadcrumb-separator{display:none}.app-breadcrumb-current,.app-breadcrumbs-single{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.ui-state-view{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;min-height:200px}.ui-state-icon{margin-bottom:12px;display:grid;place-items:center}.ui-state-icon-empty{color:var(--c-text-3)}.ui-state-icon-danger{color:var(--c-danger)}.ui-state-icon-warning{color:var(--c-warn)}.ui-state-icon-neutral{color:var(--c-text-2)}.ui-state-icon-info{color:var(--c-info)}.ui-state-icon-spinner{color:var(--c-accent)}.ui-state-title{font-size:var(--fs-subhead);font-weight:var(--fw-strong);color:var(--c-text-1);margin-bottom:6px}.ui-state-desc{font-size:var(--fs-body);color:var(--c-text-2);max-width:480px;line-height:1.5;margin:0 0 16px}.ui-state-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px}.ui-state-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-xs);background:var(--c-sunken);color:var(--c-text-3);font-size:var(--fs-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-state-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.ui-state-copied-icon{color:var(--c-ok)}.ui-state-progress-bar-wrap{width:260px;max-width:100%;height:6px;background:var(--c-sunken);border-radius:var(--r-pill);overflow:hidden;margin:12px 0 16px}.ui-state-progress-bar{height:100%;background:var(--c-accent);transition:width var(--dur-normal) var(--ease-out)}.ui-touch-action-bar{position:sticky;bottom:0;left:0;right:0;z-index:400;background:var(--c-surface);border-top:1px solid var(--c-line);box-shadow:var(--sh-float);border-radius:var(--r-inner);padding:10px 20px calc(10px + env(safe-area-inset-bottom, 0px));animation:uiSlideUp var(--dur-fast) var(--ease-out)}@keyframes uiSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ui-touch-action-bar-inner{max-width:1520px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.ui-touch-action-selection{display:flex;align-items:center;gap:10px;font-size:var(--fs-small);color:var(--c-text-2)}.ui-touch-action-selection strong{color:var(--c-text-1);font-size:var(--fs-body)}.ui-touch-action-clear-btn{border:0;background:transparent;color:var(--c-text-2);font-size:var(--fs-caption);text-decoration:underline;cursor:pointer;padding:4px 6px}.ui-touch-action-clear-btn:hover{color:var(--c-text-1)}.ui-touch-action-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ui-touch-action-btn{min-height:44px;min-width:44px;padding:0 16px;font-size:var(--fs-small)}.ui-detail-drawer-shell{--detail-accent:var(--c-accent);--detail-accent-strong:var(--c-accent-hover);--detail-accent-soft:var(--c-accent-bg)}.ui-detail-drawer-shell .ui-drawer-header{height:auto;min-height:76px;padding:14px 22px 16px;background:var(--c-surface)}.ui-detail-drawer-shell .ui-drawer-body{padding:0;background:var(--c-surface)}.ui-detail-drawer-shell .ui-drawer-footer{padding:10px 24px;background:var(--c-surface)}.ui-detail-drawer-header-content{display:flex;flex-direction:column;gap:3px;min-width:0}.ui-detail-drawer-title-left,.ui-detail-drawer-title-row{display:flex;align-items:center;gap:8px}.ui-detail-drawer-title-left{min-width:0}.ui-detail-drawer-title{font-size:var(--fs-heading);font-weight:var(--fw-strong);color:var(--c-text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-detail-drawer-title[data-with-code]{font-size:var(--fs-title);font-weight:var(--fw-medium);color:var(--c-text-2)}.ui-detail-drawer-subtitle{font-size:var(--fs-small);color:var(--c-text-3)}.ui-detail-drawer-tabs{position:sticky;top:0;z-index:4;display:flex;gap:0;padding:0 24px;border-bottom:1px solid var(--c-line);background:var(--c-surface);overflow-x:auto;scrollbar-width:thin;box-shadow:none}.ui-detail-drawer-tab{display:flex;align-items:center;gap:4px;min-height:48px;padding:0 16px;border:0;background:transparent;font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--c-text-2);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:all var(--dur-fast) var(--ease-out)}.ui-detail-drawer-tab:hover{color:var(--detail-accent-strong);background:var(--c-canvas)}.ui-detail-drawer-tab.is-active{color:var(--detail-accent);border-bottom-color:var(--detail-accent);font-weight:var(--fw-strong)}.ui-detail-drawer-tab:focus-visible{outline:2px solid var(--detail-accent);outline-offset:-3px;border-radius:var(--r-xs) var(--r-xs) 0 0}.ui-detail-drawer-tab-count{font-size:var(--fs-caption);color:var(--c-text-3)}.ui-detail-drawer-body-wrap{min-height:200px;padding:22px 24px 30px;outline:none}@media (max-width:720px){.ui-detail-drawer-shell .ui-drawer-header{min-height:68px;padding:12px 16px}.ui-detail-drawer-tabs{padding:0 8px}.ui-detail-drawer-tab{min-height:44px;padding:0 12px;font-size:var(--fs-small)}.ui-detail-drawer-body-wrap{padding:16px}}.ui-data-table-shell{display:grid;gap:8px;min-width:0}.ui-data-table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0;gap:12px;flex-wrap:wrap}.ui-data-table-toolbar-left,.ui-data-table-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ui-data-table-toolbar-right{margin-left:auto}.ui-data-table-container{overflow-x:auto}.ui-data-table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--fs-body);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-data-table-th{position:sticky;top:0;z-index:1;width:var(--col-w,auto);min-width:var(--col-min-w,auto);height:40px;padding:0 var(--cell-x);text-align:var(--col-align,left);background:var(--c-surface);color:var(--c-text-3);font-weight:var(--fw-regular);font-size:var(--fs-small);border-bottom:1px solid var(--c-line-2);white-space:nowrap}.ui-data-table-sort-trigger{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer}.ui-data-table-sort-trigger:hover{color:var(--c-text-1)}.ui-data-table-sort-icon{display:grid;place-items:center;color:var(--c-accent-text)}.ui-data-table-sort-icon .is-inactive{color:var(--c-text-4)}.ui-data-table-row{border-bottom:1px solid var(--c-line);transition:background var(--dur-fast) var(--ease-out)}.ui-data-table-row:hover{background:var(--c-hover)}.ui-data-table-row:last-child{border-bottom:0}.ui-data-table-row[data-clickable]{cursor:pointer}.ui-data-table-row[data-clickable]:focus-visible{outline:2px solid var(--c-accent);outline-offset:-2px}.ui-data-table-row[data-selected]{background:var(--c-selected)}.ui-data-table-row[data-active]{background:var(--c-selected);box-shadow:inset 2px 0 0 var(--c-accent)}.ui-data-table-td{height:var(--row-h);padding:0 var(--cell-x);text-align:var(--col-align,left);color:var(--c-text-1)}.ui-data-table-td[data-select-cell],.ui-data-table-th[data-select-cell]{width:40px;padding-right:0}.ui-data-table-td-skeleton,.ui-data-table-td-state{padding:0}@media (max-width:1180px){.ui-data-table [data-priority=p2]{display:none}}.ui-combobox-search-spinner{color:var(--c-accent);flex-shrink:0}.ui-combobox-options-list{max-height:260px;overflow-y:auto}.ui-combobox-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;font-size:var(--fs-caption);color:var(--c-text-2)}.ui-combobox-option-content{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.ui-combobox-option-desc{font-size:var(--fs-caption);color:var(--c-text-3)}.ui-combobox-option-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin-top:5px}.ui-combobox-option-meta-item{min-width:0;color:var(--c-text-2);font-size:var(--fs-caption);line-height:1.35;overflow-wrap:anywhere}.ui-combobox-option-meta-item strong{margin-right:4px;color:var(--c-text-3);font-weight:var(--fw-strong)}.ui-combobox-option-badge{font-size:var(--fs-caption);padding:1px 4px;border-radius:var(--r-xs);background:var(--c-sunken);color:var(--c-text-2);display:inline-block;margin-top:2px;width:fit-content}.app-error-boundary-wrap{padding:40px 20px;display:flex;justify-content:center}.app-error-boundary-box{width:100%;max-width:600px;overflow:hidden}.app-error-boundary-footer{margin-top:16px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.appearance-menu{position:relative}.appearance-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:700;width:232px;padding:10px;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-overlay);box-shadow:var(--sh-overlay);animation:appearancePop var(--dur-fast) var(--ease-out)}@keyframes appearancePop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.appearance-title{display:flex;align-items:center;gap:6px;padding:2px 6px 8px;color:var(--c-text-1)}.appearance-label,.appearance-title{font-size:var(--fs-caption);font-weight:var(--fw-strong)}.appearance-label{padding:8px 6px 5px;color:var(--c-text-3);letter-spacing:.08em}.appearance-options{display:grid;gap:2px}.appearance-option{display:flex;align-items:center;gap:8px;width:100%;min-height:30px;padding:5px 8px;border:0;border-radius:var(--r-ctl);background:transparent;color:var(--c-text-2);font-size:var(--fs-caption);text-align:left;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.appearance-option:hover{background:var(--c-hover);color:var(--c-text-1)}.appearance-option.is-active{background:var(--c-accent-bg);color:var(--c-accent-text);font-weight:var(--fw-strong)}.appearance-option small{flex:1 1 auto;min-width:0;color:var(--c-text-3);font-size:var(--fs-caption);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appearance-option.is-active small{color:var(--c-accent-text);opacity:.72}.appearance-check{margin-left:auto;flex:0 0 auto}.brand-mark{background:url(/brand/brand-mark.png) 50%/contain no-repeat}:root[data-theme=dark] .brand-mark{background-image:url(/brand/brand-mark-white.png)}:root[data-theme=dark] ::-webkit-scrollbar{width:10px;height:10px}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--c-line-2);border:2px solid var(--c-canvas);border-radius:var(--r-pill)}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--c-line-control)}:root[data-theme=dark] ::-webkit-scrollbar-track{background:transparent}:root[data-theme=dark] img:not([data-keep-brightness]){filter:brightness(.94)}.ui-status{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:var(--c-text-1);font-size:inherit;line-height:1.2}.ui-status>i{width:7px;height:7px;flex:none;border-radius:50%;background:var(--c-neutral)}.ui-status[data-severity=ok]>i{background:var(--c-ok)}.ui-status[data-severity=info]>i{background:var(--c-info)}.ui-status[data-severity=warn]>i{background:var(--c-warn)}.ui-status[data-severity=special]>i{background:var(--c-special)}.ui-status[data-severity=danger]{color:var(--c-danger-text)}.ui-status[data-severity=danger]>i{background:var(--c-danger)}.ui-tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--r-pill);background:var(--c-sunken);color:var(--c-text-2);font-size:var(--fs-caption);font-weight:var(--fw-medium);white-space:nowrap}.ui-tag--compact{height:18px;padding:0 6px}.ui-tag[data-severity=ok]{background:var(--c-ok-bg);color:var(--c-ok-text)}.ui-tag[data-severity=info]{background:var(--c-info-bg);color:var(--c-text-2)}.ui-tag[data-severity=warn]{background:var(--c-warn-bg);color:var(--c-warn-text)}.ui-tag[data-severity=danger]{background:var(--c-danger-bg);color:var(--c-danger-text)}.ui-tag[data-severity=special]{background:var(--c-sunken);color:var(--c-text-2)}.nav-count{margin-left:auto;min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;border-radius:var(--r-pill);background:var(--c-accent-bg);color:var(--c-accent-text);font-size:var(--fs-caption);font-weight:var(--fw-strong);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.nav-workspace-link .nav-count{margin-left:4px}.ui-input,.ui-select,.ui-textarea{height:calc(var(--ctl-h) + 4px);padding:0 12px;background:var(--c-surface);border:1px solid var(--c-line-control);border-radius:var(--r-ctl);color:var(--c-text-1);font-size:var(--fs-body);outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);min-width:0;max-width:100%}.ui-textarea{height:auto;min-height:76px;padding:8px 12px;line-height:1.6;resize:vertical}.ui-select{cursor:pointer;padding-right:8px}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--c-text-3)}.ui-input:hover:not(:disabled),.ui-select:hover:not(:disabled),.ui-textarea:hover:not(:disabled){border-color:var(--c-text-3)}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-ring)}.ui-input[aria-invalid=true],.ui-select[aria-invalid=true],.ui-textarea[aria-invalid=true]{border-color:var(--c-danger)}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{background:var(--c-sunken);color:var(--c-text-4);cursor:not-allowed}.ui-btn--sm{height:calc(var(--ctl-h) - 6px);padding:0 10px;font-size:var(--fs-small)}.ui-btn--lg{height:calc(var(--ctl-h) + 4px);padding:0 20px;font-size:var(--fs-body)}.ui-btn--block{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--ctl-h);padding:0 14px;border:0;border-radius:var(--r-ctl);background:var(--c-surface);color:var(--c-text-1);box-shadow:inset 0 0 0 1px var(--c-line-2);font-size:var(--fs-body);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.btn:hover:not(:disabled){background:var(--c-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--c-accent);color:var(--c-on-accent);box-shadow:var(--sh-primary)}.btn-primary:hover:not(:disabled){background:var(--c-accent-hover)}.btn-secondary{background:var(--c-surface);color:var(--c-text-1);box-shadow:inset 0 0 0 1px var(--c-line-2)}.btn-secondary:hover:not(:disabled){background:var(--c-hover)}.btn-ghost{background:transparent;color:var(--c-text-2);box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--c-hover);color:var(--c-text-1)}.btn-danger{background:var(--c-surface);color:var(--c-danger-text);box-shadow:inset 0 0 0 1px var(--c-line-2)}.btn-danger:hover:not(:disabled){background:var(--c-danger-bg)}.btn-sm{height:calc(var(--ctl-h) - 6px);padding:0 10px;font-size:var(--fs-small)}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--r-pill);background:var(--c-sunken);color:var(--c-text-2);font-size:var(--fs-caption);font-weight:var(--fw-medium);white-space:nowrap}.ui-detail-drawer-badge-wrap{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.ui-detail-drawer-error,.ui-detail-drawer-loading{padding:var(--space-9) var(--space-8);display:grid;place-items:center;gap:var(--space-5);color:var(--c-text-secondary);font-size:var(--fs-body);text-align:center}.ui-detail-drawer-error{color:var(--c-danger-fg)}.ui-combobox-option-label{display:block;color:inherit}.ui-state-text{color:var(--c-text-secondary);font-size:var(--fs-body)}.ui-state-action{display:inline-flex;align-items:center;gap:var(--space-3)}.ui-stepper-content{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.spin{animation:uiSpin .9s linear infinite}@keyframes uiSpin{to{transform:rotate(1turn)}}.dashboard-retry.active,.session-retry.active{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-on-accent)}.dashboard-retry.active:hover,.session-retry.active:hover{background:var(--c-accent-hover);border-color:var(--c-accent-hover)}.page,.workbench-pending-signature-container{display:flex;flex-direction:column;gap:var(--sp-4)}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-5);flex-wrap:wrap}.page-head-main{min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}.page-kicker{color:var(--c-accent-text);font-size:var(--fs-caption);letter-spacing:.04em}.page-kicker,.page-title{font-weight:var(--fw-strong)}.page-title{font-size:var(--fs-display);line-height:1.2;color:var(--c-text-1);letter-spacing:-.01em}.page-desc{margin-top:6px;color:var(--c-text-3);font-size:var(--fs-small);max-width:78ch;line-height:1.6}.page-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap}.ui-split-panel{display:grid;grid-template-columns:320px minmax(0,1fr);gap:var(--sp-6)}@media (max-width:900px){.ui-split-panel{grid-template-columns:minmax(0,1fr)}}@media (min-width:761px) and (max-width:960px){.page-head{flex-direction:column;align-items:stretch;gap:var(--sp-3)}.page-head-actions{justify-content:flex-start}}@media (max-width:760px){.page-head{flex-direction:column;align-items:stretch;gap:var(--sp-3)}.page-head-actions{justify-content:flex-start}.page-title{font-size:var(--fs-display-m)}}.card{background:var(--c-bg-surface);border:1px solid var(--c-border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-xs)}.card--pad{padding:var(--card-pad)}.card--tight{padding:var(--space-5)}.card--flush{padding:0;overflow:hidden}.card--muted{background:var(--c-bg-sunken);box-shadow:none}.card--accent{border-color:var(--c-accent-border)}.card-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--card-pad);border-bottom:1px solid var(--c-border-hairline);flex-wrap:wrap}.card--pad>.card-head{padding:0 0 var(--space-5);margin-bottom:var(--space-5)}.card-title{display:inline-flex;align-items:center;gap:var(--space-4);font-size:var(--fs-title);font-weight:650;color:var(--c-text-primary)}.card-title svg{color:var(--c-text-tertiary);flex:0 0 auto}.card-desc{margin-top:var(--space-2);color:var(--c-text-secondary);font-size:var(--fs-caption)}.card-actions{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.card-body{padding:var(--card-pad)}.card-foot{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--card-pad);border-top:1px solid var(--c-border-hairline);background:var(--c-bg-canvas)}.toolbar{justify-content:space-between;gap:var(--space-5)}.toolbar,.toolbar-group{display:flex;align-items:center;flex-wrap:wrap}.filter-bar,.toolbar-group{gap:var(--space-4)}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;padding:var(--space-5) var(--card-pad);border-bottom:1px solid var(--c-border-hairline);background:var(--c-bg-canvas)}.filter-bar:last-child{border-bottom:0}.field{height:calc(var(--ctl-h) + 4px);padding:0 12px;background:var(--c-surface);border:1px solid var(--c-line-control);border-radius:var(--r-ctl);color:var(--c-text-1);font-size:var(--fs-body);outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);min-width:0}textarea.field{height:auto;min-height:76px;padding:8px 12px;line-height:1.6;resize:vertical}select.field{padding-right:8px;cursor:pointer}.field::placeholder{color:var(--c-text-3)}.field:hover:not(:disabled){border-color:var(--c-text-3)}.field:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-ring)}.field:disabled{background:var(--c-sunken);color:var(--c-text-4);cursor:not-allowed}.field--invalid{border-color:var(--c-danger)}.field--block{width:100%}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end}.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{display:flex;flex-direction:column;gap:6px;min-width:0}.form-label{font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--c-text-2)}.form-label--required:after{content:" *";color:var(--c-danger-text)}.form-hint{color:var(--c-text-3);line-height:1.5}.form-error,.form-hint{font-size:var(--fs-caption)}.form-error{color:var(--c-danger-text)}.check-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-body);color:var(--c-text-1);cursor:pointer}.check-label input{accent-color:var(--c-accent)}.table-wrap{width:100%;overflow-x:auto}@media (max-width:900px){.table-wrap .table td:first-child,.table-wrap .table th:first-child{position:sticky;left:0;z-index:1;background:var(--c-surface);box-shadow:1px 0 0 var(--c-line)}.table-wrap .table thead th:first-child{background:var(--c-sunken)}.table-wrap .table tbody tr:hover td:first-child{background:var(--c-hover)}}.table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.table caption{padding:0 var(--cell-x) 16px;font-size:var(--fs-caption)}.table caption,.table th{text-align:left;color:var(--c-text-3)}.table th{height:40px;background:var(--c-surface);font-size:var(--fs-small);font-weight:var(--fw-regular);white-space:nowrap;border-bottom:1px solid var(--c-line-2)}.table td,.table th{padding:0 var(--cell-x)}.table td{height:var(--row-h);color:var(--c-text-1);border-bottom:1px solid var(--c-line);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background var(--dur-fast) var(--ease-out)}.table tbody tr:hover{background:var(--c-hover)}.table--fixed{table-layout:fixed}.table .num{text-align:right}.num,.table .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table .col-num{text-align:right}.table .col-actions{text-align:right;white-space:nowrap}.vehicle-thumb{width:64px;height:42px;flex:0 0 auto;object-fit:contain;border-radius:var(--radius-sm);background:var(--c-bg-sunken)}:root[data-theme=dark] .vehicle-thumb{filter:brightness(1.12)}.vehicle-hero{width:100%;height:auto;border-radius:var(--radius-panel);background:linear-gradient(155deg,var(--c-accent-bg),var(--c-bg-sunken))}.row-list{display:flex;flex-direction:column}.row-list-head{display:grid;align-items:center;gap:12px;height:40px;padding:0 var(--cell-x);background:var(--c-surface);color:var(--c-text-3);font-size:var(--fs-small);font-weight:var(--fw-regular);border-bottom:1px solid var(--c-line-2)}.row-group-head{display:flex;gap:8px;padding:8px var(--cell-x);background:var(--c-sunken);font-weight:var(--fw-strong);border-bottom:1px solid var(--c-line)}.row-group-head,.row-item{align-items:center;font-size:var(--fs-body)}.row-item{display:grid;gap:12px;width:100%;min-height:var(--row-h);padding:0 var(--cell-x);border:0;border-top:1px solid var(--c-line);background:transparent;color:var(--c-text-1);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.row-list>.row-item:first-child{border-top:0}.row-item:hover{background:var(--c-hover)}.row-item[data-active]{background:var(--c-selected);box-shadow:inset 2px 0 0 var(--c-accent)}.row-item:focus-visible{outline:2px solid var(--c-accent);outline-offset:-2px}.banner{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;border:0;border-radius:var(--r-inner);background:var(--c-sunken);color:var(--c-text-1);font-size:var(--fs-body);line-height:1.6}.banner svg{flex:0 0 auto;margin-top:1px}.banner--success{background:var(--c-ok-bg);color:var(--c-text-1)}.banner--success svg{color:var(--c-ok)}.banner--danger{background:var(--c-danger-bg);color:var(--c-text-1)}.banner--danger svg{color:var(--c-danger)}.banner--warning{background:var(--c-warn-bg);color:var(--c-text-1)}.banner--warning svg{color:var(--c-warn)}.banner--info{background:var(--c-info-bg);color:var(--c-text-1)}.banner--info svg{color:var(--c-info)}.banner--accent{background:var(--c-accent-bg);color:var(--c-text-1)}.banner--accent svg{color:var(--c-accent)}.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5) var(--space-7)}.kv-item{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.kv-key{font-size:var(--fs-caption);color:var(--c-text-tertiary)}.kv-val{font-size:var(--fs-body-lg);color:var(--c-text-primary);font-weight:550;word-break:break-word}.chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--r-pill);background:var(--c-sunken);color:var(--c-text-2);border:1px solid var(--c-line);font-size:var(--fs-caption);font-weight:var(--fw-strong);white-space:nowrap}.chip--accent{background:var(--c-accent-bg);border-color:var(--c-accent-ring)}.chip--accent,.link{color:var(--c-accent-text)}.link{font-weight:var(--fw-medium)}.link:hover{text-decoration:underline}.text-caption,.text-micro,.text-nano{font-size:var(--fs-caption)}.text-caption{color:var(--c-text-3)}.text-body,.text-body-lg{font-size:var(--fs-body)}.text-title{font-size:var(--fs-title);font-weight:var(--fw-strong)}.text-meta{font-size:var(--fs-caption);color:var(--c-text-3)}.text-hint{font-size:var(--fs-micro);color:var(--c-text-3)}.text-strong{font-weight:var(--fw-strong);color:var(--c-text-1)}.text-accent{color:var(--c-accent-text)}.text-info,.text-muted{color:var(--c-text-2)}.text-faint{color:var(--c-text-3)}.text-danger{color:var(--c-danger-text)}.text-ok{color:var(--c-ok-text)}.text-warn{color:var(--c-warn-text)}.divider{height:1px;background:var(--c-line);border:0;margin:12px 0}.stack{flex-direction:column}.row,.stack{display:flex;gap:8px}.row{align-items:center;flex-wrap:wrap}.row--end{justify-content:flex-end}.grow{flex:1 1 auto;min-width:0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat{padding:0 16px;border-left:1px solid var(--c-line)}.stat:first-child{padding-left:0;border-left:0}.stat-label{font-size:var(--fs-small);color:var(--c-text-2)}.stat-label,.stat-value{font-weight:var(--fw-strong)}.stat-value{margin-top:8px;font-size:var(--fs-title);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--c-text-1)}.stat-sub{margin-top:8px;font-size:var(--fs-micro);color:var(--c-text-3)}.stat--danger .stat-value{color:var(--c-danger-text)}.stat--warn .stat-value{color:var(--c-warn-text)}.stat--ok .stat-value{color:var(--c-ok-text)}.option-btn{display:block;width:100%;text-align:left;padding:8px 12px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--c-text-1);font-size:var(--fs-body);cursor:pointer}.option-btn:hover{background:var(--c-hover)}.option-btn:focus-visible{background:var(--c-accent-bg)}.ui-state-illustration{width:min(220px,60%);height:auto;margin-bottom:20px;opacity:.95;filter:brightness(.66) saturate(1.15)}:root[data-theme=dark] .ui-state-illustration{filter:none;opacity:.9}.ui-data-table-td-state .ui-state-illustration,.ui-drawer-body .ui-state-illustration,.ui-modal-body .ui-state-illustration{width:min(132px,42%);margin-bottom:16px}@media (prefers-reduced-motion:no-preference){.ui-state-illustration{transition:filter var(--dur-normal) var(--ease-out)}}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-5)}.tile{display:block;padding:var(--card-pad);background:var(--c-bg-surface);border:1px solid var(--c-border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.tile:hover{border-color:var(--c-accent-border);box-shadow:var(--shadow-md);transform:translateY(-1px)}.tile-icon{--tile-icon:none;width:28px;height:28px;margin-bottom:var(--space-4);background-color:var(--c-accent);-webkit-mask:var(--tile-icon) center /contain no-repeat;mask:var(--tile-icon) center /contain no-repeat}.tile:hover .tile-icon{background-color:var(--c-accent-hover)}.tile-title{font-size:var(--fs-body-lg);font-weight:650;color:var(--c-text-primary)}.tile-desc{margin-top:var(--space-2);font-size:var(--fs-caption);color:var(--c-text-secondary);line-height:1.5}.section-title{display:flex;align-items:center;gap:var(--space-4);font-size:var(--fs-body-lg);font-weight:650;color:var(--c-text-primary)}.section-sub{color:var(--c-text-secondary);font-size:var(--fs-caption);margin-top:var(--space-2)}@media (max-width:900px){.form-grid--2,.form-grid--3{grid-template-columns:minmax(0,1fr)}.page-head{gap:var(--space-5)}}@page{size:A4 portrait;margin:18mm 16mm}@media print{body{background:var(--c-paper)}.app-workspace>header,.appearance-pop,.global-toast-container,.mobile-nav-backdrop,.mobile-nav-toggle,.side-nav,.ui-confirm-overlay,.ui-drawer-overlay,.ui-modal-overlay,.ui-touch-action-bar,[aria-modal=true],[role=dialog]{display:none!important}.app-shell{display:block;min-height:0}.app-workspace{margin:0;border-radius:0;box-shadow:none}.app-main{max-width:none;padding:0}body *{visibility:hidden}}