/* SnapOS Order 20.9.78 — optional customer account + final-customer menu polish */
.menuChannel .menuAccountBtn{display:flex;align-items:center;gap:9px;min-height:46px;padding:6px 12px;border:1px solid var(--menu-line);border-radius:14px;background:#fff;color:var(--menu-text);font-family:inherit;cursor:pointer;transition:.18s ease}
.menuChannel .menuAccountBtn:hover{border-color:color-mix(in srgb,var(--primary,#1b2454) 35%,var(--menu-line));box-shadow:0 6px 18px rgba(15,23,42,.06)}
.menuChannel .menuAccountBtn.hidden{display:none!important}.menuChannel .menuAccountIcon{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:color-mix(in srgb,var(--primary,#1b2454) 9%,#fff);font-size:16px}.menuChannel .menuAccountText{display:grid;text-align:right;line-height:1.2}.menuChannel .menuAccountText b{font-size:12px}.menuChannel .menuAccountText small{font-size:10px;color:var(--menu-muted);margin-top:3px}
.menuChannel .menuAccountDialog{width:min(680px,100%)}.menuChannel .menuAccountBody{background:#f8fafc}.menuChannel .menuAccountTabs,.menuChannel .menuAccountMemberTabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border:1px solid var(--menu-line);border-radius:14px;background:#fff;margin-bottom:16px}.menuChannel .menuAccountTabs button,.menuChannel .menuAccountMemberTabs button{min-height:43px;border:0;border-radius:10px;background:transparent;color:#64748b;font-family:inherit;font-weight:800;cursor:pointer}.menuChannel .menuAccountTabs button.active,.menuChannel .menuAccountMemberTabs button.active{background:var(--primary,#1b2454);color:#fff}.menuChannel .menuAccountTabs button.hidden,.menuChannel .menuAccountMemberTabs button.hidden{display:none!important}.menuChannel .menuAccountForm{display:grid;gap:13px;padding:18px;border:1px solid var(--menu-line);border-radius:18px;background:#fff}.menuChannel .menuAccountForm.hidden{display:none!important}.menuChannel .menuAccountForm label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#334155}.menuChannel .menuAccountForm input,.menuChannel .menuAccountForm textarea{width:100%;min-height:48px;border:1px solid #dbe2ea;border-radius:13px;background:#fff;padding:11px 13px;font:inherit;color:#0f172a;outline:0}.menuChannel .menuAccountForm textarea{min-height:88px;resize:vertical}.menuChannel .menuAccountForm input:focus,.menuChannel .menuAccountForm textarea:focus{border-color:var(--primary,#1b2454);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary,#1b2454) 10%,transparent)}.menuChannel .menuAccountForm input[readonly]{background:#f8fafc;color:#64748b}.menuChannel .menuAccountIntro{display:grid;gap:4px;margin-bottom:3px}.menuChannel .menuAccountIntro b{font-size:18px;color:#0f172a}.menuChannel .menuAccountIntro span,.menuChannel .menuAccountForm label small,.menuChannel .menuAccountPrivacy{color:#64748b;font-size:11px;font-weight:600}.menuChannel .menuAccountPrivacy{text-align:center}.menuChannel .menuAccountMessage{min-height:0;font-size:12px;font-weight:800}.menuChannel .menuAccountMessage.error{color:#b91c1c}.menuChannel .menuAccountMessage.success{color:#15803d}
.menuChannel .menuAccountWelcome{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:14px;padding:14px;border:1px solid var(--menu-line);border-radius:17px;background:#fff}.menuChannel .menuAccountAvatar{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:color-mix(in srgb,var(--primary,#1b2454) 9%,#fff);font-size:21px}.menuChannel .menuAccountWelcome>div:nth-child(2){display:grid;min-width:0}.menuChannel .menuAccountWelcome small{color:#64748b}.menuChannel .menuAccountWelcome b{font-size:16px;color:#0f172a}.menuChannel .menuAccountWelcome span{font-size:11px;color:#64748b;direction:ltr;text-align:right}.menuChannel .menuOrdersHead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.menuChannel .menuOrdersHead>div{display:grid;gap:3px}.menuChannel .menuOrdersHead b{font-size:17px}.menuChannel .menuOrdersHead span{font-size:11px;color:#64748b}.menuChannel .menuOrdersList{display:grid;gap:10px}.menuChannel .menuOrderHistoryCard{padding:14px;border:1px solid var(--menu-line);border-radius:17px;background:#fff}.menuChannel .menuOrderHistoryHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.menuChannel .menuOrderHistoryHead>div{display:grid;gap:2px}.menuChannel .menuOrderHistoryHead small{color:#64748b;font-size:10px}.menuChannel .menuOrderHistoryHead b{font-size:14px}.menuChannel .menuOrderStatus{padding:6px 9px;border-radius:999px;background:#eef2ff;color:var(--primary,#1b2454);font-size:10px;font-weight:900}.menuChannel .menuOrderMeta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px;color:#64748b;font-size:10px}.menuChannel .menuOrderHistoryCard p{margin:0;color:#475569;font-size:11px;line-height:1.65}.menuChannel .menuOrderHistoryTotal{display:flex;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px dashed #e2e8f0;font-size:12px}.menuChannel .menuOrderHistoryTotal b{font-size:14px}.menuChannel .menuAccountLoading,.menuChannel .menuAccountEmpty{display:grid;place-items:center;text-align:center;gap:7px;padding:28px 18px;border:1px dashed #dbe2ea;border-radius:17px;background:#fff;color:#64748b}.menuChannel .menuAccountEmpty span{font-size:24px}.menuChannel .menuAccountEmpty b{color:#0f172a}.menuChannel .menuAccountEmpty small{max-width:360px;line-height:1.6}
/* Make the customer-facing menu calmer and easier to scan without changing features. */
.menuChannel .kioskWelcome{background:linear-gradient(135deg,#fff 0%,color-mix(in srgb,var(--primary,#1b2454) 3%,#fff) 100%)}.menuChannel .kioskWelcome h1{letter-spacing:-.02em}.menuChannel .productV2{overflow:hidden;background:#fff}.menuChannel .productInfo h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menuChannel .payBtn{font-weight:900}.menuChannel .modernCats .chip{font-weight:800}.menuChannel .reviewForm .field>label{font-weight:900}.menuChannel #reviewCustomerPhoneField input[readonly]{background:#f8fafc;color:#475569}
@media(max-width:780px){.menuChannel .kioskTopActions{display:flex;gap:7px}.menuChannel .kioskStatus{display:none}.menuChannel .menuAccountBtn{min-height:42px;padding:5px 8px;border-radius:13px}.menuChannel .menuAccountIcon{width:31px;height:31px}.menuChannel .menuAccountText small{display:none}.menuChannel .menuAccountText b{font-size:11px}.menuChannel .menuAccountOverlay{z-index:1500}.menuChannel .menuAccountDialog{max-height:92dvh}.menuChannel .menuAccountBody{padding:14px}.menuChannel .menuAccountForm{padding:14px}.menuChannel .menuAccountWelcome{grid-template-columns:auto minmax(0,1fr);}.menuChannel .menuAccountWelcome .btn{grid-column:1/-1;width:100%}.menuChannel .menuOrdersHead{align-items:stretch}.menuChannel .menuOrdersHead .btn{min-width:88px}}
@media(max-width:390px){.menuChannel .menuAccountText{display:none}.menuChannel .menuAccountBtn{padding:5px}.menuChannel .menuAccountTabs,.menuChannel .menuAccountMemberTabs{gap:4px}.menuChannel .menuOrderMeta{display:grid}}
/* 20.9.79 — account sheet must always remain scrollable above mobile keyboard. */
.menuChannel.menuFullscreenExperience,.menuChannel.menuFullscreenExperience #app{min-height:100dvh;min-height:100svh}.menuChannel.menuAccountOpen{overflow:hidden}.menuChannel .menuAccountOverlay{overflow:hidden;overscroll-behavior:contain}.menuChannel .menuAccountDialog{display:flex;flex-direction:column;overflow:hidden;max-height:min(92dvh,920px)}.menuChannel .menuAccountDialog .dialogHead{flex:0 0 auto}.menuChannel .menuAccountBody{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable}.menuChannel .menuAccountForm{scroll-margin-bottom:100px}.menuChannel .menuAccountForm button[type="submit"]{position:relative;z-index:1}
@media(max-width:780px){.menuChannel .menuAccountOverlay{align-items:stretch;padding:max(6px,env(safe-area-inset-top)) 6px max(6px,env(safe-area-inset-bottom))}.menuChannel .menuAccountDialog{width:100%;height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));max-height:none;border-radius:18px}.menuChannel .menuAccountBody{padding-bottom:calc(22px + env(safe-area-inset-bottom))}.menuChannel .menuAccountForm{padding-bottom:calc(18px + env(safe-area-inset-bottom))}.menuChannel .menuAccountForm button[type="submit"]{min-height:50px;position:sticky;bottom:0;box-shadow:0 -8px 18px rgba(255,255,255,.92)}}
/* 20.9.80 — PIN recovery + immediate full-viewport menu experience. */
.menuChannel.menuFullscreenExperience{width:100%;min-height:100dvh;overflow-x:hidden}.menuChannel.menuFullscreenExperience #app{width:100%;min-height:100dvh}.menuChannel .menuForgotPinLink,.menuChannel .menuBackToLogin{justify-self:start;border:0;background:transparent;color:var(--primary,#1b2454);font:inherit;font-size:12px;font-weight:900;padding:3px 0;cursor:pointer}.menuChannel .menuForgotPinLink:hover,.menuChannel .menuBackToLogin:hover{text-decoration:underline}.menuChannel .menuPinResetRequestActions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.menuChannel .menuPinResetHelp{display:grid;gap:4px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--primary,#1b2454) 18%,#dbe2ea);border-radius:13px;background:color-mix(in srgb,var(--primary,#1b2454) 5%,#fff);color:#475569}.menuChannel .menuPinResetHelp b{color:#0f172a;font-size:12px}.menuChannel .menuPinResetHelp span{font-size:11px;line-height:1.7}.menuChannel .menuPinResetHelp.hidden{display:none!important}
@media(max-width:780px){.menuChannel .menuPinResetRequestActions{display:grid;grid-template-columns:1fr}.menuChannel .menuPinResetRequestActions .btn{width:100%}.menuChannel .menuBackToLogin{justify-self:center}.menuChannel #menuForgotPinForm{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}
