/* Auth surfaces inherit the shared R11140 tokens, typography and controls. */
.auth-login .passkey-login{margin-top:20px}.auth-login .auth-links{justify-content:center;text-align:center;flex-wrap:wrap;gap:12px 20px}
.auth-form,.auth-form form,.auth-form label{min-width:0}.auth-form input{box-sizing:border-box;min-width:0;max-width:100%;width:100%}.auth-form input[type=date]{appearance:auto;min-width:0;max-width:100%;inline-size:100%}.auth-form .check input{width:20px;flex:0 0 20px}
.auth-required{color:#b42318}.auth-required-note,.password-feedback{font-size:14px;color:var(--muted)}html[data-theme=dark] .auth-required{color:#ffb4ac}.password-feedback[data-state=match]{color:#237c3d}.password-feedback[data-state=mismatch]{color:#b42318}html[data-theme=dark] .password-feedback[data-state=match]{color:#8fe3a6}html[data-theme=dark] .password-feedback[data-state=mismatch]{color:#ffb4ac}
.auth-modal{padding:0;width:min(520px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--card)}.auth-modal::backdrop{background:#0c162b99}.auth-modal .auth-form{padding:32px;border:0;margin:0;width:100%;box-shadow:none}.auth-modal h1{padding-right:40px}.auth-dialog-close{position:absolute;right:10px;top:10px;width:44px;min-height:44px;padding:8px;z-index:1;background:transparent;color:var(--ink)}.auth-recovery-error{margin:12px 0;color:#b42318}html[data-theme=dark] .auth-recovery-error{color:#ffb4ac}.auth-recovery-success{text-align:center;padding:32px 0;overflow-wrap:anywhere}.auth-recovery-success svg{width:48px;height:48px}.auth-recovery-success p{font-size:18px;line-height:1.6}.auth-form.auth-success,.auth-modal.auth-success{background:#237c3d;color:#fff}.auth-success .auth-required-note,.auth-success .muted,.auth-success .auth-dialog-close,.auth-success h2{color:#fff}.auth-success button,.auth-success .button{background:transparent;color:white;border:1px solid white}.auth-success button:focus-visible{outline:3px solid white;outline-offset:3px}.auth-success .eyebrow{color:white}.auth-recovery-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.auth-modal [hidden],.auth-form [hidden]{display:none!important}
@media(max-width:380px){.auth-modal{width:calc(100% - 16px);max-width:calc(100% - 16px)}.auth-modal .auth-form{padding:28px 18px}.auth-modal h1{font-size:26px}.auth-recovery-success p{font-size:16px}.auth-recovery-actions button{width:100%}}

.registration-panel h1{overflow-wrap:anywhere}.registration-panel h2{font-size:1.25rem;margin-top:1.5rem}.registration-panel input[type=date]{min-width:0;max-width:100%;box-sizing:border-box}.profile-choices{border:0;padding:0;margin:1.5rem 0}.profile-choices legend{font-weight:600;margin-bottom:.6rem}.profile-choice{display:flex!important;align-items:flex-start;gap:12px;border:1px solid var(--border,#dce3eb);border-radius:12px;padding:16px;min-height:64px;cursor:pointer;margin:10px 0!important}.profile-choice input{width:22px!important;height:22px!important;min-height:22px!important;margin-top:3px!important;flex-shrink:0}.profile-choice:has(input:checked){border-color:#2454cc;box-shadow:0 0 0 1px #2454cc}.profile-choice small{display:block;font-weight:400;margin-top:5px}.legal-accept{align-items:flex-start!important;gap:12px;min-height:44px}.legal-accept input{flex-shrink:0}.legal-document-links{display:flex;gap:16px;flex-wrap:wrap}.legal-document-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}.legal-modal{width:min(850px,calc(100vw - 24px));max-height:90dvh;padding:20px;border:1px solid var(--border,#dce3eb);border-radius:16px;background:var(--surface,#fff);color:var(--text,#22334c)}.legal-modal::backdrop{background:#111827aa}.legal-modal [data-legal-close]{width:44px;height:44px;float:right;font-size:28px;position:sticky;top:0;z-index:1}.legal-modal [data-legal-content]{clear:both;overflow:auto;max-height:75dvh}.legal-modal article{box-shadow:none;padding:8px;border:0}.legal-modal h1{font-size:28px}.legal-modal p{line-height:1.65}.guardian-welcome-actions{position:sticky;bottom:0;display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:16px 0;background:var(--surface,#fff);z-index:2}.registration-panel ol{padding-left:24px}.registration-panel li{margin:10px 0}.registration-panel #guardian-account{scroll-margin-top:24px}.registration-panel .notice{overflow-wrap:anywhere}[data-theme=dark] .guardian-welcome-actions,[data-theme=dark] .legal-modal{background:#172238;color:#edf2fa}[data-theme=dark] .profile-choice{border-color:#4a5870}@media(max-width:480px){.registration-panel{padding:20px!important}.profile-choice{padding:12px}.guardian-welcome-actions{position:static}.legal-modal{padding:12px}.legal-modal h1{font-size:24px}}

.registration-panel label:not(.profile-choice):not(.check),.auth-forgot label{display:block!important}.registration-panel label:not(.profile-choice):not(.check)>input,.auth-forgot label>input{display:block;margin-top:8px}.registration-panel label>span[aria-hidden=true],.auth-forgot label>span.auth-required{display:inline!important}

.registration-panel label>span[aria-hidden=true],.profile-choices legend>span[aria-hidden=true]{color:#b42318}html[data-theme=dark] .registration-panel label>span[aria-hidden=true],html[data-theme=dark] .profile-choices legend>span[aria-hidden=true]{color:#ffb4ac}.guardian-welcome-actions{padding-bottom:max(16px,env(safe-area-inset-bottom));box-shadow:0 -4px 12px #16233b08}@media(max-width:480px){.guardian-welcome-actions{position:sticky;bottom:0}}


.password-confirmation-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0 16px;align-items:end}.password-confirmation-row .password-feedback{margin:4px 0 12px}.password-confirmation-row .password-feedback:empty{display:none}.registration-panel label span[aria-hidden=true]{color:#b42318}html[data-theme=dark] .registration-panel label span[aria-hidden=true]{color:#ffb4ac}@media(min-width:1100px){.password-confirmation-row:has(.password-feedback:not(:empty)){grid-template-columns:minmax(0,1fr) minmax(100px,160px)}}
