:root{--font-display: "Space Grotesk", "Inter", system-ui, sans-serif;--font: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--bg: #0a121a;--surface: #0f1a24;--surface-2: #16232f;--surface-3: #1d2c39;--border: #22313e;--border-strong: #33475a;--text: #e8edf2;--text-2: #9caebd;--text-3: #6b8092;--accent: #2f6fb5;--accent-hover: #3a7ec7;--accent-contrast: #ffffff;--accent-text: #7fb2e6;--accent-soft: color-mix(in oklab, var(--accent) 20%, transparent);--accent-line: color-mix(in oklab, var(--accent) 45%, transparent);--green: #3eb584;--amber: #d9a13b;--red: #e5584f;--violet: #8b7cf6;--blue: #4c9aff;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgb(0 0 0 / .45);--shadow-md: 0 12px 32px rgb(0 0 0 / .45);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--sidebar-width: 236px;--sidebar-width-collapsed: 68px;--topbar-height: 56px;--transition: .16s ease;color-scheme:dark}[data-theme=light]{--bg: #f4f6f9;--surface: #ffffff;--surface-2: #eef1f5;--surface-3: #e6eaf0;--border: #dde3ea;--border-strong: #c3ccd7;--text: #0d1f2d;--text-2: #5b7186;--text-3: #8a9aa8;--accent: #0d1f2d;--accent-hover: #1a3446;--accent-contrast: #ffffff;--accent-text: #16405f;--accent-soft: color-mix(in oklab, var(--accent) 10%, transparent);--accent-line: color-mix(in oklab, var(--accent) 28%, transparent);--green: #1f8a63;--amber: #a86f16;--red: #c0392b;--violet: #6d54d6;--blue: #1f6fb2;--shadow-sm: 0 1px 2px rgb(13 31 45 / .08);--shadow-md: 0 12px 32px rgb(13 31 45 / .14);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-display);margin:0;letter-spacing:-.015em}h1{font-size:21px;font-weight:600}h2{font-size:15px;font-weight:600}h3{font-size:13px;font-weight:600}p{margin:0}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-3);border:2px solid var(--bg);border-radius:var(--radius-sm)}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.brand-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent-text)}.brand-mark svg{width:18px;height:12px}.brand-wordmark{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}.brand-tagline{font-family:var(--font-mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--text-3)}.auth-layout{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);padding:var(--space-6);background:radial-gradient(ellipse 60% 45% at 50% -5%,var(--accent-soft),transparent),var(--bg)}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);animation:fade-up .35s ease both}.auth-brand .brand-mark{width:46px;height:46px;border-radius:var(--radius-lg)}.auth-brand .brand-mark svg{width:26px;height:18px}.auth-brand-text{text-align:center}.auth-brand-text strong{display:block;font-family:var(--font-display);font-size:19px;font-weight:600}.auth-brand-text span{display:block;font-size:13px;color:var(--text-2);margin-top:2px}.auth-card{width:min(390px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);display:grid;gap:var(--space-4);animation:fade-up .35s .06s ease both}.auth-footer{font-size:12px;color:var(--text-3)}.shell{display:flex;height:100vh;overflow:hidden}.sidebar{flex:none;width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-3) var(--space-3);min-width:0}.sidebar-head-text{min-width:0}.sidebar-head-text strong{display:block;font-family:var(--font-display);font-size:14px;font-weight:600;white-space:nowrap}.sidebar-head-text span{display:block;font-size:11px;color:var(--text-3);white-space:nowrap}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border:1px solid var(--border);background:var(--surface-3);border-radius:var(--radius-md);color:var(--text-2);transition:color var(--transition),border-color var(--transition),background-color var(--transition)}.icon-button:hover{color:var(--text);border-color:var(--border-strong)}.icon-button.ghost{width:28px;height:28px;border:0;background:none;color:var(--text-3);margin-left:auto}.icon-button.ghost:hover{background:var(--surface-2);color:var(--text)}.sidebar-divider{height:1px;background:var(--border);margin:0 var(--space-3)}.nav{display:flex;flex-direction:column;gap:2px;padding:var(--space-3) 10px;flex:1;overflow-y:auto}.nav a{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 10px;border-radius:var(--radius-md);font-size:13.5px;font-weight:500;color:var(--text-2);white-space:nowrap;overflow:hidden;transition:background-color var(--transition),color var(--transition)}.nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav a.active{background:var(--surface-2);color:var(--text)}.nav a svg{flex:none;width:16px;height:16px;color:var(--text-3)}.nav a.active svg{color:var(--accent-text)}.nav-count{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;font-weight:500;background:var(--surface-3);color:var(--text-2);border-radius:var(--radius-pill);padding:1px 7px}.sidebar.collapsed .nav a{justify-content:center;padding:0}.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-count,.sidebar.collapsed .sidebar-head-text,.sidebar.collapsed .user-button-text{display:none}.sidebar-foot{position:relative;padding:10px;border-top:1px solid var(--border)}.user-button{display:flex;width:100%;align-items:center;gap:10px;padding:var(--space-2);border:0;background:none;border-radius:var(--radius-md);overflow:hidden;transition:background-color var(--transition)}.user-button:hover{background:var(--surface-2)}.user-button-text{min-width:0;text-align:left;flex:1}.user-button-text strong{display:block;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-button-text span{display:block;font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text-2);font-size:11px;font-weight:600}.avatar.accent{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-text)}.avatar.sm{width:26px;height:26px;font-size:10px}.popover{position:absolute;z-index:40;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:6px;animation:pop-in .14s ease both}.popover.user-popover{bottom:64px;left:10px;right:10px;min-width:190px}.popover button{display:flex;width:100%;align-items:center;gap:var(--space-2);padding:9px 10px;border:0;background:none;border-radius:var(--radius-sm);font-size:13px;color:var(--text-2);text-align:left;transition:background-color var(--transition),color var(--transition)}.popover button:hover{background:var(--surface-3);color:var(--text)}.popover button.danger{color:var(--red)}.popover button.danger:hover{background:color-mix(in oklab,var(--red) 14%,transparent)}.popover-divider{height:1px;background:var(--border);margin:5px 4px}.shell-main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{flex:none;height:var(--topbar-height);display:flex;align-items:center;gap:var(--space-3);padding:0 20px;border-bottom:1px solid var(--border);background:var(--surface)}.breadcrumb{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-3);min-width:0}.breadcrumb strong{color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-spacer{flex:1}.search-trigger{display:flex;align-items:center;gap:var(--space-2);height:34px;padding:0 12px;min-width:230px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-3);font-size:13px;transition:color var(--transition),border-color var(--transition)}.search-trigger:hover{border-color:var(--border-strong);color:var(--text-2)}.kbd{font-family:var(--font-mono);font-size:10.5px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 6px;color:var(--text-3)}.search-trigger .kbd{margin-left:auto}.notif-wrap{position:relative}.notif-dot{position:absolute;top:6px;right:7px;width:7px;height:7px;border-radius:var(--radius-pill);background:var(--accent-text);border:2px solid var(--surface-3)}.popover.notif-popover{top:42px;right:0;width:330px;padding:0;border-radius:var(--radius-lg);overflow:hidden}.notif-head{padding:var(--space-3) var(--space-4);font-size:13px;font-weight:600;border-bottom:1px solid var(--border)}.notif-item{display:flex;gap:10px;padding:11px var(--space-4);border-bottom:1px solid var(--border);border-radius:0}.notif-item .notif-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-text)}.notif-item p{font-size:12.5px;color:var(--text-2);line-height:1.4}.notif-item time{display:block;font-size:11px;color:var(--text-3);margin-top:2px}.notif-empty{padding:var(--space-5);text-align:center;font-size:12.5px;color:var(--text-3)}.content{flex:1;overflow-y:auto}.content-inner{max-width:1240px;margin:0 auto;padding:26px 32px 48px;display:flex;flex-direction:column;gap:var(--space-5);animation:fade-up .25s ease both}.page-header{display:flex;align-items:flex-end;gap:var(--space-3)}.page-header p{font-size:13px;color:var(--text-2);margin-top:2px}.page-actions{margin-left:auto;display:flex;gap:var(--space-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.card-pad{padding:18px 20px}.card-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 18px;border-bottom:1px solid var(--border)}.card-head h2{font-size:14px}.card-head .link{margin-left:auto}.link{display:inline-flex;align-items:center;gap:4px;border:0;background:none;font-size:12.5px;font-weight:500;color:var(--accent-text)}.link:hover{text-decoration:underline}.grid{display:grid;gap:var(--space-4)}.grid-stats{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.grid-2-1{grid-template-columns:1.7fr 1fr;align-items:start}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;display:flex;flex-direction:column;gap:10px;transition:border-color var(--transition),box-shadow var(--transition)}.stat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.stat-label{font-size:12.5px;font-weight:500;color:var(--text-2)}.stat-body{display:flex;align-items:flex-end;gap:var(--space-3)}.stat-value{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.stat-hint{font-size:12px;color:var(--text-3);margin-top:3px;min-height:16px}.sparkline{margin-left:auto;flex:none;overflow:visible}.stat-delta{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.stat-delta.up{color:var(--green)}.stat-delta.down{color:var(--red)}.stat-delta.flat{color:var(--text-3)}.stat-delta.good{color:var(--green)}.stat-delta.bad{color:var(--red)}.stat-delta span:last-child{color:var(--text-3);font-weight:400}.gauge-card{display:flex;align-items:center;gap:18px}.gauge{position:relative;flex:none;width:118px;height:118px}.gauge svg{display:block}.gauge-track{stroke:var(--surface-3)}.gauge-value{transition:stroke-dasharray .4s ease}.gauge-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.gauge-center strong{font-family:var(--font-display);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.gauge-center span{font-size:11px;color:var(--text-3)}.gauge-meta{min-width:0;display:flex;flex-direction:column;gap:7px}.gauge-pct{display:flex;align-items:baseline;gap:6px}.gauge-pct strong{font-family:var(--font-display);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.gauge-pct span{font-size:12px;color:var(--text-3)}.gauge-plan{font-size:12px;color:var(--text-3);line-height:1.5}.bar-row{display:flex;flex-direction:column;gap:5px}.bar-row-head{display:flex;font-size:12.5px;color:var(--text-2)}.bar-row-head strong{margin-left:auto;color:var(--text);font-weight:500;font-variant-numeric:tabular-nums}.bar-track{height:6px;border-radius:var(--radius-pill);background:var(--surface-3);overflow:hidden}.bar-fill{height:100%;border-radius:var(--radius-pill);background:var(--accent);transition:width .3s ease}.bar-fill.warn{background:var(--amber)}.bar-fill.over{background:var(--red)}.alert{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:13px;color:var(--text-2);border:1px solid color-mix(in oklab,var(--amber) 40%,transparent);background:color-mix(in oklab,var(--amber) 10%,transparent)}.alert svg{flex:none;color:var(--amber)}.alert strong{color:var(--text);font-weight:600}.alert.danger{border-color:color-mix(in oklab,var(--red) 40%,transparent);background:color-mix(in oklab,var(--red) 10%,transparent)}.alert.danger svg{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 14px;border:1px solid transparent;border-radius:var(--radius-md);font-size:13px;font-weight:600;white-space:nowrap;transition:background-color var(--transition),border-color var(--transition),color var(--transition)}.button-primary{background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-sm)}.button-primary:hover:not(:disabled){background:var(--accent-hover)}.button-secondary{background:var(--surface-3);border-color:var(--border);color:var(--text-2);font-weight:500}.button-secondary:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.button-danger{background:color-mix(in oklab,var(--red) 14%,transparent);border-color:color-mix(in oklab,var(--red) 40%,transparent);color:var(--red)}.button-danger:hover:not(:disabled){background:color-mix(in oklab,var(--red) 22%,transparent)}.button-sm{min-height:32px;padding:0 11px;font-size:12px}.button:disabled{opacity:.6;cursor:not-allowed}.form{display:grid;gap:var(--space-4)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--space-3);align-items:end}.form-grid .field-wide{grid-column:1 / -1}.field{display:grid;gap:6px;min-width:0}.field>span{font-size:12px;font-weight:500;color:var(--text-2)}.input{width:100%;min-height:40px;padding:9px 12px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13.5px;transition:border-color var(--transition)}.input:hover{border-color:var(--border-strong)}.input::placeholder{color:var(--text-3)}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% + 1px),calc(100% - 11px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px}.textarea{min-height:92px;resize:vertical;line-height:1.55}.form-error{font-size:13px;color:var(--red)}.switch{display:inline-flex;align-items:center;gap:var(--space-2);border:0;background:none;font-size:12.5px;color:var(--text-2);padding:0}.switch-track{position:relative;flex:none;width:34px;height:20px;border-radius:var(--radius-pill);background:var(--surface-3);border:1px solid var(--border-strong);transition:background-color var(--transition),border-color var(--transition)}.switch[aria-checked=true] .switch-track{background:var(--accent);border-color:var(--accent)}.switch-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:var(--radius-pill);background:#fff;box-shadow:0 1px 3px #0006;transition:left var(--transition)}.switch[aria-checked=true] .switch-thumb{left:16px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--radius-pill);font-size:11.5px;font-weight:500;white-space:nowrap;background:var(--surface-3);color:var(--text-2)}.badge:before{content:"";width:5px;height:5px;border-radius:var(--radius-pill);background:currentColor}.badge.no-dot:before{display:none}.badge-neutral{background:var(--surface-3);color:var(--text-2)}.badge-accent{background:var(--accent-soft);color:var(--accent-text)}.badge-success{background:color-mix(in oklab,var(--green) 16%,transparent);color:var(--green)}.badge-warning{background:color-mix(in oklab,var(--amber) 16%,transparent);color:var(--amber)}.badge-danger{background:color-mix(in oklab,var(--red) 16%,transparent);color:var(--red)}.badge-info{background:color-mix(in oklab,var(--blue) 16%,transparent);color:var(--blue)}.badge-violet{background:color-mix(in oklab,var(--violet) 16%,transparent);color:var(--violet)}.badge-square{border-radius:var(--radius-sm);padding:3px 8px}.badge-square:before{display:none}.dot{display:inline-block;width:6px;height:6px;border-radius:var(--radius-pill);flex:none}.dot-low{background:var(--text-3)}.dot-medium{background:var(--blue)}.dot-high{background:var(--amber)}.dot-urgent{background:var(--red)}.priority{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-2)}.chips{display:flex;gap:var(--space-2);flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 13px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:12.5px;font-weight:500;white-space:nowrap;transition:border-color var(--transition),background-color var(--transition),color var(--transition)}.chip:hover{border-color:var(--border-strong)}.chip.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-text)}.chip-count{font-family:var(--font-mono);font-size:11px;opacity:.7}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{text-align:left;padding:12px 18px;border-bottom:1px solid var(--border);vertical-align:middle}.table thead th{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding-top:10px;padding-bottom:10px;white-space:nowrap}.table tbody tr{transition:background-color var(--transition)}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover,.table tbody tr.expanded{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .cell-title{font-size:13.5px;font-weight:500}.table .cell-sub{display:block;font-size:12px;color:var(--text-3);margin-top:1px}.table .muted{color:var(--text-2);font-size:12.5px}.row-actions{display:flex;gap:var(--space-2);justify-content:flex-end;flex-wrap:wrap}.caret{color:var(--text-3);transition:transform .18s ease}.caret.open{transform:rotate(90deg)}.row-detail>td{background:var(--surface-2);padding:0 18px 20px 46px}.row-detail-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:var(--space-5);padding-top:var(--space-4);animation:fade-up .2s ease both}.detail-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}.detail-text{font-size:13.5px;color:var(--text-2);line-height:1.6;white-space:pre-wrap}.detail-facts{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);font-size:12.5px}.detail-facts div{display:flex;gap:var(--space-3)}.detail-facts dt{color:var(--text-3)}.detail-facts dd{margin:0 0 0 auto;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}.status-actions{display:flex;flex-direction:column;gap:6px}.status-action{display:flex;align-items:center;gap:var(--space-2);min-height:34px;padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);font-size:12.5px;font-weight:500;color:var(--text-2);transition:border-color var(--transition)}.status-action:hover:not(:disabled){border-color:var(--border-strong)}.status-action[aria-pressed=true]{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-text)}.status-action svg{margin-left:auto}.pagination{display:flex;align-items:center;padding:10px 18px;font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums;border-top:1px solid var(--border)}.pagination-controls{margin-left:auto;display:flex;gap:var(--space-1)}.pagination-controls button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;background:none;border-radius:var(--radius-sm);color:var(--text-3)}.pagination-controls button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.pagination-controls button:disabled{opacity:.4;cursor:not-allowed}.pagination-page{font-family:var(--font-mono);font-size:12px;color:var(--text-2);align-self:center;padding:0 var(--space-2)}.timeline{display:flex;flex-direction:column}.timeline-item{display:flex;gap:var(--space-3);padding-bottom:var(--space-4)}.timeline-rail{flex:none;display:flex;flex-direction:column;align-items:center}.timeline-rail-line{flex:1;width:1px;background:var(--border-strong);margin-top:4px}.timeline-body{min-width:0;flex:1}.timeline-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.timeline-meta strong{font-size:12.5px;font-weight:600}.timeline-meta time{font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}.timeline-bubble{margin-top:5px;padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:0 var(--radius-md) var(--radius-md) var(--radius-md);font-size:13px;color:var(--text-2);line-height:1.55;white-space:pre-wrap}.comment-form{display:flex;gap:10px;align-items:flex-start}.comment-form .input{flex:1}.comment-form .button{flex:none;width:40px;padding:0}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:56px 20px;text-align:center}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-3)}.empty-state strong{font-size:14px;font-weight:600}.empty-state p{font-size:12.5px;color:var(--text-3);max-width:340px}.error-state{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in oklab,var(--red) 40%,transparent);background:color-mix(in oklab,var(--red) 8%,transparent);font-size:13px;color:var(--text-2)}.error-state svg{flex:none;color:var(--red);margin-top:1px}.error-state strong{display:block;color:var(--text);font-weight:600;margin-bottom:2px}.skeleton{border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}.skeleton-page{display:flex;flex-direction:column;gap:var(--space-5)}.skeleton-title{width:220px;height:26px;border-radius:var(--radius-sm)}.skeleton-card{height:112px}.skeleton-block{height:320px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#04080c99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;padding:24px}.overlay.top{align-items:flex-start;padding-top:110px}.overlay.center{align-items:center}.modal{width:520px;max-width:100%;max-height:calc(100vh - 48px);overflow-y:auto;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);animation:pop-in .16s ease both}.modal-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) 20px;border-bottom:1px solid var(--border)}.modal-head h2{font-size:15px}.modal-head button{margin-left:auto}.modal-body{padding:20px;display:grid;gap:var(--space-4)}.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:0 20px 20px}.modal-note{font-size:12px;color:var(--text-3);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.palette{width:560px;max-width:100%;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;animation:pop-in .16s ease both;align-self:flex-start}.palette-head{display:flex;align-items:center;gap:10px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);color:var(--text-3)}.palette-head input{flex:1;background:none;border:0;font-size:14px;color:var(--text)}.palette-head input:focus{outline:none}.palette-list{max-height:340px;overflow-y:auto;padding:var(--space-2)}.palette-group{padding:6px 10px 4px;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3)}.palette-item{display:flex;width:100%;align-items:center;gap:10px;padding:9px 10px;border:0;background:none;border-radius:var(--radius-sm);text-align:left;color:var(--text)}.palette-item svg{flex:none;color:var(--text-3)}.palette-item span{flex:1;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-item small{font-size:11.5px;color:var(--text-3)}.palette-item:hover,.palette-item.active{background:var(--surface-3)}.palette-foot{display:flex;gap:var(--space-4);padding:9px var(--space-4);border-top:1px solid var(--border);font-size:11px;color:var(--text-3)}.palette-empty{padding:var(--space-5);text-align:center;font-size:13px;color:var(--text-3)}.toasts{position:fixed;bottom:22px;right:22px;z-index:80;display:flex;flex-direction:column;gap:var(--space-2)}.toast{display:flex;align-items:center;gap:10px;padding:11px 16px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:13px;font-weight:500;animation:toast-in .22s ease both}.toast-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-pill);flex:none}.toast-icon.success{background:color-mix(in oklab,var(--green) 18%,transparent);color:var(--green)}.toast-icon.error{background:color-mix(in oklab,var(--red) 18%,transparent);color:var(--red)}.sidebar-backdrop,.topbar-menu{display:none}@media(max-width:1080px){.grid-2-1,.row-detail-grid{grid-template-columns:1fr}}@media(max-width:860px){.topbar-menu{display:inline-flex}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:70;width:var(--sidebar-width);transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-md)}.sidebar.open{transform:none}.sidebar.collapsed{width:var(--sidebar-width)}.sidebar.collapsed .nav a{justify-content:flex-start;padding:0 10px}.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-count,.sidebar.collapsed .sidebar-head-text,.sidebar.collapsed .user-button-text{display:revert}.sidebar-backdrop.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;background:#04080c80}.search-trigger{min-width:0;width:34px;padding:0;justify-content:center}.search-trigger span:not(.kbd){display:none}.search-trigger .kbd{display:none}.content-inner{padding:20px 16px 40px}.page-header{flex-direction:column;align-items:stretch}.page-actions{margin-left:0}.breadcrumb .breadcrumb-root,.breadcrumb .breadcrumb-sep{display:none}.table,.table thead,.table tbody,.table th,.table td,.table tr{display:block}.table{min-width:0}.table thead{display:none}.table tbody tr{border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-4)}.table tbody tr:last-child{border-bottom:0}.table td{display:flex;align-items:center;gap:var(--space-3);padding:4px 0;border:0;text-align:left;flex-wrap:wrap}.table td .cell-sub{flex:1 0 100%;margin-left:calc(96px + var(--space-3));margin-top:0}.table td:before{content:attr(data-label);flex:none;width:96px;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3)}.table td.num{text-align:left;justify-content:flex-start}.table .row-actions{justify-content:flex-start;padding-top:var(--space-2)}.row-detail>td{padding:0 0 var(--space-4)}.row-detail>td:before{display:none}.toasts{left:16px;right:16px;bottom:16px}}
