/* Hidden by default; access comes only from the verified server session. */
body:not(.admin-tools-visible) [data-admin-only],body:not(.camera-lab-visible) [data-camera-lab]{display:none!important}
.auth-pending>main,.auth-pending>#scan-stage,.auth-pending>.controls{display:none!important}
.auth-gate{max-width:440px;margin:20vh auto;padding:30px;text-align:center}.auth-gate h1{font-size:22px;letter-spacing:.14em}
.account-compact{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 0;padding:12px 0;border-bottom:1px solid #24323a;color:#bdcbd2;font-size:12px}.account-compact strong{font-weight:400;overflow-wrap:anywhere}.account-compact button{padding:8px 14px;font-size:12px;white-space:nowrap}
.session-status{margin-top:10px}.session-status:has(a[hidden]){display:none}
.login-page main{max-width:510px;padding-bottom:24px}.login-hero{position:relative;text-align:center;padding:205px 12px 10px;isolation:isolate}.login-iris{position:absolute;z-index:-1;top:-8px;left:50%;transform:translateX(-50%);width:330px;max-width:100%;height:auto;opacity:.85;mask-image:linear-gradient(#000 70%,transparent)}
.login-hero h1{font-size:clamp(30px,8vw,40px);font-weight:300;line-height:1.25;letter-spacing:.15em;margin:12px 0 18px}.login-hero .screen-kicker{font-size:12px;letter-spacing:.22em}.login-lead{font-size:16px;line-height:1.8;color:#c7d5df}.login-card{text-align:center;margin:20px 6px 0;padding:25px 23px;border:1px solid #27343f;border-radius:18px;background:linear-gradient(145deg,#0c171dcc,#060b10cc)}
.login-card h2{font-size:18px;font-weight:400;letter-spacing:.06em}.login-card .note{font-size:14px;line-height:1.9}.line-login-button{width:100%;margin:14px 0 8px;background:#06c755;border-color:#06c755;color:#fff;box-shadow:0 5px 25px #06c75518;min-height:52px;font-size:15px;font-weight:600;letter-spacing:.03em}.line-login-button span{float:right}.line-login-button:disabled{background:#178048;border-color:#178048;opacity:.6}.login-status{min-height:24px}.login-privacy{font-size:12px;line-height:1.9;color:#98aab7;border-top:1px solid #23313b;padding-top:18px;margin-top:20px}.login-card>a{font-size:12px;color:#b8dcee;text-underline-offset:4px}.login-page footer{font-size:12px;line-height:2;letter-spacing:.08em;padding:24px 0 0}
@media(max-height:800px){.login-hero{padding-top:160px}.login-iris{width:280px}.login-hero h1{font-size:30px}.login-card{margin-top:8px;padding:20px}}

#subjective-options button:disabled{opacity:.2;cursor:not-allowed;box-shadow:none}#camera-help{margin:16px 0}#camera-help a{display:inline-block;padding:12px 0}#camera-resume{position:relative;z-index:120;margin:12px auto;max-width:320px;width:100%;background:#122b39;border-color:#a9dcfa;color:#fff}

body:has(#setup-card:not([hidden])) .brand-header .scan-edition{visibility:hidden}

.projection-panel{margin:24px 0;padding:24px;border:1px solid #294453;border-radius:18px;background:linear-gradient(135deg,#0b1922,#060c12);text-align:center}.projection-panel h3{font-size:18px;font-weight:400}.projection-value{margin:14px 0;color:#b4e3ff}.projection-value strong{font-size:56px;font-weight:300}.projection-value span{margin-left:8px;font-size:22px}.projection-panel .note{font-size:14px;line-height:1.8}
#scan-stage[data-phase="instruction"] #stage-instruction{display:none}
.store-gate{margin:12vh auto;max-width:470px}.store-lead{margin:28px 0;font-size:18px;color:#d8e8f1}.store-gate form{text-align:left;border:1px solid #29404e;border-radius:18px;padding:24px;background:linear-gradient(140deg,#0a1821,#060b10)}.store-gate input{display:block;width:100%;box-sizing:border-box;margin:12px 0;padding:15px;border:1px solid #3b5363;border-radius:10px;background:#050c12;color:#edf7ff;font:inherit;font-size:16px}.store-gate input:focus{outline:2px solid #98d9ff;outline-offset:3px}.store-gate button{width:100%;margin-top:12px}.store-gate .note{font-size:13px;line-height:1.8}.store-storage-note{margin-top:24px;color:#92a6b5;font-size:12px;line-height:2}body[data-page="store"] .session-status{display:none}

.store-login-card{border:1px solid #29404e;border-radius:18px;padding:24px;background:linear-gradient(140deg,#0a1821,#060b10)}.store-login-card .note{font-size:16px;line-height:1.8}.store-gate .line-login-button{margin-top:16px}.store-gate>a,.store-gate p>a{font-size:13px;color:#b8dcee}

.staff-registration{margin:20px 0;text-align:left;padding:20px;border:1px solid #35536a;border-radius:16px;background:#0a1721}.staff-registration h2{font-size:18px;line-height:1.5}.staff-registration .field-label{font-size:14px}.staff-registration input{font-family:monospace;font-size:13px}.staff-registration .note{font-size:14px}.store-gate:has(.staff-registration:not([hidden])){margin-top:4vh}.store-gate:has(.staff-registration:not([hidden])) .store-lead{display:none}.store-gate:has(.staff-registration:not([hidden])) .store-login-card>p{display:none}

.report-delivery{margin-top:24px;padding:22px;border:1px solid #34576d;border-radius:18px;background:#08141b;text-align:center}.report-delivery h3{font-size:18px}.report-delivery p{font-size:14px;line-height:1.8}.report-delivery img{display:block;width:260px;max-width:100%;height:auto;margin:16px auto;border:10px solid white;border-radius:8px}.report-delivery strong{display:block;font-size:22px;overflow-wrap:anywhere;margin:15px}.report-delivery button{margin:5px;font-size:14px}.report-delivery #delivery-code{font-family:monospace;letter-spacing:.2em}.report-delivery .danger{color:#ffb5a2;border-color:#6a3e38}

.customer-reports-link{display:inline-block;padding:12px;color:#b1e5ff;font-size:14px;text-underline-offset:5px}

body[data-page="store"] .history-panel{display:none!important}
.store-resume-open{display:block;width:min(100%,340px);margin:16px auto 0;min-height:48px;font-size:14px}
.store-resume select{max-width:100%;font-size:16px}.store-resume .notice,#store-current-before{overflow-wrap:anywhere;line-height:1.7}
#store-target-label{align-items:flex-start;line-height:1.8;font-size:14px;padding:14px 0}#store-target-confirmed{margin-top:5px;flex-shrink:0;width:20px;height:20px}
@media(min-width:768px){body[data-page="store"] .scan-intro{padding-top:225px}body[data-page="store"] .iris-hero{width:300px}body[data-page="store"] .setup-card{max-width:650px;margin-left:auto;margin-right:auto}}

/* ID/password login uses one card, with enough room for password managers. */
.store-login-card form{border:0;padding:0;background:none}.store-login-card .note{font-size:13px}.store-gate:has(#staff-setup-panel:not([hidden])){margin-top:5vh}

#store-setup-title:focus{outline:none}#store-before-form input,#store-before-form select{font-size:16px}#store-before-back{margin-bottom:12px}#store-setup-step{color:#a4d9f5}#store-before-staff,#store-customer-input{min-width:0}
