[hidden]{display:none!important}
.auth-gate{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#fffdf7 0%,#f4eadb 58%,#e9eff2 100%)}
.auth-checking{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#fffdf7 0%,#f4eadb 58%,#e9eff2 100%)}
.auth-checking.is-rechecking{position:fixed;inset:0;z-index:1000;box-sizing:border-box}
.auth-checking-card{width:min(100%,420px);box-sizing:border-box;padding:38px;background:#fffdf9;border:1px solid #e6d8c6;border-radius:22px;box-shadow:0 20px 60px rgba(17,43,68,.14)}
.auth-checking-card h1{font:700 clamp(28px,6vw,39px)/1.08 Georgia,serif;margin:8px 0;color:var(--navy)}
.auth-checking-card>p:last-child{margin:12px 0 0;color:#53657b;line-height:1.5}
.auth-card{width:min(100%,420px);box-sizing:border-box;padding:38px;background:#fffdf9;border:1px solid #e6d8c6;border-radius:22px;box-shadow:0 20px 60px rgba(17,43,68,.14)}
.auth-logo{display:block;max-width:250px;width:100%;height:105px;object-fit:contain;object-position:left center;margin-bottom:20px}
.auth-card h1{font:700 clamp(30px,6vw,42px)/1.05 Georgia,serif;margin:8px 0;color:var(--navy)}
.auth-card label{display:grid;gap:7px;margin-top:19px;font-weight:700;color:var(--navy)}
.auth-card input{padding:12px 13px;border:1px solid #cfc2af;border-radius:9px;font:inherit;background:#fff}
.auth-card input:focus-visible{outline:3px solid rgba(31,78,121,.18);outline-offset:2px;border-color:#2f648f}
.auth-submit{width:100%;margin-top:24px}.auth-reset{display:block;margin:16px auto 0}.auth-message{min-height:20px;margin:16px 0 0;color:#4d5e6d}.auth-message.error{color:#a8302c}.auth-message.success{color:#14724c}
.auth-password-hint{margin:11px 0 0;color:#64748b;font-size:12px;line-height:1.45}
.password-recovery-gate .auth-card{border-color:#d9c8b4}
.auth-recovery-intro{margin:12px 0 0;color:#53657b;line-height:1.55}
.password-recovery-gate .auth-submit:disabled{cursor:wait;opacity:.72}
.auth-link-error-gate{box-sizing:border-box;padding:clamp(16px,4vw,40px);background:linear-gradient(135deg,#f5f9ff 0%,#fffdf9 58%,#fff0e7 100%)}
.auth-link-error-card{width:min(100%,560px);padding:clamp(24px,4vw,32px);border-top:5px solid #ff5a1f}
.auth-link-error-card .auth-logo{height:64px;margin-bottom:14px}
.auth-link-error-card h1{font-size:clamp(28px,5vw,34px);line-height:1.12;margin:10px 0 14px}
.auth-link-error-card h1:focus{outline:none}
.auth-link-error-intro{font-size:16px;color:#4b6078;line-height:1.6;margin:0}
.auth-link-error-card h2{font:700 17px/1.35 Arial,sans-serif;color:#10345d;margin:0 0 8px}
.auth-link-error-next{background:#edf5ff;border:1px solid #cfdfef;border-radius:14px;padding:clamp(18px,4vw,20px);margin-top:20px}
.auth-link-error-next>p,.auth-link-error-existing>p{font-size:14px;color:#4b6078;line-height:1.6;margin:0 0 16px}
.auth-link-error-card .button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:12px 18px;box-sizing:border-box;text-align:center;white-space:normal;text-decoration:none;line-height:1.35}
.auth-link-error-next .auth-link-error-contact{margin:10px 0 0;font-size:12px;overflow-wrap:anywhere}
.auth-link-error-existing{border-top:1px solid #dce4ed;margin-top:20px;padding-top:20px}
.auth-link-error-card .button:focus-visible{outline:3px solid #246ba3;outline-offset:3px}
@media(max-width:480px){.auth-link-error-card .button{width:100%}.auth-link-error-card .auth-logo{height:64px;max-width:200px}}
