.user-select{margin:0;display:flex;align-items:center;gap:8px;color:var(--muted)}
.user-select input{width:150px;padding:9px}
.gate{padding:14px 16px;border-radius:8px;margin-bottom:20px;background:#fff3f1;border:1px solid #ecc5c1;color:#8d2f28}
.gate.ready{background:#edf8f3;border-color:#b9dfce;color:#176147}
.read-confirm{border:0;background:var(--green);color:white;border-radius:6px;padding:7px 11px;font-weight:800;cursor:pointer}
.read-confirm.done{background:#edf8f3;color:var(--green);cursor:default}
.alert.complete{background:#edf8f3;border-color:#b9dfce;border-left-color:var(--green)}
.alert.complete button{display:none}
.primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.quiet{border:1px solid var(--line);background:white;border-radius:6px;padding:7px 10px;cursor:pointer}
.login-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#0d2132,#173c55);display:grid;place-items:center;z-index:50;padding:20px}
.login-overlay.hidden{display:none}
.login-card{width:min(430px,100%);background:white;border-radius:14px;padding:30px;box-shadow:0 25px 80px #0006}
.login-brand{color:var(--ink);padding:0 0 24px}.login-brand small{color:var(--muted)}
.login-card>p{color:var(--muted)}.login-error{color:var(--red)!important;min-height:22px;margin:12px 0 0}
#twoFactorStep{text-align:center}#twoFactorStep[hidden]{display:none}#qrCode{width:210px;height:210px;border:8px solid white;box-shadow:0 2px 15px #0002;margin:8px auto 14px}
#secretCode{font:12px ui-monospace,monospace;overflow-wrap:anywhere;background:#f1f3f4;padding:8px;border-radius:6px}
#currentUser{font-weight:750;color:var(--navy)}
.document-open{display:inline-block;margin-top:12px;color:#d95417;font-weight:800;text-decoration:none}
.document-open:hover{text-decoration:underline}
@media(max-width:900px){.user-select{font-size:0}.user-select input{width:140px;font-size:13px}}
