/* VisitorDesk kiosk v1.3. Kept separate from the admin CSS to avoid stale PWA/admin styles. */
:root{
  --brand-primary:#7A43A4;
  --brand-secondary:#575757;
  --brand-bg:#ECECEB;
  --kiosk-ink:#202124;
  --kiosk-muted:#6c7075;
  --kiosk-line:#d9dcdf;
  --kiosk-white:#fff;
  --kiosk-danger:#b42318;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;width:100%;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--kiosk-ink);background:var(--brand-bg)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.kiosk-body{min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.kiosk-body a,.kiosk-body button,.kiosk-body input{font:inherit}
.kiosk-body svg{display:block;max-width:100%}

/* Home screen */
.reception-screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--brand-bg)}
.reception-header{height:118px;min-height:118px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:18px 54px;box-shadow:0 1px 0 rgba(0,0,0,.08);z-index:3}
.reception-brand{display:flex;align-items:center;gap:18px;min-width:0;max-width:58%;font-size:22px;font-weight:700;line-height:1.12;color:#252525}
.reception-logo{height:72px;max-width:360px;object-fit:contain;object-position:left center;display:block}
.reception-mark{width:62px;height:62px;flex:0 0 62px;border-radius:12px;background:var(--brand-primary);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:800;letter-spacing:-.04em}
.reception-org-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reception-welcome{font-size:32px;font-weight:700;font-style:italic;letter-spacing:-.025em;color:#303033;white-space:nowrap;text-transform:uppercase}
.reception-prompt{height:46px;min-height:46px;display:grid;place-items:center;background:var(--brand-secondary);color:#fff;font-size:15px;font-weight:500;letter-spacing:.01em;z-index:2}
.reception-stage{position:relative;isolation:isolate;flex:1;display:grid;place-items:center;padding:48px 44px;overflow:hidden;background-color:var(--brand-bg);background-size:cover;background-position:center}
.reception-stage::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.04))}
.reception-stage.has-background::before{background:rgba(35,35,35,.43)}
.reception-stage::after{content:"";position:absolute;inset:auto -9vw -18vh auto;width:55vw;height:55vw;border-radius:50%;background:rgba(255,255,255,.07);z-index:-1;pointer-events:none}
.reception-choices{width:min(760px,82vw);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.reception-tile{min-height:178px;border:0;border-radius:7px;background:var(--brand-primary);color:#fff;text-decoration:none;padding:22px 24px;display:flex;align-items:stretch;justify-content:space-between;gap:16px;box-shadow:0 7px 22px rgba(0,0,0,.13);transition:transform .12s ease,filter .12s ease;overflow:hidden;position:relative}
.reception-tile:active{transform:scale(.982);filter:brightness(.94)}
.reception-tile:focus-visible{outline:5px solid rgba(255,255,255,.6);outline-offset:4px}
.reception-tile-label{align-self:flex-start;font-size:29px;font-weight:500;line-height:1.12;letter-spacing:-.025em;text-align:left;max-width:70%}
.reception-tile-icon{align-self:flex-end;margin-top:auto;width:66px;height:66px;flex:0 0 66px;border:3px solid rgba(255,255,255,.96);border-radius:5px;display:grid;place-items:center;color:#fff}
.reception-tile-icon svg{width:46px!important;height:46px!important;max-width:46px!important;max-height:46px!important;color:inherit}
.reception-footer{height:52px;min-height:52px;background:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 28px;border-top:1px solid rgba(0,0,0,.08);z-index:3}
.reception-clock{justify-self:start;display:flex;gap:10px;align-items:baseline;color:#666;font-size:12px}.reception-clock strong{font-size:15px;color:#333}
.reception-help{font-size:12px;color:#777;text-align:center}
.reception-lock{justify-self:end;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#777;text-decoration:none}.reception-lock svg{width:18px!important;height:18px!important}

/* Shared flow */
.reception-flow{background:#f3f4f4}
.flow-header{height:84px;min-height:84px;background:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 32px;border-bottom:1px solid var(--kiosk-line);box-shadow:0 2px 9px rgba(0,0,0,.025);z-index:5}
.flow-back{justify-self:start;color:#4f5559;text-decoration:none;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700}.flow-back svg{width:23px!important;height:23px!important}
.flow-title{justify-self:center;font-size:19px;font-weight:800;letter-spacing:-.01em}
.flow-progress{justify-self:end;display:flex;align-items:center;gap:12px;color:#72777b;font-size:12px;font-weight:700}.flow-progress-track{width:110px;height:6px;border-radius:999px;background:#e6e8e8;overflow:hidden}.flow-progress-track i{display:block;height:100%;width:25%;background:var(--brand-primary);border-radius:inherit;transition:width .2s ease}.flow-progress-static{font-size:13px;color:#777}
.flow-stage{flex:1;width:100%;display:flex;align-items:flex-start;justify-content:center;padding:50px 30px 34px;overflow:auto}
.flow-form{width:min(900px,100%)}
.flow-step{display:none}.flow-step.is-active{display:block}
.flow-question{text-align:center;margin:0 auto 30px;max-width:760px}.flow-eyebrow{display:inline-block;color:var(--brand-primary);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.flow-question h1,.completion-stage h1,.badge-success-card h1{font-size:46px;line-height:1.05;letter-spacing:-.045em;margin:0;color:#242627}.flow-question p,.completion-stage p,.badge-success-card p{font-size:18px;line-height:1.5;color:var(--kiosk-muted);margin:12px 0 0}
.flow-alert{max-width:900px;margin:0 auto 18px;padding:14px 16px;border-radius:10px;background:#fff1f0;color:#912018;border:1px solid #fecdca;font-weight:700}
.flow-control{width:100%;max-width:720px;margin:0 auto}.flow-control label{display:block;font-size:13px;font-weight:800;margin-bottom:8px;color:#4f5558}.flow-control input{width:100%;height:62px;padding:0 18px;border:2px solid #d3d7d8;border-radius:9px;background:#fff;color:#1f2223;outline:0;font-size:20px;box-shadow:0 4px 14px rgba(0,0,0,.025)}.flow-control input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-primary) 14%, transparent)}
.flow-control-large{max-width:680px}.flow-control-large input{height:78px;font-size:27px;padding:0 22px}
.flow-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin:0 auto}.flow-two-fields .flow-control{max-width:none}
.flow-inline-error{min-height:19px;margin-top:6px;color:var(--kiosk-danger);font-size:12px;font-weight:750}
.flow-actions{display:flex;justify-content:center;margin-top:32px}.flow-actions.split{justify-content:space-between;gap:12px;max-width:900px;margin-left:auto;margin-right:auto}.flow-primary,.flow-secondary{min-width:190px;min-height:62px;border-radius:9px;border:0;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-size:17px;font-weight:800;cursor:pointer}.flow-primary{background:var(--brand-primary);color:#fff;box-shadow:0 6px 17px rgba(0,0,0,.11)}.flow-secondary{background:#fff;color:#41464a;border:1px solid var(--kiosk-line);box-shadow:none}.flow-primary:active,.flow-secondary:active{transform:translateY(1px)}.flow-primary:disabled{opacity:.7}
.flow-footer{min-height:48px;display:grid;place-items:center;padding:9px 22px;background:#fff;border-top:1px solid var(--kiosk-line);font-size:12px;color:#7c8184;text-align:center}
.button-spinner{width:19px;height:19px;border-radius:50%;border:2.5px solid rgba(255,255,255,.45);border-top-color:#fff;display:inline-block;animation:kioskSpin .8s linear infinite}.button-spinner.dark{border-color:#d3d6d7;border-top-color:var(--brand-primary)}@keyframes kioskSpin{to{transform:rotate(360deg)}}

/* Host picker */
.host-picker{max-width:900px;margin:0 auto}.host-search-wrap{height:64px;background:#fff;border:2px solid #d1d5d6;border-radius:9px;display:flex;align-items:center;padding:0 16px;gap:11px}.host-search-wrap>svg{width:25px!important;height:25px!important;color:#73797c;flex:0 0 25px}.host-search-wrap input{height:100%;flex:1;border:0!important;outline:0!important;box-shadow:none!important;background:transparent;font-size:19px;color:#222;min-width:0;padding:0!important}.host-grid{margin-top:14px;max-height:330px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:2px}.host-option{appearance:none;min-height:78px;background:#fff;color:#222;border:1.5px solid var(--kiosk-line);border-radius:9px;padding:11px 14px;display:grid;grid-template-columns:48px 1fr 30px;align-items:center;gap:12px;text-align:left;box-shadow:none;cursor:pointer}.host-option.is-selected{border-color:var(--brand-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-primary) 12%, transparent)}.host-avatar{width:46px;height:46px;border-radius:8px;background:#eff0f0;color:var(--brand-primary);display:grid;place-items:center;font-weight:850;font-size:17px}.host-option.is-selected .host-avatar{background:var(--brand-primary);color:#fff}.host-copy{display:flex;flex-direction:column;min-width:0}.host-copy strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.host-copy small{font-size:12px;color:#777;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.host-check{width:25px;height:25px;border:1.5px solid #c9cdcf;border-radius:50%;display:grid;place-items:center;color:transparent;font-weight:900}.host-option.is-selected .host-check{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.host-empty{padding:24px;text-align:center;color:#73777a;background:#fff;border:1px dashed var(--kiosk-line);border-radius:9px;margin-top:14px}

/* Photo */
.photo-capture-card{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--kiosk-line);border-radius:12px;padding:20px;display:grid;grid-template-columns:190px 1fr;gap:20px;align-items:center}.photo-capture-preview{width:190px;height:190px;border-radius:10px;background:#eef0f0;overflow:hidden;position:relative}.photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#83898c;font-size:12px;font-weight:700}.photo-placeholder svg{width:54px!important;height:54px!important}.photo-preview-large{width:100%;height:100%;object-fit:cover;display:none}.photo-capture-button{min-height:68px;border-radius:9px;background:var(--brand-primary);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-size:17px;font-weight:800;cursor:pointer}.photo-capture-button svg{width:24px!important;height:24px!important}

/* Sign out */
.signout-stage{padding-top:52px}.signout-search-card{width:min(820px,100%)}.signout-search-wrap{height:72px}.signout-search-wrap input{font-size:22px}.checkout-list-modern{display:grid;gap:10px;margin-top:16px}.checkout-result{appearance:none;min-height:82px;width:100%;padding:12px 16px;border:1.5px solid var(--kiosk-line);border-radius:9px;background:#fff;color:#222;display:grid;grid-template-columns:52px 1fr 36px;align-items:center;gap:13px;text-align:left;cursor:pointer}.checkout-avatar{width:50px;height:50px;background:#eff0f0;color:var(--brand-primary);border-radius:8px;display:grid;place-items:center;font-size:19px;font-weight:850}.checkout-copy{display:flex;flex-direction:column;min-width:0}.checkout-copy strong{font-size:18px}.checkout-copy small{font-size:13px;color:#73777a;margin-top:4px}.checkout-arrow{justify-self:end;font-size:24px;color:var(--brand-primary)}.search-hint,.search-loading,.search-empty{min-height:100px;border:1px dashed #ccd0d1;border-radius:9px;color:#777;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;background:rgba(255,255,255,.6)}.search-loading{gap:10px}.search-empty{flex-direction:column;gap:5px}.search-empty strong{font-size:16px;color:#4b5053}.search-empty span{font-size:13px}
.kiosk-modal{position:fixed;inset:0;background:rgba(18,18,18,.5);backdrop-filter:blur(4px);display:none;place-items:center;padding:25px;z-index:50}.kiosk-modal.is-open{display:grid}.kiosk-modal-card{position:relative;width:min(600px,100%);background:#fff;border-radius:16px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.25);text-align:center}.kiosk-modal-card h2{font-size:36px;letter-spacing:-.04em;margin:3px 0 8px}.kiosk-modal-card>p{font-size:16px;color:#72777a;margin:0}.modal-close{position:absolute;right:14px;top:12px;width:44px;height:44px;border-radius:50%;border:0;background:#f0f1f1;color:#555;padding:0;font-size:27px}.modal-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;margin-top:28px}.modal-actions>*{width:100%}

/* Completion and badge */
.completion-stage,.badge-success-card{flex:1;width:min(760px,calc(100% - 44px));margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 30px}.completion-icon{width:92px;height:92px;color:var(--brand-primary);margin-bottom:22px}.completion-icon svg{width:92px!important;height:92px!important}.completion-home{margin-top:30px}.completion-countdown{margin-top:20px;font-size:13px;color:#858a8d}.badge-success-page{min-height:100vh;min-height:100dvh;background:#f3f4f4;display:flex}.badge-success-card{background:transparent}.arrival-summary{display:grid;grid-template-columns:auto auto;gap:8px 24px;align-items:baseline;text-align:left;background:#fff;border:1px solid var(--kiosk-line);border-radius:10px;padding:18px 22px;margin-top:24px;min-width:min(460px,100%)}.arrival-summary span{font-size:12px;color:#777;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.arrival-summary strong{font-size:17px}.badge-success-actions{display:flex;gap:10px;margin-top:28px}.badge-success-actions>*{min-width:210px}.badge-success-actions svg{width:22px!important;height:22px!important}.badge-note{font-size:12px;color:#777;margin-top:20px;max-width:540px;line-height:1.5}.badge-print-area{position:absolute;left:-99999px;top:0}

@media (max-width:900px) and (orientation:portrait){
  .reception-header{height:112px;min-height:112px;padding:16px 28px}.reception-logo{height:68px}.reception-welcome{font-size:27px}.reception-choices{grid-template-columns:1fr;width:min(560px,82vw)}.reception-tile{min-height:145px}.reception-stage{padding:34px 30px}.flow-progress{display:none}.flow-header{grid-template-columns:1fr auto}.flow-title{justify-self:end}.flow-two-fields{grid-template-columns:1fr}.host-grid{grid-template-columns:1fr}.photo-capture-card{grid-template-columns:160px 1fr}.photo-capture-preview{width:160px;height:160px}
}
@media (max-width:680px){
  .reception-header{height:90px;min-height:90px;padding:12px 16px}.reception-logo{height:58px;max-width:210px}.reception-mark{width:52px;height:52px;flex-basis:52px}.reception-org-name{max-width:200px}.reception-welcome{font-size:18px}.reception-prompt{height:40px;min-height:40px;font-size:13px}.reception-stage{padding:24px 16px}.reception-choices{width:100%;gap:12px}.reception-tile{min-height:128px;padding:18px}.reception-tile-label{font-size:23px}.reception-tile-icon{width:54px;height:54px;flex-basis:54px}.reception-tile-icon svg{width:36px!important;height:36px!important}.reception-footer{grid-template-columns:1fr auto;padding:0 16px}.reception-help{display:none}.flow-header{height:72px;min-height:72px;padding:0 15px}.flow-title{font-size:17px}.flow-stage{padding:28px 15px}.flow-question{margin-bottom:24px}.flow-question h1,.completion-stage h1,.badge-success-card h1{font-size:37px}.flow-question p{font-size:16px}.flow-control-large input{height:70px;font-size:23px}.flow-actions{margin-top:24px}.flow-primary,.flow-secondary{min-height:58px;font-size:16px;padding:0 18px}.flow-actions.split{display:grid;grid-template-columns:1fr 1.4fr}.flow-actions.split>*{min-width:0;width:100%}.host-grid{max-height:280px}.photo-capture-card{grid-template-columns:1fr;max-width:320px}.photo-capture-preview{width:100%;height:220px}.badge-success-actions{width:100%;flex-direction:column}.badge-success-actions>*{width:100%;min-width:0}.arrival-summary{min-width:0;width:100%}.modal-actions{grid-template-columns:1fr}.completion-stage,.badge-success-card{width:100%;padding:35px 20px}
}
@media print{
  .badge-success-page{display:block;padding:0;background:#fff}.badge-success-card.no-print{display:none!important}.badge-print-area{position:static;display:block}.badge-print-area .badge{display:flex;border:0;margin:0}.badge-print-area .badge-photo{display:block}
}

/* VisitorDesk v1.4 category and staff workflows */
.reception-category-grid{max-width:760px}.category-stage{align-items:center}.category-choice-wrap{width:min(820px,100%);margin:auto}.category-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.category-action{min-height:190px;background:#fff;border:2px solid #d8dcde;border-radius:12px;text-decoration:none;color:#292d30;padding:28px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.05)}.category-action:active{transform:scale(.985)}.category-action-icon{width:64px;height:64px;border-radius:10px;background:var(--brand-primary);color:#fff;display:grid;place-items:center;font-size:37px;font-weight:500;margin-bottom:16px}.category-action strong{font-size:28px}.category-action small{font-size:15px;color:#74797c;margin-top:6px}.staff-kiosk-stage{padding-top:42px}.staff-search-card{width:min(940px,100%)}.staff-search-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;max-height:460px;overflow:auto;padding:2px}.staff-search-grid>.search-loading,.staff-search-grid>.search-empty{grid-column:1/-1}.staff-search-person{appearance:none;min-height:92px;background:#fff;color:#222;border:1.5px solid var(--kiosk-line);border-radius:10px;padding:11px 14px;display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:13px;text-align:left;cursor:pointer;box-shadow:none}.staff-search-person:active{transform:scale(.988)}.staff-search-photo{width:58px;height:58px;border-radius:9px;background:#eff0f0;color:var(--brand-primary);display:grid;place-items:center;font-size:21px;font-weight:850;overflow:hidden}.staff-search-photo img{width:100%;height:100%;object-fit:cover}.staff-search-copy{display:flex;flex-direction:column;min-width:0}.staff-search-copy strong{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-search-copy small{font-size:13px;color:#74797c;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-kiosk-status{border-radius:999px;padding:7px 10px;font-size:12px;font-weight:850;white-space:nowrap}.staff-kiosk-status.onsite{background:#ecfdf3;color:#067647}.staff-kiosk-status.offsite{background:#f2f4f7;color:#667085}.staff-modal-avatar{width:84px;height:84px;border-radius:13px;background:#eff0f0;color:var(--brand-primary);display:grid;place-items:center;overflow:hidden;font-size:30px;font-weight:850;margin:0 auto 14px}.staff-modal-avatar img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px) and (orientation:portrait){.staff-search-grid{grid-template-columns:1fr}.category-action-grid{grid-template-columns:1fr}.category-action{min-height:150px}.reception-category-grid{grid-template-columns:1fr!important}}
@media(max-width:680px){.staff-search-grid{grid-template-columns:1fr}.staff-search-person{grid-template-columns:52px 1fr auto;min-height:80px}.staff-search-photo{width:50px;height:50px}.staff-search-copy strong{font-size:16px}.staff-kiosk-status{font-size:11px;padding:6px 8px}.category-action-grid{grid-template-columns:1fr}.category-action{min-height:130px;padding:20px}.category-action-icon{width:54px;height:54px;font-size:31px}.category-action strong{font-size:24px}}

/* --------------------------------------------------------------------------
   VisitorDesk v1.7 timed camera + alphabetical staff sign-in
   -------------------------------------------------------------------------- */
.camera-capture-card{width:min(760px,100%);margin:0 auto;background:#fff;border:1px solid var(--kiosk-line);border-radius:18px;padding:20px;box-shadow:0 18px 50px rgba(20,30,40,.08)}
.camera-stage{position:relative;width:min(430px,100%);aspect-ratio:1/1;margin:0 auto;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,#eef1f2,#dfe5e7);border:1px solid #d9e0e3}
.camera-video,.camera-photo-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.camera-video{transform:scaleX(-1)}.camera-video.is-live{display:block}.camera-photo-preview.is-visible{display:block}
.camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:#697276;gap:8px}.camera-placeholder[hidden]{display:none}.camera-placeholder svg{width:62px!important;height:62px!important;color:var(--brand-primary);margin-bottom:7px}.camera-placeholder strong{font-size:19px;color:#30373a}.camera-placeholder span{font-size:13px;max-width:250px;line-height:1.45}
.camera-guide{position:absolute;inset:8%;display:none;place-items:center;pointer-events:none}.camera-guide.is-visible{display:grid}.camera-guide span{display:block;width:64%;height:78%;border:3px solid rgba(255,255,255,.82);border-radius:48% 48% 42% 42%/42% 42% 55% 55%;box-shadow:0 0 0 999px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.15)}
.camera-countdown{position:absolute;inset:0;display:none;place-items:center;background:rgba(9,16,24,.28);color:#fff;font-size:110px;font-weight:900;text-shadow:0 5px 20px rgba(0,0,0,.28);z-index:5}.camera-countdown.is-visible{display:grid;animation:cameraFade .18s ease}.camera-countdown.is-visible::after{content:"Get ready";position:absolute;bottom:11%;font-size:16px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
@keyframes cameraFade{from{opacity:0}to{opacity:1}}
.camera-controls{max-width:430px;margin:16px auto 0;text-align:center}.camera-main-button{width:100%;min-height:66px}.camera-main-button svg{width:24px!important;height:24px!important}.camera-retake-button{width:100%;min-height:58px}.camera-fallback{display:inline-block;margin-top:12px;font-size:13px;color:#68747a;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.camera-status{margin-top:10px;min-height:19px;font-size:12px;color:#7a8387;line-height:1.45}

.staff-alphabet-stage{padding-top:34px;align-items:flex-start}.staff-letter-card,.staff-results-card{width:min(970px,100%);margin:0 auto}.staff-letter-heading{text-align:center;margin-bottom:26px}.staff-letter-heading h1{max-width:720px;margin-left:auto;margin-right:auto}.staff-alphabet-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.staff-letter-tile{appearance:none;min-height:104px;border:1.5px solid #d9e0e3;border-radius:15px;background:#fff;color:#252b2e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:0 7px 20px rgba(20,30,40,.05);cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.staff-letter-tile strong{font-size:38px;line-height:1;font-weight:850;letter-spacing:-.04em}.staff-letter-tile small{font-size:11px;color:#7b8387;font-weight:700}.staff-letter-tile:not(.is-empty):active{transform:scale(.97)}.staff-letter-tile:not(.is-empty):hover{border-color:var(--brand-primary);box-shadow:0 12px 26px rgba(20,30,40,.09)}.staff-letter-tile.is-empty{background:#f4f5f5;color:#b6bdc0;border-color:#e7e9ea;box-shadow:none;cursor:default}.staff-letter-tile.is-empty small{display:none}
.staff-search-alternative{max-width:680px;margin:28px auto 0;display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center}.staff-search-alternative>span{font-size:13px;font-weight:800;color:#7a8286;white-space:nowrap}.staff-search-alternative .signout-search-wrap{height:58px}.staff-search-alternative input{font-size:18px}
.staff-results-head{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;margin-bottom:22px}.staff-results-head h1{font-size:38px;letter-spacing:-.04em;margin:3px 0 0}.staff-results-back{appearance:none;background:#fff;color:#2e363a;border:1px solid #d9e0e3;box-shadow:none;min-height:48px;padding:0 16px;border-radius:12px;font-weight:800}.staff-letter-results{grid-template-columns:repeat(2,minmax(0,1fr));max-height:520px}.staff-letter-person{min-height:100px;border-radius:14px;padding:14px 16px}.staff-letter-person .staff-search-photo{width:62px;height:62px;border-radius:13px}.staff-letter-person .staff-search-copy strong{font-size:19px}
@media(max-width:900px) and (orientation:portrait){.staff-alphabet-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.staff-letter-results{grid-template-columns:1fr}.camera-stage{width:min(520px,100%)}}
@media(max-width:680px){.camera-capture-card{padding:14px;border-radius:14px}.camera-stage{border-radius:12px}.camera-countdown{font-size:82px}.staff-alphabet-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.staff-letter-tile{min-height:76px;border-radius:11px}.staff-letter-tile strong{font-size:30px}.staff-letter-tile small{font-size:9px}.staff-search-alternative{grid-template-columns:1fr;gap:8px}.staff-search-alternative>span{text-align:center}.staff-results-head{grid-template-columns:1fr}.staff-results-back{justify-self:start}.staff-results-head h1{font-size:30px}.staff-letter-results{grid-template-columns:1fr}}

/* --------------------------------------------------------------------------
   VisitorDesk v1.8 face sign-out, host alphabet and premium camera
   -------------------------------------------------------------------------- */
.optional-label{display:inline-flex;margin-left:8px;padding:3px 8px;border-radius:999px;background:#f0f3f5;color:#718087;font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle}
.full-width-flow{grid-column:1/-1}.registration-input-wrap{display:grid;grid-template-columns:auto 1fr;align-items:center;border:1.5px solid var(--kiosk-line);border-radius:12px;background:#fff;overflow:hidden;min-height:68px}.registration-input-wrap:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-primary) 10%,transparent)}.registration-input-wrap input{border:0!important;box-shadow:none!important;height:66px!important;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.registration-icon{height:100%;display:grid;place-items:center;background:#f1f4f5;color:#49545a;padding:0 16px;font-size:10px;font-weight:900;letter-spacing:.12em}.flow-helper{font-size:12px;color:#7a858a;margin-top:8px}

.host-alphabet-picker{width:min(970px,100%);margin:auto}.host-alphabet-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.host-letter-tile{appearance:none;min-height:96px;border:1.5px solid #d9e0e3;border-radius:15px;background:#fff;color:#252b2e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:0 7px 20px rgba(20,30,40,.05);cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.host-letter-tile strong{font-size:36px;line-height:1;font-weight:850;letter-spacing:-.04em}.host-letter-tile small{font-size:11px;color:#7b8387;font-weight:700}.host-letter-tile:not(.is-empty):active{transform:scale(.97)}.host-letter-tile:not(.is-empty):hover{border-color:var(--brand-primary);box-shadow:0 12px 26px rgba(20,30,40,.09)}.host-letter-tile.is-empty{background:#f4f5f5;color:#b6bdc0;border-color:#e7e9ea;box-shadow:none;cursor:default}.host-letter-tile.is-empty small{display:none}.host-search-alternative{max-width:680px;margin:26px auto 0;display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center}.host-search-alternative>span{font-size:13px;font-weight:800;color:#7a8286;white-space:nowrap}.host-results-head{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;margin-bottom:20px}.host-results-head h2{font-size:34px;letter-spacing:-.035em;margin:3px 0 0}.host-results-back{appearance:none;background:#fff;color:#2e363a;border:1px solid #d9e0e3;box-shadow:none;min-height:48px;padding:0 16px;border-radius:12px;font-weight:800}.host-letter-results{grid-template-columns:repeat(2,minmax(0,1fr));max-height:500px;overflow:auto;padding:2px}.host-letter-results .host-option{min-height:92px;border-radius:14px;padding:13px 14px}.host-letter-results .host-avatar{width:58px;height:58px;border-radius:13px;overflow:hidden}.host-letter-results .host-avatar img{width:100%;height:100%;object-fit:cover}.host-letter-results .host-copy strong{font-size:18px}.host-letter-results .host-copy em{display:block;font-size:11px;font-style:normal;color:#8a9296;margin-top:3px}.host-results-empty{grid-column:1/-1}

.face-signout-stage{align-items:flex-start;padding-top:38px}.signout-face-shell{width:min(1100px,100%);margin:0 auto}.signout-face-heading{display:grid;grid-template-columns:1fr minmax(300px,410px);gap:24px;align-items:end;margin-bottom:26px}.signout-face-heading .flow-question{margin:0;text-align:left}.signout-face-heading .flow-question h1{margin-top:4px}.signout-compact-search{height:60px}.signout-compact-search input{font-size:18px}.checkout-face-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.checkout-face-card{appearance:none;background:#fff;color:#222;border:1.5px solid #dce2e5;border-radius:18px;padding:14px;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:255px;box-shadow:0 10px 28px rgba(15,26,34,.06);cursor:pointer;transition:transform .13s ease,border-color .13s ease,box-shadow .13s ease}.checkout-face-card:hover{border-color:var(--brand-primary);box-shadow:0 18px 38px rgba(15,26,34,.1);transform:translateY(-2px)}.checkout-face-card:active{transform:scale(.98)}.checkout-face-photo{width:118px;height:118px;border-radius:22px;background:linear-gradient(145deg,#edf1f3,#dbe2e5);overflow:hidden;color:var(--brand-primary);display:grid;place-items:center;font-size:40px;font-weight:900;margin-bottom:12px;border:1px solid #d9e0e3}.checkout-face-photo img{width:100%;height:100%;object-fit:cover}.checkout-face-copy{display:flex;flex-direction:column;min-width:0;width:100%}.checkout-face-copy strong{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkout-face-copy small{font-size:12px;color:#737d82;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkout-face-copy em{font-size:11px;font-style:normal;color:#91989c;margin-top:4px}.checkout-face-action{margin-top:auto;padding-top:12px;color:var(--brand-primary);font-size:12px;font-weight:850}.checkout-loading,.checkout-empty{grid-column:1/-1;min-height:180px}.checkout-confirm-photo{width:108px;height:108px;margin:0 auto 14px;border-radius:20px;overflow:hidden;background:linear-gradient(145deg,#edf1f3,#dbe2e5);display:grid;place-items:center;color:var(--brand-primary);font-size:38px;font-weight:900;border:1px solid #d8e0e3}.checkout-confirm-photo img{width:100%;height:100%;object-fit:cover}

.photo-question{margin-bottom:20px}.camera-premium-shell{width:min(980px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);background:#fff;border:1px solid #dce3e6;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(14,27,37,.10)}.camera-premium-view{padding:22px;background:linear-gradient(145deg,#edf1f4,#f7f9fa);position:relative;display:grid;place-items:center}.camera-premium-view .camera-stage{width:min(480px,100%);border-radius:22px;box-shadow:0 18px 45px rgba(10,20,30,.14);border:6px solid #fff}.camera-live-chip{position:absolute;left:34px;top:34px;background:rgba(13,23,30,.76);backdrop-filter:blur(8px);color:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800;display:flex;align-items:center;gap:7px;z-index:6}.camera-live-chip span{width:8px;height:8px;border-radius:50%;background:#29d17d;box-shadow:0 0 0 4px rgba(41,209,125,.15)}.camera-premium-panel{padding:30px;display:flex;flex-direction:column;min-height:100%}.camera-panel-top h3{font-size:26px;letter-spacing:-.03em;margin:10px 0 8px;color:#20292d}.camera-panel-top p{font-size:14px;line-height:1.55;color:#6d777c;margin:0}.camera-optional{display:inline-flex;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--brand-primary) 9%,#fff);color:var(--brand-primary);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.camera-steps-list{list-style:none;padding:0;margin:24px 0;display:grid;gap:14px}.camera-steps-list li{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center}.camera-steps-list b{width:36px;height:36px;border-radius:11px;background:#f0f3f4;color:#4f5d63;display:grid;place-items:center;font-size:13px}.camera-steps-list span{display:flex;flex-direction:column}.camera-steps-list strong{font-size:14px;color:#293237}.camera-steps-list small{font-size:11px;color:#81898d;margin-top:2px}.camera-premium-panel .camera-controls{max-width:none;width:100%;margin:auto 0 0;text-align:left}.camera-premium-panel .camera-fallback{display:block;text-align:center}.camera-premium-panel .camera-status{text-align:center}.camera-placeholder-icon{width:76px;height:76px;border-radius:22px;background:rgba(255,255,255,.72);display:grid;place-items:center;box-shadow:0 12px 28px rgba(20,30,40,.08);margin-bottom:8px}.camera-placeholder-icon svg{width:42px!important;height:42px!important;margin:0!important}.camera-countdown{font-size:124px;backdrop-filter:blur(2px)}.camera-countdown.is-visible::after{content:"Look at the camera"}.camera-guide span{width:60%;height:76%;border-width:2px;box-shadow:0 0 0 999px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.12)}

@media(max-width:980px){.checkout-face-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.camera-premium-shell{grid-template-columns:1fr}.camera-premium-panel{padding:24px}.camera-steps-list{grid-template-columns:repeat(3,1fr);gap:10px}.camera-steps-list li{grid-template-columns:1fr;text-align:center;justify-items:center}.camera-premium-panel .camera-controls{margin-top:8px}.host-alphabet-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.host-letter-results{grid-template-columns:1fr}}
@media(max-width:720px){.signout-face-heading{grid-template-columns:1fr}.checkout-face-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.checkout-face-card{min-height:210px;padding:10px}.checkout-face-photo{width:92px;height:92px;border-radius:17px}.checkout-face-copy strong{font-size:16px}.host-alphabet-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.host-letter-tile{min-height:76px}.host-letter-tile strong{font-size:30px}.host-letter-tile small{font-size:9px}.host-search-alternative{grid-template-columns:1fr;gap:8px}.host-search-alternative>span{text-align:center}.host-results-head{grid-template-columns:1fr}.camera-premium-view{padding:14px}.camera-premium-view .camera-stage{border-width:4px}.camera-premium-panel{padding:20px}.camera-steps-list{grid-template-columns:1fr}.camera-steps-list li{grid-template-columns:36px 1fr;text-align:left;justify-items:stretch}.camera-countdown{font-size:90px}.registration-input-wrap{grid-template-columns:1fr}.registration-icon{display:none}}
