:root{--color-primary: #1A3A5C;--color-primary-hover: #122b45;--color-accent: #2563EB;--color-accent-hover: #1d4ed8;--color-neutral-50: #F8FAFC;--color-neutral-100: #F1F5F9;--color-neutral-200: #E2E8F0;--color-neutral-300: #CBD5E1;--color-neutral-400: #94A3B8;--color-neutral-500: #64748B;--color-neutral-600: #475569;--color-neutral-700: #334155;--color-neutral-800: #1E293B;--color-neutral-900: #0F172A;--color-success: #10B981;--color-warning: #F59E0B;--color-danger: #EF4444;--color-surface: #FFFFFF;--color-background: #F8FAFC;--color-text-primary: var(--color-neutral-900);--color-text-muted: var(--color-neutral-500);--color-border: var(--color-neutral-200);--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-family-sans);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-background)}.page-header{padding:var(--space-4) var(--space-6);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center}.page-content{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4)}.auth-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-8);box-shadow:var(--shadow-md)}.auth-card__title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2);letter-spacing:-.02em}.auth-card__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-6)}.form-field{margin-bottom:var(--space-4)}.form-field label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary);margin-bottom:var(--space-1)}.form-field input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-md);font-family:var(--font-family-sans);color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:border-color .15s,box-shadow .15s}.form-field input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #2563eb1f}.form-field input:disabled{background-color:var(--color-neutral-100);color:var(--color-text-muted);cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:var(--space-3) var(--space-6);font-size:var(--font-size-md);font-family:var(--font-family-sans);font-weight:600;color:#fff;background-color:var(--color-accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s;letter-spacing:.01em}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-family:var(--font-family-sans);font-weight:500;color:var(--color-text-muted);background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:color .15s,border-color .15s}.btn-ghost:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-neutral-400)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-link{background:none;border:none;padding:0;font-size:var(--font-size-sm);color:var(--color-accent);cursor:pointer;text-decoration:underline;font-family:var(--font-family-sans)}.btn-link:hover:not(:disabled){color:var(--color-accent-hover)}.btn-link:disabled{opacity:.5;cursor:not-allowed}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.alert-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.alert-success{color:#065f46;background-color:#ecfdf5;border:1px solid #a7f3d0}.password-strength{margin-top:var(--space-2);font-size:var(--font-size-xs)}.password-rules{list-style:none;margin-top:var(--space-1);display:flex;flex-direction:column;gap:2px}.rule-pass{color:var(--color-success)}.rule-fail{color:var(--color-text-muted)}.signup-error{composes:alert alert-error;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-4);color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.onboarding-page{min-height:100vh;background-color:var(--color-background)}.onboarding-content{max-width:560px;margin:0 auto;padding:var(--space-8) var(--space-4)}.onboarding-content h1{font-size:var(--font-size-2xl);font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-6)}.verify-email-page,.signup-confirm-page{min-height:100vh;background-color:var(--color-background);display:flex;flex-direction:column}.verify-email-container,.signup-confirm-container{max-width:480px;margin:auto;padding:var(--space-8) var(--space-4);text-align:center}.verify-email-container h1,.signup-confirm-container h1{font-size:var(--font-size-2xl);font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-4);color:var(--color-text-primary)}.signup-confirm-message,.signup-confirm-instructions{font-size:var(--font-size-md);color:var(--color-text-muted);margin-bottom:var(--space-4);line-height:var(--line-height-relaxed)}.signup-confirm-success{font-size:var(--font-size-sm);color:var(--color-success);margin-bottom:var(--space-4)}.signup-confirm-error{font-size:var(--font-size-sm);color:var(--color-danger);margin-bottom:var(--space-4)}.resend-button,.request-new-link-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);font-size:var(--font-size-sm);font-family:var(--font-family-sans);font-weight:600;color:var(--color-accent);background:none;border:1px solid var(--color-accent);border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s,color .15s;margin-top:var(--space-4)}.resend-button:hover:not(:disabled),.request-new-link-button:hover:not(:disabled){background-color:var(--color-accent);color:#fff}.resend-button:disabled{opacity:.5;cursor:not-allowed}.error-message{font-size:var(--font-size-sm);color:var(--color-danger);margin-bottom:var(--space-4)}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .75s linear infinite;margin:0 auto var(--space-4)}@keyframes spin{to{transform:rotate(360deg)}}.verify-email-loading{display:flex;flex-direction:column;align-items:center}.email-verification-banner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background-color:#fefce8;border-bottom:1px solid #fde68a;font-size:var(--font-size-sm)}.email-verification-banner-content{display:flex;align-items:center;gap:var(--space-3)}.email-verification-banner-message{color:var(--color-text-primary)}.resend-success{color:var(--color-success);margin-left:var(--space-2)}.resend-link{background:none;border:none;padding:0;font-size:var(--font-size-sm);color:var(--color-accent);cursor:pointer;text-decoration:underline;font-family:var(--font-family-sans)}.resend-link:disabled{opacity:.5;cursor:not-allowed}.dismiss-button{background:none;border:none;font-size:var(--font-size-lg);color:var(--color-text-muted);cursor:pointer;padding:0 var(--space-2);line-height:1}@media (max-width: 480px){.auth-card{padding:var(--space-6) var(--space-4)}}
