@font-face{font-family:Montserrat;src:url('/assets/Montserrat.ttf') format('truetype');font-weight:100 900;font-display:swap}
.login-page{margin:0;min-height:100vh;display:grid;place-items:center;padding:1.5rem;box-sizing:border-box;background:var(--bg);color:var(--text);font:15px/1.6 Montserrat,Arial,sans-serif}
.login-card{width:min(100%,29rem);box-sizing:border-box;border:1px solid var(--line);border-top:4px solid var(--brand-red);border-radius:12px;padding:2rem;background:var(--card)}
.login-card .brand-logo{max-width:14rem;height:auto;margin-bottom:1.6rem}
.login-card h1{font-size:1.7rem;margin:0 0 .8rem;font-weight:600}
.login-card p{color:var(--muted)}
.login-card button,.dmi-auth-dialog button{font:inherit;padding:.8rem 1.2rem;border:1px solid var(--blue);border-radius:6px;color:var(--on-blue);background:var(--blue);cursor:pointer}
.login-card button:disabled,.dmi-auth-dialog button:disabled{opacity:.6;cursor:wait}
.login-card button:focus-visible,.dmi-auth-dialog button:focus-visible{outline:3px solid var(--blue-hi);outline-offset:4px}
#authStatus{min-height:3.2em;font-size:.85rem;margin-bottom:0}
.dmi-auth-dialog{width:min(28rem,calc(100vw - 4rem));padding:1.6rem;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font:15px/1.6 Montserrat,Arial,sans-serif}
.dmi-auth-dialog h2{font-size:1.25rem;margin:0 0 .7rem}
.dmi-auth-dialog::backdrop{background:var(--bg);opacity:.98}
body.auth-locked> :not(#authDialog){visibility:hidden}
