.jv-waiter-app-page{--waiter-accent:var(--accent, #f7d91b);--waiter-accent-hover:var(--accent-hover, #efd016);--waiter-accent-text:var(--accent-text, #171817);min-height:100dvh;padding:0;overscroll-behavior-x:none;background:#ebece8}.waiter-station{min-height:100dvh;color:#171817}.waiter-kicker{margin:0 0 7px;color:#767a75;font-size:.72rem;font-weight:800;letter-spacing:.105em;line-height:1.2;text-transform:uppercase}.waiter-login{display:grid;min-height:100dvh;grid-template-rows:auto auto auto;align-content:start;overflow:visible;background:#f8f8f5}.waiter-login__brand{display:flex;min-height:78px;align-items:center;justify-content:space-between;padding:max(16px, env(safe-area-inset-top)) 22px 12px}.waiter-login__brand img{width:78px;height:50px;object-fit:contain;object-position:left center}.waiter-login__brand-actions{display:flex;align-items:center;gap:9px}.waiter-login__label{padding:8px 11px;border:1px solid #dedfd9;border-radius:999px;color:#5f625e;font-size:.7rem;font-weight:800}.waiter-login__manager-link{display:flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid #dedfd9;border-radius:14px;background:#fff;color:#454844;font-size:.68rem;font-weight:850;white-space:nowrap;transition:border-color 160ms ease,background 160ms ease,color 160ms ease,transform 160ms ease}.waiter-login__manager-link:hover{border-color:#171817;background:#171817;color:#fff}.waiter-login__manager-link:active{transform:scale(.97)}.waiter-login__manager-link:focus-visible{outline:3px solid #171817;outline-offset:3px}.waiter-login__brand .language-switcher,.waiter-station-user>.language-switcher{width:42px;height:42px;flex:0 0 42px;border-radius:14px;background:#fff}.waiter-login__brand .language-switcher__code,.waiter-station-user>.language-switcher .language-switcher__code{right:-3px;bottom:-3px;border-color:#f8f8f5}.waiter-login__visual{position:relative;min-height:240px;margin:0 14px;overflow:hidden;border-radius:30px;background:#171817;color:#fff}.waiter-login__visual::before,.waiter-login__visual::after{position:absolute;border-radius:50%;content:""}.waiter-login__visual::before{top:-110px;right:-80px;width:300px;height:300px;background:var(--waiter-accent)}.waiter-login__visual::after{top:50px;right:84px;width:100px;height:100px;border:24px solid rgb(255 255 255 / .12)}.waiter-login__visual-mark{position:absolute;z-index:2;top:26px;left:24px;display:grid;width:82px;height:82px;border:1px solid #353734;border-radius:26px;background:#232522;color:color-mix(in srgb,var(--waiter-accent) 72%,white);place-items:center}.waiter-login__visual-copy{position:absolute;z-index:2;right:24px;bottom:98px;left:24px}.waiter-login__visual-copy strong,.waiter-login__visual-copy span{display:block}.waiter-login__visual-copy strong{font-size:clamp(1.6rem, 7vw, 2.4rem);font-weight:900;letter-spacing:-.055em;line-height:1}.waiter-login__visual-copy span{max-width:270px;margin-top:8px;color:#bfc1bd;font-size:.78rem}.waiter-login__mock-order{position:absolute;z-index:3;right:16px;bottom:16px;left:16px;display:grid;min-height:66px;grid-template-columns:10px 1fr auto;align-items:center;gap:12px;padding:11px 14px;border:1px solid rgb(255 255 255 / .16);border-radius:20px;background:rgb(255 255 255 / .1);backdrop-filter:blur(14px)}.waiter-login__mock-order i{width:9px;height:9px;border-radius:50%;background:#5fe39a;box-shadow:0 0 0 5px rgb(95 227 154 / .13)}.waiter-login__mock-order small,.waiter-login__mock-order b{display:block}.waiter-login__mock-order small{color:#bfc1bd;font-size:.66rem}.waiter-login__mock-order b{margin-top:1px;font-size:.78rem}.waiter-login__mock-order em{display:grid;width:40px;height:40px;border-radius:13px;background:var(--waiter-accent);color:var(--waiter-accent-text);font-size:.78rem;font-style:normal;font-weight:900;place-items:center}.waiter-login__card{position:relative;z-index:4;padding:24px 22px calc(22px + env(safe-area-inset-bottom));background:#fff}.waiter-login__card h1{margin:0;font-size:clamp(2.25rem, 10vw, 3.5rem);font-weight:900;letter-spacing:-.065em;line-height:.95}.waiter-login__card>p:not(.waiter-kicker):not(.waiter-login__help){max-width:440px;margin:13px 0 0;color:#656963;font-size:.86rem}.waiter-login-form{display:grid;gap:14px;margin-top:22px}.waiter-login-form label{display:grid;gap:7px}.waiter-login-form label>span{color:#3c403b;font-size:.74rem;font-weight:800}.waiter-login-form input{width:100%;min-height:56px;padding:0 16px;border:1px solid #dedfd9;border-radius:16px;outline:0;background:#f8f8f5;color:#171817;font-size:1rem;transition:border-color 160ms ease,box-shadow 160ms ease,background 160ms ease}.waiter-login-form input:focus{border-color:#171817;background:#fff;box-shadow:0 0 0 4px rgb(23 24 23 / .09)}.waiter-login-form__input{position:relative;display:block}.waiter-login-form__input input{padding-right:104px}.waiter-pin-toggle{position:absolute;top:6px;right:6px;bottom:6px;display:flex;min-width:88px;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:0;border-radius:12px;background:#e9eae6;color:#454844;font-size:.7rem;font-weight:850;transition:background 160ms ease,color 160ms ease,transform 160ms ease}.waiter-pin-toggle:hover{background:#dedfd9;color:#171817}.waiter-pin-toggle:active{transform:scale(.97)}.waiter-pin-toggle[aria-pressed="true"]{background:#171817;color:#fff}.waiter-form-error{margin:-2px 0 0;padding:11px 13px;border-radius:12px;background:#fff0f0;color:#9a2630;font-size:.76rem;font-weight:700}.waiter-primary-button{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;border:0;border-radius:17px;background:var(--waiter-accent);color:var(--waiter-accent-text);font-weight:900;transition:transform 160ms ease,background 160ms ease}.waiter-primary-button:hover{background:var(--waiter-accent-hover);transform:translateY(-1px)}.waiter-primary-button:disabled{cursor:wait;opacity:.7;transform:none}.waiter-primary-button.is-loading svg{animation:waiter-button-pulse .7s ease-in-out infinite alternate}.waiter-login__help{display:flex;align-items:center;gap:7px;margin:14px 0 0;color:#81847f;font-size:.7rem;line-height:1.35}.waiter-station-header{position:sticky;z-index:20;top:0;display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:14px;padding:max(12px, env(safe-area-inset-top)) 16px 11px;border-bottom:1px solid #dedfd9;background:rgb(248 248 245 / .93);backdrop-filter:blur(18px)}.waiter-station-brand{display:flex;min-width:0;align-items:center;gap:10px}.waiter-station-brand img{width:52px;height:44px;object-fit:contain;object-position:left center}.waiter-station-brand strong,.waiter-station-brand small{display:block}.waiter-station-brand strong{font-size:.8rem;font-weight:900}.waiter-station-brand small{overflow:hidden;color:#5d7666;font-size:.62rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.waiter-station-user{display:flex;align-items:center;gap:8px}.waiter-station-user>div{display:none;text-align:right}.waiter-station-user strong,.waiter-station-user small{display:block}.waiter-station-user strong{max-width:150px;overflow:hidden;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.waiter-station-user small{color:#81847f;font-size:.6rem}.waiter-station-user>span,.waiter-station-user>a{display:grid;width:42px;height:42px;flex:0 0 42px;border-radius:14px;place-items:center}.waiter-station-user>span{background:#171817;color:color-mix(in srgb,var(--waiter-accent) 72%,white);font-size:.8rem;font-weight:900}.waiter-station-user>a{border:1px solid #dedfd9;background:#fff}.waiter-station-user>.waiter-signout{display:flex;width:48px;height:48px;flex-basis:48px;align-items:center;justify-content:center;gap:0;border-color:#e6cfd1;border-radius:16px;color:#8f343b;transition:border-color 160ms ease,background 160ms ease,color 160ms ease,transform 160ms ease}.waiter-signout span{display:none}.waiter-signout:hover{border-color:#dbaeb2;background:#fff1f1;color:#a32f38}.waiter-signout:active{transform:scale(.96)}.waiter-primary-button:focus-visible,.waiter-pin-toggle:focus-visible,.waiter-signout:focus-visible{outline:3px solid #171817;outline-offset:3px}.waiter-station-layout{display:grid;gap:12px;padding:12px 12px calc(26px + env(safe-area-inset-bottom))}.waiter-command,.waiter-queue{border:1px solid #dedfd9;border-radius:26px;background:#fff}.waiter-command{padding:22px 18px 18px}.waiter-command__intro h1{margin:0;font-size:clamp(2.25rem, 11vw, 4rem);font-weight:900;letter-spacing:-.07em;line-height:.91}.waiter-command__intro>p:last-child{max-width:490px;margin:15px 0 0;color:#696d67;font-size:.84rem}.waiter-scan-button{display:grid;width:100%;min-height:88px;grid-template-columns:52px 1fr auto;grid-template-rows:auto auto;align-items:center;gap:0 13px;margin-top:26px;padding:13px;border:0;border-radius:22px;background:var(--waiter-accent);color:var(--waiter-accent-text);text-align:left;transition:transform 180ms ease,box-shadow 180ms ease,background 180ms ease}.waiter-scan-button:hover{background:var(--waiter-accent-hover);box-shadow:0 12px 30px color-mix(in srgb,var(--waiter-accent) 24%,transparent);transform:translateY(-2px)}.waiter-scan-button>span{display:grid;width:52px;height:52px;grid-row:1 / 3;border-radius:17px;background:#171817;color:#fff;place-items:center}.waiter-scan-button>strong{align-self:end;font-size:.96rem;font-weight:900}.waiter-scan-button>small{align-self:start;color:#625b26;font-size:.68rem}.waiter-scan-button>svg{grid-column:3;grid-row:1 / 3}.waiter-command__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.waiter-command__steps>div{display:grid;min-width:0;justify-items:center;gap:7px;padding:12px 4px;border:1px solid #e5e6e1;border-radius:16px;text-align:center}.waiter-command__steps b{display:grid;width:27px;height:27px;border-radius:9px;background:#f0f1ed;font-size:.7rem;place-items:center}.waiter-command__steps strong,.waiter-command__steps small{display:block}.waiter-command__steps strong{font-size:.68rem}.waiter-command__steps small{margin-top:1px;color:#8b8e89;font-size:.58rem}.waiter-install{display:flex;width:100%;min-height:60px;align-items:center;gap:11px;margin-top:12px;padding:10px 12px;border:1px solid #dedfd9;border-radius:17px;background:#f8f8f5;text-align:left}.waiter-install>span{flex:1}.waiter-install strong,.waiter-install small{display:block}.waiter-install strong{font-size:.75rem}.waiter-install small{color:#81847f;font-size:.62rem}.waiter-tutorial-launch{display:flex;width:100%;min-height:60px;align-items:center;gap:11px;margin-top:12px;padding:10px 12px;border:1px solid #dedfd9;border-radius:17px;background:#171817;color:#fff;text-align:left;transition:border-color 160ms ease,transform 160ms ease,background 160ms ease}.waiter-tutorial-launch:hover{border-color:#171817;background:#252724;transform:translateY(-1px)}.waiter-tutorial-launch>svg:first-child{box-sizing:content-box;padding:10px;border-radius:13px;background:var(--waiter-accent);color:var(--waiter-accent-text)}.waiter-tutorial-launch>span{min-width:0;flex:1}.waiter-tutorial-launch strong,.waiter-tutorial-launch small{display:block}.waiter-tutorial-launch strong{font-size:.75rem;font-weight:900}.waiter-tutorial-launch small{margin-top:2px;color:#bfc1bd;font-size:.62rem}.waiter-tutorial-launch>svg:last-child{flex:0 0 auto}.waiter-assignment-launch{display:flex;width:100%;min-height:60px;align-items:center;gap:11px;margin-top:12px;padding:10px 12px;border:1px solid #cbded1;border-radius:17px;background:#edf7f1;color:#174f35;text-align:left}.waiter-assignment-launch>svg:first-child{box-sizing:content-box;padding:10px;border-radius:13px;background:#d8eee1}.waiter-assignment-launch>span{min-width:0;flex:1}.waiter-assignment-launch strong,.waiter-assignment-launch small{display:block}.waiter-assignment-launch strong{font-size:.75rem;font-weight:900}.waiter-assignment-launch small{margin-top:2px;color:#5f796a;font-size:.62rem}.waiter-assignment-launch small b{color:#19704a}.waiter-assignment-launch>svg:last-child{flex:0 0 auto}.waiter-notifications{display:flex;width:100%;min-height:60px;align-items:center;gap:11px;margin-top:12px;padding:10px 12px;border:1px solid #dedfd9;border-radius:17px;background:#f8f8f5;color:#171817;text-align:left}.waiter-notifications>svg{box-sizing:content-box;padding:10px;border-radius:13px;background:#171817;color:color-mix(in srgb,var(--waiter-accent) 72%,white)}.waiter-notifications span{min-width:0;flex:1}.waiter-notifications strong,.waiter-notifications small{display:block}.waiter-notifications strong{font-size:.75rem;font-weight:900}.waiter-notifications small{margin-top:2px;color:#81847f;font-size:.63rem}.waiter-notifications em{padding:5px 8px;border-radius:999px;background:#e4e5e0;color:#656963;font-size:.61rem;font-style:normal;font-weight:850}.waiter-notifications.is-enabled{border-color:#b9ddc8;background:#f3fbf6}.waiter-notifications.is-enabled>svg{background:#19704a;color:#fff}.waiter-notifications.is-enabled em{background:#dcefe4;color:#19704a}.waiter-notifications.is-blocked{cursor:not-allowed;opacity:.66}.waiter-notifications.is-error{border-color:#e0b3b5;background:#fff5f5;color:#8c3439}.waiter-queue{min-height:390px;padding:20px 16px}.waiter-queue__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.waiter-queue__header h2{margin:0;font-size:1.55rem;font-weight:900;letter-spacing:-.05em}.waiter-queue__header h2 span{display:inline-grid;min-width:28px;height:28px;margin-left:4px;padding:0 7px;border-radius:9px;background:var(--waiter-accent);color:var(--waiter-accent-text);font-size:.7rem;vertical-align:4px;place-items:center}.waiter-refresh{display:grid;width:44px;height:44px;border:1px solid #dedfd9;border-radius:14px;background:#f8f8f5;place-items:center}.waiter-refresh.is-loading svg{animation:waiter-spin .8s linear infinite}.waiter-queue__checked{margin:4px 0 16px;color:#92958f;font-size:.64rem}.waiter-queue-list{display:grid;gap:9px}.waiter-queue-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:15px 48px 15px 15px;border:1px solid #e4e5e0;border-radius:18px;background:#fbfbf8;transition:border-color 160ms ease,background 160ms ease,transform 160ms ease}.waiter-queue-card:hover{border-color:#c9cbc5;background:#fff;transform:translateY(-1px)}.waiter-queue-card__status{grid-column:1 / -1;display:flex;align-items:center;gap:6px;margin-bottom:7px;color:#8a6820;font-size:.62rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.waiter-queue-card__status i{width:7px;height:7px;border-radius:50%;background:#eba900;box-shadow:0 0 0 4px rgb(235 169 0 / .12)}.waiter-queue-card.is-processing .waiter-queue-card__status{color:#19704a}.waiter-queue-card.is-processing .waiter-queue-card__status i{background:#1aa165;box-shadow:0 0 0 4px rgb(26 161 101 / .12)}.waiter-queue-card.is-calling{border-color:#efbd1e;background:#fff7cf;box-shadow:0 10px 25px rgb(157 112 0 / .13)}.waiter-queue-card.is-calling .waiter-queue-card__status{color:#8a5d00}.waiter-queue-card.is-calling .waiter-queue-card__status i{background:#e5a800;box-shadow:0 0 0 5px rgb(229 168 0 / .16);animation:waiter-call-pulse 1.1s ease-in-out infinite}.waiter-queue-card>strong{font-size:.98rem;font-weight:900}.waiter-queue-card>small{grid-column:1;color:#878a85;font-size:.65rem}.waiter-queue-card__meta{grid-column:2;grid-row:2 / 4;display:grid;align-self:center;justify-items:end}.waiter-queue-card__meta b:first-child{color:#747873;font-size:.63rem;font-weight:700}.waiter-queue-card__meta b:last-child{margin-top:1px;font-size:.77rem}.waiter-queue-card__arrow{position:absolute;top:50%;right:13px;transform:translateY(-50%)}.waiter-queue-empty{display:grid;min-height:250px;text-align:center;place-content:center;justify-items:center}.waiter-queue-empty>span{display:grid;width:62px;height:62px;margin-bottom:14px;border-radius:21px;background:#e5f4eb;color:#19704a;place-items:center}.waiter-queue-empty strong{font-size:1rem}.waiter-queue-empty p{max-width:230px;margin:5px 0 0;color:#868984;font-size:.72rem}.waiter-scanner{position:fixed;z-index:200;inset:0;visibility:hidden;opacity:0;transition:opacity 180ms ease,visibility 180ms ease}.waiter-scanner.is-open{visibility:visible;opacity:1}.waiter-scanner__scrim{position:absolute;inset:0;width:100%;border:0;background:rgb(10 11 10 / .72);backdrop-filter:blur(6px)}.waiter-scanner__sheet{position:absolute;right:0;bottom:0;left:0;max-height:calc(100dvh - 18px);overflow-y:auto;padding:22px 16px calc(20px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:#fff;transform:translateY(24px);transition:transform 260ms cubic-bezier(.22,1,.36,1)}.waiter-scanner.is-open .waiter-scanner__sheet{transform:translateY(0)}.waiter-scanner__sheet>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.waiter-scanner__sheet h2{margin:0;font-size:1.6rem;font-weight:900;letter-spacing:-.05em}.waiter-scanner__close{display:grid;width:44px;height:44px;border:1px solid #dedfd9;border-radius:14px;background:#f4f5f1;place-items:center}.waiter-scanner__camera{position:relative;aspect-ratio:1 / .92;overflow:hidden;border-radius:22px;background:#171817}.waiter-scanner__camera video{width:100%;height:100%;object-fit:cover}.waiter-scanner__camera>span{position:absolute;z-index:2;right:18px;bottom:18px;left:18px;color:#fff;font-size:.7rem;font-weight:750;text-align:center;text-shadow:0 1px 8px #000}.waiter-scanner__frame{position:absolute;z-index:2;top:50%;left:50%;width:min(64vw, 250px);aspect-ratio:1;border:1px solid rgb(255 255 255 / .18);transform:translate(-50%,-50%)}.waiter-scanner__frame i{position:absolute;width:34px;height:34px;border-color:var(--waiter-accent);border-style:solid}.waiter-scanner__frame i:nth-child(1){top:-2px;left:-2px;border-width:4px 0 0 4px;border-radius:12px 0 0}.waiter-scanner__frame i:nth-child(2){top:-2px;right:-2px;border-width:4px 4px 0 0;border-radius:0 12px 0 0}.waiter-scanner__frame i:nth-child(3){right:-2px;bottom:-2px;border-width:0 4px 4px 0;border-radius:0 0 12px}.waiter-scanner__frame i:nth-child(4){bottom:-2px;left:-2px;border-width:0 0 4px 4px;border-radius:0 0 0 12px}.waiter-scanner__message{margin:11px 0 0;color:#747873;font-size:.7rem;text-align:center}.waiter-scanner__message.is-error{color:#a22a34}.waiter-assignment{position:fixed;z-index:210;inset:0;visibility:hidden;opacity:0;transition:opacity 180ms ease,visibility 180ms ease}.waiter-assignment.is-open{visibility:visible;opacity:1}.waiter-assignment__scrim{position:absolute;inset:0;width:100%;border:0;background:rgb(10 11 10 / .72);backdrop-filter:blur(7px)}.waiter-assignment__sheet{position:absolute;right:0;bottom:0;left:0;max-height:calc(100dvh - 18px);overflow-y:auto;padding:22px 16px calc(18px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:#fff;transform:translateY(24px);transition:transform 260ms cubic-bezier(.22,1,.36,1)}.waiter-assignment.is-open .waiter-assignment__sheet{transform:translateY(0)}.waiter-assignment__sheet>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.waiter-assignment__sheet h2{margin:0;font-size:1.75rem;font-weight:950;letter-spacing:-.045em}.waiter-assignment__sheet>p{margin:12px 0 17px;color:#676b65;font-size:.72rem;line-height:1.5}.waiter-assignment__close{display:grid;width:44px;height:44px;flex:0 0 44px;border:1px solid #dedfd9;border-radius:14px;background:#f4f5f1;place-items:center}.waiter-assignment__list{display:grid;gap:8px}.waiter-assignment__list label{position:relative;display:grid;min-height:62px;grid-template-columns:42px minmax(0,1fr) 24px;grid-template-rows:auto auto;align-items:center;gap:0 11px;padding:9px 11px;border:1px solid #e0e1dc;border-radius:16px;background:#fbfbf8;cursor:pointer}.waiter-assignment__list label:has(input:checked){border-color:#b8dcc7;background:#edf7f1}.waiter-assignment__list input{position:absolute;opacity:0;pointer-events:none}.waiter-assignment__list label>span{display:grid;width:42px;height:42px;grid-row:1 / 3;border-radius:13px;background:#ecece8;color:#60645e;place-items:center}.waiter-assignment__list label:has(input:checked)>span{background:#19704a;color:#fff}.waiter-assignment__list strong{align-self:end;font-size:.72rem;font-weight:900}.waiter-assignment__list small{align-self:start;color:#7b7f79;font-size:.58rem}.waiter-assignment__list label>i{display:grid;width:23px;height:23px;grid-column:3;grid-row:1 / 3;border:1px solid #cfd1cb;border-radius:8px;background:#fff;place-items:center}.waiter-assignment__list label:has(input:checked)>i{border-color:#19704a;background:#19704a}.waiter-assignment__list label:has(input:checked)>i:after{width:9px;height:5px;border-bottom:2px solid #fff;border-left:2px solid #fff;content:"";transform:rotate(-45deg) translateY(-1px)}.waiter-assignment__empty{padding:30px 18px;border:1px dashed #d6d7d2;border-radius:16px;color:#777b75;font-size:.7rem;text-align:center}.waiter-assignment__message{min-height:20px;margin:10px 2px 0;color:#19704a;font-size:.64rem;font-weight:800}.waiter-assignment__message.is-error{color:#a22a34}.waiter-assignment__form footer{display:grid;grid-template-columns:1fr 1.45fr;gap:8px;margin-top:7px}.waiter-assignment__form footer button{min-height:49px;padding:0 12px;border:1px solid #dedfd9;border-radius:14px;background:#f4f5f1;color:#555954;font-size:.7rem;font-weight:900}.waiter-assignment__form footer .js-save-waiter-assignment{border-color:#171817;background:#171817;color:#fff}.waiter-assignment__form footer button:disabled{cursor:not-allowed;opacity:.45}.waiter-manual-qr{margin-top:18px;padding-top:17px;border-top:1px solid #e5e6e1}.waiter-manual-qr>label{display:block;margin-bottom:7px;color:#555954;font-size:.7rem;font-weight:800}.waiter-manual-qr>div{display:grid;grid-template-columns:1fr auto;gap:8px}.waiter-manual-qr input{min-width:0;min-height:49px;padding:0 13px;border:1px solid #dedfd9;border-radius:14px;outline:0;background:#f8f8f5;font-size:.75rem}.waiter-manual-qr input:focus{border-color:#171817;box-shadow:0 0 0 3px rgb(23 24 23 / .08)}.waiter-manual-qr button{min-width:72px;border:0;border-radius:14px;background:#171817;color:#fff;font-size:.75rem;font-weight:850}.waiter-tutorial{position:fixed;z-index:240;inset:0;visibility:hidden;opacity:0;transition:opacity 180ms ease,visibility 180ms ease}.waiter-tutorial.is-open{visibility:visible;opacity:1}.waiter-tutorial__scrim{position:absolute;inset:0;width:100%;border:0;background:rgb(10 11 10 / .78);backdrop-filter:blur(8px)}.waiter-tutorial__sheet{position:absolute;right:0;bottom:0;left:0;display:grid;max-height:calc(100dvh - 12px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:28px 28px 0 0;background:#fff;box-shadow:0 -22px 70px rgb(0 0 0 / .22);transform:translateY(28px);transition:transform 260ms cubic-bezier(.22,1,.36,1)}.waiter-tutorial.is-open .waiter-tutorial__sheet{transform:translateY(0)}.waiter-tutorial__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 18px 15px;border-bottom:1px solid #e5e6e1}.waiter-tutorial__header h2{margin:0;font-size:1.5rem;font-weight:900;letter-spacing:-.05em;line-height:1}.waiter-tutorial__close{display:grid;width:44px;height:44px;flex:0 0 44px;border:1px solid #dedfd9;border-radius:14px;background:#f4f5f1;place-items:center}.waiter-tutorial__slides{min-height:0;overflow-y:auto;overscroll-behavior:contain}.waiter-tutorial__slide{display:grid;grid-template-columns:minmax(118px,37%) minmax(0,1fr);align-items:center;gap:18px;min-height:100%;padding:18px}.waiter-tutorial__slide[hidden]{display:none}.waiter-tutorial__video{position:relative;align-self:center;overflow:hidden;border:1px solid #dedfd9;border-radius:22px;background:#171817;box-shadow:0 14px 34px rgb(20 22 19 / .15)}.waiter-tutorial__video video{display:block;width:100%;aspect-ratio:9 / 16;background:#171817;object-fit:contain}.waiter-tutorial__video>span{position:absolute;top:8px;left:8px;padding:5px 8px;border-radius:999px;background:rgb(23 24 23 / .82);color:#fff;font-size:.56rem;font-weight:800;backdrop-filter:blur(8px)}.waiter-tutorial__copy{min-width:0}.waiter-tutorial__copy>p:first-child{margin:0 0 10px;color:#d4b500;font-size:2.4rem;font-weight:950;letter-spacing:-.08em;line-height:1}.waiter-tutorial__copy h3{margin:0;font-size:clamp(1.35rem,6vw,2rem);font-weight:950;letter-spacing:-.055em;line-height:.98}.waiter-tutorial__copy>p:not(:first-child){margin:13px 0 0;color:#676b65;font-size:.75rem;line-height:1.55}.waiter-tutorial__hint{display:flex;align-items:flex-start;gap:8px;margin-top:20px;padding:11px;border-radius:14px;background:#f4f5f1;color:#646862;font-size:.64rem;line-height:1.4}.waiter-tutorial__hint svg{flex:0 0 auto;color:#9d8500}.waiter-tutorial__footer{display:grid;gap:12px;padding:14px 18px calc(15px + env(safe-area-inset-bottom));border-top:1px solid #e5e6e1;background:#fff}.waiter-tutorial__progress{display:flex;align-items:center;justify-content:space-between;gap:16px}.waiter-tutorial__progress>strong{color:#777b75;font-size:.65rem}.waiter-tutorial__progress>div{display:flex;gap:6px}.waiter-tutorial__progress button{width:22px;height:8px;padding:0;border:0;border-radius:999px;background:#dedfd9;transition:width 160ms ease,background 160ms ease}.waiter-tutorial__progress button.is-active{width:36px;background:#171817}.waiter-tutorial__actions{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px}.waiter-tutorial__actions button{min-height:48px;border-radius:14px;font-size:.72rem;font-weight:900}.waiter-tutorial__skip{padding:0 10px;border:0;background:#fff0;color:#777b75;text-decoration:underline;text-underline-offset:3px}.waiter-tutorial__previous,.waiter-tutorial__next{display:flex;align-items:center;justify-content:center;gap:7px;padding:0 13px}.waiter-tutorial__previous{border:1px solid #dedfd9;background:#f4f5f1;color:#171817}.waiter-tutorial__previous svg{transform:rotate(180deg)}.waiter-tutorial__previous:disabled{cursor:not-allowed;opacity:.42}.waiter-tutorial__next{border:0;background:var(--waiter-accent);color:var(--waiter-accent-text)}.waiter-tutorial__next:hover{background:var(--waiter-accent-hover)}@keyframes waiter-spin{to{transform:rotate(360deg)}}@keyframes waiter-button-pulse{to{transform:translateX(4px)}}@keyframes waiter-call-pulse{50%{box-shadow:0 0 0 9px #fff0;transform:scale(1.15)}}@media (min-width:700px){.jv-waiter-app-page{padding:24px}.waiter-station{max-width:1180px;min-height:calc(100dvh - 48px);margin:0 auto;overflow:hidden;border-radius:34px;background:#f8f8f5;box-shadow:0 24px 80px rgb(20 22 19 / .12)}.waiter-login{min-height:calc(100dvh - 48px);grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);grid-template-rows:86px 1fr}.waiter-login__brand{grid-column:1 / -1;padding-inline:32px}.waiter-login__visual{min-height:0;margin:0 0 28px 28px;border-radius:32px}.waiter-login__visual-mark{top:38px;left:36px;width:98px;height:98px;border-radius:30px}.waiter-login__visual-copy{right:38px;bottom:116px;left:38px}.waiter-login__visual-copy strong{font-size:clamp(2.6rem, 5vw, 4.3rem)}.waiter-login__mock-order{right:26px;bottom:26px;left:26px}.waiter-login__card{display:grid;align-content:center;padding:50px clamp(38px,6vw,78px)}.waiter-login__card h1{font-size:clamp(3rem,5vw,4.8rem)}.waiter-login-form{margin-top:32px}.waiter-station-header{min-height:86px;padding-inline:26px}.waiter-station-brand img{width:64px;height:50px}.waiter-station-user>div{display:block}.waiter-station-user>.waiter-signout{width:auto;min-width:112px;padding:0 15px}.waiter-station-user>.waiter-signout{gap:8px}.waiter-signout span{display:inline;font-size:.7rem;font-weight:900;white-space:nowrap}.waiter-station-layout{grid-template-columns:minmax(320px,.85fr) minmax(390px,1.15fr);align-items:stretch;gap:16px;padding:16px}.waiter-command{display:flex;min-height:calc(100dvh - 182px);flex-direction:column;padding:clamp(28px,4vw,46px)}.waiter-command__intro h1{font-size:clamp(3.5rem,6vw,5.5rem)}.waiter-scan-button{margin-top:36px}.waiter-install{margin-top:auto}.waiter-queue{min-height:calc(100dvh - 182px);padding:28px}.waiter-scanner__sheet{top:50%;right:50%;bottom:auto;left:auto;width:min(540px,calc(100vw - 48px));max-height:calc(100dvh - 48px);border-radius:30px;transform:translate(50%,-46%)}.waiter-scanner.is-open .waiter-scanner__sheet{transform:translate(50%,-50%)}.waiter-assignment__sheet{top:50%;right:50%;bottom:auto;left:auto;width:min(540px,calc(100vw - 48px));max-height:calc(100dvh - 48px);padding:26px;border-radius:30px;transform:translate(50%,-46%)}.waiter-assignment.is-open .waiter-assignment__sheet{transform:translate(50%,-50%)}.waiter-scanner__camera{aspect-ratio:4 / 3}.waiter-scanner__frame{width:230px}.waiter-tutorial__sheet{top:50%;right:50%;bottom:auto;left:auto;width:min(920px,calc(100vw - 48px));height:min(760px,calc(100dvh - 48px));border-radius:30px;transform:translate(50%,-46%)}.waiter-tutorial.is-open .waiter-tutorial__sheet{transform:translate(50%,-50%)}.waiter-tutorial__header{padding:24px 26px 19px}.waiter-tutorial__header h2{font-size:2rem}.waiter-tutorial__slide{grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:clamp(34px,6vw,74px);padding:26px clamp(34px,6vw,70px)}.waiter-tutorial__copy>p:first-child{font-size:4.2rem}.waiter-tutorial__copy h3{font-size:clamp(2.2rem,4vw,3.5rem)}.waiter-tutorial__copy>p:not(:first-child){max-width:390px;font-size:.9rem}.waiter-tutorial__hint{max-width:390px;padding:14px;font-size:.72rem}.waiter-tutorial__footer{grid-template-columns:auto 1fr;align-items:center;padding:17px 26px 20px}.waiter-tutorial__actions{justify-self:end;grid-template-columns:auto 140px 160px}}@media (max-width:430px){.waiter-station-user>span{display:none}.waiter-station-header{gap:8px;padding-inline:12px}.waiter-station-brand{gap:7px}.waiter-station-brand img{width:46px}}@media (max-width:360px){.waiter-login__brand{padding-inline:14px}.waiter-login__brand img{width:64px}.waiter-login__brand-actions{gap:6px}.waiter-login__manager-link{padding-inline:9px;font-size:.62rem}.waiter-login__manager-link svg{display:none}.waiter-login__visual{margin-inline:10px;border-radius:25px}.waiter-login__card{padding-inline:18px}}@media (min-width:1050px){.waiter-station-layout{grid-template-columns:minmax(390px,.82fr) minmax(520px,1.18fr);padding:20px}.waiter-queue-list{grid-template-columns:repeat(2,minmax(0,1fr))}.waiter-queue-card{min-height:132px}}@media (prefers-reduced-motion:reduce){.waiter-primary-button,.waiter-scan-button,.waiter-queue-card,.waiter-scanner,.waiter-scanner__sheet,.waiter-assignment,.waiter-assignment__sheet{transition:none}.waiter-refresh.is-loading svg,.waiter-primary-button.is-loading svg{animation:none}}