@import "https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Share+Tech+Mono&family=Exo+2:wght@300;400;500;600;700;800&display=swap";html,body{width:100%;height:100%;margin:0}:root{--green-deep:#0a2e1a;--green-dark:#0d3d21;--green-mid:#145c32;--green-accent:#1a7a43;--green-bright:#22a05a;--green-light:#2ec46e;--yellow:#f5c800;--black:#050e08;--white:#f0f7f3;--white-dim:#f0f7f3b8;--white-muted:#f0f7f36b;--border:#22a05a42;--danger:#d32f2f;--danger-bg:#c62828}*{box-sizing:border-box}html,body{background:var(--black);min-width:320px;min-height:100%;color:var(--white);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:"Exo 2",system-ui,sans-serif}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.kiosk-page{height:100svh;min-height:100svh;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));background:radial-gradient(circle at 12% 8%,#22a05a59,#0000 34rem),radial-gradient(circle at 88% 86%,#f5c80024,#0000 28rem),linear-gradient(145deg,#050e08 0%,#092616 54%,#050e08 100%);grid-template-rows:auto 1fr;display:grid;position:relative;overflow:hidden}.bg-grid{z-index:0;pointer-events:none;background-image:linear-gradient(#22a05a14 1px,#0000 1px),linear-gradient(90deg,#22a05a14 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;mask-image:linear-gradient(#000000f2,#00000047)}.kiosk-topbar,.kiosk-stage{z-index:1;position:relative}.kiosk-topbar{border:1px solid var(--border);backdrop-filter:blur(16px);background:#050e08bd;border-radius:8px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;min-height:88px;padding:12px 14px 12px 16px;display:grid;box-shadow:0 12px 32px #00000038}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{width:54px;height:54px;color:var(--yellow);background:#0a2e1ab8;border:1px solid #f5c80057;border-radius:8px;place-items:center;font:700 1.7rem/1 Rajdhani,sans-serif;display:grid}.brand-eyebrow,.instruction-label{color:var(--yellow);letter-spacing:.12em;text-transform:uppercase;margin:0 0 3px;font:700 .68rem/1 Share Tech Mono,monospace}.brand-lockup h1,.action-header h2{color:var(--white);letter-spacing:0;margin:0;font-family:Rajdhani,sans-serif;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1}.clock{min-width:104px;color:var(--white);font-variant-numeric:tabular-nums;text-align:center;font:700 clamp(1.5rem,3.8vw,2.25rem)/1 Share Tech Mono,monospace}.add-employee-button{width:66px;height:58px;color:var(--white);background:linear-gradient(145deg, var(--green-accent), var(--green-mid));border:1px solid #2ec46e80;border-radius:8px;justify-self:end;place-items:center;font:500 3.4rem/.8 Rajdhani,sans-serif;display:grid;box-shadow:0 10px 26px #22a05a3d}.add-employee-button:focus-visible,.primary-button:focus-visible,.icon-button:focus-visible,input:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.kiosk-stage{grid-template-rows:minmax(0,1fr) auto;gap:16px;width:min(920px,100%);min-height:0;margin:0 auto;padding:18px 0 0;display:grid}.camera-shell{border:1px solid var(--border);background:#050e08c7;border-radius:8px;grid-template-rows:minmax(0,1fr);min-height:0;display:grid;overflow:hidden;box-shadow:0 16px 46px #00000047}.camera-frame{aspect-ratio:auto;background:linear-gradient(135deg,#0a2e1aa3,#050e08f0),#08180f;min-height:0;display:grid;position:relative;overflow:hidden}.camera-video{object-fit:contain;background:#050e08;width:100%;height:100%;transform:scaleX(-1)}.face-guide{pointer-events:none;border:2px solid #f5c800b3;border-radius:999px;position:absolute;inset:11% 23%;box-shadow:0 0 0 999px #050e083d,0 0 30px #f5c80021}.face-guide span{background:#f5c800b8;width:46%;height:2px;position:absolute;bottom:9%;left:50%;transform:translate(-50%)}.face-scan-visual{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.face-scan-visual[hidden]{display:none}.face-map{width:100%;height:100%;display:block}.scan-line{top:var(--scan-top,0);opacity:0;width:0;height:3px;box-shadow:0 0 7px #fff, 0 0 18px var(--green-light), 0 10px 28px #2ec46e94;background:#b8ffda;position:absolute;left:0}.face-scan-visual[data-phase=scan] .scan-line{opacity:1;animation:1.1s cubic-bezier(.45,0,.55,1) forwards face-scan-down}.demo-badge{z-index:4;color:var(--yellow);letter-spacing:.08em;text-transform:uppercase;background:#050e08c7;border:1px solid #f5c8008a;border-radius:999px;padding:7px 10px;font:700 .72rem/1 Share Tech Mono,monospace;position:absolute;top:14px;left:14px}@keyframes face-scan-down{0%{transform:translateY(0)}to{transform:translateY(var(--scan-distance,0))}}.kiosk-page[data-state=identifying] .face-guide{opacity:.22;transition:opacity .18s}.camera-overlay{min-height:38px;color:var(--white);text-align:center;background:#050e08c2;border:1px solid #f0f7f31f;border-radius:8px;padding:10px 12px;font-weight:700;position:absolute;inset:auto 18px 18px}.shift-meta,.token-warning{color:var(--white-dim);margin:0;line-height:1.35}.kiosk-controls{padding-bottom:2px;display:grid}.primary-button,.checkout-button,.action-button{color:#fff;letter-spacing:.08em;text-transform:uppercase;border:0;border-radius:8px;justify-content:center;align-items:center;width:100%;min-height:58px;padding:0 18px;font-weight:800;display:inline-flex}.primary-button{background:var(--green-bright);min-height:72px;font-size:clamp(1.15rem,2.7vw,1.55rem);box-shadow:0 10px 28px #2ec46e47}.checkout-button{background:var(--danger);box-shadow:0 10px 28px #d32f2f38}.toast-notification{z-index:40;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));backdrop-filter:blur(10px);background:#050e08ad;place-items:center;animation:.18s ease-out toast-backdrop-enter;display:grid;position:fixed;inset:0}.toast-notification[hidden]{display:none}.toast-card{color:#fff;text-align:center;background:linear-gradient(145deg,#911818fa,#4f0c0cfa);border:1px solid #ff7070a8;border-radius:12px;justify-items:center;gap:18px;width:min(520px,100%);padding:34px 30px;font-size:clamp(1.1rem,2.8vw,1.45rem);font-weight:800;line-height:1.35;animation:.22s ease-out toast-card-enter;display:grid;box-shadow:0 24px 80px #00000094}.toast-card p{margin:0}.toast-icon{border:2px solid;border-radius:999px;place-items:center;width:64px;height:64px;font:800 2rem/1 Rajdhani,sans-serif;display:grid}.toast-notification[data-tone=success] .toast-card{background:linear-gradient(145deg,#145c32fc,#073019fc);border-color:#2ec46eb8}.toast-notification[data-tone=success] .toast-icon:before{content:"✓"}.toast-notification[data-tone=error] .toast-icon:before{content:"!"}.toast-notification.is-leaving{opacity:0;transition:opacity .18s}@keyframes toast-backdrop-enter{0%{opacity:0}}@keyframes toast-card-enter{0%{opacity:0;transform:translateY(12px)scale(.96)}}.action-panel,.employee-panel{z-index:20;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));backdrop-filter:blur(12px);background:#050e08b8;place-items:center;display:grid;position:fixed;inset:0}.action-panel[hidden],.employee-panel[hidden]{display:none}.action-card,.employee-card{border:1px solid var(--border);background:#08180f;border-radius:8px;gap:16px;width:min(520px,100%);max-height:min(720px,100%);padding:20px;display:grid;overflow:auto;box-shadow:0 22px 70px #00000070}.action-card{gap:24px;width:min(720px,100%);padding:34px}.action-card .instruction-label{margin-bottom:8px;font-size:.9rem}.action-card .action-header h2{font-size:clamp(2.3rem,5vw,3.35rem)}.action-card .shift-meta{margin-top:8px;font-size:clamp(1.15rem,2.5vw,1.5rem)}.action-card .icon-button{flex:none;width:64px;height:64px;font-size:2rem}.employee-card{width:100%;height:100%;max-height:none;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.employee-panel{background:#08180f;place-items:stretch stretch;padding:0}.employee-card>.action-header,.employee-card>.employee-form,.employee-card>.face-enrollment-step,.employee-card>.employee-status{justify-self:center;width:min(720px,100%)}.employee-card>.action-header{width:min(900px,100%)}.action-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.icon-button{border:1px solid var(--border);width:44px;height:44px;color:var(--white);background:#f0f7f30f;border-radius:8px;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;display:inline-flex}.employee-form,.face-enrollment-step{gap:16px;min-height:0;display:grid;overflow:auto}.employee-form[hidden],.face-enrollment-step[hidden]{display:none}.field-label{color:var(--white-dim);gap:7px;font-weight:700;display:grid}.field-label input{width:100%;min-height:54px;color:var(--white);background:#f0f7f30f;border:1px solid #2ec46e52;border-radius:8px;padding:0 14px;font:600 1rem/1 "Exo 2",sans-serif}.password-field{display:block;position:relative}.password-field input{padding-right:58px}.password-toggle{width:44px;height:44px;color:var(--white-dim);background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{color:var(--white);background:#2ec46e1f}.password-toggle:focus-visible{outline:2px solid var(--yellow);outline-offset:1px}.password-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:24px;height:24px}.password-toggle[aria-pressed=true] .eye-slash{display:none}.field-label input::placeholder{color:var(--white-muted)}.employee-submit-button{margin-top:4px}.employee-form{align-self:center;padding-block:14px}.face-enrollment-step{text-align:center;align-content:start;justify-items:center;padding:14px 0}.face-enrollment-step h3,.face-enrollment-step p{margin:0}.face-enrollment-step h3{font:700 clamp(1.5rem,4vw,2rem)/1 Rajdhani,sans-serif}.face-enrollment-step p{color:var(--white-dim);line-height:1.45}.enrollment-preview{aspect-ratio:4/3;background:#050e08;border:1px solid #2ec46e61;border-radius:10px;width:min(440px,100%,56svh);position:relative;overflow:hidden;box-shadow:0 12px 28px #00000047}.enrollment-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.enrollment-face-guide{pointer-events:none;border:2px solid #f5c800cc;border-radius:999px;position:absolute;inset:8% 25%;box-shadow:0 0 0 999px #050e0829}.enrollment-preview.is-recording{border-color:var(--yellow);box-shadow:0 0 0 3px #f5c8002e,0 12px 28px #00000047}.enrollment-icon{border:2px solid var(--green-light);width:58px;height:58px;color:var(--green-light);border-radius:999px;place-items:center;font-size:1.8rem;font-weight:800;display:grid}.recording-countdown{text-align:center;background:#050e08c7;border:1px solid #f0f7f324;border-radius:7px;min-height:34px;padding:8px 10px;font:700 1.25rem/1.2 Share Tech Mono,monospace;position:absolute;bottom:10px;left:10px;right:10px;color:var(--yellow)!important}.employee-status{min-height:22px;color:var(--yellow);text-align:center;margin:0;font:700 .8rem/1.35 Share Tech Mono,monospace}.action-list{gap:16px;display:grid}.action-list .feedback-message{color:var(--white-dim);text-align:center;background:#f0f7f30d;border:1px solid #f0f7f31f;border-radius:8px;margin:0;padding:12px 14px}.action-button{min-height:88px;box-shadow:none;text-align:left;background:#2ec46e24;border:1px solid #2ec46e42;justify-content:space-between;gap:20px;padding:14px 28px;font-size:1.3rem}.action-button-label{min-width:0}.meal-elapsed-time{color:var(--yellow);font-variant-numeric:tabular-nums;letter-spacing:0;border-left:1px solid #f5c8006b;flex:none;padding-left:24px;font:700 1.35rem/1 Share Tech Mono,monospace}.action-card .checkout-button{min-height:88px;font-size:1.3rem}.action-button[data-action-kind=end]{background:#f5c8001f;border-color:#f5c80052}.token-warning{min-height:22px;color:var(--yellow);text-align:center;font:700 1rem/1.3 Share Tech Mono,monospace}.kiosk-page[data-state=identifying] .camera-overlay,.kiosk-page[data-state=submittingAction] .camera-overlay,.kiosk-page[data-state=creatingEmployee] .camera-overlay,.kiosk-page[data-state=recordingFace] .camera-overlay,.kiosk-page[data-state=enrollingFace] .camera-overlay{color:var(--yellow)}@media (width<=720px){.kiosk-page{padding-inline:max(12px, env(safe-area-inset-left))}.camera-frame{aspect-ratio:3/4;min-height:300px}.face-guide{inset:12% 14%}}@media (prefers-reduced-motion:reduce){.face-scan-visual[data-phase=scan] .scan-line{animation-duration:1ms}}@media (width>=600px) and (width<=760px) and (height>=1000px){.kiosk-page{height:100svh;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.kiosk-topbar{min-height:94px}.brand-lockup h1{font-size:2rem}.kiosk-stage{gap:14px;padding-top:14px}.camera-frame{aspect-ratio:auto;min-height:0}.primary-button{min-height:76px;font-size:1.3rem}.action-card{width:min(680px,100%);padding:32px}.action-button,.checkout-button{min-height:88px;font-size:1.25rem}}@media (width<=460px){.action-card{gap:18px;padding:22px}.action-card .action-header h2{font-size:2rem}.action-card .icon-button{width:52px;height:52px}.kiosk-topbar{gap:8px;padding:10px}.brand-mark{width:44px;height:44px}.brand-lockup h1{font-size:1.35rem}.brand-lockup{gap:8px}.clock{min-width:74px;font-size:1.25rem}.add-employee-button{width:50px;height:46px;font-size:2.65rem}.camera-frame{min-height:260px}.primary-button,.checkout-button,.action-button{min-height:54px;font-size:.88rem}.action-button{gap:12px;padding-inline:16px}.meal-elapsed-time{padding-left:12px;font-size:1rem}}
