.auth-page:has(.access-compact){padding:12px;min-height:100svh;box-sizing:border-box;place-content:center}
.auth-card.access-compact{width:min(440px,calc(100vw - 24px));padding:22px 26px;border-radius:22px;box-sizing:border-box}
.access-compact .brand{margin-bottom:14px}
.access-compact .brand.brand-premium .brand-emblem{width:44px;height:44px}
.access-compact .brand.brand-premium .brand-text strong{font-size:21px}
.access-compact>.eyebrow{display:none}
.access-compact h1{font-size:26px;line-height:1.15;margin:0 0 8px}
.auth-card.access-compact>p{font-size:14px;line-height:1.4;margin:8px 0}
.access-compact form.stack{gap:10px;margin:14px 0 8px}
.access-compact form label{font-size:14px;line-height:1.4}
.access-compact input{min-height:46px;font-size:16px;padding:10px 12px}
.auth-card.access-compact .button{min-height:44px;margin:0;padding:10px 12px;font-size:14px;line-height:1.3}
.access-compact .form-error:empty{display:none}
.access-compact .form-error{font-size:14px;line-height:1.4;margin:0}
.auth-card.access-compact>.small-text{font-size:12px;line-height:1.4;margin:10px 0}
.access-compact>a{display:inline-block;font-size:14px;line-height:1.4;margin-top:8px}
.access-compact .access-help{margin-top:12px;padding-top:10px}
.access-compact .access-help>p{font-size:13px;line-height:1.4;margin:0 0 8px}
.access-compact .contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;width:100%}
.access-compact .access-help .button{font-size:12px;padding:8px 6px}
.access-compact .access-institutional{margin-top:12px;padding-top:8px;font-size:11px}
.access-compact .access-institutional summary{cursor:pointer;line-height:1.5;color:var(--muted)}
.access-compact .otp-field legend{font-size:14px;margin-bottom:8px}
.access-compact .otp-digits input{height:48px;font-size:24px;padding:0}
@media(max-height:720px){.auth-card.access-compact{padding:16px 20px}.access-compact .brand{margin-bottom:10px}.access-compact h1{font-size:24px}.auth-card.access-compact>p{margin:6px 0}.access-compact form.stack{margin:10px 0 6px;gap:8px}.access-compact .access-help{margin-top:8px;padding-top:8px}.access-compact .access-institutional{margin-top:8px;padding-top:6px}}
/* Scrolling remains available for the keyboard, large text and expanded details. */
@media(max-height:560px){.auth-page:has(.access-compact){place-content:start center}}
.auth-card.access-compact>a.brand{display:flex;align-items:center;height:44px;min-height:44px;padding:0;margin-top:0;margin-bottom:10px}.auth-card.access-compact .access-institutional{padding-bottom:0}.auth-card.access-compact .access-institutional summary{font-size:11px;line-height:1.4}
/* Six-digit authenticator, self-contained to avoid dependence on old cached CSS. */
.auth-card .otp-field{border:0;padding:0;margin:0;min-width:0;width:100%}
.auth-card .otp-field legend{padding:0;margin-bottom:10px;color:#c6dce3;font-size:14px}
.auth-card .otp-digits{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;width:100%;min-width:0}
.auth-card .otp-digits input{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:0;height:auto;aspect-ratio:1;padding:0;text-align:center;font-family:Manrope,Arial,sans-serif;font-size:clamp(24px,5vw,32px);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:#f4e5b6;background:linear-gradient(155deg,#142b30,#061216);border:1px solid #45616a;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff12,0 3px 8px #0004;caret-color:#00ead3}
.auth-card .otp-digits input:valid{border-color:#b59b53;background:linear-gradient(155deg,#29302a,#101a19);box-shadow:inset 0 1px 0 #edd59526,0 3px 8px #0004}
.auth-card .otp-digits input:focus{border-color:#00ead3;outline:2px solid #00ead3;outline-offset:3px;background:linear-gradient(155deg,#123c3d,#071b20);box-shadow:0 0 16px #00ead326,inset 0 1px 0 #ffffff20}
@media(max-width:380px){.auth-card .otp-digits{gap:7px}.auth-card .otp-digits input{border-radius:10px;font-size:26px}}
/* Password first access stays compact without clipping keyboard or zoom. */
.password-access .stack { gap: 8px; }
.password-access [data-password-visibility] { min-height: 30px; padding: 4px 12px; background: transparent; border-color: transparent; }
.password-access .stack > p.muted { margin: 0; font-size: 13px; line-height: 1.4; }
.password-access .access-help { padding-top: 10px; margin-top: 12px; }
.password-access .access-help summary { cursor: pointer; font-size: 14px; }
.password-access .access-help .contact-actions { margin-top: 12px; }
.password-access [data-email] { overflow-wrap: anywhere; }
