:root{--color-bg:#faf9f7;--color-surface:#fff;--color-surface-muted:#f2f1ee;--color-border:#e4e2dd;--color-border-strong:#d3d0c8;--color-text:#1c1b19;--color-text-muted:#6b6862;--color-text-subtle:#98948b;--color-accent:#4338ca;--color-accent-strong:#362ea8;--color-accent-surface:#eeedfb;--color-danger:#b91c1c;--color-danger-surface:#fdecec;--color-success:#15803d;--color-success-surface:#eaf7ee;--color-warning:#b45309;--color-warning-surface:#fdf3e5;--color-info:#0369a1;--color-info-surface:#e7f4fb;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.3125rem;--text-xl:1.5rem;--text-2xl:1.75rem;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--radius-sm:6px;--radius:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #1c1b190d;--shadow:0 4px 16px #1c1b1914;--topbar-height:56px;--tabbar-height:64px}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--text-base);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--color-accent)}button{min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-accent);color:#fff;font:inherit;font-size:var(--text-base);cursor:pointer}button:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}button[type=button].secondary,button.secondary{color:var(--color-accent);background:0 0}button.secondary:hover{background:var(--color-accent-surface);border-color:var(--color-accent)}input,select,textarea{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-base)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.auth-page{max-width:420px;padding:var(--space-6) var(--space-3);margin:0 auto}.auth-page h1{font-size:var(--text-xl);margin:0 0 var(--space-3);font-weight:700}.auth-form{gap:var(--space-3);flex-direction:column;display:flex}.field{gap:var(--space-1);flex-direction:column;display:flex}.field__hint{color:var(--color-text-muted);font-size:var(--text-sm)}.alert{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--text-sm)}.alert--error{border-color:var(--color-danger);background:var(--color-danger-surface);color:var(--color-danger)}.alert--success{border-color:var(--color-success);background:var(--color-success-surface);color:var(--color-success)}.alert--info{border-color:var(--color-info);background:var(--color-info-surface);color:var(--color-info)}.auth-links{margin-top:var(--space-4);font-size:var(--text-sm)}
