body{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:clamp(18px,2.8vw,24px)}body.auth-shell{padding:0}.auth-page{width:100%;min-height:calc(100vh - var(--nav-height) - (var(--space-page-y) * 2) - 36px);display:flex;align-items:center;justify-content:center}.auth-layout{width:min(100%,1120px);display:grid;grid-template-columns:minmax(0,.88fr) minmax(400px,.98fr);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--section-radius);box-shadow:0 24px 60px #c2298f1a;overflow:hidden;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.auth-panel{min-width:0}.auth-panel--brand{padding:clamp(24px,3vw,32px);background:radial-gradient(circle at top left,rgba(245,117,191,.14),transparent 34%),var(--glass-bg);display:grid;gap:16px;align-content:start}.auth-panel--form{padding:12px;display:flex}.auth-form-card{width:100%;padding:clamp(20px,2.6vw,26px);display:grid;gap:16px;background:var(--color-surface);border-radius:24px;border:1px solid var(--color-border);box-shadow:var(--card-shadow)}.brand-lockup{display:grid;gap:12px;max-width:400px;margin-top:2px}.brand-badge{display:inline-flex;align-items:center;width:fit-content;padding:0;background:none;border:none;box-shadow:none}.auth-brand-logo{display:inline-flex!important;align-items:center;gap:10px}.auth-brand-logo-icon{width:44px;height:44px;object-fit:contain;display:block;flex-shrink:0}.auth-brand-logo-wordmark{font-weight:800;font-size:1.5rem;letter-spacing:-.02em;color:var(--color-text)}.brand-lockup h1,.form-header h2,.password-card-header h3{margin:0;line-height:1;letter-spacing:-.04em}.brand-lockup h1{font-size:clamp(2rem,2.9vw,2.75rem);max-width:9.5ch}.auth-description,.form-description{margin:0;color:var(--color-text-soft);font-size:.94rem;line-height:1.58}.auth-benefits{margin:0;padding:0;list-style:none;display:grid;gap:9px}.auth-benefits li{display:flex;align-items:center;gap:10px;color:var(--color-text-soft);font-size:.92rem;font-weight:600}.auth-benefits li:before{content:"";width:8px;height:8px;border-radius:999px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-strong) 100%);box-shadow:0 0 0 5px #c2298f1a;flex:0 0 auto}.form-header{display:grid;gap:7px}.form-kicker{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-primary-strong)}.form-header h2{font-size:clamp(1.72rem,2.3vw,2.2rem)}.auth-form{display:grid;gap:10px}.field{display:grid;gap:6px}.field-error{display:none;color:var(--color-danger);font-size:.82rem}.field-error.show{display:block}.input-error{border-color:#dc26268c!important;background:#fef2f2e6!important;box-shadow:0 0 0 4px #dc262614!important}.password-card{display:grid;gap:10px;padding:12px;border-radius:18px;background:var(--glass-bg);border:1px solid rgba(245,117,191,.12)}.password-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.password-card-header h3{font-size:.96rem}.password-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:var(--color-surface);border:1px solid rgba(245,117,191,.12);font-size:.76rem;font-weight:800;color:var(--color-text-soft);white-space:nowrap}.requirements-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.requirement-item{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:8px 9px;border-radius:13px;background:var(--color-surface);color:var(--color-text-soft);border:1px solid rgba(148,163,184,.16);font-size:.8rem;line-height:1.3;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.requirement-icon{width:18px;height:18px;border-radius:999px;border:1px solid rgba(148,163,184,.32);background:var(--color-surface);position:relative}.requirement-icon:after{content:"";position:absolute;top:5px;right:4px;bottom:6px;left:4px;border-right:2px solid transparent;border-bottom:2px solid transparent;transform:rotate(45deg)}.requirement-item.is-met{border-color:#22c55e47;background:#f0fdf4eb;color:var(--color-text)}.requirement-item.is-met .requirement-icon{border-color:#22c55e42;background:#22c55e2e}.requirement-item.is-met .requirement-icon:after{border-right-color:var(--color-success);border-bottom-color:var(--color-success)}.requirement-item.is-pending{opacity:.88}.auth-submit{width:100%;min-height:48px;margin-top:2px}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--color-muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.oauth-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px}.oauth-icon{width:18px;height:18px;flex-shrink:0}.auth-footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;color:var(--color-muted);font-size:.91rem}.auth-footer a{color:var(--color-primary-strong);font-weight:800;text-decoration:none}.auth-footer a:hover{text-decoration:underline}@media (max-width: 920px){.auth-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width: 720px){body.auth-shell{padding:0}.auth-page{width:100%}.auth-layout{width:100%;border-radius:24px}.auth-panel--brand,.auth-panel--form{padding:18px}.auth-form-card{padding:18px 16px}.brand-lockup h1{font-size:1.95rem}.requirements-list{grid-template-columns:minmax(0,1fr)}.password-card-header{align-items:flex-start;flex-direction:column}.password-status{white-space:normal}}.google-signin-slot{display:flex;justify-content:center;min-height:44px}.auth-legal-note{margin:4px 0 0;text-align:center;color:var(--color-muted);font-size:.82rem;line-height:1.5}.auth-legal-note a{color:var(--color-text-soft);font-weight:600}
