:root{--kiosk-bg:#f7f7f8;--kiosk-surface:#fff;--kiosk-ink:#111113;--kiosk-muted:#55575c;--kiosk-hairline:#0000001a;--kiosk-border-strong:#00000038;--kiosk-accent:#1555e9;--kiosk-accent-dark:#0c3fbc;--kiosk-accent-soft:#1555e914;--kiosk-focus-ring:#1555e947;background:var(--kiosk-bg);color:var(--kiosk-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}button,input{touch-action:manipulation}button:focus-visible,input:focus-visible{outline:4px solid var(--kiosk-accent);outline-offset:2px}#root{height:100dvh;overflow:hidden}.kiosk-activation-shell{background:var(--kiosk-bg);max-width:1080px;min-height:100vh;margin:0 auto;padding:24px}.kiosk-device-loading{color:var(--kiosk-muted);letter-spacing:.01em;place-items:center;min-height:100dvh;font-size:22px;font-weight:600;display:grid}.kiosk-public-shell{background:var(--kiosk-surface);color:var(--kiosk-ink);grid-template-rows:auto 1fr;height:100dvh;display:grid;overflow:hidden}.kiosk-header{background:var(--kiosk-surface);border-bottom:1px solid var(--kiosk-hairline);justify-content:space-between;align-items:center;gap:24px;padding:clamp(16px,2.5vw,28px) clamp(24px,4.5vw,64px);display:flex}.kiosk-branch{align-items:center;gap:20px;min-width:0;display:flex}.kiosk-brand-mark{color:var(--kiosk-accent);flex:none;width:75px;height:34px}.kiosk-branch-text{gap:4px;min-width:0;display:grid}.kiosk-branch-eyebrow{color:var(--kiosk-muted);letter-spacing:.14em;text-transform:uppercase;font-size:20px;font-weight:700}.kiosk-branch h1{color:var(--kiosk-ink);letter-spacing:-.015em;overflow-wrap:anywhere;margin:0;font-size:clamp(24px,3.4vw,38px);font-weight:800;line-height:1.1}.kiosk-clock{text-align:right;flex:none;justify-items:end;display:grid}.kiosk-clock strong{color:var(--kiosk-ink);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:clamp(28px,3.4vw,40px);font-weight:600;line-height:1}.kiosk-flow{min-height:0;display:grid;overflow:hidden}.kiosk-start,.kiosk-step-card,.kiosk-unavailable,.ticket-result{animation:.26s ease-out kiosk-step-in}@keyframes kiosk-step-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.kiosk-start{background:var(--kiosk-surface);color:var(--kiosk-ink);cursor:pointer;font:inherit;text-align:center;border:0;place-items:center;width:100%;min-height:100%;padding:clamp(24px,4.5vw,64px);display:grid}.kiosk-start:focus-visible{outline-color:var(--kiosk-accent);outline-offset:-6px}.kiosk-start:disabled{cursor:wait}.kiosk-start-center{justify-items:center;gap:clamp(24px,3.5vw,40px);display:grid}.kiosk-start-title{letter-spacing:.005em;text-transform:uppercase;max-width:16ch;font-size:clamp(56px,10.5vw,132px);font-weight:800;line-height:1.04;animation:2.8s ease-in-out infinite kiosk-idle-pulse}@keyframes kiosk-idle-pulse{0%,to{opacity:1}50%{opacity:.68}}.kiosk-start-hint{color:var(--kiosk-muted);letter-spacing:.01em;font-size:clamp(20px,2.4vw,28px);font-weight:500;line-height:1.5}.kiosk-step-card,.kiosk-unavailable{background:var(--kiosk-surface);color:var(--kiosk-ink);grid-template-rows:auto 1fr auto;min-height:100%;display:grid}.kiosk-step-head,.kiosk-step-body,.kiosk-step-actions{padding-inline:max(clamp(24px,4.5vw,64px),50% - 460px)}.kiosk-step-head{gap:10px;padding-top:clamp(28px,4vw,44px);padding-bottom:clamp(24px,3vw,32px);display:grid}.kiosk-step-head h2,.kiosk-unavailable h2{color:var(--kiosk-ink);letter-spacing:-.02em;margin:0;font-size:clamp(40px,5.5vw,60px);font-weight:800;line-height:1.1}.kiosk-step-sub{color:var(--kiosk-muted);max-width:56ch;margin:0;font-size:clamp(19px,2.2vw,24px);line-height:1.5}.kiosk-step-body{border-top:1px solid var(--kiosk-hairline);align-content:start;gap:clamp(20px,2.5vw,28px);padding-top:clamp(24px,3vw,32px);padding-bottom:clamp(24px,3vw,32px);display:grid;overflow:hidden}.service-list{gap:16px;display:grid}.service-card{background:var(--kiosk-surface);border:1px solid var(--kiosk-hairline);color:var(--kiosk-ink);cursor:pointer;font:inherit;text-align:left;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;min-height:clamp(96px,12vw,128px);padding:20px 28px;transition:background .14s,border-color .14s,box-shadow .14s,transform .12s;display:flex}.service-card strong{letter-spacing:-.005em;font-size:clamp(24px,3vw,32px);font-weight:650;line-height:1.25}.service-card-check{background:var(--kiosk-accent);color:#fff;opacity:0;border-radius:999px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;transition:opacity .14s,transform .14s;display:inline-flex;transform:scale(.6)}.service-card:not(:disabled):active{transform:scale(.99)}@media (hover:hover) and (pointer:fine){.service-card:not(:disabled):hover{border-color:var(--kiosk-accent);box-shadow:0 0 0 3px var(--kiosk-focus-ring)}}.service-card.is-selected{background:var(--kiosk-accent-soft);border-color:var(--kiosk-accent);box-shadow:0 0 0 1px var(--kiosk-accent)}.service-card.is-selected strong{color:var(--kiosk-accent-dark)}.service-card.is-selected .service-card-check{opacity:1;transform:scale(1)}.service-card:disabled{background:var(--kiosk-bg);color:var(--kiosk-muted);cursor:not-allowed}.kiosk-contact-fields{gap:28px;display:grid}.kiosk-contact-fields label{gap:12px!important}.kiosk-contact-fields label>span:first-child{color:var(--kiosk-ink)!important;font-size:20px!important;font-weight:700!important}.kiosk-contact-fields label>span:not(:first-child){font-size:20px!important}.kiosk-contact-fields input{transition:border-color .14s,box-shadow .14s;background:var(--kiosk-surface)!important;border:1px solid var(--kiosk-border-strong)!important;color:var(--kiosk-ink)!important;border-radius:12px!important;min-height:88px!important;padding-inline:18px!important;font-size:22px!important}.kiosk-contact-fields input:focus-visible{box-shadow:0 0 0 4px var(--kiosk-focus-ring);outline:4px solid var(--kiosk-accent);outline-offset:1px;border-color:var(--kiosk-accent)!important}.kiosk-contact-fields input::placeholder{color:#9a9ca2}.kiosk-step-actions{background:var(--kiosk-surface);border-top:1px solid var(--kiosk-hairline);padding-bottom:calc(clamp(20px, 3vw, 28px) + env(safe-area-inset-bottom,0px));justify-content:space-between;align-items:center;gap:20px;padding-top:clamp(18px,2.5vw,24px);display:flex}.kiosk-step-actions button{font-weight:700;transition:background .14s,transform .12s;border-radius:14px!important;min-height:76px!important;padding-inline:32px!important;font-size:24px!important}.kiosk-step-actions button:last-child{flex:1;max-width:480px;min-height:96px!important;font-size:30px!important}.kiosk-step-actions button:not(:disabled):active{transform:scale(.98)}.kiosk-step-actions button:first-child{min-width:200px;border:1px solid var(--kiosk-border-strong)!important;color:var(--kiosk-muted)!important;background:0 0!important}.kiosk-step-actions .kiosk-back-button{border-width:2px!important;min-width:96px!important;min-height:96px!important;padding-inline:0!important}@media (hover:hover) and (pointer:fine){.kiosk-step-actions button:first-child:not(:disabled):hover{border-color:var(--kiosk-ink)!important;color:var(--kiosk-ink)!important}}.ticket-result{background:var(--kiosk-surface);color:var(--kiosk-ink);cursor:pointer;text-align:center;align-content:center;justify-items:center;gap:clamp(18px,2.5vw,28px);min-height:100%;padding:clamp(24px,4.5vw,64px);display:grid}.ticket-result:active{background:var(--kiosk-bg)}.ticket-result-eyebrow{color:var(--kiosk-muted);letter-spacing:.2em;text-transform:uppercase;font-size:20px;font-weight:800}.ticket-result-number{color:var(--kiosk-ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(120px,22vw,224px);font-weight:800;line-height:.95}.ticket-result-service{font-size:clamp(24px,3vw,32px);font-weight:700}.ticket-result-eta{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:min(100%,560px);margin-top:8px;display:grid}.ticket-result-eta div{background:var(--kiosk-bg);border:1px solid var(--kiosk-hairline);border-radius:16px;gap:6px;padding:20px 16px;display:grid}.ticket-result-eta span{color:var(--kiosk-muted);letter-spacing:.08em;text-transform:uppercase;font-size:20px;font-weight:700}.ticket-result-eta strong{color:var(--kiosk-ink);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:clamp(28px,3.4vw,38px);font-weight:800;line-height:1.1}.ticket-result-note{color:var(--kiosk-muted);margin:0;font-size:19px;font-weight:500;line-height:1.5}.ticket-result-reset{background:var(--kiosk-bg);border:1px solid var(--kiosk-hairline);border-radius:999px;width:min(100%,420px);height:10px;margin-top:8px;overflow:hidden}.ticket-result-reset-bar{background:var(--kiosk-accent);border-radius:999px;height:100%;transition:width 1s linear;display:block}.ticket-result-reset-text{color:var(--kiosk-muted);font-variant-numeric:tabular-nums;margin:0;font-size:20px;font-weight:600}.kiosk-inactivity{z-index:20;background:#1111139e;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.kiosk-inactivity-content{color:#fff;text-align:center;justify-items:center;gap:clamp(20px,3vw,32px);animation:.22s ease-out kiosk-step-in;display:grid}.kiosk-inactivity-content h2{color:#fff;letter-spacing:-.015em;margin:0;font-size:clamp(40px,6vw,64px);font-weight:800;line-height:1.1}.kiosk-inactivity-count{color:#fff;font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;margin:0;display:flex}.kiosk-inactivity-count strong{font-size:clamp(84px,12vw,128px);font-weight:800;line-height:1}.kiosk-inactivity-count span{color:#ffffffb3;font-size:clamp(24px,3vw,32px);font-weight:700}.kiosk-inactivity-note{color:#ffffffbf;margin:0;font-size:22px;line-height:1.5}.kiosk-unavailable{text-align:center;grid-template-rows:none;align-content:center;justify-items:center;gap:20px;padding:clamp(32px,5vw,52px)}.kiosk-unavailable-icon{background:var(--kiosk-accent-soft);color:var(--kiosk-accent-dark);border-radius:999px;justify-content:center;align-items:center;width:72px;height:72px;display:inline-flex}.kiosk-unavailable p{color:var(--kiosk-muted);margin:0;font-size:20px;line-height:1.5}.kiosk-unavailable button{min-width:280px;border-radius:14px!important;min-height:76px!important;font-size:20px!important}@media (prefers-reduced-motion:reduce){.kiosk-start,.kiosk-step-card,.kiosk-unavailable,.ticket-result,.kiosk-inactivity-content,.kiosk-start-title{animation:none}.service-card,.service-card-check,.ticket-result-reset-bar,.kiosk-step-actions button{transition:none}}@media (width<=720px){.kiosk-brand-mark{display:none}.ticket-result-eta{grid-template-columns:1fr}}
