.auth-page { background: #fff; }
.auth-shell { display: grid; grid-template-columns: minmax(440px, .9fr) minmax(520px, 1.1fr); min-height: 100vh; }
.auth-intro { background: radial-gradient(circle at 80% 15%, rgba(96,165,250,.28), transparent 28%), linear-gradient(145deg, #172554, #1e40af 70%, #2563eb); color: #fff; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 3.2rem clamp(2.5rem, 5vw, 5.5rem); position: relative; }
.auth-intro::after { border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ''; height: 480px; position: absolute; right: -260px; top: 25%; width: 480px; }
.brand-mark-light, .brand-mark-light span:not(.brand-icon) { color: #fff; }
.brand-mark-light .brand-icon { background: rgba(255,255,255,.16); }
.auth-intro .eyebrow { color: #bfdbfe; }
.auth-intro h1 { font-size: clamp(2.4rem, 4vw, 4rem); font-weight: 780; letter-spacing: -.055em; line-height: 1.06; margin-bottom: 1.6rem; max-width: 720px; }
.auth-intro p { color: #dbeafe; font-size: 1.05rem; line-height: 1.75; max-width: 570px; }
.auth-trust { align-items: center; color: #dbeafe; display: flex; font-size: .82rem; gap: .6rem; }
.auth-trust i { color: #86efac; font-size: 1.1rem; }
.auth-panel { align-items: center; display: flex; justify-content: center; padding: 3rem; }
.auth-card { max-width: 455px; width: 100%; }
.auth-heading { margin-bottom: 2rem; }
.auth-heading .eyebrow { margin-bottom: .6rem; }
.auth-heading h1 { font-size: 2rem; font-weight: 760; letter-spacing: -.04em; margin-bottom: .55rem; }
.auth-heading p { color: var(--app-muted); }
.auth-card .form-label { font-size: .84rem; font-weight: 650; }
.auth-card .form-control { border-color: #d0d5dd; border-radius: 8px; min-height: 48px; padding: .7rem .85rem; }
.auth-card .form-control:focus { border-color: var(--app-primary); box-shadow: 0 0 0 3px rgba(37,99,235,.11); }
.password-field { position: relative; }
.password-field .form-control { padding-right: 3rem; }
.password-toggle { background: transparent; border: 0; color: #667085; padding: .6rem; position: absolute; right: .25rem; top: .2rem; }
.password-field .invalid-feedback { position: static; }
.muted-link { color: #98a2b3; font-size: .75rem; }
.auth-switch { color: var(--app-muted); font-size: .85rem; margin: 1.7rem 0 0; text-align: center; }
.auth-switch a { font-weight: 700; text-decoration: none; }
.form-text { color: #98a2b3; font-size: .7rem; }
@media (max-width: 991.98px) { .auth-shell { display: block; } .auth-panel { min-height: 100vh; padding: 3rem 1.25rem; } }
