/* Registration desk and personal entry cards share the site's navy / blue palette. */
.entry-desk,.entry-public{padding-top:42px;padding-bottom:56px}.entry-desk{max-width:1180px}.entry-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.7px;color:#3269a0}.entry-desk h1{font-size:clamp(25px,3vw,34px);margin:9px 0}.entry-desk h2{font-size:21px;margin:0 0 18px}.entry-desk p,.entry-footnote{color:#52657c;line-height:1.65}.entry-desk-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.entry-desk-header p{margin:8px 0}.entry-session{background:#edf3fb;border:1px solid #d3e0f0;border-radius:16px;padding:22px;margin:24px 0}.entry-desk label{display:grid;gap:8px;font-size:13px;font-weight:650;color:#193c60}.entry-desk input,.entry-desk select{min-width:0;width:100%;min-height:46px;border:1px solid #cbd8e7;border-radius:9px;background:white;padding:11px 12px;font:inherit;color:#163451}.entry-session p{margin:10px 0 0;font-size:13px}.entry-desk-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}.entry-scanner-panel,.entry-result-panel,.entry-history,.entry-staff-grid>section{padding:26px;border:1px solid #dbe4ef;border-radius:18px;background:white;box-shadow:0 8px 30px #163a6507;min-width:0}.entry-camera{background:#0d213b;aspect-ratio:4/3;border-radius:14px;overflow:hidden;position:relative;margin-bottom:18px}.entry-camera video{display:block;width:100%;height:100%;object-fit:cover}.entry-camera-guide{position:absolute;inset:17% 22%;border:2px solid #8fbbef;border-radius:16px;box-shadow:0 0 0 160px #00112844;pointer-events:none}.entry-camera>span{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:12px;color:white}.entry-camera-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.entry-desk [hidden]{display:none!important}.entry-desk button:disabled{opacity:.5;cursor:not-allowed}.entry-scanner-panel>label{margin-top:14px}.entry-image-input{padding:14px;border:1px dashed #9cb5d3;border-radius:10px;background:#f7faff}.entry-image-input input{font-size:12px;padding:4px;border:0;background:transparent}.entry-result{padding:25px;border-radius:12px;background:#f1f5fa;border:1px solid #dbe4ef;min-height:180px;margin-bottom:24px}.entry-result>span{font-size:10px;font-weight:800;letter-spacing:1.4px}.entry-result h2{margin:12px 0;font-size:24px;overflow-wrap:anywhere}.entry-result p{margin:0 0 12px}.entry-result small{display:block;overflow-wrap:anywhere}.entry-result.success{background:#edf8f1;border-color:#8ec5a4;color:#17673b}.entry-result.duplicate{background:#fff8e9;border-color:#dfbf73;color:#89631d}.entry-result.error{background:#fff2f2;border-color:#e6a7a7;color:#9b2929}.entry-result-panel form{display:grid;gap:12px}.entry-result-panel small{line-height:1.6;color:#5d7187}.entry-lookup{margin-top:24px;border-top:1px solid #dbe4ef;padding-top:20px}.entry-lookup summary{cursor:pointer;font-size:13px;font-weight:650;line-height:1.6}.entry-lookup form{margin-top:16px}.entry-match{padding:16px 0;border-bottom:1px solid #e1e8f1;font-size:13px;overflow-wrap:anywhere}.entry-match p{font-size:12px}.entry-local-counter{margin-top:24px;padding-top:18px;border-top:1px solid #dbe4ef;font-size:12px;color:#52657c}.entry-local-counter strong{font-size:23px;color:#173b66;margin-right:8px}.entry-history{margin-top:24px}.entry-history-row{padding:13px 0;border-top:1px solid #e1e8f1;display:flex;justify-content:space-between;gap:16px;font-size:13px}.entry-history-row span{color:#62748a;font-size:12px}.entry-footnote{font-size:12px;margin-top:22px}.entry-login{max-width:480px!important;padding:36px!important;margin:48px auto!important;border:1px solid #dbe4ef;border-radius:18px;box-shadow:0 12px 40px #102e4a0a}.entry-login h1{font-size:30px;margin:12px 0}.entry-login>p{font-size:14px;color:#536980;line-height:1.7}.entry-pass-card{max-width:520px;margin:28px auto;padding:30px 24px;border:1px solid #ccdbed;border-radius:18px;background:#f4f8fd;text-align:center}.entry-pass-card h2{font-size:24px;margin:12px 0 20px}.entry-pass-card .entry-qr{display:block;width:260px;max-width:100%;height:auto;margin:0 auto;border-radius:4px;background:white}.entry-number{display:block;font-variant-numeric:tabular-nums;font-size:22px;letter-spacing:2px;color:#123558;margin:18px 0}.entry-pass-card p{font-size:13px;line-height:1.8;color:#425b75}.entry-pass-card small{display:block;font-size:11px;color:#63778d;margin-top:16px}.entry-public{text-align:center;max-width:800px}.entry-public h1{font-size:26px}.entry-public>p{font-size:14px;line-height:1.7}.entry-staff-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;margin-top:24px}.entry-staff-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e0e7ef;padding:16px 0;margin-bottom:12px}.entry-staff-row small{display:block;margin-top:5px;color:#5d7187}.entry-staff-grid fieldset{border:1px solid #d6e1ee;border-radius:10px;padding:16px;min-width:0}.entry-staff-grid legend{font-size:14px;font-weight:700;padding:0 8px}.entry-staff-grid .check{display:flex;align-items:flex-start;gap:10px;line-height:1.6;font-size:13px;margin:10px 0}.entry-staff-grid .check input{width:17px;min-width:17px;height:17px;margin-top:3px}.entry-email-preview{display:block;width:100%;height:850px;border:1px solid #d6e1ee;border-radius:12px;margin:24px 0;background:#edf2f6}.entry-mail-actions{margin:22px 0;padding:20px;border:1px solid #d6e1ee;border-radius:12px}.entry-mail-actions .check{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;line-height:1.6}.entry-mail-actions .check input{width:18px;height:18px;flex:0 0 18px}.entry-desk .button{font-size:13px;padding:12px 16px}.entry-desk :focus-visible,.entry-login :focus-visible{outline:3px solid #609bde;outline-offset:3px}
@media(max-width:760px){.entry-desk{padding-top:24px}.entry-desk-grid,.entry-staff-grid{grid-template-columns:1fr}.entry-desk-header{align-items:flex-start;flex-direction:column;gap:10px}.entry-scanner-panel,.entry-result-panel,.entry-history,.entry-staff-grid>section{padding:18px;border-radius:14px}.entry-session{padding:18px}.entry-camera{aspect-ratio:1.15}.entry-history-row{flex-direction:column;gap:5px}.entry-login{width:calc(100% - 32px)!important;margin:28px auto!important;padding:24px!important}.entry-pass-card{padding:24px 16px}.entry-number{font-size:19px;letter-spacing:1px}.entry-staff-row{flex-wrap:wrap}.entry-email-preview{height:980px}.entry-desk select{font-size:16px}.entry-desk input{font-size:16px}.entry-camera-actions .button{flex:1}.entry-public h1{font-size:23px}}
.entry-app{background:#f5f8fc;color:#19364f;min-height:100vh}.entry-brand{height:92px;display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1180px;margin:auto;padding:0 24px;border-bottom:1px solid #dbe4ef}.entry-brand img{width:150px;height:84px;object-fit:contain}.entry-brand>span{font-size:12px;color:#5e748a;text-align:right}.entry-app h1,.entry-app h2{font-family:inherit;letter-spacing:-.025em}.entry-app .button{background:#175e9f;color:white;border:1px solid #175e9f;border-radius:9px;box-shadow:none}.entry-app .button.secondary{background:white;color:#175e9f;border-color:#c9d8e9}.entry-app .button:hover{background:#10497f;color:white;transform:none}.entry-app .container{width:min(1180px,calc(100% - 40px))}.entry-app .entry-login{background:white}.entry-app-footer{text-align:center;padding:24px;color:#6e8195;font-size:11px;border-top:1px solid #e0e7ef;margin-top:24px}.entry-app .entry-desk{padding-top:32px}.entry-app label{font-size:14px}.entry-app input:focus,.entry-app select:focus{border-color:#397ebd;outline-color:#397ebd}.entry-app .entry-public{max-width:800px}.entry-app .entry-login input{width:100%}@media(max-width:760px){.entry-brand{height:76px;padding:0 20px}.entry-brand img{width:120px;height:68px}.entry-brand>span{max-width:120px;font-size:11px}.entry-app .container{width:calc(100% - 28px)}.entry-app .entry-desk{padding-top:24px}}
.entry-camera-feedback{padding:13px 15px;border-radius:9px;font-size:14px;line-height:1.6;font-weight:650;margin:14px 0;background:#f1f5fa}.entry-camera-feedback.success{background:#e6f5eb;color:#17673b}.entry-camera-feedback.duplicate{background:#fff3d9;color:#89631d}.entry-camera-feedback.error{background:#fff0f0;color:#9b2929}.entry-hardware{border-top:1px solid #dbe4ef;padding-top:15px;margin-top:16px}.entry-hardware summary{cursor:pointer;font-size:13px;color:#244665}.entry-hardware form{display:grid;gap:10px;margin-top:15px}.entry-hardware small{display:block;margin-top:8px;font-size:11px;line-height:1.6;color:#60748a}

/* Admin-only daily attendance roster: all records, scoped to the QR above it. */
.attendance-entry-list{margin:22px 0;padding-top:20px;border-top:1px solid #dbe4ef;text-align:left;min-width:0;scroll-margin-top:110px}.attendance-entry-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.attendance-entry-heading h3{margin:0;font-size:18px;color:#153857}.attendance-entry-heading h3 span{display:inline-block;padding:3px 9px;margin-left:6px;border-radius:20px;background:#eaf2fc;color:#1d5e9b;font:700 13px/1.5 system-ui}.attendance-entry-heading>a{font-size:12px;white-space:nowrap;color:#1d5e9b;text-decoration:underline}.attendance-entry-note,.attendance-entry-empty{font-size:12px!important;line-height:1.6;color:#61758a}.attendance-entry-empty{padding:16px;background:#f5f8fc;border-radius:10px}.attendance-entry-scroll{max-height:620px;overflow:auto;scrollbar-gutter:stable;padding-right:6px;overscroll-behavior:contain}.attendance-entry-scroll:focus-visible{outline:2px solid #397ebd;outline-offset:3px}.attendance-entry-person{border:1px solid #dbe4ef;background:#f8fafd;border-radius:10px;padding:16px;margin:0 0 12px;min-width:0}.attendance-entry-person-heading{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.attendance-entry-person-heading>a{font-size:15px;font-weight:750;color:#153857;overflow-wrap:anywhere}.attendance-entry-person-heading time{font-size:12px;color:#55718d;font-variant-numeric:tabular-nums}.attendance-entry-person dl{margin:0;display:grid;gap:8px}.attendance-entry-person dl>div{display:grid;grid-template-columns:115px minmax(0,1fr);gap:10px}.attendance-entry-person dt{font-size:11px;font-weight:600;color:#667b90}.attendance-entry-person dd{margin:0;font-size:12px;line-height:1.5;color:#213f5a;overflow-wrap:anywhere}@media(max-width:480px){.attendance-entry-person{padding:13px}.attendance-entry-person dl>div{grid-template-columns:100px minmax(0,1fr);gap:8px}.attendance-entry-heading{flex-wrap:wrap}.attendance-entry-scroll{max-height:580px}}

.admin-entry-card{min-width:180px;max-width:310px;white-space:normal;text-align:left}.admin-entry-credential{display:flex;gap:12px;align-items:center}.admin-entry-credential img{display:block;width:88px;height:88px;max-width:none;background:#fff;border:1px solid #e0e7ef;border-radius:6px}.admin-entry-credential small{display:block;font-size:10px;color:#61768d}.admin-entry-code{display:block;font-size:20px!important;letter-spacing:2px;font-variant-numeric:tabular-nums;color:#133b60;user-select:all}.admin-entry-copy{display:block;border:1px solid #cbdbee;border-radius:6px;padding:5px 7px;background:#f4f8fd;color:#1a5586;font-size:10px;cursor:pointer;margin:6px 0}.admin-entry-open{display:block;font-size:11px;line-height:1.5;color:#1a5586!important;text-decoration:underline}.admin-entry-mail,.admin-entry-status{display:block!important;margin-top:9px;font-size:10px!important;line-height:1.6;color:#62758a}.admin-entry-status{color:#8c5f18}.admin-entry-card.expanded{max-width:none;border:1px solid #d6e2ee;background:#f7faff;padding:24px;border-radius:14px;margin:20px 0}.admin-entry-card.expanded h2{font-size:21px;margin:0 0 8px}.admin-entry-card.expanded>p{font-size:13px;color:#5b7188}.admin-entry-card.expanded .admin-entry-credential{gap:24px;margin-top:16px}.admin-entry-card.expanded img{width:220px;height:220px}.admin-entry-card.expanded .admin-entry-code{font-size:30px!important}.admin-entry-card.expanded .admin-entry-copy{font-size:13px;padding:9px 12px}.admin-entry-card.expanded .admin-entry-open{font-size:13px}.admin-entry-card.expanded .admin-entry-mail{font-size:12px!important}@media(max-width:600px){.admin-entry-card.expanded{padding:18px}.admin-entry-card.expanded .admin-entry-credential{flex-wrap:wrap;gap:16px}.admin-entry-card.expanded img{width:190px;height:190px}.admin-entry-card{max-width:100%}}

/* Keep the latest identity beside the camera without moving the scan target. */
.entry-scanner-panel>.entry-result{min-height:150px;margin:0 0 12px;padding:16px 18px}.entry-scanner-panel>.entry-result h2{font-size:22px;line-height:1.25;margin:6px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.entry-scanner-panel>.entry-result p{font-size:13px;line-height:1.4;margin:4px 0}.entry-scanner-panel>.entry-result small{font-size:12px}.entry-result.pending{background:#edf4ff;border-color:#9fbee8;color:#204d82}@media(max-width:760px){.entry-camera{aspect-ratio:4/3}.entry-scanner-panel>.entry-result{min-height:150px}.entry-scanner-panel>.entry-result h2{font-size:21px}}
