body,html{height:100%}.auth-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px 16px;background:var(--bg);color:var(--text)}.auth-card{background-color:var(--card-bg);border-radius:12px;padding:40px;width:100%;max-width:420px;position:relative;transition:background-color var(--transition)}.auth-card .theme-toggle{position:absolute;top:16px;right:16px}.auth-card[data-page=accept-invite]{max-width:460px}.auth-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px}.auth-card[data-page=accept-invite] .auth-logo{margin-bottom:28px}.auth-logo-icon{width:36px;height:36px;flex-shrink:0}.auth-card[data-page=accept-invite] .auth-logo-icon{width:32px;height:32px}.auth-logo-icon svg{width:100%;height:100%}.auth-logo-icon path{fill:var(--logo-fill);transition:fill var(--transition)}.auth-logo-text{display:flex;flex-direction:column}.auth-logo-wordmark{font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--text);line-height:1.15;transition:color var(--transition)}.auth-card[data-page=accept-invite] .auth-logo-wordmark{font-size:17px}.auth-logo-subtitle{font-size:11px;font-weight:400;color:var(--text-muted);letter-spacing:.03em;line-height:1.3;transition:color var(--transition)}.auth-card[data-page=accept-invite] .auth-logo-subtitle{font-size:10px}.auth-card h1{font-size:22px;font-weight:500;text-align:center;margin-bottom:8px;letter-spacing:-.01em;color:var(--text);transition:color var(--transition)}.auth-card[data-page=accept-invite] h1{font-size:26px;letter-spacing:-.015em;margin-bottom:10px}.auth-card[data-page=accept-invite] h1 .name-highlight{color:var(--accent);font-weight:600}.auth-card .subheading{font-size:14px;color:var(--text-muted);text-align:center;margin-bottom:28px;font-weight:400;transition:color var(--transition);line-height:1.5}.auth-card .subheading strong{color:var(--text);font-weight:500}.auth-form-group{margin-bottom:18px}.auth-form-label{display:block;font-size:13px;font-weight:500;color:var(--text-muted);margin-bottom:6px;transition:color var(--transition)}.auth-form-input{display:block;width:100%;height:44px;padding:0 14px;background-color:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:14px;line-height:1;outline:none;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease,background-color var(--transition),color var(--transition)}.auth-form-input::placeholder{color:var(--text-dim)}.auth-form-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.auth-form-input:disabled,.auth-form-input[readonly]{color:var(--text-muted);cursor:not-allowed}.auth-password-wrapper{position:relative}.auth-password-wrapper .auth-form-input{padding-right:44px}.auth-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;background:none;border:none;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);transition:color .2s ease,background-color .2s ease}.auth-password-toggle:hover{color:var(--text);background:color-mix(in oklab,var(--text) 6%,transparent)}.auth-password-toggle svg{width:18px;height:18px;display:block}.auth-forgot-password{display:block;text-align:right;font-size:13px;color:var(--accent);text-decoration:none;font-weight:500;margin-top:8px;transition:color .2s ease}.auth-forgot-password:hover{color:var(--accent-hover)}[data-theme=dark] .auth-forgot-password{color:color-mix(in srgb,var(--accent) 72%,#fff)}[data-theme=dark] .auth-forgot-password:hover{color:color-mix(in srgb,var(--accent) 60%,#fff)}.auth-cta-btn{width:100%;padding:13px 16px;background-color:var(--accent);border:none;border-radius:8px;color:#fff;font-family:inherit;font-size:15px;font-weight:500;cursor:pointer;transition:background-color .2s ease,transform .1s ease,opacity .2s ease;margin-top:6px;display:block;text-align:center;text-decoration:none}.auth-cta-btn:hover{background-color:var(--accent-hover)}.auth-cta-btn:active{background-color:var(--accent-active);transform:scale(.995)}.auth-cta-btn:disabled{opacity:.5;cursor:not-allowed}.auth-cta-btn:disabled:hover{background-color:var(--accent)}.auth-field-error{font-size:12px;color:var(--danger);margin-top:6px}.auth-notice{font-size:13px;color:var(--text-muted);text-align:center;line-height:1.5;background:color-mix(in oklab,var(--text) 6%,transparent);border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-bottom:20px;transition:color var(--transition)}.auth-footer{margin-top:24px;text-align:center}.auth-footer-back{font-size:14px;color:var(--text-muted);margin-bottom:16px;transition:color var(--transition)}.auth-footer-back a{color:var(--text);text-decoration:none;font-weight:500;transition:color .2s ease}.auth-footer-back a:hover{color:var(--accent)}.auth-footer-legal{font-size:12px;color:var(--text-dim);line-height:1.5;transition:color var(--transition)}.auth-footer-legal a{color:var(--text-dim);text-decoration:underline;text-decoration-color:var(--link-legal-underline);text-underline-offset:2px;transition:color .2s ease}.auth-footer-legal a:hover{color:var(--link-legal-hover)}[data-page=verify-email] .auth-code-inputs{display:flex;justify-content:center;gap:10px;margin-bottom:24px}[data-page=verify-email] .auth-code-input{width:48px;height:56px;background-color:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:22px;font-weight:600;text-align:center;outline:none;caret-color:var(--accent);transition:border-color .2s ease,box-shadow .2s ease,background-color var(--transition),color var(--transition)}[data-page=verify-email] .auth-code-input::placeholder{color:var(--text-dim)}[data-page=verify-email] .auth-code-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}[data-page=verify-email] .auth-code-input.filled{border-color:var(--accent)}[data-page=verify-email] .auth-resend{text-align:center;margin-top:16px;font-size:13px;color:var(--text-muted);transition:color var(--transition)}[data-page=verify-email] .auth-resend-link{color:var(--accent);text-decoration:none;font-weight:500;cursor:pointer;background:none;border:none;font-family:inherit;font-size:inherit;padding:0;transition:color .2s ease}[data-page=verify-email] .auth-resend-link:hover{color:var(--accent-hover)}[data-page=verify-email] .auth-resend-link:disabled{color:var(--text-dim);cursor:not-allowed}.auth-requirements{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.auth-hint,.auth-req{display:flex;align-items:center;gap:8px;font-size:12.5px;line-height:1.4;color:var(--text-dim);transition:color .2s ease}.auth-hint{margin-top:8px}.auth-hint svg,.auth-req svg{width:14px;height:14px;flex-shrink:0;display:block}.auth-hint.ok,.auth-req.ok{color:var(--accent)}.auth-hint.err{color:var(--danger)}@media (max-width:480px){.auth-requirements{grid-template-columns:1fr}}[data-page=password-updated] .auth-success-icon{width:56px;height:56px;margin:0 auto 20px;border-radius:50%;background-color:color-mix(in oklab,var(--success) 14%,transparent);display:flex;align-items:center;justify-content:center}[data-page=password-updated] .auth-success-icon svg{width:28px;height:28px;color:var(--success)}[data-theme=dark] [data-page=accept-invite]{--welcome-badge-bg:rgba(147,51,234,.12);--welcome-chip-bg:#1a1a1a;--welcome-chip-border:#262626}[data-theme=light] [data-page=accept-invite]{--welcome-badge-bg:rgba(147,51,234,.1);--welcome-chip-bg:#f7f7f7;--welcome-chip-border:#e5e5e5}[data-page=accept-invite] .welcome-hero{text-align:center;margin-bottom:28px}[data-page=accept-invite] .welcome-badge{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background-color:var(--welcome-badge-bg);display:flex;align-items:center;justify-content:center;color:var(--accent);transition:background-color var(--transition)}[data-page=accept-invite] .welcome-badge svg{width:26px;height:26px}[data-page=accept-invite] .welcome-context{font-size:15px;color:var(--text-muted);text-align:center;margin-bottom:10px;font-weight:400;line-height:1.5}[data-page=accept-invite] .welcome-context strong{color:var(--text);font-weight:600}@media (max-width:480px){.auth-card{padding:28px 22px}.auth-card h1{font-size:20px}.auth-logo-wordmark{font-size:18px}.auth-logo-icon{width:30px;height:30px}.auth-logo-subtitle{font-size:10px}}