.auth-modal{width:min(450px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:17px;background:#fff;color:#20334e;box-shadow:0 24px 90px rgba(4,20,42,.25);overflow:hidden}
.auth-modal:not([open]){display:none}
.auth-modal::backdrop{background:rgba(8,29,55,.87)}
.auth-modal-shell{display:grid;grid-template-columns:1fr;min-height:0;max-height:calc(100dvh - 32px)}
.auth-modal-brand{display:none;position:relative;min-height:0;padding:60px 42px;overflow:hidden;background:linear-gradient(155deg,#2377ee,#33b8f7);color:#fff}
.auth-modal-brand strong{position:relative;z-index:1;display:block;font-size:36px;font-weight:850;letter-spacing:-.06em;line-height:1}
.auth-modal-brand strong span{color:#ff9a35}
.auth-modal-brand p{position:relative;z-index:1;max-width:300px;margin:25px 0 0;font-size:22px;font-weight:650;line-height:1.3}
.auth-modal-brand-shape{position:absolute;right:-75px;bottom:-110px;width:390px;height:390px;border:52px solid rgba(255,255,255,.2);border-radius:50%;transform:rotate(-25deg)}
.auth-modal-main.auth-page{position:relative;min-width:0;max-height:calc(100dvh - 32px);padding:38px 40px 30px;overflow:auto;color:#20334e;font-size:14px}
.auth-modal-main h2{margin:0 35px 8px 0;color:#1e324a;font-size:29px;font-weight:750;line-height:1.2;letter-spacing:-.035em}
.auth-modal-subtitle{margin:0 0 24px;color:#61738b;font-size:14px;line-height:1.5}
.auth-modal-close{position:absolute;top:16px;right:19px;z-index:2;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:#aab6c4;font-size:28px;line-height:1;cursor:pointer}
.auth-modal-close:hover{background:#f1f5f9;color:#20334e}
.auth-modal-close:focus-visible,.auth-modal-switch:focus-visible{outline:2px solid #2f80f5;outline-offset:3px}
.auth-modal .auth-panel{max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.auth-modal .auth-panel form{padding:0;margin:0;border:0}
.auth-modal .auth-page .form-row{margin-bottom:17px!important}
.auth-modal .auth-page label{font-size:13px}
.auth-modal .auth-page input:not([type=checkbox]):not([type=hidden]),.auth-modal .auth-page select{height:45px;border-radius:8px}
.auth-modal .auth-login-options{margin:14px 0 22px}
.auth-modal .auth-page .auth-submit{min-height:46px;border-radius:8px;background:#2f80f5;font-size:14px}
.auth-modal .auth-page .auth-submit:hover{background:#166fdf}
.auth-modal-switch{display:block;margin:20px auto 0;padding:3px 6px;border:0;background:transparent;color:#2f80f5;font:inherit;font-size:13px;font-weight:650;cursor:pointer}
.auth-modal-switch:hover{text-decoration:underline}
.auth-modal-message{margin:0 0 18px;padding:11px 13px;border:1px solid #f2c2c0;border-radius:8px;background:#fff5f5;color:#ad3434;font-size:13px;line-height:1.5}
.auth-modal-message[hidden]{display:none}
.auth-modal-message.is-success{border-color:#bde5cf;background:#f1fbf5;color:#176641}
.auth-modal-form-host[aria-busy=true]:empty{min-height:160px;background:linear-gradient(90deg,#f5f8fc 25%,#eaf1f9 50%,#f5f8fc 75%);background-size:200% 100%;border-radius:8px;animation:auth-modal-loading 1.3s ease-in-out infinite}
.auth-modal-fallback{display:flex;justify-content:center;margin-top:16px}
.auth-modal.is-register{width:min(1080px,calc(100vw - 32px))}
.auth-modal.is-register .auth-modal-shell{grid-template-columns:minmax(280px,34%) minmax(0,1fr)}
.auth-modal.is-register .auth-modal-brand{display:block}
.auth-modal.is-register .auth-modal-main.auth-page{padding:45px 46px 34px}
.auth-modal.is-register .auth-modal-main h2{font-size:27px}
.auth-modal.is-register .auth-modal-subtitle{display:none}
.auth-modal.is-register .auth-modal-form-host{margin-top:22px}
.auth-modal.is-register .auth-page .auth-fields{gap:0 18px}
.auth-modal.is-register .auth-page fieldset{margin-bottom:18px}
.auth-modal.is-register .auth-page legend{margin-bottom:13px;padding-bottom:10px}
@keyframes auth-modal-loading{to{background-position-x:-200%}}
@media(max-width:740px){
  .auth-modal,.auth-modal.is-register{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:13px}
  .auth-modal-shell,.auth-modal.is-register .auth-modal-shell{grid-template-columns:1fr;max-height:calc(100dvh - 24px)}
  .auth-modal.is-register .auth-modal-brand{display:none}
  .auth-modal-main.auth-page,.auth-modal.is-register .auth-modal-main.auth-page{max-height:calc(100dvh - 24px);padding:31px 22px 24px}
  .auth-modal-main h2,.auth-modal.is-register .auth-modal-main h2{font-size:25px}
  .auth-modal.is-register .auth-page .auth-fields{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.auth-modal-form-host[aria-busy=true]:empty{animation:none}}
