:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", Menlo, Consolas, monospace;--color-bg:#f4f3f7;--color-surface:#fff;--color-surface-2:#f8f7fb;--color-border:#e5e3ec;--color-text:#514c60;--color-text-muted:#8b869a;--color-text-heading:#1a1625;--color-accent:#7c3aed;--color-accent-hover:#6d28d9;--color-accent-bg:#f3ecfe;--color-ring:#7c3aed;--color-success:#15803d;--color-success-bg:#dcfce7;--color-danger:#dc2626;--color-danger-bg:#fee2e2;--color-warning:#b45309;--color-warning-bg:#fef3c7;--color-neutral:#6b7280;--color-neutral-bg:#eef0f2;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #1410200f;--shadow-md:0 4px 16px #14102014;--duration-fast:.12s;--duration-normal:.18s;--ease-out:cubic-bezier(.16, 1, .3, 1);font:15px/1.55 var(--font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#0d0e13;--color-surface:#16171d;--color-surface-2:#1b1c24;--color-border:#2c2e39;--color-text:#a39fb0;--color-text-muted:#6f6b7d;--color-text-heading:#f3f2f6;--color-accent:#b083f7;--color-accent-hover:#c49bff;--color-accent-bg:#241a38;--color-ring:#b083f7;--color-success:#4ade80;--color-success-bg:#10291a;--color-danger:#f87171;--color-danger-bg:#2c1414;--color-warning:#fbbf24;--color-warning-bg:#2c2109;--color-neutral:#9ca3af;--color-neutral-bg:#20222a;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 20px #00000073}}*{box-sizing:border-box}body{margin:0}h1,h2,h3{font-family:var(--font-sans);color:var(--color-text-heading);letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:1.5rem}h2{font-size:1.1rem}p{margin:0}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}::selection{background:var(--color-accent-bg)}:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px;border-radius:var(--radius-sm)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-2);color:var(--color-text-heading);text-decoration:none;display:flex}.brand:hover{text-decoration:none}.brand-mark{border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.brand-name{color:var(--color-text-heading);font-size:.95rem;font-weight:600}.header-actions{align-items:center;gap:var(--space-3);display:flex}.app-main{width:100%;max-width:1160px;padding:var(--space-6) var(--space-5) var(--space-7);flex:1;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-header .subtitle{margin-top:var(--space-1);color:var(--color-text-muted);font-size:.9rem}.back-link{align-items:center;gap:var(--space-1);color:var(--color-text-muted);margin-bottom:var(--space-4);font-size:.9rem;display:inline-flex}.back-link:hover{color:var(--color-accent);text-decoration:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:38px;padding:0 var(--space-4);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);border:1px solid #0000;font-size:.9rem;font-weight:500;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-heading)}.btn-secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.btn-ghost{color:var(--color-text-muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text-heading)}.btn-danger-ghost{color:var(--color-text-muted);background:0 0}.btn-danger-ghost:hover:not(:disabled){background:var(--color-danger-bg);color:var(--color-danger)}.btn-sm{height:32px;padding:0 var(--space-3);font-size:.85rem}.btn-icon{flex-shrink:0;width:34px;height:34px;padding:0}.btn-icon.btn-sm{width:30px;height:30px}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:1em;height:1em;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}thead th{background:var(--color-surface-2);text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);white-space:nowrap;font-size:.72rem;font-weight:600;position:sticky;top:0}tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background var(--duration-fast) var(--ease-out)}tbody tr:hover{background:var(--color-surface-2)}.cell-primary{color:var(--color-text-heading);font-weight:500}.cell-muted{color:var(--color-text-muted)}.cell-actions{align-items:center;gap:var(--space-1);justify-content:flex-end;display:flex}.col-actions{text-align:right}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:.78rem;font-weight:500;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-neutral{background:var(--color-neutral-bg);color:var(--color-neutral)}.badge-pulse .badge-dot{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.empty-state{text-align:center;justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);color:var(--color-text-muted);flex-direction:column;display:flex}.empty-state svg{color:var(--color-text-muted);opacity:.6}.empty-state h2{color:var(--color-text-heading);font-size:1rem}.empty-state p{max-width:32ch;font-size:.9rem}.skeleton-row td{padding:var(--space-3) var(--space-4)}.skeleton-bar{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-surface-2) 25%, var(--color-border) 50%, var(--color-surface-2) 75%);background-size:200% 100%;height:14px;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.form-card{max-width:640px;margin:0 auto}.form-section{padding:var(--space-5);border:0;margin:0}.form-section+.form-section{border-top:1px solid var(--color-border)}.form-section legend{margin-bottom:var(--space-4);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);padding:0;font-size:.8rem;font-weight:600}.field-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field:last-child{margin-bottom:0}.field-label{color:var(--color-text-heading);font-size:.85rem;font-weight:500}.field-hint{color:var(--color-text-muted);font-size:.8rem}.field-checkbox{align-items:center;gap:var(--space-2);flex-direction:row}input:not([type=checkbox]),select{height:38px;padding:0 var(--space-3);font-size:.9rem;font-family:var(--font-sans);color:var(--color-text-heading);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;transition:border-color var(--duration-fast) var(--ease-out)}.mono-input{font-family:var(--font-mono)}input:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--color-text-muted)}input:focus-visible,select:focus-visible{outline:2px solid var(--color-ring);outline-offset:1px;border-color:var(--color-accent)}input[type=checkbox]{width:17px;height:17px;accent-color:var(--color-accent)}.input-group{display:flex;position:relative}.input-group input{padding-right:40px}.input-group-btn{border-radius:var(--radius-sm);width:30px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;bottom:4px;right:4px}.input-group-btn:hover{color:var(--color-text-heading);background:var(--color-surface-2)}.form-actions{align-items:center;gap:var(--space-3);padding:var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg);display:flex}.form-alert{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-danger-bg);color:var(--color-danger);margin-bottom:var(--space-4);font-size:.85rem;display:flex}.auth-shell{min-height:100vh;padding:var(--space-5);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:380px;padding:var(--space-6) var(--space-6) var(--space-5);text-align:center}.auth-card .brand-mark{border-radius:var(--radius-md);width:44px;height:44px;margin:0 auto var(--space-4)}.auth-card h1{font-size:1.15rem}.auth-card .subtitle{margin-top:var(--space-1);margin-bottom:var(--space-5);color:var(--color-text-muted);font-size:.85rem}.auth-card form{text-align:left}.auth-card .btn{width:100%;margin-top:var(--space-2)}@media (width<=768px){.app-header{padding:var(--space-3) var(--space-4)}.app-main{padding:var(--space-5) var(--space-4) var(--space-6)}.page-header{flex-direction:column;align-items:stretch}.field-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;align-items:stretch}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
