[hidden] { display:none !important; }
body:not([data-access="interview"]) #focus-shell { display:none !important; }
body:not([data-access="hr"]):not([data-access="interview"]) { display:block; margin:0; overflow:auto !important; }
/* The initial HTML is locked, including while JavaScript or the network fails. */
body:not([data-access="hr"]):not([data-access="interview"]) > .rail,
body:not([data-access="hr"]):not([data-access="interview"]) > .workspace { display:none !important; }
body:not([data-access="hr"]) > dialog:not(#finish-dialog) { display:none !important; }
body[data-access="interview"] .rail,
body[data-access="interview"] .topbar,
body[data-access="interview"] .page-heading,
body[data-access="interview"] .interview-meta,
body[data-access="interview"] .stage-toolbar,
body[data-access="interview"] .capture-strip,
body[data-access="interview"] .session-strip,
body[data-access="interview"] .focus-resume-banner { display:none !important; }
.access-screen { min-height:100dvh; width:100%; background:radial-gradient(ellipse at 50% 0%,#ece6fa 0%,#f8f7fc 65%); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:36px 20px; color:#393247; }
.access-screen[hidden] { display:none; }
.access-brand { font-size:11px; font-weight:700; letter-spacing:.18em; color:#7a679e; text-align:center; margin-bottom:28px; }
.access-brand span { display:block; margin-top:7px; letter-spacing:.06em; font-size:14px; }
.access-card { width:min(100%,570px); padding:38px; background:#ffffffed; border:1px solid #e5deef; border-radius:24px; box-shadow:0 18px 70px #5b39700b; }
.access-card h1 { margin:12px 0; font-size:clamp(23px,4vw,31px); line-height:1.5; }
.access-card > p { line-height:1.9; font-size:14px; }
.access-card form { margin-top:24px; }
.access-card .field { margin:18px 0; }
.access-card .button { min-height:48px; }
.access-note,.access-footer { color:#7d748b; font-size:12px; line-height:1.9; }
.access-footer { margin-top:24px; text-align:center; }
.access-error { color:#a03c54; min-height:1em; overflow-wrap:anywhere; }
.access-staff-button { display:block; margin:20px auto 0; }
.applicant-context { display:flex; flex-direction:column; gap:6px; margin:22px 0; padding:16px 18px; background:#f7f4fc; border-radius:14px; font-size:14px; }
.applicant-context span { color:#82768f; font-size:12px; }
.applicant-guide { font-size:13px; line-height:1.9; color:#6f657e; margin-bottom:20px; }
.applicant-guide p { margin:8px 0; }
.access-card .preflight-acknowledgment { margin:22px 0; font-size:13px; line-height:1.7; }
.applicant-countdown { text-align:center; font-size:76px; line-height:1.5; color:#8169b3; font-variant-numeric:tabular-nums; }
.completion-symbol { width:56px; height:56px; margin:28px auto; border-radius:50%; background:#e8f3ed; color:#598b72; display:grid; place-items:center; font-size:28px; }
#applicant-complete-panel { text-align:center; line-height:1.9; font-size:14px; }
.camera-quality-note { border:1px solid #e8e1f0; background:#faf8fe; border-radius:12px; padding:12px 15px; font-size:12px; line-height:1.8; color:#786989; }
@media(max-width:560px) { .access-card { padding:25px 22px; border-radius:20px; } .access-screen { padding:24px 16px; } }
@media(prefers-reduced-motion:reduce) { .access-screen * { animation:none !important; transition:none !important; } }

#applicant-next-panel { margin-top:26px; border-top:1px solid #e8e0f1; padding-top:24px; text-align:left; }
#applicant-next-button { min-height:54px; font-size:15px; }
.applicant-device-preview { margin:18px auto; text-align:center; }
.applicant-device-preview video { display:block; width:min(100%,240px); aspect-ratio:4/3; object-fit:cover; border-radius:14px; margin:auto; background:#eeeaf5; transform:scaleX(-1); }
#applicant-device-button { margin-bottom:12px; }

.face-observation-choice { margin:20px 0; padding:16px; border:1px solid #e4ddef; background:#faf8fd; border-radius:13px; text-align:left; }
.face-observation-choice strong { font-size:13px; }
.face-observation-choice p { font-size:12px; line-height:1.9; color:#756b82; margin:9px 0; }
.face-observation-choice label { display:flex; align-items:flex-start; gap:9px; font-size:13px; line-height:1.7; cursor:pointer; }
.face-observation-choice input { flex:none; margin-top:4px; accent-color:#7d65b0; }
.face-observation-live { display:block; font-size:11px; line-height:1.7; color:#81758e; text-align:center; }
.applicant-identity { margin:22px 0; padding:18px; border:1px solid #e3dced; border-radius:14px; background:#fcfaff; }
.applicant-identity h2 { margin:0 0 12px; font-size:15px; }
.applicant-identity .field { margin:12px 0 8px; font-size:13px; }
.applicant-identity input[type="text"] { width:100%; min-height:46px; font-size:17px; letter-spacing:.03em; }
.applicant-identity-confirm { display:flex; gap:9px; align-items:flex-start; font-size:13px; line-height:1.7; }
.applicant-identity-confirm input { margin-top:4px; flex:none; accent-color:#7d65b0; }
.reception-ticket { margin:8px 0; font-size:12px; color:#756683; overflow-wrap:anywhere; }
.reception-ticket strong { display:block; margin-top:4px; font-size:19px; color:#58466f; font-variant-numeric:tabular-nums; }
.checkpoint-status { font-size:11px; line-height:1.6; color:#797087; margin:6px 0; }
.checkpoint-status[data-state="delayed"] { color:#9a5b27; }
