@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{color-scheme:light;--color-brand-navy:#1a2744;--color-brand-teal:#00756d;--color-brand-accent:#00a89d;--color-action-primary:#00756d;--color-action-hover:#005f59;--color-focus:#00756d;--color-canvas:#f6f9fc;--color-surface:#ffffff;--color-surface-subtle:#f0f5fa;--color-surface-hover:#eaf3f7;--color-text:#0f172a;--color-text-primary:var(--color-text);--color-text-muted:#53647a;--color-border:#e2e8ec;--color-info:#0284c7;--color-info-text:#075985;--color-info-bg:#f0f9ff;--color-success-text:#166534;--color-success-bg:#f0fdf4;--color-warning:#d97706;--color-warning-border:#f5c451;--color-warning-text:#92400e;--color-warning-bg:#fffbeb;--color-danger:#d92d20;--color-danger-border:#fecdca;--color-danger-text:#b42318;--color-danger-bg:#fef3f2;--color-on-primary:#ffffff;--color-accent-subtle:#e6f6f3;--color-border-strong:#c5d0d8;--color-info-border:#b4d9ef;--color-success-border:#b7dec2;--color-success:#16854a;--color-overlay:rgb(12 26 44/48%);--color-inverse-surface:#18263c;--color-inverse-text:#f4f7fc;--color-inverse-muted:#cbd5e1;--shadow-sm:0 1px 2px rgb(26 39 68/5%),0 2px 5px rgb(26 39 68/2%);--shadow-panel:0 2px 4px rgb(26 39 68/3%),0 5px 18px rgb(26 39 68/4%);--shadow-interactive:0 6px 18px rgb(26 39 68/9%),0 2px 4px rgb(26 39 68/3%);--shadow-card-hover:0 12px 28px rgb(26 39 68/12%),0 3px 8px rgb(26 39 68/6%);--shadow-overlay:0 24px 80px rgb(15 23 42/24%);--radius-control:8px;--radius-panel:12px;--radius-overlay:16px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--motion-fast:120ms;--motion-normal:180ms;--motion-slow:240ms;--ease-standard:cubic-bezier(0.2,0.8,0.2,1);--focus-ring:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-focus);--bg:var(--color-canvas);--panel:var(--color-surface);--text:var(--color-text);--muted:var(--color-text-muted);--accent:var(--color-action-primary);--border:var(--color-border);--danger:var(--color-danger-text)}:root[data-theme=dark]{color-scheme:dark;--color-brand-navy:#e6edf7;--color-brand-teal:#66ded0;--color-brand-accent:#25c3b5;--color-action-primary:#66ded0;--color-action-hover:#91e9df;--color-focus:#66ded0;--color-on-primary:#092d29;--color-canvas:#0b1220;--color-surface:#131e30;--color-surface-subtle:#1b293e;--color-surface-hover:#22334a;--color-accent-subtle:#123638;--color-text:#eaf0f8;--color-text-muted:#a9bad0;--color-border:#2a3b53;--color-border-strong:#51657b;--color-info:#74c5f4;--color-info-text:#99d5f7;--color-info-bg:#193447;--color-info-border:#386480;--color-success:#72d4a0;--color-success-text:#96e0b5;--color-success-bg:#183c30;--color-success-border:#36684e;--color-warning:#f5c66e;--color-warning-border:#7d6234;--color-warning-text:#f6d590;--color-warning-bg:#3b3121;--color-danger:#fc9a98;--color-danger-border:#804747;--color-danger-text:#ffaaa5;--color-danger-bg:#42272c;--color-overlay:rgb(3 9 16/72%);--shadow-sm:0 1px 3px rgb(0 0 0/16%);--shadow-panel:0 4px 18px rgb(0 0 0/10%);--shadow-interactive:0 6px 22px rgb(0 0 0/28%);--shadow-card-hover:0 12px 30px rgb(0 0 0/42%),0 0 0 1px rgb(102 222 208/12%);--shadow-overlay:0 24px 80px rgb(0 0 0/48%);--focus-ring:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-focus)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;font-optical-sizing:auto}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance}input,select,textarea{color:var(--color-text);background-color:var(--color-surface);accent-color:var(--color-action-primary);transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background-color var(--motion-fast) ease}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea):hover:not(:disabled):not(:focus){border-color:var(--color-border-strong)}:where(input,select,textarea):focus-visible{border-color:var(--color-focus)}:where(input,select,textarea)[aria-invalid=true]{border-color:var(--color-danger)}:where(input[type=checkbox],input[type=radio]){inline-size:16px;block-size:16px;flex-shrink:0}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:1}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--color-action-primary);outline-offset:3px}::selection{background:var(--color-accent-subtle);color:var(--color-text)}a{color:var(--accent);text-underline-offset:3px}table{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:where(button,a,summary){transition:color var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-normal) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}details[open]>:not(summary){animation:reveal-content var(--motion-normal) var(--ease-standard)}@keyframes reveal-content{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.app-shell-nav{background:var(--panel);border-right:1px solid var(--border);padding:20px}.app-shell-main{min-width:0;padding:32px}.app-shell-topbar{justify-content:space-between;gap:16px}.app-shell-topbar,.app-shell-user{display:flex;align-items:center;flex-wrap:wrap}.app-shell-user{gap:12px;color:var(--muted);font-size:13px;min-width:0}@media (max-width:760px){.app-shell{grid-template-columns:minmax(0,1fr)}.app-shell-nav{border-right:0;border-bottom:1px solid var(--border);padding:16px}.app-shell-nav nav{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.app-shell-main{padding:20px 16px}.app-shell-topbar{align-items:flex-start}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 15% 10%,var(--color-accent-subtle),transparent 45%),var(--color-canvas)}.auth-card{width:min(430px,100%);background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:34px;display:flex;flex-direction:column;gap:20px;box-shadow:var(--shadow-panel)}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--color-on-primary);font-weight:800;background:var(--color-action-primary);box-shadow:var(--shadow-sm)}.field-label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:650}.field-input{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-control);padding:11px 13px;color:var(--text);outline:none}.field-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.field-hint{color:var(--muted);font-size:12px;font-weight:400}.primary-button{border:0;border-radius:var(--radius-control);padding:12px 16px;color:var(--color-on-primary);background:var(--color-action-primary);font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm)}.primary-button:hover:not(:disabled){background:var(--color-action-hover);box-shadow:var(--shadow-interactive);transform:translateY(-1px)}.auth-secondary-button:active:not(:disabled),.primary-button:active:not(:disabled){transform:translateY(0);box-shadow:none}.auth-secondary-button:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-strong)}.primary-button:disabled{opacity:.65;cursor:wait}.auth-secondary-button{border:1px solid var(--border);border-radius:8px;padding:11px 16px;color:var(--text);background:var(--color-surface);font-weight:700;cursor:pointer}.auth-secondary-button:disabled{opacity:.6;cursor:wait}.auth-link{text-align:center;font-size:13px;text-decoration:none}.auth-link[aria-disabled=true]{opacity:.55;cursor:wait;pointer-events:none}.error-text{color:var(--danger);margin:0;font-size:13px}@media (prefers-reduced-motion:reduce){.primary-button:hover:not(:disabled){transform:none}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}