:root{accent-color:var(--color-accent);color-scheme:light;--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-muted: #f1f5f9;--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-border: #e2e8f0;--color-border-control: #64748b;--color-accent: #0b5cad;--color-accent-hover: #094a8c;--color-accent-subtle: #e8f0fa;--color-on-accent: #ffffff;--color-success: #15803d;--color-success-subtle: #f0fdf4;--color-success-text: #166534;--color-warning: #b45309;--color-warning-subtle: #fffbeb;--color-warning-text: #92400e;--color-danger: #b91c1c;--color-danger-subtle: #fef2f2;--color-danger-text: #991b1b;--color-info: #0369a1;--color-info-subtle: #f0f9ff;--color-info-text: #075985;--font-sans: "Segoe UI", "Liberation Sans", system-ui, -apple-system, Arial, sans-serif;--font-mono: Consolas, "Liberation Mono", ui-monospace, "Courier New", monospace;--text-xs: calc(12rem / 14);--leading-xs: calc(16rem / 14);--text-sm: calc(13rem / 14);--leading-sm: calc(18rem / 14);--text-base: 1rem;--leading-base: calc(20rem / 14);--text-md: calc(16rem / 14);--leading-md: calc(24rem / 14);--text-lg: calc(18rem / 14);--text-xl: calc(20rem / 14);--leading-xl: 2rem ;--text-2xl: calc(24rem / 14);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 2px;--radius: 4px;--radius-lg: 6px;--shadow-overlay: 0 4px 12px rgb(15 23 42 / .12), 0 1px 3px rgb(15 23 42 / .08);--shadow-dialog: 0 12px 32px rgb(15 23 42 / .18);--control-h: 32px;--control-h-sm: 28px;--row-h: 36px;--topbar-h: 56px;--sidebar-w-open: 232px;--sidebar-w-collapsed: 56px;--duration-fast: .12s;--z-sticky: 2;--z-toast: 60;--bg: var(--color-bg);--fg: var(--color-text);--muted: var(--color-text-secondary);--accent: var(--color-accent);--line: var(--color-border);--err: var(--color-danger);--ok: var(--color-success);--card: var(--color-surface)}*{box-sizing:border-box}html{font-size:87.5%}body{margin:0;font:var(--text-base) / var(--leading-base) var(--font-sans);font-variant-numeric:tabular-nums;background:var(--color-bg);color:var(--color-text)}h1{font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:600;margin:0 0 var(--space-4)}h2{font-size:var(--text-md);line-height:var(--leading-md);font-weight:600;margin:0 0 var(--space-3)}h3{font-size:var(--text-base);line-height:var(--leading-base);font-weight:600;margin:0 0 var(--space-2)}p{margin:0 0 var(--space-3)}a{color:var(--color-accent)}code,kbd,samp{font-family:var(--font-mono);font-size:.95em}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}td,th{overflow-wrap:break-word}label,p,li{overflow-wrap:anywhere}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-2);top:-100px;z-index:100;padding:var(--space-2) var(--space-3);background:var(--color-surface);color:var(--color-accent);border:2px solid var(--color-accent);border-radius:var(--radius);font-weight:600}.skip-link:focus{top:var(--space-2)}button,select,textarea,input:where(:not([type=checkbox],[type=radio],[type=file],[type=range])){font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-control);border-radius:var(--radius)}select,input:where(:not([type=checkbox],[type=radio],[type=file],[type=range])){min-height:var(--control-h);padding:0 var(--space-2)}textarea{padding:6px var(--space-2)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:1}button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-3);cursor:pointer;white-space:nowrap}button:hover:not(:disabled){background:var(--color-surface-muted)}button.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);font-weight:600}button.primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}button.danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff;font-weight:600}button.danger:hover:not(:disabled){background:#991b1b;border-color:#991b1b}button.ghost{background:transparent;border-color:transparent}button.ghost:hover:not(:disabled){background:var(--color-surface-muted)}button.sm{min-height:var(--control-h-sm);padding:0 var(--space-2)}button:disabled,select:disabled,input:disabled,textarea:disabled{opacity:.5;cursor:default}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-danger);box-shadow:inset 0 0 0 1px var(--color-danger)}.link{background:none;border:none;color:var(--color-accent);padding:0;min-height:0;text-decoration:underline}.link:hover:not(:disabled){background:none}label{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}label>select,label>input:not([type=checkbox]):not([type=radio]),label>textarea{width:100%;min-width:0}label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:flex;align-items:center;gap:var(--space-2)}table{width:100%;border-collapse:collapse;background:var(--color-surface)}th,td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:top}th{font-weight:600;background:var(--color-surface-muted);color:var(--color-text-secondary)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);margin:var(--space-3) 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.spacer{flex:1}.actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}td .actions{flex-wrap:nowrap}.toolbar-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin:var(--space-3) 0}.tabs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filters{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:flex-end;margin:var(--space-3) 0}td input:not([type=checkbox]):not([type=number]){width:100%;min-width:20ch}td input.wide{min-width:38ch}.error{color:var(--color-danger)}.ok{color:var(--color-success)}.muted{color:var(--color-text-secondary)}.drop{border:2px dashed var(--color-border-control);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center}.drop.over{border-color:var(--color-accent);background:var(--color-accent-subtle)}@media(max-width:600px){th:nth-child(n+3),td:nth-child(n+3){display:none}}.print-root{display:none}@media print{body.printing>#root{display:none!important}body.printing .print-root{display:block}body.printing .print-root canvas{display:block;width:100%;height:auto;break-inside:avoid}body.printing .print-root canvas+canvas{break-before:page}}.page-wrap{position:relative;width:fit-content;max-width:none;margin:var(--space-2) auto}.redact-layer{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.redact-layer.active{cursor:crosshair}.redact-box{position:absolute;background:#000000b3;border:1px solid #000;pointer-events:none}.redact-box.suggestion{background:#ffc80059;border:2px dashed #b36b00}main.standalone{max-width:640px;margin:0 auto;padding:var(--space-6) var(--space-4)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.icon{flex:none}.icon-btn{width:var(--control-h);padding:0}.icon-btn.sm{width:var(--control-h-sm)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);min-height:20px;padding:0 var(--space-2);font-size:var(--text-xs);line-height:var(--leading-xs);font-weight:600;white-space:nowrap;border:1px solid var(--tone-line);border-radius:var(--radius-sm);background:var(--tone-bg);color:var(--tone-fg)}.badge-neutral{--tone-bg: var(--color-surface-muted);--tone-fg: #334155;--tone-line: #94a3b8}.badge-accent{--tone-bg: var(--color-accent-subtle);--tone-fg: var(--color-accent-hover);--tone-line: var(--color-accent)}.badge-success{--tone-bg: var(--color-success-subtle);--tone-fg: var(--color-success-text);--tone-line: var(--color-success)}.badge-warning{--tone-bg: var(--color-warning-subtle);--tone-fg: var(--color-warning-text);--tone-line: var(--color-warning)}.badge-danger{--tone-bg: var(--color-danger-subtle);--tone-fg: var(--color-danger-text);--tone-line: var(--color-danger)}.badge-info{--tone-bg: var(--color-info-subtle);--tone-fg: var(--color-info-text);--tone-line: var(--color-info)}.field{display:grid;align-content:start;gap:var(--space-1);min-width:0}.field>label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.field .req{color:var(--color-danger)}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;min-width:0}.field-help{margin:0;font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text-secondary)}.field-error{display:flex;align-items:flex-start;gap:var(--space-1);margin:0;font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-danger-text)}.field-error .icon{margin-top:1px}.error-summary{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-danger);border-left-width:4px;border-radius:var(--radius);background:var(--color-danger-subtle);color:var(--color-danger-text)}.error-summary ul{margin:var(--space-1) 0 0;padding-left:var(--space-5)}.error-summary a{color:inherit}.datefield{position:relative;width:180px;max-width:100%}.datefield>input[type=text]{width:100%;padding-right:60px}.datefield-actions{position:absolute;top:2px;right:2px;display:flex;gap:2px}.datefield-actions button{width:var(--control-h-sm);min-height:var(--control-h-sm);padding:0}.datefield-native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;pointer-events:none}.datefield+.field-error{margin-top:var(--space-1)}.tabs-list{display:flex;flex-wrap:wrap;gap:var(--space-1);border-bottom:1px solid var(--color-border)}.tab{min-height:36px;padding:0 var(--space-3);border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--color-text-secondary);font-weight:600}.tab:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.tab[aria-selected=true]{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tabpanel{padding-top:var(--space-4)}.table-wrap{position:relative;overflow:auto;max-height:var(--table-max-h, none);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.table-wrap:focus-visible{outline-offset:-2px}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th{position:sticky;top:0;z-index:var(--z-sticky);height:var(--row-h);padding:0 var(--space-3);text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid var(--color-border);background:var(--color-surface-muted)}.data-table td{height:var(--row-h);padding:var(--space-1) var(--space-3);vertical-align:middle;border-bottom:1px solid var(--color-border)}.data-table tbody tr:last-child td{border-bottom:0}.data-table .num{text-align:right}.data-table tbody tr.selectable{cursor:pointer}.data-table tbody tr.selectable:hover{background:var(--color-surface-muted)}.data-table tbody tr[aria-selected=true]{background:var(--color-accent-subtle)}.data-table tbody tr[aria-selected=true] td:first-child{box-shadow:inset 3px 0 0 var(--color-accent)}.empty{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-secondary)}.empty h3{margin:0;color:var(--color-text)}.empty p{margin:0;max-width:48ch}.skeleton{display:block;width:100%;height:1em;border-radius:var(--radius-sm);background:var(--color-border);opacity:0;animation:skeleton-show 0s linear .2s forwards}@keyframes skeleton-show{to{opacity:1}}dialog.dialog{--dialog-w: 560px;width:min(var(--dialog-w),calc(100vw - 2 * var(--space-4)));max-height:calc(100vh - 2 * var(--space-8));max-height:calc(100dvh - 2 * var(--space-8));padding:0;overflow:hidden;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dialog)}dialog.dialog[open]{display:flex;flex-direction:column}dialog.dialog::backdrop{background:#0f172a73}.dialog-sm{--dialog-w: 400px}.dialog-md{--dialog-w: 560px}.dialog-lg{--dialog-w: 800px}dialog.dialog-full{width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;border:0;border-radius:0}dialog.dialog-drawer{--dialog-w: var(--drawer-w, 480px);width:min(var(--dialog-w),100vw);max-width:none;height:100vh;height:100dvh;max-height:none;margin:0 0 0 auto;border-width:0 0 0 1px;border-radius:0}.dialog-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.dialog-header h2{flex:1;margin:0}.dialog-body{position:relative;flex:1 1 auto;min-height:0;overflow:auto;padding:var(--space-4)}.dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface-muted)}.toast-region{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:var(--z-toast);width:min(380px,calc(100vw - 2 * var(--space-4)));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-3);margin-top:var(--space-2);padding:var(--space-3);pointer-events:auto;background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--tone);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay)}.toast>.icon{margin-top:2px;color:var(--tone)}.toast-message{flex:1;min-width:0}.toast-success{--tone: var(--color-success)}.toast-info{--tone: var(--color-info)}.toast-warning{--tone: var(--color-warning)}.toast-error{--tone: var(--color-danger)}.tt-anchor{display:inline-flex;anchor-name:var(--anchor)}.menu-wrap{display:inline-flex}.menu-trigger{anchor-name:var(--anchor)}.tt[popover]{margin:0;inset:auto;position-anchor:var(--anchor);max-width:280px;padding:var(--space-1) var(--space-2);overflow:visible;border:0;border-radius:var(--radius);background:var(--color-text);color:var(--color-surface);box-shadow:var(--shadow-overlay);font-size:var(--text-sm);line-height:var(--leading-sm);pointer-events:none}.tt-bottom[popover]{top:anchor(bottom);left:anchor(center);translate:-50% 0;margin-top:var(--space-1);position-try-fallbacks:flip-block}.tt-bottom-start[popover]{top:anchor(bottom);left:anchor(left);margin-top:var(--space-1);position-try-fallbacks:flip-block}.tt-right[popover]{left:anchor(right);top:anchor(center);translate:0 -50%;margin-left:var(--space-2);position-try-fallbacks:flip-inline}.menu-pop[popover]{margin:var(--space-1) 0 0;inset:auto;position-anchor:var(--anchor);top:anchor(bottom);right:anchor(right);min-width:240px;max-width:360px;padding:var(--space-1);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);position-try-fallbacks:flip-block}.menu-pop.start[popover]{right:auto;left:anchor(left)}.menu-head{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-1)}.menu-list{display:grid;gap:2px}.menu-item{width:100%;justify-content:flex-start;border:0;background:transparent;padding:0 var(--space-3)}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--color-accent-subtle)}.menu-item.danger{color:var(--color-danger);background:transparent;border:0;font-weight:400}.menu-item.danger:hover:not(:disabled){background:var(--color-danger-subtle);border:0}.chips{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.kit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4);align-items:start}.kit-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.kit-stack{display:grid;gap:var(--space-3)}.menu-item[aria-disabled=true]{color:var(--color-text-secondary);cursor:default}.menu-item[aria-disabled=true]:hover{background:transparent}.badge-cls-1{--tone-bg: #f1f5f9;--tone-fg: #334155;--tone-line: #64748b}.badge-cls-2{--tone-bg: #fef9c3;--tone-fg: #713f12;--tone-line: #a16207}.badge-cls-3{--tone-bg: #ffedd5;--tone-fg: #7c2d12;--tone-line: #c2410c}.badge-cls-4{--tone-bg: #fee2e2;--tone-fg: #7f1d1d;--tone-line: #b91c1c}.tree,.tree-group{margin:0;padding:0;list-style:none}.tree{margin:2px 0 var(--space-1)}.tree-item{display:flex;align-items:center;gap:var(--space-1);min-height:28px;padding:0 var(--space-2) 0 calc(var(--space-3) + (var(--tree-level, 1) - 1) * 16px);border-radius:var(--radius);color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-sm)}.tree-item:hover{background:var(--color-surface-muted);color:var(--color-text)}.tree-item[aria-current=page]{background:var(--color-accent-subtle);color:var(--color-accent);font-weight:600}.tree-toggle{display:inline-flex;width:16px;justify-content:center;flex:none}.tree-toggle .icon{transition:rotate var(--duration-fast) ease-out}.tree-toggle.open .icon{rotate:90deg}.tree-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.splitter{position:relative;width:8px;cursor:col-resize;touch-action:none;background:transparent}.splitter:after{content:"";position:absolute;top:0;right:3px;bottom:0;left:3px;background:var(--color-border);border-radius:1px}.splitter:hover:after,.splitter:focus-visible:after{background:var(--color-accent)}.splitter:focus-visible{outline-offset:-2px}.btn-link{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--color-border-control);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);text-decoration:none;white-space:nowrap}.btn-link:hover{background:var(--color-surface-muted)}.range-text{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.kit-split{display:grid;height:140px;border:1px solid var(--color-border);border-radius:var(--radius)}.kit-pane{padding:var(--space-3);overflow:hidden}.form-body{container:form / inline-size}.form-section{min-width:0;margin:0 0 var(--space-5);padding:0;border:0}.form-section>legend{float:left;width:100%;margin:0 0 var(--space-3);padding:0;font-size:var(--text-base);font-weight:600;color:var(--color-text)}.form-section>legend+*{clear:both}.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-3) var(--space-4)}.form-grid>*{grid-column:span 12}@media(min-width:1280px){@container form (min-width: 640px){.form-grid>.f-3{grid-column:span 3}.form-grid>.f-4{grid-column:span 4}.form-grid>.f-6{grid-column:span 6}}}.form-notice{display:flex;align-items:flex-start;gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-2) var(--space-3);border:1px solid var(--color-info);border-left-width:4px;border-radius:var(--radius);background:var(--color-info-subtle);color:var(--color-info-text)}.form-notice .icon{margin-top:2px}.form-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.level-card{min-width:0;margin:0 0 var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.level-card>legend{padding:0 var(--space-2);font-weight:600}.level-remove{justify-self:end}input.mono{font-family:var(--font-mono)}.app{--sidebar-w: var(--sidebar-w-open);display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr);height:100vh;height:100dvh}.app.sidebar-collapsed{--sidebar-w: var(--sidebar-w-collapsed)}.topbar{grid-column:1 / -1;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4) 0 var(--space-2);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.brand{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-2);color:var(--color-text);text-decoration:none;white-space:nowrap}.brand-logo{display:block;height:40px;width:auto}.brand-name{display:grid;gap:2px;padding-left:var(--space-3);border-left:1px solid var(--color-border);line-height:var(--leading-xs)}.brand-name strong{font-size:var(--text-base);line-height:var(--leading-base);font-weight:600}.brand-name span{font-size:var(--text-xs);color:var(--color-text-secondary)}@media(max-width:1100px){.brand-name span{display:none}}.global-search{position:relative;flex:1 1 320px;max-width:480px;display:flex}.global-search input{width:100%;padding-left:32px}.global-search .icon{position:absolute;left:10px;top:50%;translate:0 -50%;color:var(--color-text-secondary);pointer-events:none}.topbar-tools{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.topbar-link{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-width:var(--control-h);height:var(--control-h);padding:0 var(--space-2);border-radius:var(--radius);color:var(--color-text-secondary)}.topbar-link:hover{background:var(--color-surface-muted);color:var(--color-text)}.topbar-link[aria-current=page]{background:var(--color-accent-subtle);color:var(--color-accent)}.user-trigger{gap:var(--space-2);max-width:260px}.user-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar{position:relative;overflow-x:hidden;overflow-y:auto;padding:var(--space-2);background:var(--color-surface);border-right:1px solid var(--color-border)}.nav-list{display:grid;gap:2px;margin:0;padding:0;list-style:none}.nav-group{margin-top:var(--space-2)}.nav-group-title{margin:0;padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-xs);line-height:var(--leading-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary)}.nav-link{position:relative;display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-h);padding:0 var(--space-3);border-radius:var(--radius);color:var(--color-text-secondary);text-decoration:none}.nav-link:hover{background:var(--color-surface-muted);color:var(--color-text)}.nav-link[aria-current=page]{background:var(--color-accent-subtle);color:var(--color-accent);font-weight:600}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--color-accent);color:var(--color-on-accent);font-size:var(--text-xs);font-weight:600;line-height:1}.sidebar-collapsed .nav-link{justify-content:center;padding:0}.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-group-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.sidebar-collapsed .nav-group{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.sidebar-collapsed .nav-link .count{position:absolute;top:0;right:2px;min-width:16px;height:16px;padding:0 4px;font-size:10px}.content{position:relative;min-width:0;overflow:auto;padding:var(--space-4)}.content:focus-visible{outline-offset:-2px}@media(min-width:1600px){.content{padding:var(--space-6)}}.breadcrumb ol{display:flex;flex-wrap:wrap;margin:0 0 var(--space-3);padding:0;list-style:none;font-size:var(--text-sm);line-height:var(--leading-sm);color:var(--color-text-secondary)}.breadcrumb li+li:before{content:"/" / "";padding:0 var(--space-2);color:var(--color-text-muted)}.breadcrumb [aria-current=page]{font-weight:600;color:var(--color-text)}.content:has(>.repo-layout){display:flex;flex-direction:column;overflow:hidden}.repo-layout{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr)}.repo-layout.with-panel{grid-template-columns:minmax(480px,1fr) 8px var(--panel-w, 420px)}.repo-layout.with-panel.kept{grid-template-columns:minmax(0,1fr) 8px var(--panel-w, 420px)}.repo-list{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;min-height:0;container:repo-list / inline-size}.repo-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4)}.repo-head h1{margin:0;min-width:0;overflow-wrap:anywhere}.repo-search{display:flex;gap:var(--space-2);max-width:560px}.repo-search-box{position:relative;flex:1 1 auto;display:flex}.repo-search-box input{width:100%;padding-left:32px}.repo-search-box .icon{position:absolute;left:10px;top:50%;translate:0 -50%;color:var(--color-text-secondary);pointer-events:none}.search-banner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-3);background:var(--color-info-subtle);border-left:4px solid var(--color-info);border-radius:var(--radius)}.repo-table{flex:1 1 auto;min-height:120px;display:flex;flex-direction:column}.repo-table .table-wrap{flex:1 1 auto;min-height:0}.list-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.name-cell{display:flex;align-items:center;gap:var(--space-2);min-width:0}.row-name{min-height:0;padding:0;border:0;background:none;color:var(--color-accent);text-align:left;white-space:normal;overflow-wrap:anywhere;font-weight:600}.row-name:hover:not(:disabled){background:none;text-decoration:underline}.data-table td.col-name{min-width:180px}.data-table td.col-modified{white-space:nowrap}.name-lock{display:none;color:var(--color-warning)}@container repo-list (max-width: 820px){.col-modifier{display:none}}@container repo-list (max-width: 700px){.col-status{display:none}.name-lock{display:inline-flex}}@container repo-list (max-width: 600px){.col-version{display:none}}@container repo-list (max-width: 520px){.col-type{display:none}}.repo-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;border-left:1px solid var(--color-border);background:var(--color-surface)}.repo-panel .doc-panel{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.repo-panel .doc-head{flex:none;padding:var(--space-4) var(--space-4) var(--space-3)}.repo-panel .doc-body{position:relative;flex:1 1 auto;min-height:0;overflow:auto;padding:0 var(--space-4) var(--space-4)}.doc-head{display:grid;gap:var(--space-2);padding-bottom:var(--space-3)}.doc-panel .data-table th,.doc-panel .data-table td{padding-left:var(--space-2);padding-right:var(--space-2)}.doc-panel .data-table th,.doc-panel .data-table .col-time{white-space:normal}.doc-title-row{display:flex;align-items:flex-start;gap:var(--space-2)}.doc-title-row>.icon{margin-top:4px}.doc-title-row h2{flex:1;min-width:0;margin:0;font-size:var(--text-lg);line-height:var(--leading-md);overflow-wrap:anywhere}.doc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.doc-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.doc-panel .tabs-list{margin-top:var(--space-2)}.props{display:grid;gap:var(--space-2);margin:0 0 var(--space-4)}.props>div{display:grid;grid-template-columns:minmax(110px,38%) minmax(0,1fr);gap:var(--space-2)}.props dt{color:var(--color-text-secondary);font-size:var(--text-sm)}.props dd{margin:0;overflow-wrap:anywhere}.doc-form{display:grid;gap:var(--space-3)}.doc-form h3{margin:0}.form-actions{display:flex;gap:var(--space-2)}.checkin{display:grid;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted)}.checkin p{margin:0}.approval-status{margin-bottom:var(--space-3)}.level-steps{display:grid;gap:var(--space-2);margin:0 0 var(--space-4);padding:0;list-style:none}.level-step{display:grid;gap:2px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-left:4px solid var(--color-border-control);border-radius:var(--radius)}.level-step.level-done{border-left-color:var(--color-success)}.level-step.level-current{border-left-color:var(--color-info)}.level-step.level-rejected{border-left-color:var(--color-danger)}.level-step.level-withdrawn{border-left-color:var(--color-warning)}.level-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.repo-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.repo-card{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font-weight:600;text-decoration:none}.repo-card:hover{border-color:var(--color-accent);color:var(--color-accent)}.repo-card .icon{color:var(--color-accent)}.doc-viewer{display:grid;gap:var(--space-2)}.doc-viewer .notice{margin:0;background:var(--color-bg);border-left:4px solid var(--color-accent);padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.doc-viewer .notice p{margin:0 0 var(--space-2)}.viewer-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.viewer-group{display:inline-flex;align-items:center;gap:2px}.viewer-meta,.viewer-page-no,.viewer-zoom{font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap}.viewer-zoom{min-width:4ch;text-align:center}.viewer-stage{min-width:0;overflow:auto;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius)}.doc-viewer-full .viewer-stage{max-height:none}.doc-viewer .page-wrap{margin:var(--space-2) auto}.doc-viewer .viewer-page{display:block;max-width:none;height:auto;margin:0;border:0;box-shadow:0 0 0 1px var(--color-border);background:#fff;-webkit-user-select:none;user-select:none}.redaction-panel{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius)}.upload-form{max-width:960px}.upload-form .drop{display:grid;justify-items:center;gap:var(--space-2)}.upload-form .drop p{margin:0;color:var(--color-text-secondary)}.upload-form .f-12-row{grid-column:1 / -1}.file-cell{display:inline-flex;align-items:center;gap:var(--space-2)}.upload-results{margin:var(--space-4) 0 0;padding:0;list-style:none;max-width:960px}.upload-results li{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-1) 0}.upload-results li .icon{margin-top:2px}.spacer{flex:1 1 auto}.filter-grow{flex:1 1 240px;max-width:420px}.section-title{margin-top:var(--space-6)}.form-actions{margin:var(--space-3) 0 0}.drawer-form{display:grid;gap:var(--space-3);margin:var(--space-3) 0}.drawer-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end;padding-top:var(--space-3);border-top:1px solid var(--color-border)}.narrow{width:96px}.preline{white-space:pre-line}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:72ch}.data-table td.col-wide{min-width:240px}.data-table td.col-message{min-width:280px}.data-table td.col-groups{min-width:320px}.data-table td.col-change{min-width:260px}.data-table td.col-decision{min-width:380px}.data-table td.col-pattern{min-width:220px}.data-table .col-time{white-space:nowrap}.data-table th.col-head-wrap{white-space:normal}.data-table th.col-actions,.data-table td.col-actions{position:sticky;right:0;white-space:nowrap;box-shadow:-1px 0 0 var(--color-border)}.data-table td.col-actions{background:var(--color-surface)}.data-table th.col-actions{background:var(--color-surface-muted);z-index:calc(var(--z-sticky) + 1)}.data-table td.col-id{max-width:240px;overflow-wrap:anywhere;font-family:var(--font-mono, ui-monospace, monospace);font-size:.85em}code.pattern{display:inline-block;max-width:48ch;overflow-wrap:anywhere;white-space:pre-wrap;padding:1px var(--space-1);border-radius:var(--radius-sm);background:var(--color-surface-muted)}.param-content .data-table th,.param-content .data-table td{padding-left:var(--space-2);padding-right:var(--space-2)}.param-content .data-table th{white-space:normal}.param-content .data-table td input:not([type=checkbox]):not([type=number]){min-width:11ch}.param-content .data-table td select{width:100%;min-width:11ch}.param-content .col-actions .actions{flex-direction:column;align-items:stretch}.param-content .data-table .badge{white-space:normal}.param-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--space-6);align-items:start}.param-nav{position:sticky;top:0}.param-nav ul{margin:0;padding:0;list-style:none;display:grid;gap:2px}.param-nav a{display:block;padding:var(--space-2) var(--space-3);border-left:3px solid transparent;border-radius:var(--radius);color:var(--color-text-secondary);text-decoration:none;font-weight:600}.param-nav a:hover{background:var(--color-surface-muted);color:var(--color-text)}.param-nav a[aria-current=page]{border-left-color:var(--color-accent);background:var(--color-accent-subtle);color:var(--color-accent)}.param-content{min-width:0}.chip-input{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);min-height:var(--control-h);padding:2px var(--space-1);border:1px solid var(--color-border-control);border-radius:var(--radius);background:var(--color-surface)}.chip-input:focus-within{outline:2px solid var(--color-accent);outline-offset:1px}.chip-input[data-disabled]{opacity:.5}.chip-list{display:contents;margin:0;padding:0;list-style:none}.chip{display:inline-flex;align-items:center;gap:2px;min-height:24px;padding:0 2px 0 var(--space-2);border:1px solid var(--color-border-control);border-radius:var(--radius);background:var(--color-surface-muted);font-size:var(--text-sm)}.chip-remove{min-height:20px;width:20px;padding:0;border:0;background:transparent;color:var(--color-text-secondary)}.chip-remove:hover:not(:disabled){background:var(--color-danger-subtle);color:var(--color-danger)}.chip-input input[type=text],td .chip-input input[type=text]{flex:1 1 120px;min-width:120px;min-height:24px;border:0;padding:0 var(--space-1);background:transparent}.chip-input input[type=text]:focus-visible{outline:none}.steps{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);margin:0;padding:0;list-style:none}.steps li{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary)}.steps-stack{flex-direction:column;align-items:flex-start}.steps-stack li>svg{display:none}.step{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-2);white-space:nowrap;padding:2px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);color:var(--color-text);line-height:var(--leading-sm)}.step small{color:var(--color-text-secondary);font-size:var(--text-xs)}.diff{margin:0;padding:0;list-style:none;display:grid;gap:2px}.diff-field{margin-right:var(--space-2);font-family:var(--font-mono);font-size:.95em;font-weight:600}.diff-old{background:var(--color-danger-subtle);color:var(--color-danger-text);text-decoration:line-through;padding:0 var(--space-1);border-radius:var(--radius-sm)}.diff-new{background:var(--color-success-subtle);color:var(--color-success-text);text-decoration:none;padding:0 var(--space-1);border-radius:var(--radius-sm)}.diff-json{margin-top:var(--space-1)}.diff-json pre,.diff-raw{margin:var(--space-1) 0 0;padding:var(--space-2);max-height:200px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--color-surface-muted);border-radius:var(--radius);font-size:var(--text-sm)}.metric-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}@media(min-width:1280px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.metric-card{margin:0}.metric-total{margin:0;font-size:28px;line-height:36px;font-weight:600}.breakdowns{display:grid;gap:var(--space-3);margin:var(--space-3) 0}.chart{margin:var(--space-3) 0}.chart figcaption{margin-bottom:var(--space-1);font-weight:600}.chart svg{display:block;width:100%;height:auto}.chart-grid{stroke:var(--color-border);stroke-width:1}.chart-axis{stroke:var(--color-border-control);stroke-width:1}.chart-bar{fill:var(--color-accent)}.chart-bar:hover{fill:var(--color-accent-hover)}.chart-tick{fill:var(--color-text-secondary);font-size:11px}.chart-title{fill:var(--color-text);font-size:12px;font-weight:600}.chart details{margin-top:var(--space-2)}.stats{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0 0 var(--space-3)}.stats>div{min-width:180px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.stats dt{color:var(--color-text-secondary);font-size:var(--text-sm)}.stats dd{margin:0;font-size:24px;line-height:32px;font-weight:600}
