:root{--brand:#9a5a38;--brand-bright:#7c523a;--brand-deep:#6e3f25;--brand-accent:#7c523a;--brand-cloud:#f4efe9;--brand-paper:#faf8f6;--brand-ink:#2a2420;--brand-muted:#6b5d52;--brand-line:#e4dad0;--accent:var(--brand);--accent-2:var(--brand-bright);--accent-grad:var(--accent-2);--bg:var(--brand-paper);--surface:#fff;--surface-2:var(--brand-cloud);--surface-3:#ece2d6;--border:var(--brand-line);--border-strong:#d2c2b4;--text:var(--brand-ink);--text-muted:var(--brand-muted);--text-faint:#9c9187;--accent-soft:color-mix(in oklch, var(--accent) 12%, var(--surface));--accent-softer:color-mix(in oklch, var(--accent) 6%, var(--surface));--good:#4f7a3f;--good-bg:color-mix(in oklch, var(--good) 14%, var(--surface));--bad:#b0402e;--bad-bg:color-mix(in oklch, var(--bad) 14%, var(--surface));--warn:#b57e2d;--warn-bg:color-mix(in oklch, var(--warn) 14%, var(--surface));--radius:12px;--radius-sm:8px;--radius-lg:18px;--shadow-sm:0 1px 2px oklch(30% .03 250/.07), 0 2px 6px oklch(30% .03 250/.05);--shadow-lg:0 18px 40px oklch(28% .04 250/.18), 0 4px 12px oklch(30% .03 250/.08);--ring:0 0 0 3px color-mix(in oklch, var(--accent) 22%, transparent);--font-display:"DM Sans", system-ui, sans-serif;--font-body:"DM Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--sidebar-w:240px;--sidebar-w-collapsed:68px;--topbar-h:60px}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}.mono{font-family:var(--font-mono)}.font-display{font-family:var(--font-display)}.app{grid-template-columns:var(--sidebar-w) 1fr;height:100vh;display:grid;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;height:100vh;display:flex;overflow:hidden}.app{transition:grid-template-columns .18s}.app.collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.sidebar-head{justify-content:space-between;align-items:center;gap:8px;padding:18px 16px 12px;display:flex}.sidebar-toggle{flex-shrink:0}.sidebar:not(.collapsed) .sidebar-toggle svg{transform:rotate(180deg)}.sidebar.collapsed .sidebar-head{flex-direction:column;justify-content:center;gap:10px;padding:16px 0 12px}.sidebar.collapsed .nav-cap,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-soon,.sidebar.collapsed .sidebar-foot-id,.sidebar.collapsed .sidebar-foot-signout{display:none}.sidebar.collapsed .nav-group{padding:6px 10px}.sidebar.collapsed .nav-item{justify-content:center;gap:0;padding:9px 0}.sidebar.collapsed .nav-item.active:before{left:-10px}.sidebar.collapsed .sidebar-foot{justify-content:center;padding:12px 0}.nav-group{padding:6px 14px}.nav-cap{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);padding:12px 10px 6px;font-size:10px}.nav-item{width:100%;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:11px;padding:9px 10px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .14s,color .14s;display:flex;position:relative}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--accent-softer);color:var(--accent);font-weight:600}.nav-item.active:before{content:"";background:var(--accent-grad);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-14px}.nav-item-soon{color:var(--text-faint)}.nav-soon{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--warn);background:var(--warn-bg);border-radius:99px;padding:1px 6px;font-size:9.5px}.sidebar-foot{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:10px;margin-top:auto;padding:12px 16px;display:flex}.avatar{background:var(--accent-grad);color:#fff;width:34px;height:34px;font-family:var(--font-display);border-radius:9px;flex-shrink:0;place-items:center;font-size:12.5px;font-weight:600;display:grid}.main{background:var(--bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);background:color-mix(in oklch, var(--surface) 85%, transparent);flex-shrink:0;align-items:center;gap:12px;padding:0 24px;display:flex}.content{flex:1;overflow:hidden auto}.page{max-width:1180px;margin:0 auto;padding:30px 34px 64px}.topbar-menu{display:none}.app-backdrop{z-index:99;background:oklch(0% 0 0/.4);position:fixed;inset:0}.icon-btn{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:grid}.icon-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--border)}.section-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:16px;font-weight:600}.hint{color:var(--text-faint);font-size:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px}.card-danger{border-color:color-mix(in oklch, var(--bad) 40%, var(--border))}.stat-header{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:22px;display:grid}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 16px}.stat-value{font-family:var(--font-display);letter-spacing:-.01em;font-size:22px;font-weight:700}.stat-value[data-tone=warn]{color:var(--warn)}.stat-label{color:var(--text-muted);margin-top:2px;font-size:12px}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);border-bottom:1px solid var(--border);padding:8px 10px;font-size:11px}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px}.data-table tr:last-child td{border-bottom:none}.row-clickable{cursor:pointer}.row-clickable:hover{background:var(--surface-2)}.table-empty{color:var(--text-faint);text-align:center;padding:20px 0}.list-toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px;display:flex}.search-field{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);min-width:220px;color:var(--text-faint);flex:1;align-items:center;gap:8px;padding:8px 12px;display:flex}.search-field:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.search-field input{min-width:0;font-family:var(--font-body);color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.search-field input::placeholder{color:var(--text-faint)}.segmented{border:1px solid var(--border-strong);border-radius:var(--radius-sm);flex-shrink:0;display:inline-flex;overflow:hidden}.segmented-btn{background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:12.5px;font-weight:600;font-family:var(--font-body);border:none;padding:8px 14px;transition:background .12s,color .12s}.segmented-btn+.segmented-btn{border-left:1px solid var(--border-strong)}.segmented-btn:hover{background:var(--surface-2);color:var(--text)}.segmented-btn.active{background:var(--accent-softer);color:var(--accent)}.list-toolbar-count{color:var(--text-faint);white-space:nowrap;flex-shrink:0;font-size:12px}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.detail-grid>div{flex-direction:column;gap:4px;display:flex}.detail-k{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:11px}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:99px;align-items:center;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.badge-good{color:var(--good);background:var(--good-bg)}.badge-bad{color:var(--bad);background:var(--bad-bg)}.badge-warn{color:var(--warn);background:var(--warn-bg)}.badge-neutral{color:var(--text-muted);background:var(--surface-2)}.btn{border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);border:1px solid #0000;align-items:center;gap:7px;padding:9px 16px;transition:filter .12s,background .12s,border-color .12s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-grad);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--bad-bg);color:var(--bad);border-color:color-mix(in oklch, var(--bad) 30%, var(--border))}.btn-danger:hover:not(:disabled){background:color-mix(in oklch, var(--bad) 22%, var(--surface))}.btn-danger.is-armed{background:var(--bad);color:#fff}.btn-sm{padding:6px 11px;font-size:12px}.btn-icon{padding:8px}.form-grid{flex-direction:column;gap:14px;display:flex}.field{color:var(--text-muted);flex-direction:column;gap:5px;font-size:12.5px;display:flex}.field span:first-child{color:var(--text);font-weight:600}.field input,.field select{font-family:var(--font-body);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);outline:none;padding:9px 11px;font-size:13.5px}.field input:focus{border-color:var(--accent);box-shadow:var(--ring)}.field input:disabled{background:var(--surface-2);color:var(--text-faint)}.field-checkbox{flex-direction:row;align-items:center;gap:8px}.field-checkbox input{width:auto}.form-error{background:var(--bad-bg);color:var(--bad);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.modal-backdrop{z-index:200;background:oklch(0% 0 0/.45);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:460px;max-height:90vh;overflow-y:auto}.modal-wide{max-width:640px}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{font-family:var(--font-display);font-size:16px;font-weight:700}.modal-body{padding:20px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.show-once-warning{background:var(--warn-bg);color:var(--warn);border-radius:var(--radius-sm);align-items:flex-start;gap:8px;margin-bottom:14px;padding:10px 12px;font-size:12.5px;display:flex}.copy-field{margin-bottom:14px}.copy-field-label{color:var(--text-muted);margin-bottom:5px;font-size:12px;font-weight:600}.copy-field-row{gap:8px;display:flex}.copy-field-row input{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);min-width:0;color:var(--text);flex:1;padding:9px 11px;font-size:12.5px}.gap-notice-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.gap-notice{color:var(--text-faint);background:var(--surface-2);border-radius:var(--radius-sm);align-items:flex-start;gap:8px;padding:9px 11px;font-size:12px;display:flex}.coming-soon-card{text-align:center;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);max-width:520px;margin:40px auto;padding:40px 32px}.coming-soon-ic{background:var(--accent-softer);width:52px;height:52px;color:var(--accent);border-radius:14px;place-items:center;margin:0 auto 14px;display:grid}.coming-soon-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--warn);background:var(--warn-bg);border-radius:99px;margin-bottom:10px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.coming-soon-title{font-family:var(--font-display);margin-bottom:10px;font-size:19px;font-weight:700}.coming-soon-desc{color:var(--text-muted);font-size:13.5px;line-height:1.55}.page-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;padding:60px 20px;display:flex}.page-state-ic{background:var(--surface-2);width:46px;height:46px;color:var(--text-faint);border-radius:12px;place-items:center;margin-bottom:14px;display:grid}.page-state-ic.spin svg{animation:1s linear infinite spin}.page-state-title{color:var(--text);font-size:14.5px;font-weight:600}.page-state-msg{max-width:420px;margin-top:5px;font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.auth-screen,.auth-loading{text-align:center;min-height:100vh;color:var(--text-muted);place-items:center;padding:20px;font-size:14px;display:grid}@media (width<=820px){.page{padding:22px 18px 56px}}
