@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/dm-sans-latin-variable.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/space-grotesk-latin-variable.woff2') format('woff2')}
:root{color-scheme:dark;font-family:'DM Sans',system-ui,sans-serif;color:#eeeff5;background:#0e1018}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 20%,#29223d66,transparent 65%);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
.login-shell{width:min(100%,500px);margin:0 auto;padding:clamp(35px,10vh,110px) 24px 35px}
.brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:38px}
.brand>span{font-family:'Space Grotesk',sans-serif;font-size:32px;font-weight:600;line-height:30px;letter-spacing:-1px}
.brand-subtitle{display:block;font-family:'DM Sans',sans-serif;font-size:9px;font-weight:500;color:#9895ac;line-height:18px;letter-spacing:2.15px}
.login-card{padding:35px;border:1px solid #353044;border-radius:14px;background:linear-gradient(145deg,#1f1c2b,#151822 65%);box-shadow:0 24px 70px #07080e55}
.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.8px;color:#b6a4ff;margin:0 0 13px}
h1{margin:0;font-family:'Space Grotesk',sans-serif;font-size:29px;font-weight:500;line-height:1.2;letter-spacing:-1px}
.login-description{font-size:13px;line-height:1.8;color:#aaa8bb;margin:14px 0 28px}
label{display:block;font-size:12px;font-weight:500;margin-bottom:10px;color:#d2cadd}
input{display:block;width:100%;min-height:47px;padding:11px 13px;border:1px solid #51465e;border-radius:6px;background:#11131e;color:#eeeff5;font:16px 'DM Sans',system-ui,sans-serif}
input[aria-invalid=true]{border-color:#e694a2}
.field-hint{font-size:11px;line-height:1.7;color:#8f8a9f;margin:10px 0 23px}
button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:45px;padding:12px 16px;border:1px solid #c9baff;border-radius:6px;background:#b6a4ff;color:#211c33;font:600 12px 'DM Sans',system-ui,sans-serif;cursor:pointer;touch-action:manipulation}
button:hover{background:#c4b4ff}
button:disabled{opacity:.65;cursor:wait}
input:focus-visible,button:focus-visible{outline:2px solid #b6a4ff;outline-offset:4px}
.login-error{font-size:12px;line-height:1.7;color:#e6acb8;padding:11px 13px;border:1px solid #654650;background:#2a1e28;border-radius:6px;margin:0 0 17px;overflow-wrap:anywhere}
.login-note{display:flex;align-items:flex-start;gap:9px;margin-top:26px;padding-top:22px;border-top:1px solid #343040;color:#9892a9;font-size:10px;line-height:1.8}
.status-dot{width:6px;height:6px;flex-shrink:0;margin-top:6px;border-radius:50%;background:#86dbc1}
.login-footer{text-align:center;color:#77718a;font-size:11px;margin:26px 0 0}
@media(max-width:420px){.login-shell{padding-left:18px;padding-right:18px}.login-card{padding:27px 23px}h1{font-size:27px}}
