.auth{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:var(--bg)}
.auth[hidden]{display:none}
.auth-card{width:min(400px,100%);background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:32px;display:grid;gap:14px}
.auth-card[hidden]{display:none}
.auth-card h1{margin:0;font-size:22px;color:var(--ink)}
.auth-card p{margin:0;color:var(--muted);font-size:14px}
.auth-card label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--ink)}
.auth-card input{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit}
.auth-card .brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--navy);color:#fff}
.auth-msg{color:var(--red)!important;min-height:1em}
.banner{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-size:14px}
.banner.error{background:#fce8e8;color:var(--red)}
.modal-form .checks{display:grid;gap:6px;max-height:160px;overflow:auto}
.modal-form .checks label{display:flex;gap:8px;align-items:center;font-weight:500}
[hidden]{display:none!important}
