:root{--ink:#211912;--wine:#760b2a;--gold:#efcf36;--paper:#fff9e6;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:#f4efe5;color:var(--ink);font:16px/1.5 system-ui,sans-serif}header{background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px max(5vw,20px)}header>div{display:flex;align-items:center;gap:22px}a{color:inherit}header a{font-size:14px}header .wordmark{font-size:28px;text-decoration:none;font-weight:900;line-height:1}header .wordmark span{display:block;font-size:10px;color:var(--gold);letter-spacing:.12em;margin-top:7px}main{max-width:1440px;padding:34px 24px 80px;margin:auto}h1{font-size:clamp(36px,5vw,64px);line-height:1;margin:10px 0 18px;letter-spacing:-.04em}h2,h3,p{margin-top:0}.eyebrow{color:var(--wine);font-size:13px;font-weight:800;letter-spacing:.12em}.page-heading{margin-bottom:30px}.page-heading>p:last-child{color:#675e54}.auth-panel{max-width:480px;background:white;border:1px solid #d7cbbc;border-radius:14px;padding:28px;margin:30px auto}label{display:block;font-weight:650;margin-bottom:18px}input{display:block;font:inherit;width:100%;padding:12px;border:1px solid #a79a89;border-radius:6px;margin-top:6px}button{font:700 15px/1.3 system-ui,sans-serif;border:1px solid var(--wine);border-radius:7px;padding:13px 18px;background:var(--wine);color:white;cursor:pointer;min-height:44px}button:disabled{opacity:.5;cursor:wait}.secondary{background:transparent;color:inherit;border-color:#ae9a80}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b78400;outline-offset:3px}[hidden]{display:none!important}.message:empty{display:none}.message{padding:14px;background:#fff2ca;border:1px solid #c68f20;border-radius:8px}.monitor-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--ink);color:white;padding:20px;border-radius:12px}.monitor-bar p{margin:5px 0 0;color:#d6cabc;font-size:14px}.monitor-actions{display:flex;gap:10px;flex-wrap:wrap}#sound[aria-pressed=true]{background:var(--gold);color:var(--ink);border-color:var(--gold)}.sound-note{font-size:14px;color:#6b6258;margin:12px 0 26px}.status-tabs{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid #cbbcaa;padding-bottom:16px}.status-tabs button{background:white;color:var(--ink);border-color:#cbbcaa;display:flex;gap:18px;align-items:center}.status-tabs button[aria-pressed=true]{background:var(--wine);color:white;border-color:var(--wine)}.status-tabs span{padding:1px 8px;border-radius:20px;background:#0001;min-width:28px}.ticket-section-title{display:flex;justify-content:space-between;align-items:center;margin:26px 0 18px}.ticket-section-title h2{margin:0}.tickets{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.ticket{background:white;border:1px solid #dacdbb;border-top:5px solid var(--wine);border-radius:10px;padding:22px;box-shadow:0 6px 18px #21191208}.ticket-top{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin-bottom:15px}.ticket-top strong{color:var(--wine)}.ticket h3{font-size:23px;margin-bottom:5px}.ticket .phone{font-size:18px;font-weight:600}.ticket .badges{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}.badges span{font-size:12px;font-weight:800;padding:5px 9px;border-radius:5px;background:#f1e8d6}.badges .payment{background:var(--gold)}.ticket-items{list-style:none;padding:0;margin:0}.ticket-items li{display:flex;justify-content:space-between;align-items:start;gap:16px;border-top:1px solid #eee6db;padding:12px 0}.ticket-items small{display:block;color:#71665a;font-size:13px;margin-top:3px}.ticket-items strong{white-space:nowrap}.total{display:flex;justify-content:space-between;font-size:19px;font-weight:800;border-top:2px solid #cbbcaa;padding-top:14px}.tax-note{font-size:13px;color:#74695c}.ticket-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.empty{text-align:center;padding:55px 20px;background:white;border:1px dashed #cbbcaa;border-radius:10px}dialog{width:min(620px,calc(100% - 28px));max-height:90svh;overflow:auto;border:1px solid #ac9478;border-radius:14px;padding:26px;background:#fffaf0;color:var(--ink)}dialog::backdrop{background:#120d0bcc}.dialog-close{float:right;margin:0 0 15px 15px}dialog h2{clear:both}.verify-label{display:flex;align-items:start;gap:10px;padding:14px;background:#eee2c8;border-radius:6px}.verify-label input{width:22px;height:22px;margin:0;flex-shrink:0}.review-actions{display:flex;gap:12px;margin-top:20px}#review-message{color:#8b1731;font-weight:600;margin-top:16px}body.bell-ringing .monitor-bar{box-shadow:0 0 0 4px var(--gold)}@media(max-width:650px){header{padding:18px;align-items:start}header>div{flex-direction:column;gap:8px;align-items:end}main{padding:28px 16px 60px}.monitor-bar{align-items:start;flex-direction:column}.tickets{grid-template-columns:1fr}.status-tabs{gap:7px}.status-tabs button{flex:1;padding:11px;gap:8px}.auth-panel{padding:20px}.ticket-section-title{align-items:start;gap:10px}}

.payment-state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;margin:12px 0;border:1px solid #d8c9c9;border-radius:8px;background:#fff8f5;font-size:.85rem;overflow-wrap:anywhere}.payment-state-grid span{grid-column:1/-1}.payment-blocker{padding:10px;border-left:4px solid #971d33;background:#fff0ed;color:#74162a;font-weight:600;line-height:1.4}.ticket-actions button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.payment-state-grid{grid-template-columns:1fr}}

.alarm-settings{margin:0 0 20px;padding:4px 18px 16px;border:1px solid #cbbcaa;border-radius:10px;background:#fffaf0;font-size:14px;overflow-wrap:anywhere}.alarm-settings summary{cursor:pointer;font-weight:750;min-height:48px;padding:13px 0;font-size:16px}.alarm-settings:not([open]){padding-bottom:4px}.alarm-settings-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;margin:8px 0 14px}.alarm-settings label{margin-bottom:8px}.alarm-settings output{float:right;font-weight:800;color:var(--wine)}.alarm-settings input[type=range]{padding:0;margin:0;min-height:44px;accent-color:var(--wine);cursor:pointer}.alarm-range-labels{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#675e54}.alarm-settings select{width:100%;min-height:44px;border:1px solid #a79a89;border-radius:6px;padding:10px;background:white;color:var(--ink);font:inherit}.alarm-settings-actions{display:flex;flex-wrap:wrap;gap:10px}.alarm-settings p{margin:12px 0;color:#675e54}.alarm-settings p:last-child{margin-bottom:0}.alarm-settings summary:focus-visible,.alarm-settings select:focus-visible{outline:3px solid #b78400;outline-offset:3px}@media(max-width:650px){.alarm-settings-grid{grid-template-columns:1fr;gap:18px}.alarm-range-labels{font-size:11px}}

/* Keep item names, options and modifiers bold in cards, review and printing. */
.ticket-items,.ticket-items small{font-weight:700}

/* Status is written in text as well as color. The steady glow never flashes. */
.ticket-pending{border-color:#c58916;border-top-color:#b57508;box-shadow:0 0 0 2px #edc65d55,0 0 22px #e3ad3b55;background:#fffefa}
.ticket-accepted{border-top-color:#24714c}
.order-state{display:flex;flex-direction:column;gap:2px;padding:12px 14px;margin:-2px 0 18px;border:1px solid;border-radius:7px}
.order-state strong{font-size:19px;font-weight:900;line-height:1.3;letter-spacing:.02em}
.order-state span{font-size:13px;font-weight:650}
.order-state-pending{background:#fff0b5;border-color:#bb841b;color:#553600;box-shadow:0 0 15px #e8b64866}
.order-state-pending strong{text-shadow:0 0 10px #f6cb52aa}
.order-state-accepted{background:#e7f5eb;border-color:#8bb79c;color:#175b38}
.ticket-section-title{flex-wrap:wrap;gap:8px 20px}
#ticket-count{color:#675e54;font-size:14px;font-weight:650}
@media(forced-colors:active){.ticket-pending,.ticket-accepted,.order-state{border:2px solid CanvasText;box-shadow:none}.order-state-pending strong{text-shadow:none}}

#timing-form input[type="number"]{width:100%;min-height:44px;padding:10px;border:1px solid #a89c8d;border-radius:6px;font:inherit;box-sizing:border-box}#timing-form label{display:block;font-weight:700;margin-bottom:8px}#timing-message{min-height:1.4em}

/* Partial item refunds keep the original sale and visible adjustment history. */
.ticket-items del{color:#862038}.item-edit-audit,.refund-preview{padding:14px;background:#edf6ee;border:1px solid #9cbca3;border-radius:8px;margin:14px 0;overflow-wrap:anywhere}.item-edit-audit p:last-child{margin-bottom:0}#item-removal-form fieldset{border:1px solid #cbbcaa;border-radius:8px;padding:16px;margin:16px 0}#item-removal-form legend{font-weight:800;overflow-wrap:anywhere}#item-removal-form select{display:block;width:100%;min-height:44px;padding:10px;font:inherit;background:white;border:1px solid #a79a89;border-radius:6px}#item-removal-form small{display:block}#item-edit-message{font-weight:650;color:#74162a;margin-top:16px}.availability-list{padding:0;list-style:none}.availability-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #cbbcaa}.availability-list li div{overflow-wrap:anywhere}.availability-list button{flex-shrink:0}#item-edit select:focus-visible{outline:3px solid #b78400;outline-offset:3px}@media(max-width:480px){.availability-list li{align-items:stretch;flex-direction:column}}

/* Independent, location-scoped menu stock controls. Keep tablet tap targets large. */
.menu-stock-panel{border:2px solid #a78442;background:#fffdf5;margin-bottom:26px}
.menu-stock-panel summary{font-size:21px;color:var(--wine)}
.menu-stock-panel summary span{display:inline-block;font-size:13px;color:#675e54;font-weight:650;margin-left:12px}
.stock-location-row{display:flex;align-items:end;gap:16px;margin:20px 0 16px}
.stock-location-row label{flex:1;max-width:420px;margin:0}
.stock-location-row button{min-height:46px}
.stock-filters{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.8fr);gap:16px}
.stock-filters label{min-width:0;margin-bottom:16px}
.stock-filters input{margin-top:0;min-height:44px;padding:10px;background:white}
.stock-duration{max-width:420px}
.menu-stock-panel .stock-message{padding:12px 14px;background:#f2e8cb;border-radius:7px;color:#473920;min-height:46px;font-weight:650}
.menu-stock-panel .stock-summary{font-size:13px;color:#665742;font-weight:700}
.menu-stock-panel .availability-list{max-height:560px;overflow:auto;overscroll-behavior:contain;border:1px solid #cbbcaa;border-radius:8px;background:white;margin:14px 0 4px;scrollbar-gutter:stable}
.menu-stock-panel .availability-list li{padding:16px;gap:20px}
.menu-stock-panel .availability-list li:last-child{border-bottom:0}
.stock-item-info{min-width:0}
.stock-item-info>strong{display:block;font-size:17px}
.stock-item-info small{display:block;color:#675e54}
.menu-stock-panel .stock-item-info p{margin:5px 0 2px;font-size:13px;color:#4b4035}
.stock-item-unavailable{background:#fff4ef}
.stock-badge{display:inline-block;border-radius:4px;padding:3px 7px;font-size:12px;font-weight:800;margin-top:8px}
.stock-badge-available{background:#e4f3e8;color:#185c35}
.stock-badge-unavailable{background:#fbe1e2;color:#761c29}
.stock-badge-unknown{background:#eee9e0;color:#5d5144}
.menu-stock-panel button:disabled{cursor:not-allowed}
.menu-stock-panel .stock-empty{justify-content:center;min-height:96px;color:#675e54}
@media(max-width:760px){.stock-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-filters>label:first-child{grid-column:1/-1}.menu-stock-panel summary span{display:block;margin-left:0}.menu-stock-panel .availability-list{max-height:520px}}
@media(max-width:480px){.menu-stock-panel{padding-left:12px;padding-right:12px}.stock-location-row{align-items:stretch;flex-direction:column;gap:10px}.stock-location-row label,.stock-duration{max-width:none}.stock-filters{grid-template-columns:1fr;gap:0}.menu-stock-panel .availability-list li{padding:14px;gap:12px}.menu-stock-panel .availability-list button{width:100%}}
@media(forced-colors:active){.stock-badge{border:1px solid CanvasText}.stock-item-unavailable{border-left:4px solid CanvasText}}
