.auth{background:var(--surface-page);grid-template-columns:1fr;min-height:100vh;display:grid}.auth__form-col{gap:var(--space-8);padding:var(--space-12) 8vw;flex-direction:column;justify-content:center;align-items:center;display:flex}.auth__brand{align-items:center;gap:var(--space-2);color:var(--text-strong);font-weight:var(--weight-bold);align-self:flex-start;text-decoration:none;display:inline-flex}.auth__brand-mark{width:32px;height:32px;display:inline-flex}.auth__brand-word{font-size:var(--text-lg)}.auth__card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;max-width:620px;box-shadow:var(--shadow-md);padding:var(--space-8)}.auth__h1{font-size:var(--h3-size);line-height:var(--leading-tight);font-weight:var(--heading-weight);color:var(--text-strong);margin:0}.auth__lead{font-size:var(--body-size);line-height:var(--body-leading);color:var(--text-muted);margin:var(--space-2) 0 0}.auth__fields{gap:var(--space-4);margin-top:var(--space-7);flex-direction:column;display:flex}.auth__row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.auth__footer{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--text-muted);text-align:center}.auth__link{color:var(--text-link);font-weight:var(--weight-semibold);text-decoration:none}.auth__link:hover{text-decoration:underline}.auth__notice{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin-top:var(--space-4);align-items:flex-start;display:flex}.auth__notice[data-tone=error]{background:var(--surface-danger-soft);color:var(--red-600)}.auth__notice[data-tone=success]{background:var(--surface-success-soft);color:var(--emerald-700)}.auth__notice[data-tone=pending]{background:var(--surface-warning-soft);color:var(--amber-600)}.auth__chooser{gap:var(--space-3);margin-top:var(--space-7);display:grid}.auth__chooser-legend{font-size:var(--label-size);font-weight:var(--label-weight);color:var(--text-strong);margin-bottom:var(--space-1)}.auth__type{gap:var(--space-3);padding:var(--space-4);border:1.5px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:flex-start;display:flex}.auth__type:hover{border-color:var(--border-interactive)}.auth__type:has(input:checked){border-color:var(--color-primary);box-shadow:var(--shadow-accent-sm)}.auth__type:has(input:focus-visible){box-shadow:var(--focus-ring)}.auth__type input{opacity:0;pointer-events:none;position:absolute}.auth__type-icon{color:var(--color-primary);flex-shrink:0;margin-top:2px;display:inline-flex}.auth__type-text{flex-direction:column;gap:2px;display:flex}.auth__type-label{font-weight:var(--weight-semibold);color:var(--text-strong)}.auth__type-desc{font-size:var(--text-sm);color:var(--text-muted)}.auth__submit{margin-top:var(--space-6)}.auth__pw-toggle{color:var(--text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.auth__pw-toggle:hover{color:var(--text-strong)}.auth__pw-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.auth__consent{margin-top:var(--space-4)}.auth__aside{background:var(--surface-inverse);display:none;position:relative;overflow:hidden}.auth__aside-gradient{background:linear-gradient(180deg, transparent, var(--navy-950));opacity:.85;position:absolute;inset:0}.auth__proof{gap:var(--space-3);height:100%;padding:var(--space-12);flex-direction:column;justify-content:flex-end;display:flex;position:relative}.auth__eyebrow{font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-on-dark-muted);margin:0}.auth__proof-line{font-size:var(--text-xl);line-height:var(--leading-snug);font-weight:var(--weight-semibold);color:var(--text-on-dark);margin:0}@media (min-width:880px){.auth{grid-template-columns:1fr 1fr}.auth__aside{display:block}}@media (prefers-reduced-motion:reduce){.auth__type{transition:none}}