:root{--paper:#f4f6f9;--card:#fff;--ink:#0b2340;--ink-2:#1a3050;--ink-3:#5a6b80;--ink-faint:#a4b0c0;--hair:#e3e8ef;--hair-strong:#cbd3de;--accent:#f07e23;--accent-deep:#d86a12;--focus-ring:#0b23401f;--danger:#b42318;--font-display:"TWK Lausanne", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-ui:"Inter", "TWK Lausanne", -apple-system, BlinkMacSystemFont, sans-serif}html,body{background:var(--paper);margin:0;padding:0}body{font-family:var(--font-ui);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh}.auth-page{justify-content:center;align-items:flex-start;min-height:100vh;padding:88px 24px 64px;display:flex}.auth-stack{flex-direction:column;align-items:center;width:100%;max-width:416px;display:flex}.auth-brand{align-items:center;gap:12px;margin-bottom:28px;text-decoration:none;display:flex}.auth-brand__logo{border-radius:9px;display:block}.auth-brand__name{font-family:var(--font-display);color:var(--ink);font-size:15px;font-weight:600;line-height:1.15}.auth-h1{font-family:var(--font-display);letter-spacing:-.01em;text-align:center;color:var(--ink);margin:0 0 32px;font-size:28px;font-weight:800}.auth-muted{color:var(--ink-3);text-align:center;max-width:32rem}.card{background:var(--card);border:1px solid var(--hair);border-radius:18px;width:100%;padding:32px;box-shadow:0 6px 30px #0b234012,0 1px 2px #0b23400a}.field-label{font-family:var(--font-display);color:var(--ink);margin:0 0 8px;font-size:14px;font-weight:600;display:block}.field-label--spaced{margin-top:16px}.field-input{border:1.5px solid var(--hair-strong);background:var(--card);width:100%;height:46px;color:var(--ink);font:inherit;box-sizing:border-box;border-radius:11px;padding:0 14px;font-size:15px;transition:border-color .12s,box-shadow .12s}.field-input--with-toggle{padding-right:46px}.password-field{position:relative}.password-toggle{width:44px;height:46px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:0 11px 11px 0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;right:0}.password-toggle:hover{color:var(--ink-3)}.password-toggle:focus-visible{color:var(--ink);box-shadow:0 0 0 4px var(--focus-ring);border-radius:11px;outline:none}.field-input::placeholder{color:var(--ink-faint)}.field-input:hover{border-color:var(--ink-3)}.field-input:focus{border-color:var(--ink);box-shadow:0 0 0 4px var(--focus-ring);outline:none}.error-text{color:var(--danger);min-height:1.25rem;margin:10px 0 0;font-size:13px}.btn-primary{background:var(--accent);color:#fff;width:100%;height:46px;font-family:var(--font-display);cursor:pointer;border:0;border-radius:11px;margin-top:14px;font-size:15px;font-weight:600;transition:transform 60ms,background .12s}a.btn-primary{box-sizing:border-box;justify-content:center;align-items:center;text-decoration:none;display:flex}.btn-primary:hover:not(:disabled){background:var(--accent-deep)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:focus-visible{outline:none;box-shadow:0 0 0 4px #f07e2359}.btn-primary:disabled{color:var(--ink-faint);cursor:progress;opacity:1;background:#eef1f6}.forgot-row{text-align:right;margin-top:12px}.link-subtle{color:var(--ink-3);border-bottom:1px solid #0000;font-size:13px;text-decoration:none;transition:color .12s,border-color .12s}.link-subtle:hover{color:var(--ink);border-bottom-color:var(--hair-strong)}.link-accent{color:var(--accent-deep);font-weight:600;text-decoration:none}.link-accent:hover{text-decoration:underline}.divider{color:var(--ink-3);letter-spacing:.08em;align-items:center;gap:12px;margin:24px 0;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--hair);flex:1;height:1px}.social-stack{flex-direction:column;gap:10px;display:flex}.btn-social{background:var(--card);width:100%;height:46px;color:var(--ink);border:1.5px solid var(--hair-strong);font-family:var(--font-ui);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:10px;font-size:15px;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s;display:flex}.btn-social:hover{border-color:var(--ink-3);background:#fafbfc}.social-icon{width:18px;height:18px}.signup-row{text-align:center;color:var(--ink-3);margin:24px 0 0;font-size:14px}.forgot-status{color:#027a48;min-height:1.25rem;margin:10px 0 0;font-size:13px}
