.customer-actions{position:fixed;z-index:8;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;width:min(600px,calc(100% - 40px));padding:8px;gap:12px;border:1px solid #ffffff24;border-radius:12px;background:var(--dark);color:var(--on-dark);box-shadow:0 12px 40px #13251c30}
.service-table{display:flex;align-items:center;gap:8px;flex:none;padding:8px 16px;font-size:12px;font-weight:600}.service-table .status-dot{background:var(--brand-accent)}
.call-waiter-button{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;border:0;padding:10px 16px;background:var(--brand-accent);color:var(--brand-ink);border-radius:6px;text-align:left;box-shadow:none}
.bell-icon{display:grid;place-items:center;flex:none;width:auto;height:auto;background:transparent;color:inherit}
.call-waiter-button>span:nth-child(2){flex:1}.call-waiter-button strong,.call-waiter-button small{display:block}.call-waiter-button strong{font-size:13px;font-weight:600}.call-waiter-button small{margin-top:2px;color:inherit;font-size:10px;opacity:.86}.call-waiter-button>.icon{width:20px;height:20px}
.customer-call-status{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px;background:transparent;color:var(--on-dark);border:0}
.status-check{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--brand-accent);color:var(--brand-ink);font-size:20px}
.customer-call-status>div{flex:1}.customer-call-status strong,.customer-call-status small{display:block}.customer-call-status strong{font-size:13px}.customer-call-status small{color:var(--muted-on-dark);font-size:10px;margin-top:4px;line-height:1.4}
.customer-call-status button{min-height:44px;border:0;background:transparent;color:var(--on-dark);padding:8px;text-decoration:underline;font-size:11px;text-underline-offset:4px}
.request-bill-button{display:grid;place-items:center;align-content:center;gap:2px;flex:none;min-width:64px;min-height:56px;padding:5px 8px;border:1px solid #ffffff55;border-radius:6px;background:transparent;color:var(--on-dark);font:600 10px var(--font-body)}
.request-bill-button .icon{width:18px;height:18px;stroke-width:1.8}
.customer-call-status{display:grid;gap:4px}
.customer-call-status-line{display:flex;align-items:center;gap:12px;width:100%;min-height:48px}
.customer-call-status-line>div{flex:1;min-width:0}
.customer-call-status-line strong,.customer-call-status-line small{display:block}
.customer-call-status-line strong{font-size:13px}
.customer-call-status-line small{margin-top:3px;color:var(--muted-on-dark);font-size:10px;line-height:1.4}
@media(max-width:540px){.customer-actions{bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100% - 24px);gap:0;padding:6px}.service-table{padding:8px 12px;gap:6px;font-size:10px}.call-waiter-button{min-height:56px;gap:10px;padding:10px 12px}.call-waiter-button small{display:none}.call-waiter-button strong{font-size:12px}.call-waiter-button .icon{width:20px;height:20px}.request-bill-button{min-width:56px;min-height:56px;padding:5px 6px}.customer-actions:has(.customer-call-status:not(.hidden)) .service-table{display:none}.customer-call-status{padding:4px 8px}.customer-call-status-line{gap:8px}.customer-call-status-line .status-check{width:30px;height:30px}}

/* Requests remain independent, each status occupying a full readable row. */
.customer-actions{flex-wrap:wrap;gap:8px}
.customer-call-status{order:-2;flex:0 0 100%;min-width:0;width:100%}
.service-table{order:-1}
.call-waiter-button{flex:1;min-width:0;width:auto}
.customer-call-status-line{min-width:0}
.customer-call-status-line strong,.customer-call-status-line small{overflow-wrap:anywhere}
.customer-call-status-line button{flex:none;min-width:44px}
.request-bill-button{order:2}
@media(max-width:540px){
 .customer-actions:has(#open-cart:not(.hidden)) .service-table,
 .customer-actions:has(#open-order-status:not(.hidden)) .service-table{flex-basis:100%;justify-content:center;padding:2px 4px}
}

/* Keep the closed-service status clear of the first menu card on short phones. */
@media(max-width:360px) and (max-height:640px){
 .customer-actions:has(.service-closed-note:not(.hidden)){bottom:calc(8px + env(safe-area-inset-bottom));gap:4px;padding:4px}
 .customer-actions:has(.service-closed-note:not(.hidden)) .service-closed-note{padding:6px 8px;font-size:11px;line-height:1.25}
 .customer-actions:has(.service-closed-note:not(.hidden)) .service-table{padding:3px 8px;line-height:1.2}
}

.local-demo-warning{order:-4;flex:0 0 100%;min-width:0;margin:0;padding:9px 12px;border:1px solid #e2a326;border-radius:8px;background:#fff2c8;color:#3e2e0a;font-size:12px;font-weight:700;line-height:1.35}
.local-demo-admit{order:-3;flex:0 0 100%;min-height:48px;padding:10px 14px;border:1px solid #f2b233;border-radius:8px;background:#f2b233;color:#171717;font:700 14px var(--font-body);cursor:pointer}
.local-demo-admit:disabled{opacity:.65;cursor:wait}
@media(max-width:360px) and (max-height:640px){.customer-actions:has(.local-demo-warning:not(.hidden)){bottom:calc(8px + env(safe-area-inset-bottom));gap:4px;padding:4px}.local-demo-warning{padding:6px 8px;font-size:10px}.local-demo-admit{min-height:44px;font-size:12px}}

.custom-service-actions{margin:12px clamp(16px,4vw,48px) 24px}.custom-service-actions[hidden]{display:none}.custom-service-actions h2{font:600 1.15rem var(--font-body);margin:0 0 12px}.custom-service-grid{display:flex;gap:10px;flex-wrap:wrap}.custom-service-action{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-height:44px;padding:10px 14px;border:1px solid #bdb7a9;border-radius:10px;background:#e8e1d3;color:#24231e;text-decoration:none;font:600 14px var(--font-body);max-width:100%;overflow-wrap:anywhere}.custom-service-action small{width:100%;font-weight:400}.custom-service-action:disabled{opacity:.65}.custom-service-action:focus-visible,.bill-payment-field select:focus-visible{outline:3px solid var(--brand-accent);outline-offset:3px}.bill-payment-field{display:grid;gap:8px;margin:18px 0;font:600 14px var(--font-body)}.bill-payment-field[hidden]{display:none}.bill-payment-field select{min-height:44px;width:100%;font:400 16px var(--font-body);padding:10px;border:1px solid #bdb7a9;background:#eee8dd;color:#24231e;border-radius:8px}.bill-payment-field small{font-weight:400;line-height:1.5}.bill-sheet [hidden]{display:none!important}

.custom-service-actions summary{min-height:44px;align-content:center;font:600 16px var(--font-body);cursor:pointer;line-height:1.5;padding:10px 0}.custom-service-actions .custom-service-grid{padding-top:8px}.custom-service-actions summary:focus-visible{outline:3px solid var(--brand-accent);outline-offset:2px}
