*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,sans-serif;color:#232323;background:#f3f5f6;font-size:15px}a{color:#314953;text-decoration:none}a[href],button,input[type="submit"]{cursor:pointer}button,input{font:inherit}.crms-login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.crms-login-card{width:min(440px,100%);background:#fff;border:1px solid #dde2e5;border-radius:12px;padding:34px;box-shadow:0 12px 40px rgba(31,42,49,.08)}.crms-login-card h1{margin:0 0 6px;font-size:27px}.crms-muted{color:#6b7280}.crms-login-card form{display:grid;gap:16px;margin-top:24px}.crms-login-card label{display:grid;gap:7px;font-weight:600;color:#39434a}.crms-login-card input{width:100%;border:1px solid #d8dfe3;border-radius:9px;background:#fff;padding:12px;color:#232323;outline:none}.crms-login-card input:focus{border-color:#607d8b;box-shadow:0 0 0 3px rgba(96,125,139,.12)}.crms-code{text-align:center;font-size:27px;letter-spacing:8px;font-weight:700}.crms-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:#26343d;color:#fff;padding:10px 16px;font-weight:700;cursor:pointer;min-height:42px;transition:.16s}.crms-btn:hover{background:#172127;transform:translateY(-1px)}.crms-notice{padding:11px 14px;border-radius:9px;margin:0 0 16px;border:1px solid}.crms-notice.is-success{background:#eef5f1;border-color:#ceddd4;color:#315b43}.crms-notice.is-error{background:#fff0f0;border-color:#efc4c4;color:#9e2020}.crms-display-placeholder{min-height:100vh;display:grid;place-items:center;text-align:center;padding:30px}.crms-display-placeholder h1{font-size:34px;margin:0 0 8px;color:#26343d}@media(max-width:520px){.crms-login-card{padding:25px 20px}}

/* Standalone resident/device scanning pages use the public stylesheet. */
.crms-login-card [hidden]{display:none!important}
.crms-scan-confirmation{font-size:1.35rem;font-weight:700;padding:14px;border:2px solid #278f00;border-radius:10px;overflow-wrap:anywhere}
.crms-scan-confirmation.crms-scan-blocked{color:#b00020;background:#fff0f2;border-color:#b00020;font-size:1.6rem;font-weight:800}
.crms-rapid-viewport{position:relative;max-width:100%;margin:12px 0}
.crms-rapid-viewport video,#scan-video{width:100%;max-height:48vh;object-fit:contain;background:#182019}
.crms-rapid-viewport .crms-scan-confirmation{position:sticky;bottom:8px;margin:4px 0;background:#f4ffef;color:#278f00;z-index:2}
.crms-rapid-viewport .crms-scan-confirmation[data-state=error]{color:#b00020;border-color:#b00020;background:#fff1f1}
#rapid-open-status{color:#b00020;font-weight:700}#rapid-status:empty{display:none}
#rapid-status img{float:left;object-fit:contain;margin:0 12px 4px 0;background:#f3f5f3}#rapid-status{display:flow-root}
/* Identity feedback stays compact enough to read beside the scan controls. */
#resident-scan-preview.crms-scan-confirmation{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:10px;margin-top:12px;padding:14px}
#resident-scan-preview.crms-scan-confirmation:empty{display:none}
#resident-scan-preview img{width:80px!important;height:96px!important;grid-column:1;grid-row:2}
#resident-scan-preview h2{font-size:22px;line-height:1.2;margin:0;overflow-wrap:anywhere;grid-column:2;grid-row:2}
#resident-scan-preview strong{grid-column:1/-1;grid-row:1;font-size:23px;line-height:1.25}
