:root{--background: #f3f4f6;--surface: #ffffff;--surface-2: #eceef1;--surface-3: #e3e6ea;--border: #d9dde3;--border-strong: #c4cad2;--text: #1a1f25;--text-muted: #5c6671;--text-faint: #8a929c;--accent: #20406b;--accent-hover: #182f50;--accent-active: #122541;--accent-contrast: #ffffff;--accent-soft: rgba(32, 64, 107, .1);--accent-ring: rgba(32, 64, 107, .28);--danger: #b4232c;--danger-soft: rgba(180, 35, 44, .1);--success: #1f7a52;--success-soft: rgba(31, 122, 82, .1);--warning: #9a6a12;--warning-soft: rgba(154, 106, 18, .12);--radius: 8px;--radius-sm: 6px;--radius-lg: 14px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);--shadow-2: 0 4px 12px rgba(16, 24, 40, .08), 0 2px 4px rgba(16, 24, 40, .04);--shadow-3: 0 12px 32px rgba(16, 24, 40, .14);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: "JetBrains Mono", "Roboto Mono", ui-monospace, monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--sidebar-width: 264px;--sidebar-collapsed: 64px;--header-height: 56px;color-scheme:light}[data-theme=dark]{--background: #0f1216;--surface: #171b21;--surface-2: #1e242c;--surface-3: #262d37;--border: #2a313b;--border-strong: #3a424e;--text: #e7eaee;--text-muted: #9aa4b0;--text-faint: #6b7480;--accent: #6a9bd8;--accent-hover: #7cabe2;--accent-active: #5b8bcb;--accent-contrast: #0f1216;--accent-soft: rgba(106, 155, 216, .14);--accent-ring: rgba(106, 155, 216, .3);--danger: #e6707a;--danger-soft: rgba(230, 112, 122, .14);--success: #5cc593;--success-soft: rgba(92, 197, 147, .14);--warning: #d6a448;--warning-soft: rgba(214, 164, 72, .14);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 4px 14px rgba(0, 0, 0, .45);--shadow-3: 0 14px 36px rgba(0, 0, 0, .55);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text);background:var(--background);-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;color:var(--text);line-height:1.25}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.55rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-accent:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-accent:active{background:var(--accent-active)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--accent-soft)}.btn-danger{background:transparent;border-color:var(--border-strong);color:var(--danger)}.btn-danger:hover{background:var(--danger-soft)}.btn-icon{padding:.45rem;border-color:transparent;background:transparent;line-height:0}.btn-icon:hover{background:var(--accent-soft)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field>label{font-size:.8rem;font-weight:600;color:var(--text-muted)}.input{width:100%;padding:.6rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:var(--text-faint)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.field-error{font-size:.78rem;color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;background:var(--surface-3);color:var(--text-muted)}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.page{display:flex;flex-direction:column;gap:var(--space-5)}.page-head h1{font-size:1.5rem}.page-sub{color:var(--text-muted);margin-top:var(--space-2)}.back{align-self:flex-start;color:var(--text-muted);font-size:.88rem}.back:hover{color:var(--accent)}.detail-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);align-items:flex-start}.detail{display:grid;gap:var(--space-3);margin:0;width:100%}.detail>div{display:flex;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.detail dt{color:var(--text-muted);font-weight:500}.detail dd{margin:0;text-align:right}.btn.block{width:100%}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-link{align-self:center;font-size:.85rem;color:var(--text-muted)}.auth-link:hover{color:var(--accent)}.auth-hint{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);font-size:.8rem;color:var(--text-faint);text-align:center}.auth-hint code{font-family:var(--font-mono);color:var(--text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:content-box}
