
.login-modal-open{overflow:hidden}
.login-modal-root[hidden]{display:none!important}
.login-modal-root{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:1rem}
.login-modal-backdrop{position:absolute;inset:0;background:rgba(0,5,10,.78);backdrop-filter:blur(5px)}
.login-modal-dialog{position:relative;z-index:1;width:min(100%,430px);max-height:calc(100vh - 2rem);overflow:auto;padding:1.35rem;border:1px solid rgba(130,194,235,.28);border-radius:15px;background:linear-gradient(180deg,#102230,#07121b);box-shadow:0 24px 70px rgba(0,0,0,.58)}
.login-modal-close{position:absolute;top:.7rem;right:.7rem;width:34px;height:34px;border:1px solid rgba(148,163,184,.2);border-radius:50%;color:#dceaf3;background:rgba(255,255,255,.04);font-size:1.35rem;cursor:pointer}
.login-modal-brand{display:flex;justify-content:center;margin:.15rem 2.5rem .75rem}
.login-modal-brand img{display:block;width:min(230px,80%);max-height:70px;object-fit:contain}
.login-modal-dialog h2{text-align:center;margin:.2rem 0}
.login-modal-intro{text-align:center;color:#a8b8c5;margin:.25rem 0 1rem}
.login-modal-message{padding:.65rem .75rem;margin-bottom:.8rem;border-radius:8px;font-size:.78rem}
.login-modal-message.is-error{color:#ffd6d6;border:1px solid rgba(239,68,68,.34);background:rgba(239,68,68,.1)}
.login-modal-message.is-success{color:#d7ffe3;border:1px solid rgba(34,197,94,.34);background:rgba(34,197,94,.1)}
.login-modal-form{display:grid;gap:.75rem}
.login-modal-form label{display:grid;gap:.35rem}
.login-modal-form label>span{font-size:.72rem;font-weight:750;color:#c5d4df}
.login-modal-form input{width:100%;box-sizing:border-box}
.login-modal-password{display:grid;grid-template-columns:minmax(0,1fr) auto}
.login-modal-password input{border-radius:8px 0 0 8px}
.login-modal-password button{padding:0 .75rem;border:1px solid rgba(148,163,184,.24);border-left:0;border-radius:0 8px 8px 0;color:#dceaf3;background:rgba(255,255,255,.04);cursor:pointer}
.login-modal-remember{display:flex!important;align-items:center;grid-template-columns:none!important;gap:.45rem!important}
.login-modal-remember input{width:auto}
.login-modal-submit{width:100%;justify-content:center}
.login-modal-divider{display:flex;align-items:center;gap:.65rem;margin:1rem 0}
.login-modal-divider:before,.login-modal-divider:after{content:"";height:1px;flex:1;background:rgba(148,163,184,.18)}
.login-modal-divider span{font-size:.68rem;color:#8ea0ad;text-transform:uppercase}
.login-modal-social{display:grid;gap:.55rem}
.login-social-button{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:42px;border:1px solid rgba(148,163,184,.22);border-radius:8px;color:#eaf3f8;background:rgba(255,255,255,.035);font-weight:750;cursor:pointer}
.login-social-button:hover{border-color:rgba(79,174,255,.55);background:rgba(79,174,255,.08)}
.login-social-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:5px;background:#fff;color:#17212a;font-weight:900}
.login-modal-links{display:flex;justify-content:space-between;gap:.75rem;margin-top:1rem;font-size:.75rem}
@media(max-width:480px){.login-modal-dialog{padding:1rem}.login-modal-links{flex-direction:column;text-align:center}}
