*{box-sizing:border-box}html,body{min-height:100%;margin:0}body.accessPage{min-height:100svh;overflow-x:hidden;background-color:#101416;background-image:radial-gradient(circle at 2px 2px,rgba(255,255,255,.07) 1.1px,transparent 1.4px),radial-gradient(circle at 50% 35%,rgba(222,221,215,.13),transparent 33%);background-size:22px 22px,100% 100%;color:#f3f3f0;font-family:Inter,Arial,sans-serif}.firstSetupMain{min-height:100svh;display:grid;place-content:center;justify-items:center;padding:42px 20px}.firstSetupLogo{display:block;width:min(310px,72vw);height:auto;margin:0 0 34px}.firstSetupCodeCard{width:min(470px,94vw);padding:30px 34px 32px;border:1px solid #354146;border-radius:27px;background:linear-gradient(145deg,rgba(31,38,41,.96),rgba(20,25,27,.98));box-shadow:0 28px 80px #0006;text-align:center}.firstSetupCodeCard>span,.firstSetupSheet header>span{color:#c4c5c2;font-size:11px;font-weight:900;letter-spacing:.23em}.firstSetupCodeCard h1{margin:12px 0 8px;font-size:clamp(25px,5vw,35px)}.firstSetupCodeCard p{margin:0 auto 23px;max-width:340px;color:#a7abb2;font-size:15px;line-height:1.55}.firstSetupCode{display:flex;justify-content:center;gap:12px;direction:ltr}.firstSetupCode input{width:62px;height:70px;border:1px solid #455257;border-radius:17px;outline:0;background:#111719;color:#fff;font:900 31px/1 Inter,Arial,sans-serif;text-align:center;caret-color:#deddd7;transition:border-color .18s,box-shadow .18s,transform .18s}.firstSetupCode input:focus{border-color:#deddd7;box-shadow:0 0 0 4px rgba(222,221,215,.14);transform:translateY(-2px)}.firstSetupCode input:disabled{opacity:.65}.firstSetupMessage,.firstSetupSaveMessage{min-height:21px;margin-top:14px;color:#a7abb2;font-size:14px;font-weight:700}.is-error{color:#ff8992!important}.is-loading{color:#deddd7!important}.visuallyHidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.firstSetupOverlay{position:fixed;z-index:20;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:24px;background:rgba(4,7,8,.68);backdrop-filter:blur(8px);opacity:0;transition:opacity .25s ease}.firstSetupOverlay[hidden]{display:none}.firstSetupOverlay.is-open{opacity:1}.firstSetupSheet{width:min(760px,100%);max-height:min(820px,calc(100svh - 38px));overflow:auto;padding:13px 26px 27px;border:1px solid #3b494d;border-radius:29px;background:#171d1f;box-shadow:0 -24px 80px #000a;transform:translateY(44px);transition:transform .32s cubic-bezier(.22,.8,.24,1)}.firstSetupOverlay.is-open .firstSetupSheet{transform:translateY(0)}.firstSetupGrab{width:64px;height:5px;margin:0 auto 20px;border-radius:9px;background:#87938f}.firstSetupSheet header{text-align:center}.firstSetupSheet h2{margin:10px 0 8px;font-size:clamp(25px,5vw,38px)}.firstSetupSheet header p{max-width:560px;margin:0 auto 24px;color:#a7abb2;line-height:1.55}.firstSetupDates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.firstSetupDates label,.firstSetupSheet fieldset legend{color:#c6c8cc;font-size:14px;font-weight:800}.firstSetupDates input{width:100%;height:52px;margin-top:8px;padding:0 14px;border:1px solid #3c494d;border-radius:14px;outline:0;background:#101617;color:#f6faf8;font:700 15px Inter,Arial,sans-serif;color-scheme:dark}.firstSetupDates input:focus{border-color:#deddd7;box-shadow:0 0 0 3px rgba(222,221,215,.13)}.firstSetupSheet fieldset{min-width:0;margin:22px 0 0;padding:0;border:0}.firstSetupSheet fieldset legend{margin-bottom:10px}.firstSetupPlans{display:grid;grid-template-columns:1fr 1fr;gap:9px}.firstSetupPlan{position:relative;min-width:0;display:grid;grid-template-columns:44px 1fr 20px;align-items:center;gap:11px;padding:13px;border:1px solid #344044;border-radius:17px;background:#111719;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.firstSetupPlan:hover{transform:translateY(-1px);border-color:#81858c}.firstSetupPlan input{position:absolute;opacity:0;pointer-events:none}.firstSetupPlanMark{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#292d32;color:#deddd7}.firstSetupPlanMark svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.firstSetupPlan>span:nth-child(3){min-width:0}.firstSetupPlan b,.firstSetupPlan small{display:block}.firstSetupPlan b{font-size:15px}.firstSetupPlan small{display:-webkit-box;margin-top:4px;overflow:hidden;color:#a7abb2;font-size:12px;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}.firstSetupPlan i{width:18px;height:18px;border:2px solid #52565d;border-radius:50%}.firstSetupPlan:has(input:checked){border-color:#deddd7;background:#2a2d30}.firstSetupPlan:has(input:checked) i{border:5px solid #deddd7;background:#17191c}.firstSetupSave{width:100%;height:54px;margin-top:3px;border:0;border-radius:16px;background:#deddd7;color:#fff;font:900 16px Inter,Arial,sans-serif;cursor:pointer;transition:background .2s,transform .2s}.firstSetupSave:hover{background:#eeede7;transform:translateY(-1px)}.firstSetupSave:disabled{opacity:.6;cursor:wait;transform:none}.setupSheetOpen{overflow:hidden}@media(max-width:600px){.firstSetupMain{padding:28px 13px}.firstSetupLogo{width:min(275px,78vw);margin-bottom:25px}.firstSetupCodeCard{padding:25px 16px 27px;border-radius:23px}.firstSetupCode{gap:8px}.firstSetupCode input{width:min(61px,19vw);height:64px;border-radius:15px}.firstSetupOverlay{padding:0}.firstSetupSheet{max-height:92svh;padding:11px 15px 20px;border-width:1px 0 0;border-radius:25px 25px 0 0}.firstSetupDates{grid-template-columns:1fr}.firstSetupPlans{grid-template-columns:1fr}.firstSetupPlan{padding:11px}.firstSetupSheet header p{font-size:14px}.firstSetupSave{position:sticky;bottom:0;box-shadow:0 -12px 24px #171d1f}}

.firstSetupLanguage{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;max-width:100%;margin-bottom:24px;color:#c6c8cc;font-size:14px}.firstSetupLanguage select{max-width:100%;padding:10px 12px;border:1px solid #455257;border-radius:10px;background:#111719;color:#f3f3f0;font:inherit;color-scheme:dark}.firstSetupLanguage select:focus-visible{outline:2px solid #deddd7;outline-offset:3px}.firstSetupPlan small{display:block;overflow:visible;-webkit-line-clamp:unset}.firstSetupPlan b,.firstSetupPlan small{overflow-wrap:anywhere}.firstSetupSave{height:auto;min-height:54px;padding:12px}[dir="rtl"] .firstSetupCodeCard>span,[dir="rtl"] .firstSetupSheet header>span{letter-spacing:normal}

.firstSetupMain{padding-top:90px}

/* Open activation layout. */
.firstSetupCodeCard{width:min(580px,94vw);padding:10px 18px 24px;border:0;border-radius:0;background:transparent;box-shadow:none}
.firstSetupCodeCard h1{max-width:500px;margin:14px auto 12px}
.firstSetupCodeCard p{max-width:410px;margin-bottom:28px}
@media(max-width:480px){.firstSetupCodeCard{padding:8px 6px 20px}.firstSetupCodeCard p{max-width:340px}}

.authLoginLayer[hidden]{display:none!important}.authLoginLayer{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-end;justify-content:center}.authLoginBackdrop{position:absolute;inset:0;border:0;background:#050707b8;backdrop-filter:blur(5px);cursor:pointer}.authLoginSheet{position:relative;width:min(520px,100%);max-height:min(720px,92svh);overflow:auto;padding:13px 26px max(28px,env(safe-area-inset-bottom));border:1px solid #3b464a;border-bottom:0;border-radius:28px 28px 0 0;background:#171d20;color:#f3f3f0;box-shadow:0 -24px 80px #0008;transform:translateY(105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);font-family:Inter,Arial,sans-serif}.authLoginLayer.open .authLoginSheet{transform:translateY(0)}.authLoginGrab{width:54px;height:5px;margin:0 auto 20px;border-radius:9px;background:#59656a}.authLoginClose{position:absolute;top:20px;inset-inline-end:22px;width:38px;height:38px;border:1px solid #3b464a;border-radius:13px;background:#242c30;color:#f3f3f0;font-size:24px;cursor:pointer}.authLoginKicker{display:block;color:#c4c5c2;font-size:10px;font-weight:900;letter-spacing:.2em}.authLoginSheet h2{margin-block:8px;margin-inline:0 46px;font-size:28px}.authLoginNote{margin:0 0 20px;color:#a7abb2;font-size:14px;line-height:1.55}.authCodeBoxes{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:18px 0}.authCodeCell{width:100%;min-width:0;height:58px;border:1px solid #425057;border-radius:15px;background:#222a2e;color:#fff;text-align:center;font-size:24px;font-weight:850;outline:0}.authCodeCell:focus{border-color:#deddd7;box-shadow:0 0 0 3px #deddd715}.authField{display:block;width:100%;height:54px;margin:10px 0;padding:0 15px;border:1px solid #425057;border-radius:15px;background:#222a2e;color:#fff;font:inherit;outline:0}.authField:focus{border-color:#deddd7}.authError{min-height:20px;margin:2px 0 8px;color:#ff8990;font-size:13px}.authPrimary,.authLink{width:100%;border:0;cursor:pointer;font:inherit;font-weight:850}.authPrimary{min-height:54px;border-radius:16px;background:#deddd7;color:#202226}.authPrimary:disabled{opacity:.65;cursor:wait}.authLink{padding:15px 10px 4px;background:transparent;color:#c6c8cc}.authLoginSuccess{padding:16px;border:1px solid #59625c;border-radius:16px;background:#252a27;color:#d2dbd5}@media(max-width:520px){.authLoginSheet{padding:11px 16px max(22px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.authLoginSheet h2{font-size:25px}.authCodeBoxes{gap:5px}.authCodeCell{height:52px;border-radius:12px;font-size:21px}}

.authFieldLabel{display:block;margin-block-start:12px;font-size:13px;color:#a7abb2}.authLoginSheet{text-align:start}.authLoginLayer[dir="rtl"] .authLoginKicker{letter-spacing:normal}.authCodeBoxes,.authField[type="email"]{direction:ltr}.authField[type="email"]{text-align:start}

/* Construction's black palette, using Restaurant's open activation and sheets. */
body.accessPage{--bg:#101113;--panel:#1b1d20;--tile:#25282c;--line:#393d43;--text:#f3f3f0;--muted:#a7abb2;--accent:#deddd7;--on-accent:#202226;--ok:#c6d0c9;--danger:#ff989e;color-scheme:dark;background-color:#101113;background-image:radial-gradient(circle at 2px 2px,#ffffff0c 1px,transparent 1.4px);background-size:22px 22px}
.accessTools{position:absolute;top:24px;inset-inline-end:28px;display:flex;align-items:center;gap:10px;z-index:1}.accessTools select{width:auto;max-width:160px;background:#1b1d20;min-height:44px}.accessTools button{display:grid;place-items:center;padding:10px}.accessLogo{margin-bottom:34px;font-size:32px;gap:16px}.accessLogo img{width:64px;height:64px}.accessLogo small{font-size:11px;letter-spacing:4px}.firstSetupMain{padding:100px 20px 50px}.firstSetupCodeCard>span,.accessSheet header>span{color:#c4c5c2}.firstSetupCodeCard p{color:#a7abb2}.firstSetupCode input{background:#17191c;border-color:#45494f;caret-color:#deddd7}.firstSetupCode input:focus{border-color:#deddd7;box-shadow:0 0 0 4px #deddd715}.firstSetupCode input[readonly]{opacity:.65}.pinCells{display:flex;gap:12px}.pinStatus{min-height:21px;margin-top:16px;display:flex;justify-content:center;align-items:center;gap:9px;color:#a7abb2;font-size:13px}.pinSpinner{width:14px;height:14px;border:2px solid #45494f;border-top-color:#deddd7;border-radius:50%;animation:spin .7s linear infinite}.visuallyHidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.firstSetupCodeCard .error:empty{display:none}.firstSetupCodeCard .error:not(:empty){border:0;padding:0;margin:14px 0;color:#ff989e;font-size:14px}#activationForm[data-state=error] input{border-color:#bc646a}#activationForm[data-state=success] input{border-color:#c6d0c9}#pinRetry{margin-top:12px}.firstSetupCodeCard>.primary{min-width:240px;margin-top:12px;min-height:54px}
.accessSheet{--bg:#101113;--panel:#1b1d20;--tile:#25282c;--line:#393d43;--text:#f3f3f0;--muted:#a7abb2;--accent:#deddd7;--on-accent:#202226;color-scheme:dark;background:#1b1d20;color:#f3f3f0;padding:13px 26px 27px;position:fixed;inset:auto 0 0;margin:0 auto;width:calc(100% - 48px);border:1px solid #393d43;border-bottom:0;border-radius:29px 29px 0 0;box-shadow:0 -24px 80px #0008;animation:accessIn .34s cubic-bezier(.22,.8,.24,1)}.accessSheet::backdrop{background:#040506b0;backdrop-filter:blur(8px)}.accessSheet .grab{width:54px;height:5px;background:#596067;margin-bottom:22px}.accessSheet header{padding:0 25px;text-align:center}.accessSheet header>span{font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.accessSheet header h2{margin:10px 0 8px;font-size:clamp(25px,5vw,34px)}.accessSheet header p{max-width:560px;color:#a7abb2;line-height:1.55;margin:0 auto 24px;font-size:14px}.authLoginClose{top:13px;inset-inline-end:14px;width:34px;height:34px;min-height:34px;border-radius:11px;background:#25282c;border-color:#393d43;padding:0;color:#f3f3f0;font-size:24px;font-weight:400}.firstSetupDates .field{font-size:14px}.accessSheet .field{margin:14px 0}.accessSheet input:not([type=radio]){background:#101113;border-color:#3c4148;color:#f3f3f0}.accessSheet input:focus{border-color:#deddd7;box-shadow:0 0 0 3px #deddd715}.firstSetupDates input{margin-top:0}.firstSetupPlans{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.firstSetupPlan{grid-template-columns:1fr 18px;gap:12px;padding:16px;background:#141619;border-color:#393d43}.firstSetupPlanMark{grid-column:1/2;grid-row:1;background:#292d32;color:#deddd7}.firstSetupPlan>b{grid-row:2;grid-column:1/-1;overflow-wrap:anywhere;font-size:14px}.firstSetupPlan>i{grid-row:1;grid-column:2;align-self:start;margin-top:4px}.firstSetupPlan:has(input:checked){border-color:#deddd7;background:#2a2d30}.firstSetupPlan:has(input:checked) i{border-color:#deddd7;background:#17191c}.firstSetupPlan:has(input:focus-visible){outline:3px solid #deddd7;outline-offset:3px}.firstSetupPlan:hover{border-color:#81858c}.accessSheet .primary{width:100%;min-height:54px;height:auto;border:0;border-radius:16px;background:#deddd7;color:#202226;font-weight:800;padding:14px 16px}.accessSheet .primary:hover{background:#eeede7}.accessSheet .primary:disabled{opacity:.6}.accessSheet .error{min-height:20px;margin:12px 0;font-size:13px}.accessSheet .error:not(:empty){border:0;padding:0;color:#ff989e}.accessSummary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #393d43;border-radius:13px;background:#25282c;margin-bottom:20px;font-size:12px;color:#c6c8cc;flex-wrap:wrap}.accessOwner{font-size:12px;color:#a7abb2;overflow-wrap:anywhere;margin:18px 0}.authLoginSheet{max-width:520px;transform:none;transition:none}.authLoginSheet header{text-align:start;padding:0 24px 0 0}.authLoginSheet h2{margin-inline:0}.authCodeBoxes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:18px 0}.accessSheet .authCodeCell{padding:0;width:100%;height:58px;min-width:0;border-radius:15px;font-size:24px;font-weight:850;text-align:center;direction:ltr}.authCodeCell[aria-invalid=true]{border-color:#bc646a}.authCodeCell[readonly]{opacity:.65}.authLink{width:100%;border:0;padding:16px 10px 4px;background:transparent;color:#c6c8cc;font-weight:700;font-size:14px}.authPrimary{margin-top:0}.authLink:hover{color:#fff}.accessSheet .firstSetupSave{margin-top:4px}.accessSheet fieldset{margin:22px 0 0}.accessSheet fieldset legend{margin-bottom:10px}.accessSheet.authLoginSheet .field{margin:16px 0}
@keyframes accessIn{from{transform:translateY(105%)}to{transform:translateY(0)}}
@media(max-width:600px){.accessTools{top:16px;inset-inline-end:16px}.accessLogo{font-size:26px;margin-bottom:25px}.accessLogo img{width:56px;height:56px}.accessLogo small{font-size:9px}.firstSetupMain{padding:90px 13px 35px}.accessSheet{inset:auto 0 0;width:100%;max-height:92dvh;padding:11px 16px max(22px,env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:25px 25px 0 0}.accessSheet header{padding:0 22px}.accessSheet header h2{font-size:25px}.firstSetupDates{grid-template-columns:1fr 1fr;gap:10px}.firstSetupDates .field{font-size:12px;min-width:0}.firstSetupDates input{padding:10px 8px;font-size:14px;min-width:0}.firstSetupPlans{grid-template-columns:1fr}.firstSetupPlan{grid-template-columns:42px 1fr 18px;gap:12px;padding:11px 13px}.firstSetupPlanMark{width:40px;height:40px;grid-column:1;grid-row:1}.firstSetupPlan>b{grid-column:2;grid-row:1;font-size:15px}.firstSetupPlan>i{grid-column:3;grid-row:1;align-self:center;margin:0}.firstSetupSave{position:static;box-shadow:none}.authCodeBoxes{gap:6px}.accessSheet .authCodeCell{height:52px;border-radius:12px;font-size:21px}.authLoginSheet header{padding:0 24px 0 0}.accessSheet .grab{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.accessSheet,.pinSpinner{animation:none}.firstSetupCode input,.firstSetupPlan{transition:none}}

.accessSheet{transform:none}.firstSetupCodeCard h1{letter-spacing:-.7px}

/* Keep both date controls level when one label wraps on a narrow phone. */
.accessSheet .firstSetupDates{align-items:end}
.accessSheet .firstSetupDates .field{min-width:0}
.accessSheet .firstSetupDates input[type=date]{display:block;width:100%;min-width:0;max-width:100%;height:52px;margin:0;box-sizing:border-box}
@media(max-width:600px){
 .accessSheet .firstSetupDates input[type=date]{font-size:16px;line-height:normal;padding:10px 8px}
 .accessSheet .firstSetupDates input[type=date]::-webkit-datetime-edit{padding:0;min-width:0}
 .accessSheet .firstSetupDates input[type=date]::-webkit-date-and-time-value{text-align:start}
}

/* Simple customer sign-in forms: comfortable native input size on iPhone. */
.accessSheet.authLoginSheet .field input{font-size:16px;min-height:54px}
