:root{font:16px/1.5 system-ui,sans-serif;color:#183c30;background:#f7f0e1}*{box-sizing:border-box}body{margin:0}header{background:linear-gradient(120deg,#043e30,#087b58);color:#fff8e8;padding:28px max(20px,calc((100% - 820px)/2));border-bottom:4px solid #e8b44f}.brand{font-size:32px;font-weight:750;color:#f6cc75;letter-spacing:-1px}header p{margin:2px 0 14px}.badge{font-size:12px;letter-spacing:.4px}main{max-width:860px;margin:auto;padding:24px 20px}section{margin-bottom:28px}h1{font-size:28px;line-height:1.2}h2{font-size:21px}label{display:block;font-weight:600;margin:15px 0 6px}input,select,button{font:inherit;min-height:46px;border-radius:10px;padding:10px 13px}input,select{width:100%;background:#fffdf7;border:1px solid #a5b59e;color:#183c30}button{border:0;background:#075b45;color:#fff8e7;font-weight:600;margin:12px 0;cursor:pointer}button:disabled{opacity:.5;cursor:default}.secondary{background:#e3eadc;color:#184530}.toolbar,.actions,.line{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar{justify-content:space-between}.line{justify-content:space-between;border-bottom:1px solid #e0d8c5;padding:8px 0}.columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.restaurant{background:#f4dfac;border:1px solid #dec17e;border-radius:16px;padding:16px}.restaurant h2{margin:0}.muted,footer{font-size:13px;color:#58664f}.booking{background:#fffcf5;border:1px solid #d2d6bd;border-radius:16px;padding:20px;margin:18px 0}.booking h3{margin:0}.status{background:#d8efe2;color:#124934;border-radius:8px;padding:12px;margin:12px 0}.amount{font-weight:700}footer{border-top:1px solid #d9ceaf;padding-top:20px}#message{padding:12px;background:#f4dfac;border-radius:10px}#message:empty{display:none}[hidden]{display:none!important}:focus-visible{outline:3px solid #a76610;outline-offset:3px}@media(max-width:480px){main{padding:20px 14px}.columns{grid-template-columns:1fr}.toolbar{justify-content:flex-start}.booking{padding:15px}}
.role-choices{display:grid;gap:12px}.role-choices button{text-align:left;padding:22px;margin:0}.role-choices strong{display:block;font-size:21px;color:#f6cc75}.role-choices span{display:block;font-size:15px;font-weight:400;margin-top:6px}
.schedule-editor{margin:16px 0;padding:0;border:1px solid #d3a54c;border-radius:12px;background:#fff6df}.schedule-editor summary{display:list-item;list-style-position:inside;background:#f0c366;color:#183c30;font-weight:750;padding:16px;min-height:52px;border-radius:11px;cursor:pointer}.schedule-editor[open]{padding:0 16px 16px}.schedule-editor[open] summary{margin:0 -16px 12px;border-radius:11px 11px 0 0}.schedule-editor summary:focus-visible{outline:3px solid #075b45;outline-offset:3px}.schedule-editor .muted{margin:10px 0}
.tracking{margin:20px 0}.progress-steps{list-style:none;padding:0;display:grid;gap:10px}.progress-steps li{display:flex;align-items:center;gap:12px;color:#667160}.progress-steps .reached{color:#075b45;font-weight:650}.step-marker{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:#e5e6dc;color:#596151}.reached .step-marker{background:#075b45;color:#fff8e8}.progress-steps [aria-current=step] .step-marker{background:#efc36a;color:#173c2e}.ready-estimate{background:#e4f0e5;border-radius:12px;padding:16px;margin-top:16px}.ready-estimate>span,.ready-estimate>strong{display:block}.ready-estimate>strong{font-size:23px;color:#075b45;margin-top:5px}.ready-estimate p{margin:8px 0 0}.activity-history{border-top:1px solid #dfd7c4;margin-top:16px;padding-top:12px}.activity-history summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:600;color:#075b45}.event-list{padding-left:20px}.event-list li{padding:8px 0}.event-list time{display:block;font-size:13px;color:#58664f}.tracking-title{font-weight:650}
.activity-history{border:1px solid #d3a54c;border-radius:12px;background:#fff6df;padding:0;margin-top:20px}.activity-history summary{display:list-item;list-style-position:inside;min-height:52px;padding:16px;border-radius:11px;background:#f0c366;color:#183c30;font-size:16px;font-weight:750}.activity-history[open]>summary{border-radius:11px 11px 0 0}.activity-history>div{padding:0 16px 12px}.activity-history summary:focus-visible{outline:3px solid #075b45;outline-offset:3px}
#queue-controls{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}#queue-controls button{margin:0;font-size:14px}#queue-controls [aria-pressed=true]{background:#075b45;color:#fff8e7}.arrival-notice{background:#fff0cc;color:#684412;border-left:4px solid #bb8529;padding:12px;border-radius:8px}
.restaurant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;margin:24px 0 32px}.market-card{background:#fffcf5;border:1px solid #d6c8a8;border-radius:18px;overflow:hidden}.market-banner{background:linear-gradient(125deg,#064c39,#157f58);color:#f8d995;min-height:115px;display:flex;align-items:end;padding:22px;font-size:20px;font-weight:650}.market-banner.cedar{background:linear-gradient(125deg,#67431f,#996c32);color:#fff0c5}.market-body{padding:20px}.market-body h2{margin:0 0 8px}.market-body p{margin:8px 0}.market-services{font-size:13px;color:#52624b}.market-price{font-weight:600}.market-body button{width:100%;margin-bottom:0}.market-body button[aria-pressed=true]{background:#efc36a;color:#173c2e}#restaurant-order{scroll-margin-top:20px}
.columns.pickup-fields{grid-template-columns:1fr}
.meal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin-bottom:20px}.meal-choice{text-align:left;background:#fffdf7;color:#183c30;border:1px solid #b5c4ac;margin:0;padding:16px}.meal-choice strong,.meal-choice span{display:block}.meal-choice span{font-size:14px;font-weight:400;margin-top:8px}.meal-choice[aria-pressed=true]{background:#fff0ca;border:2px solid #9b6b1e}
.meal-photo{display:block;width:100%;height:160px;object-fit:cover;border-radius:8px;margin-bottom:12px}.photo-preview{display:block;width:100%;max-width:360px;max-height:240px;object-fit:contain;margin:15px 0;border-radius:12px}#photo-manager{background:#fff8e9;border:1px solid #d7c598;border-radius:16px;padding:20px;margin:24px 0}
#menu-manager{background:#fff8e9;border:1px solid #d7c598;border-radius:16px;padding:20px;margin:24px 0}textarea{width:100%;font:inherit;padding:12px;border:1px solid #a5b59e;border-radius:10px;background:#fffdf7;color:#183c30}
.order-note{background:#fff0ca;border:1px solid #d9bf80;border-radius:12px;padding:14px;margin:16px 0}.order-note p{white-space:pre-wrap;overflow-wrap:anywhere}.order-note h4{margin:0 0 8px}.order-note button{margin-bottom:0}
#basket{padding:18px;background:#fff6df;border:1px solid #d3a54c;border-radius:14px;margin:20px 0}.basket-row{padding:12px 0;border-bottom:1px solid #e0d5b7}.basket-row .actions{margin:0}.basket-row button{min-width:44px}
#checkout-review{background:#fffcf5;border:2px solid #c49a42;border-radius:16px;padding:20px;margin-top:24px;scroll-margin-top:20px}#checkout-review h2{color:#075b45;margin-top:0}#checkout-details .line{align-items:flex-start}#checkout-details .line strong{max-width:65%;white-space:pre-wrap;overflow-wrap:anywhere}#checkout-result{color:#075b45;font-weight:600}
.customer-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0 28px;padding:6px;border:1px solid #d8c59d;border-radius:15px;background:#fff7e5}.customer-nav button{margin:0;background:transparent;color:#244936}.customer-nav [aria-pressed=true]{background:#075b45;color:#fff8e7}#customer-order-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}#customer-order-filters button{background:#e8ecdf;color:#23482f;margin:0}#customer-order-filters [aria-pressed=true]{background:#efc36a;color:#183c30}
.order-accordion{margin:14px 0;border:1px solid #d0bf96;border-radius:14px;background:#fffcf5;overflow:hidden}.order-accordion>summary{list-style-position:inside;padding:18px;cursor:pointer;background:#fff1ce;color:#183c30;min-height:60px}.order-accordion>summary>strong{font-size:18px}.order-summary-time,.order-summary-state,.order-summary-hint{display:block;margin-top:6px}.order-summary-time{font-size:14px;color:#53614a}.order-summary-state{font-weight:600}.order-summary-hint{font-size:13px;color:#075b45;text-decoration:underline}.order-accordion[open]>summary{border-bottom:1px solid #d0bf96}.order-accordion>.booking{margin:0;border:0;border-radius:0}.order-accordion>summary:focus-visible{outline:3px solid #075b45;outline-offset:-3px}
.booking-reference{display:block;font-family:ui-monospace,monospace;font-weight:650;letter-spacing:.5px;font-size:14px;color:#075b45;margin:10px 0}#staff-search{background:#fff5df;padding:16px;border-radius:12px;margin:16px 0}
#order-alerts{background:#e0f0e3;border:1px solid #95bc9c;border-radius:14px;padding:18px;margin:0 0 20px}#order-alerts h2{margin:0 0 8px}#order-alert-list{padding-left:20px}#order-alert-list li{padding:5px 0}#order-alerts button{margin-bottom:0}
.restaurant-search-row{display:flex;gap:10px;align-items:center}.restaurant-search-row input{min-width:0;flex:1}.restaurant-search-row button{margin:0}.search-empty{background:#fff4d8;padding:20px;border-radius:12px}
.payment-panel{padding:22px;margin:18px 0 24px;border:2px solid #bd8c2f;border-radius:16px;background:#fff4d9;color:#173e32}.payment-panel h3{margin:8px 0!important;font-size:23px}.payment-eyebrow{font-size:12px;font-weight:750;letter-spacing:1.3px}.payment-amount{display:block;font-size:30px;margin:10px 0}.payment-paid{background:#e3f3e9;border-color:#16805d}.payment-panel .actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}.payment-panel button{margin:0;min-height:48px}.payment-panel .payment-check{background:#fffdf7;color:#075b45;border:1px solid #075b45}.payment-footnote{font-size:13px;margin-bottom:0}.payment-summary{display:inline-block;margin-top:10px;padding:5px 10px;border-radius:20px;background:#f7d591;color:#503600;font-size:13px;font-weight:700}.payment-summary.is-paid{background:#ccebd8;color:#075b45}
.restaurant-payment{margin:18px 0;padding:22px;border:1px solid #b8cfbd;border-left:5px solid #075b45;background:#f0f6ef;border-radius:14px}.restaurant-payment h3{margin-top:0}.restaurant-payment .line{padding:9px 0;border-bottom:1px solid #d1dfd0;gap:14px}.restaurant-payment .line strong{white-space:nowrap}.restaurant-payment .muted{font-size:13px;line-height:1.5}
.store-payment-label{display:inline-block;padding:7px 11px;border:1px solid #adc6b5;border-radius:8px;background:#e8f2e9;color:#154d39;font-size:13px;font-weight:650}
.customer-receipt{margin:24px 0;padding:22px;border:1px solid #d8c59d;border-radius:14px;background:#fffdf7}.customer-receipt h3{margin:0 0 10px}.customer-receipt .line{padding:10px 0;border-bottom:1px dashed #d8c59d;gap:16px}.customer-receipt .line strong{white-space:nowrap}.customer-receipt .muted{font-size:13px;line-height:1.5}
.no-show-eligibility{padding:18px;margin:20px 0;border:1px solid #d3ad66;border-radius:12px;background:#fff5df;color:#4d3918}.no-show-eligibility h3{margin-top:0}.no-show-eligibility .line{padding:8px 0;gap:14px}.no-show-eligibility .muted{font-size:13px}
.customer-nav .new-order-button{grid-column:1 / -1;background:#075b45;color:#fff8e7;border:2px solid #c49a42;min-height:48px}
.chef-schedule{margin:18px 0;padding:20px;border:1px solid #9cb8aa;border-left:5px solid #075b45;border-radius:14px;background:#eef5f0}.chef-schedule h3{margin-top:0}.chef-schedule .line{padding:8px 0;gap:16px}.chef-schedule-note{padding:12px;background:#fff5dc;border-radius:8px;line-height:1.5;margin-bottom:0}
.meal-delay{padding:14px;border:1px solid #bd8c2f;border-radius:10px;background:#fff0cf;color:#603b0c;font-weight:600;line-height:1.5}.meal-delay-action{color:#603b0c;font-size:14px}.meal-delay-badge{display:inline-block;margin:8px 0 0 8px;padding:5px 10px;border-radius:20px;background:#ffe5b1;color:#603b0c;font-size:13px;font-weight:700}
.chef-eta-controls{flex-basis:100%;padding:16px;border:1px solid #adc6b5;border-radius:12px;background:#f0f6ef}.chef-eta-controls label{display:block;font-weight:650;margin-bottom:8px}.chef-eta-controls select{width:100%;margin-bottom:12px}.chef-eta-controls button{margin:0;width:100%}
.staff-shop-filter{padding:16px;margin:16px 0;background:#e8f2e9;border:1px solid #adc6b5;border-radius:12px}.staff-shop-filter label{display:block;margin-bottom:8px;font-weight:700}.staff-shop-filter select{width:100%;max-width:440px;min-height:44px}
.staff-date-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}.staff-date-controls label{flex-basis:100%;margin:0}.staff-date-controls input{min-height:44px;padding:8px;border:1px solid #adc6b5;border-radius:8px;font:inherit;max-width:100%}.staff-date-controls button{min-height:44px}
.staff-type-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.staff-type-controls button{min-height:44px}.staff-type-controls button[aria-pressed="true"]{background:#173f35;color:#fff;border-color:#173f35}
.staff-filter-summary{line-height:1.6;padding:12px;background:#fff;border-radius:8px;color:#173f35;overflow-wrap:anywhere}
.booking-display-controls{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.booking-display-controls[hidden]{display:none}.booking-display-controls button{min-height:44px}.booking-display-controls button:disabled{opacity:.5;cursor:default}
.booking-reference-panel{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.booking-reference-panel label,.reference-feedback{flex-basis:100%}.booking-reference-panel label{font-weight:700}.booking-reference-panel input{min-width:0;max-width:100%;padding:10px;font:inherit;font-weight:700;border:1px solid #adc6b5;border-radius:8px}.booking-reference-panel button{min-height:44px}.reference-feedback{font-size:14px;color:#173f35}
#staff-search button{min-height:44px;margin-top:10px}
#queue-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#queue-controls[hidden]{display:none}.queue-group{min-width:0;margin:0;padding:12px;border:1px solid #adc6b5;border-radius:12px;background:#f7faf7}.queue-group legend{padding:0 6px;font-weight:700;color:#173f35}.queue-group-buttons{display:flex;flex-wrap:wrap;gap:8px}.queue-group-buttons button{min-height:44px;margin:0;white-space:normal;text-align:left}.queue-group-buttons button[aria-pressed="true"]{background:#173f35;color:#fff;border-color:#173f35}@media(max-width:640px){#queue-controls{grid-template-columns:1fr}.queue-group-buttons button{flex:1 1 140px}}
.staff-type-controls[hidden]{display:none}
.customer-booking-search{padding:16px;margin:16px 0;background:#f0f6ef;border:1px solid #adc6b5;border-radius:12px}.customer-booking-search label{display:block;font-weight:700;margin-bottom:8px}.customer-booking-search input{width:100%;box-sizing:border-box;min-height:44px}.customer-booking-search button{min-height:44px;margin-top:10px}.customer-booking-search[hidden]{display:none}
.customer-booking-search button+button{margin-left:8px}
.order-summary-kitchen{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px;padding:10px 12px;border-left:3px solid #075b45;background:#f0f6ef;border-radius:6px;font-size:14px;color:#173f35}.order-summary-kitchen span{display:block}@media(max-width:640px){.order-summary-kitchen{flex-direction:column;gap:6px}}
.order-summary-meals{display:block;margin-top:10px;line-height:1.5;overflow-wrap:anywhere}.order-summary-meals>span{display:block}.customer-note-indicator{margin-top:6px;color:#603b0c;font-weight:700}
.connection-warning{padding:16px;margin:12px 0;border:1px solid #bd8c2f;border-radius:12px;background:#fff0cf;color:#603b0c}.connection-warning[hidden]{display:none}.connection-warning p{margin:0 0 12px;line-height:1.5}.connection-warning button{min-height:44px}
#print-receipt{display:none}@media print{body.printing-receipt> :not(#print-receipt){display:none!important}body.printing-receipt{background:#fff!important;color:#000!important;margin:0;padding:20px}body.printing-receipt #print-receipt{display:block!important;font-family:Arial,sans-serif;color:#000}#print-receipt .customer-receipt{background:#fff;border:0;padding:0;box-shadow:none}#print-receipt h1{font-size:26px}#print-receipt h2{font-size:20px}#print-receipt .muted{color:#333}#print-receipt{overflow-wrap:anywhere}}
#order-alert-list li{padding:8px 0;line-height:1.5}#order-alert-list button{display:block;min-height:44px;margin-top:6px}
.alert-timestamp{display:block;font-size:13px;color:#53614a;margin-top:4px}.alert-actions{display:flex;flex-wrap:wrap;gap:8px}
.service-overview{margin-top:24px}.service-overview h3{margin:0;font-size:21px;color:#173f35}.service-overview>p{margin:6px 0 14px}.service-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.service-summary-card{display:flex;flex-direction:column;gap:7px;padding:18px 14px;background:#fff;border:1px solid #adc6b5;border-radius:14px;min-width:0}.service-summary-card:first-child{background:#173f35;border-color:#173f35;color:#fff}.service-summary-label{font-weight:700;font-size:14px}.service-summary-value{font-size:34px;line-height:1.1;font-variant-numeric:tabular-nums}.service-summary-detail{font-size:12px;line-height:1.4;opacity:.85}.staff-filter-summary{font-size:13px;line-height:1.6}@media(max-width:720px){.service-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.staff-shop-filter{padding:22px;background:#f2f6f2;border-color:#b4cabb}.service-overview{margin:0 0 24px;padding:22px;background:#fff;border:1px solid #d4dfd5;border-radius:18px;box-shadow:0 4px 16px #173f3508}.service-overview-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.service-eyebrow{display:block;font-size:11px;letter-spacing:1.4px;font-weight:800;color:#47715e;margin-bottom:7px}.service-overview h3{font-size:25px;line-height:1.2}.service-overview-heading p{margin:8px 0 0;line-height:1.5}.service-overview-heading button{min-height:44px;flex-shrink:0}.service-summary-card{padding:20px 16px;border:0;border-top:4px solid #b88d35;background:#fff6df;color:#513c0b}.service-summary-card[data-metric="orders"]{background:#173f35;color:white;border-top-color:#72b69c}.service-summary-card[data-metric="pickups"]{background:#eaf3f9;color:#174964;border-top-color:#427f9e}.service-summary-card[data-metric="tables"]{background:#f0edf8;color:#4d3b72;border-top-color:#8b73b6}.service-summary-value{font-size:40px;letter-spacing:-1px}.service-summary-detail{opacity:1;font-size:12px}.service-overview .staff-filter-summary{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;background:transparent}.service-filter-tag{padding:7px 10px;border-radius:8px;background:#f2f5f2;color:#365444;overflow-wrap:anywhere;max-width:100%}.service-filter-tag>span{color:#5a6b61}.staff-filters-heading{font-size:16px;margin:0 0 16px;color:#173f35}@media(max-width:640px){.staff-shop-filter{padding:14px}.service-overview{padding:16px}.service-overview-heading{flex-direction:column;gap:12px}.service-overview h3{font-size:23px}.service-summary-card{padding:16px 12px}.service-summary-value{font-size:34px}}
.service-card-action{margin-top:auto;padding:9px 0 0;background:transparent!important;border:0!important;border-radius:0;color:inherit!important;text-align:left;text-decoration:underline;text-underline-offset:3px;font-size:13px;font-weight:700;min-height:44px;line-height:1.4;white-space:normal}.service-card-action:hover{text-decoration-thickness:2px}.service-card-action:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.staff-date-controls button[aria-pressed="true"]{background:#173f35;color:#fff;border-color:#173f35;box-shadow:inset 0 0 0 1px #173f35}.staff-date-hint{flex-basis:100%;font-size:13px;line-height:1.5;color:#365444}
.empty-orders{margin:20px 0;padding:28px 22px;border:1px dashed #a6beb0;border-radius:16px;background:#f4f8f4;text-align:center}.empty-orders h3{margin:0 0 10px;color:#173f35}.empty-orders p{line-height:1.6;max-width:540px;margin:0 auto 18px;color:#496354}.empty-orders button{min-height:44px;margin:6px}
.customer-restaurant-filter{margin:16px 0;padding:16px;border:1px solid #adc6b5;border-radius:12px;background:#f0f6ef}.customer-restaurant-filter label{display:block;font-weight:700;margin-bottom:8px}.customer-restaurant-filter select{width:100%;min-height:44px}.customer-restaurant-filter[hidden]{display:none}
.order-accordion summary>.meal-delay{display:block;margin-top:10px;font-size:14px}

.booking-date-heading{margin:24px 0 12px;padding-bottom:10px;border-bottom:2px solid #b89556;font-size:1.05rem;color:inherit}.booking-date-heading:first-child{margin-top:12px}

.booking-date-group{margin:16px 0;border:1px solid #b8955666;border-radius:12px;overflow:hidden}.booking-date-group>.booking-date-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0;padding:16px;background:#f5eee2;color:#243c35;cursor:pointer;list-style:none;border:0}.booking-date-heading::-webkit-details-marker{display:none}.booking-date-heading::before{content:'▸';font-size:1.1rem}.booking-date-group[open]>.booking-date-heading::before{content:'▾'}.booking-date-count{font-size:.85rem;font-weight:normal}.date-show-hint,.date-hide-hint{margin-left:auto;font-size:.8rem;text-decoration:underline}.booking-date-group[open]>.booking-date-heading>.date-show-hint,.booking-date-group:not([open])>.booking-date-heading>.date-hide-hint{display:none}.booking-date-group>.order-accordion{margin:12px}.booking-date-heading:focus-visible{outline:3px solid #b89556;outline-offset:-3px}

.date-booking-controls{display:flex;flex-wrap:wrap;gap:8px;padding:12px 12px 0}.date-booking-controls button{font-size:.85rem;min-height:40px}

.booking-date-mix{flex-basis:100%;font-size:.85rem;font-weight:normal;padding-left:20px;color:#38544a}

.booking-day-badge{display:inline-block;background:#254d40;color:#fff;border-radius:20px;padding:4px 10px;font-size:.8rem;font-weight:700}.booking-date-group.is-today{border:2px solid #254d40}.booking-date-group.is-tomorrow .booking-day-badge{background:#78521c}

.booking-date-progress{flex-basis:100%;padding-left:20px;font-size:.85rem;font-weight:600;color:#38544a}.booking-date-progress.has-ready{color:#17633f}

.customer-date-controls{padding:12px 0}.customer-date-controls input{max-width:260px}.customer-date-controls .actions{margin-top:8px}.customer-date-controls button[aria-pressed="true"]{background:#254d40;color:#fff;border-color:#254d40}

.customer-results-summary{padding:12px 14px;background:#f5eee2;border-left:4px solid #b89556;border-radius:6px;color:#243c35;overflow-wrap:anywhere;font-size:.9rem}

/* Customer navigation: clear destinations and a separate primary action. */
#customer-nav{grid-template-columns:1fr 1fr auto;gap:8px;padding:10px;background:#fffcf6;border:1px solid #dfd8c8;border-radius:20px;box-shadow:0 8px 24px #173c2e0c;align-items:stretch}
#customer-nav button{display:flex;align-items:center;justify-content:flex-start;gap:12px;text-align:left;padding:14px 16px;border-radius:13px;min-height:76px;transition:background .15s,box-shadow .15s}
#customer-nav svg{width:25px;height:25px;flex-shrink:0}
#customer-nav .nav-copy{display:flex;flex-direction:column;gap:3px}#customer-nav strong{font-size:15px;display:flex;align-items:center;gap:8px}#customer-nav small{font-size:12px;font-weight:400;color:#52685e}
#customer-nav button[aria-pressed=true]{background:#e3eee7;color:#124d38;box-shadow:inset 0 -3px #197652}
#customer-nav button:hover{background:#edf3ed}#customer-nav button:focus-visible{outline:3px solid #a76610;outline-offset:3px}
#customer-nav .nav-order-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:20px;background:#254d40;color:white;font-size:12px}
#customer-nav .new-order-button{grid-column:auto;justify-content:center;min-height:56px;align-self:center;background:linear-gradient(135deg,#075b45,#123d30);color:#fff8e7;border:1px solid #075b45;box-shadow:0 4px 10px #075b4520;white-space:nowrap}
#customer-nav .new-order-button:hover{background:#124d38}.new-order-icon{font-size:24px;line-height:1;font-weight:400}
@media(max-width:620px){#customer-nav{grid-template-columns:1fr 1fr;padding:8px;gap:6px}#customer-nav button{padding:12px 10px;gap:8px}#customer-nav .new-order-button{grid-column:1/-1;min-height:46px;margin-top:3px}#customer-nav small{font-size:11px}#customer-nav svg{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){#customer-nav button{transition:none}}

#customer-order-filters{display:flex;flex-wrap:wrap;gap:8px;padding:10px;background:#fffcf6;border:1px solid #dfd8c8;border-radius:16px;margin:16px 0}
#customer-order-filters button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 13px;border:1px solid transparent;background:transparent;color:#355849;border-radius:11px;font-size:14px}
#customer-order-filters button:hover{background:#edf3ed}
#customer-order-filters button[aria-pressed=true]{background:#254d40;color:#fff;border-color:#254d40;box-shadow:0 3px 8px #254d4018}
.order-filter-count{display:inline-flex;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:20px;background:#e6ece5;color:#355849;font-size:12px}
#customer-order-filters [aria-pressed=true] .order-filter-count{background:#fff;color:#254d40}
@media(max-width:480px){#customer-order-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:6px}#customer-order-filters button{justify-content:space-between;font-size:13px;padding:10px}#customer-order-filters button:last-child{grid-column:1/-1}}

.order-accordion>summary{position:relative;list-style:none;background:#fffdf8;padding:18px 20px}
.order-accordion>summary::-webkit-details-marker{display:none}
.order-accordion>summary>strong{display:block;margin-bottom:6px;padding-right:24px;color:#183c30}
.order-accordion>summary::after{content:'+';position:absolute;right:18px;top:18px;font-size:22px;color:#355849}
.order-accordion[open]>summary::after{content:'−'}
.order-accordion>summary>.booking-reference{display:inline-block;font-size:12px;color:#58664f;margin-bottom:4px}
.order-summary-time{margin:6px 0 10px;line-height:1.6}
.order-accordion>summary>.order-summary-state{display:inline-block;border-radius:20px;padding:5px 10px;background:#edf0e9;color:#355849;font-size:12px;margin:0 10px 8px 0}
.order-accordion[data-order-state=ready]>summary>.order-summary-state{background:#d9efdf;color:#185331}
.order-accordion[data-order-state=preparing]>summary>.order-summary-state{background:#fff0c5;color:#6b4a12}
.order-accordion[data-order-state=no_show]>summary>.order-summary-state{background:#f5e4df;color:#783c30}
.order-summary-total{display:inline-block;font-weight:700;font-size:15px}
.order-summary-hint{margin-top:10px;font-weight:600;text-decoration:none}
.order-accordion[open]>summary{background:#f5f8f1}
@media(max-width:480px){.order-accordion>summary{padding:16px}.order-accordion>summary>strong{font-size:16px}}

.order-summary-total.reservation-only-total{font-size:13px;font-weight:500;color:#52685e}

.customer-meal-preview{padding:10px 12px;margin-top:10px;background:#f3f5ed;border-radius:9px;font-size:13px;color:#355849}.customer-meal-preview:empty{display:none}

/* Keep order-page action rows aligned without inherited button margins. */
#orders-section .booking-display-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:stretch}
#orders-section .booking-display-controls button{margin:0;min-height:46px;padding:10px 12px;text-align:center}
#orders-section .date-booking-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#orders-section .date-booking-controls button{margin:0;min-height:44px;text-align:center}
#orders-section .customer-date-controls .actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#orders-section .customer-date-controls .actions button{margin:0;min-height:44px}
#orders-section .customer-booking-search{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#orders-section .customer-booking-search label,#orders-section .customer-booking-search input,#orders-section .customer-booking-search p{grid-column:1/-1;margin:0}
#orders-section .customer-booking-search label{grid-row:1}
#orders-section .customer-booking-search input{grid-row:2}
#orders-section .customer-booking-search p{grid-row:3}
#orders-section .customer-booking-search button{grid-row:4;margin:0;min-height:46px}
#orders-section .booking>.actions{gap:8px;align-items:stretch}
#orders-section .booking>.actions button{margin:0;min-height:46px;flex:1 1 180px}
#orders-section .empty-orders button{margin:4px 8px 4px 0}
@media(max-width:620px){#orders-section .booking-display-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){#orders-section .booking-display-controls,#orders-section .date-booking-controls{grid-template-columns:1fr}#orders-section .customer-booking-search{grid-template-columns:1fr}#orders-section .customer-booking-search button{grid-row:auto}}

.customer-filter-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;background:#fffcf6;border:1px solid #dfd8c8;border-radius:16px;padding:18px;margin:16px 0;align-items:start}
.customer-filter-panel .customer-date-controls,.customer-filter-panel .customer-restaurant-filter{padding:0;margin:0;min-width:0}
.customer-filter-panel label{margin:0 0 8px;font-size:14px}
.customer-filter-panel input,.customer-filter-panel select{max-width:none;width:100%;min-height:46px}
.customer-filter-panel .muted{margin:8px 0 0}
@media(max-width:620px){.customer-filter-panel{grid-template-columns:1fr;gap:16px;padding:14px}}

#orders-section .customer-type-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;border:1px solid #d8e2d8;border-radius:14px;background:#edf2eb;margin:12px 0 16px}
#orders-section .customer-type-controls button{margin:0;min-height:46px;padding:10px 8px;border-radius:10px;background:transparent;color:#355849;border:1px solid transparent;font-size:14px;line-height:1.3}
#orders-section .customer-type-controls button[aria-pressed=true]{background:#fffdf8;color:#174e38;border-color:#bacdbf;box-shadow:0 2px 6px #173c2e12;font-weight:750}
#orders-section .customer-type-controls button:hover{background:#e0eadd}
#orders-section .customer-type-controls button[aria-pressed=true]:hover{background:#fffdf8}
@media(max-width:380px){#orders-section .customer-type-controls button{font-size:12px;padding:10px 4px}}

.customer-search-section{border:1px solid #d8e2d8;border-radius:14px;background:#fffcf6;margin:14px 0;overflow:hidden}
.customer-search-section>summary{padding:14px 16px;min-height:48px;cursor:pointer;font-weight:650;color:#254d40;list-style-position:inside}
.customer-search-section[open]>summary{border-bottom:1px solid #d8e2d8;background:#edf2eb}
#orders-section .customer-search-section .customer-booking-search{margin:0;border:0;border-radius:0;background:transparent}
.customer-search-section>summary:focus-visible{outline:3px solid #a76610;outline-offset:-3px}

.bookings-back-top{display:block;margin:18px auto 8px;min-height:46px;padding:10px 24px;border:1px solid #bacdbf;background:#fffdf8;color:#254d40}

#orders-section>#list-title{font-size:26px;line-height:1.25;margin-bottom:6px;letter-spacing:-.4px}.order-page-intro{margin:0 0 16px;color:#52685e;font-size:14px;max-width:60ch}

#orders-section>#list-title{margin-top:8px;margin-bottom:8px}
#orders-section>.order-page-intro{font-size:15px;line-height:1.6;margin-bottom:10px}
#orders-section>#last-updated{font-size:12px;margin:0 0 20px;color:#667469}
.booking-list-guide{font-size:13px;line-height:1.6;color:#52685e;margin:12px 0 8px}
.customer-results-summary{margin:12px 0 8px}

/* Matching restaurant and booking-date fields. */
.customer-filter-panel{gap:24px;padding:20px;background:linear-gradient(135deg,#fffdf8,#f7f8f0);border-color:#cbd8cb;box-shadow:0 4px 16px #183c3008}
.customer-filter-panel label{font-size:14px;font-weight:700;color:#254d40;margin-bottom:10px}
.customer-filter-panel select,.customer-filter-panel input[type=date]{min-height:56px;border:1.5px solid #9eb5a5;border-radius:12px;background-color:#fff;color:#183c30;font-size:16px;font-weight:600;padding:14px 16px;box-shadow:0 2px 4px #183c3005;transition:border-color .15s,box-shadow .15s}
.customer-filter-panel select{appearance:none;padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23254d40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;cursor:pointer}
.customer-filter-panel select:hover,.customer-filter-panel input[type=date]:hover{border-color:#347758;background-color:#fbfdf8}
.customer-filter-panel select:focus-visible,.customer-filter-panel input[type=date]:focus-visible{outline:3px solid #c7a65c;outline-offset:2px;border-color:#254d40;box-shadow:0 0 0 4px #254d4010}
.customer-filter-panel input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:22px;height:22px;padding:3px;border-radius:6px;background-color:#e5eee6;opacity:.85}
#orders-section .customer-filter-panel .customer-date-controls .actions{gap:6px;margin-top:10px}
#orders-section .customer-filter-panel .customer-date-controls .actions button{background:#fff;border:1px solid #c4d3c6;color:#355849;font-size:13px;border-radius:9px;min-height:40px;padding:8px 6px}
#orders-section .customer-filter-panel .customer-date-controls .actions button[aria-pressed=true]{background:#254d40;color:#fff;border-color:#254d40}
@media(max-width:620px){.customer-filter-panel{padding:16px;gap:18px}}
@media(prefers-reduced-motion:reduce){.customer-filter-panel select,.customer-filter-panel input[type=date]{transition:none}}

.first-order-welcome{text-align:center;padding:32px 22px;background:#fffdf8;border:1px solid #d8e2d8;border-radius:16px}.first-order-welcome h3{font-size:22px;margin:0 0 10px}.first-order-welcome p{max-width:44ch;margin:0 auto 18px;color:#52685e}.first-order-welcome button{min-height:48px;padding:12px 24px}

.customer-saved-note{display:block;margin-top:10px;font-size:13px;font-weight:500;color:#615026;background:#faf0d8;padding:8px 10px;border-radius:8px}

.order-payment-needed{display:block;margin-top:10px;padding:10px 12px;border-left:3px solid #b6842a;border-radius:8px;background:#fff2d2;color:#654b1c;font-size:13px;line-height:1.5}

.order-arrival-guide{display:block;font-size:13px;line-height:1.5;color:#52685e;margin-top:10px}

#staff-nav{padding:10px;gap:8px;background:#fffcf6;border:1px solid #dfd8c8;border-radius:20px;box-shadow:0 8px 24px #173c2e0c}
#staff-nav button{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:76px;text-align:left;border-radius:13px;padding:14px 16px;color:#254d40}
#staff-nav button strong{font-size:15px}#staff-nav button small{font-size:12px;font-weight:400;color:#52685e}
#staff-nav button[aria-pressed=true]{background:#e3eee7;color:#124d38;box-shadow:inset 0 -3px #197652}
#staff-nav button:hover{background:#edf3ed}
@media(max-width:480px){#staff-nav button{padding:12px 10px}#staff-nav button small{font-size:11px}}

.entry-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.entry-options button{display:flex;flex-direction:column;gap:12px;text-align:left;padding:26px;border-radius:18px;margin:0;background:#fffdf8;color:#254d40;border:1px solid #b8cbbb;box-shadow:0 6px 20px #183c3009}.entry-options strong{font-size:22px}.entry-options span{font-weight:400;font-size:15px;line-height:1.6}.entry-options b{margin-top:auto;padding-top:12px;font-size:14px}.entry-options button:hover{background:#eaf2e8;border-color:#254d40}.entry-screen{background:#fffdf8;border:1px solid #d8e2d8;border-radius:20px;padding:24px}.entry-eyebrow{font-size:12px;font-weight:750;letter-spacing:1px;color:#55705e;margin:16px 0 8px}.entry-screen h1{margin-top:0}.entry-preview-note{padding:14px 16px;border-radius:12px;background:#f4dfac;color:#594619;font-size:14px;margin-top:20px}@media(max-width:620px){.entry-options{grid-template-columns:1fr}.entry-screen{padding:18px}}

#workspace>.toolbar{padding:14px 16px;background:#fffdf8;border:1px solid #d8e2d8;border-radius:14px;gap:10px;margin-bottom:18px}
#identity{display:flex;flex-direction:column;gap:3px;margin-right:auto}.workspace-caption{font-size:11px;font-weight:650;letter-spacing:.5px;text-transform:uppercase;color:#667469}.workspace-role{font-size:16px;color:#254d40}
#workspace>.toolbar button{margin:0;min-height:44px;font-size:13px}
@media(max-width:420px){#identity{flex-basis:100%;margin-bottom:4px}#workspace>.toolbar button{flex:1}}

.entry-feedback:empty{display:none}.entry-feedback{padding:12px 16px;border-radius:10px;background:#e3eee7;color:#254d40;font-weight:600}.entry-feedback.is-error{background:#fae9e3;color:#803c2b}

#workspace>.toolbar #refresh{min-width:112px}

#staff-nav.kitchen-only{grid-template-columns:1fr}

.order-action-feedback{order:99;flex-basis:100%;margin:8px 0 0;font-size:14px;color:#254d40}.order-action-feedback:empty{display:none}.order-action-feedback.is-error{background:#fae9e3;color:#803c2b;padding:10px;border-radius:8px}

.kitchen-queue-guide{padding:12px 16px;border-left:4px solid #b89556;background:#f5eee2;border-radius:8px;color:#355849;font-size:14px;margin:12px 0 16px;line-height:1.6}

.order-item-count{display:block;margin-bottom:5px;font-size:12px;color:#355849}

.latest-order-action{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#e3eee7;border:1px solid #aac6b2;border-radius:12px;margin:14px 0}.latest-order-action p{margin:0;color:#254d40;font-size:14px}.latest-order-action button{margin:0;min-height:44px;flex-shrink:0}@media(max-width:420px){.latest-order-action{align-items:flex-start;flex-direction:column}}

.latest-order-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.latest-order-action{flex-wrap:wrap}.latest-order-action>p{flex:1 1 260px}

.order-accordion.is-highlighted-order{border:2px solid #99722b;box-shadow:0 0 0 3px #e8cb8d66;scroll-margin-top:24px}
.order-accordion.is-highlighted-order>summary{background:#fff3d8}
.order-accordion.is-highlighted-order>summary>.order-summary-hint::before{content:'Selected order · ';font-weight:700}

.latest-order-action[data-state=pending]{background:#fff2d2;border-color:#d7b871}.latest-order-action[data-state=pending]>p{color:#654b1c}.latest-order-action[data-state=error]{background:#fae9e3;border-color:#d2a291}.latest-order-action[data-state=error]>p{color:#803c2b}

.message-style-guide{margin-top:24px;border:1px dashed #bdcabb;border-radius:12px;background:#fffdf8}.message-style-guide>summary{padding:14px 16px;cursor:pointer;color:#52685e;font-size:14px;font-weight:600}.message-style-guide>div{padding:0 16px 16px}.message-style-guide .latest-order-action{margin:10px 0}

.order-completed-time{display:block;margin-top:10px;font-size:13px;color:#52685e}

/* Kitchen workload shortcuts */
.kitchen-workload-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.kitchen-workload-cards[hidden],.service-summary-cards[hidden]{display:none}
.kitchen-workload-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:18px;border:1px solid #cbd5e1;border-radius:16px;background:#fff;color:#153c35;min-width:0;cursor:pointer}
.kitchen-workload-card:hover{background:#f0f9f6;border-color:#2b7865}
.kitchen-workload-card[aria-pressed="true"]{background:#e8f5ee;border:2px solid #256953;padding:17px;box-shadow:0 3px 10px #163e3510}
.kitchen-workload-card:focus-visible{outline:3px solid #b67b26;outline-offset:3px}
.kitchen-workload-card .service-summary-detail{font-weight:400;line-height:1.45;color:#52655f}
@media(max-width:700px){.kitchen-workload-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.kitchen-workload-cards{grid-template-columns:1fr}}

.staff-results-heading{margin:20px 0 12px;padding:16px 20px;border-left:4px solid #32745f;background:#f2f7f4;border-radius:0 12px 12px 0}.staff-results-heading[hidden]{display:none}.staff-results-heading h3{margin:0 0 6px}.staff-results-heading p{margin:0;line-height:1.5}.staff-results-heading button{margin-top:12px}

.service-filter-tag .filter-tag-clear{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;padding:0;margin:-4px -2px -4px 6px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer}.service-filter-tag .filter-tag-clear:hover{background:#d6e8de}.service-filter-tag .filter-tag-clear:focus-visible{outline:3px solid #91631d;outline-offset:2px}

.eta-draft-badge{display:inline-flex;align-items:center;width:fit-content;padding:5px 10px;border:1px solid #dfc38a;border-radius:8px;background:#fff5db;color:#755019;font-size:.85rem;font-weight:600;line-height:1.4}

.eta-draft-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px;margin:12px 0;border:1px solid #dfc38a;border-radius:12px;background:#fff8e8}.eta-draft-summary[hidden]{display:none}.eta-draft-summary p{margin:0;flex:1;min-width:200px;color:#755019}

.kitchen-ticket-dialog{width:min(560px,calc(100vw - 32px));max-height:85vh;overflow:auto;padding:24px;border:1px solid #cbd9d2;border-radius:18px;color:#193e34;background:#fff;box-shadow:0 20px 80px #102b3340}.kitchen-ticket-dialog::backdrop{background:#102b3370}.ticket-order-type{font-weight:800;letter-spacing:.12em;margin:0}.kitchen-ticket-content h2{font-size:1.8rem;margin:8px 0}.ticket-restaurant{margin:0 0 20px}.ticket-meal-list{list-style:none;padding:0}.ticket-meal-list li{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid #d8e1dc;break-inside:avoid}.ticket-meal-list strong{white-space:nowrap}.ticket-customer-note{padding:14px;background:#f5f7f4;border:1px solid #d8e1dc;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere}.ticket-customer-note h3{margin:0 0 8px}.ticket-customer-note p{margin:0}.ticket-footnote{font-size:.85rem;color:#54665e;line-height:1.5}.ticket-preview-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}@media print{.kitchen-ticket-dialog{display:none!important}.ticket-customer-note{break-inside:avoid;background:white}.ticket-order-type{font-size:20px}.ticket-meal-list li{font-size:18px}.ticket-footnote{color:#333}}

.availability-hint{font-size:.9rem;color:#395d4f;line-height:1.5;margin:8px 0}.availability-hint.is-full{color:#9b3e25;font-weight:600}

#managed-entry{max-width:520px;margin:auto}#managed-entry form{display:grid;gap:12px}#managed-entry input{padding:12px;border:1px solid #b5c9be;border-radius:10px;font:inherit}#managed-entry label{font-weight:600}#managed-entry p{line-height:1.5}

#managed-entry form[hidden],#managed-entry .account-confirmation[hidden]{display:none}#managed-entry .account-confirmation{padding:20px;border:1px solid #b5c9be;border-radius:14px;background:#f3f8f5}

.restaurant-setup-dialog{width:min(560px,calc(100% - 32px));max-height:85vh;overflow:auto;border:1px solid #d5dfdb;border-radius:20px;padding:28px;box-shadow:0 24px 80px #102b2940}.restaurant-setup-dialog::backdrop{background:#102b2980}.restaurant-setup-dialog form{display:grid;gap:10px}.restaurant-setup-dialog input{width:100%;box-sizing:border-box}.restaurant-setup-dialog label{font-weight:600}

.restaurant-setup-dialog fieldset{border:1px solid #d5dfdb;border-radius:12px;padding:14px;margin:12px 0}.restaurant-setup-dialog legend{font-weight:700}.restaurant-setup-dialog input[type=checkbox]{width:auto;margin-right:8px}.restaurant-setup-dialog fieldset input[type=time]{margin-bottom:10px}

.setup-overview{background:#f3f8f5;border:1px solid #d5dfdb;border-radius:16px;padding:18px;margin:18px 0}.setup-overview ul{list-style:none;padding:0}.setup-overview li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #d5dfdb}.setup-overview li span{display:block;margin-top:4px;overflow-wrap:anywhere}.setup-overview li button{flex-shrink:0}.setup-unsaved{color:#805300}.setup-unsaved:empty{display:none}

.restaurant-setup-dialog .availability-choice{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f3f8f5;border:1px solid #b5c9be;border-radius:12px;cursor:pointer}.restaurant-setup-dialog .availability-choice[hidden]{display:none}.availability-choice input{flex-shrink:0;margin-top:4px}.availability-choice strong,.availability-choice small{display:block}.availability-choice small{font-weight:400;line-height:1.5;margin-top:5px}.setup-seat-card{margin:18px 0;padding:16px;background:#f7f9f8;border-radius:12px}.setup-seat-input{display:flex;align-items:center;gap:12px;margin-top:10px}.restaurant-setup-dialog .setup-seat-input input{max-width:150px;font-size:1.2rem}.setup-seat-card p{line-height:1.6;margin-bottom:0}.availability-choice:focus-within{outline:2px solid #26745c;outline-offset:3px}

.review-filters{display:grid;gap:8px;margin:16px 0;padding:16px;border:1px solid #d5dfdb;border-radius:12px}.review-filters [hidden],.setup-overview[hidden]{display:none}.review-filters input,.review-filters select{width:100%;box-sizing:border-box}.review-filters p:empty{display:none}

#managed-entry .entry-options[hidden]{display:none}#managed-entry .entry-options button{text-align:left}#managed-entry .entry-options span{display:block;line-height:1.5;margin-top:8px}#managed-entry>button.secondary{margin:12px 0}

.reservation-window-preview{padding:12px 14px;border-left:3px solid #26745c;background:#f3f8f5;border-radius:8px;line-height:1.6}.reservation-window-preview:empty,.reservation-window-preview[hidden]{display:none}

#workspace.restaurant-setup-workspace>#customer-nav,#workspace.restaurant-setup-workspace>#create,#workspace.restaurant-setup-workspace>#orders-section,#workspace.restaurant-setup-workspace>#staff-nav,#workspace.restaurant-setup-workspace>#menu-manager,#workspace.restaurant-setup-workspace>#photo-manager,#workspace.restaurant-setup-workspace>#order-alerts{display:none!important}

.account-workspace-home{padding:28px;margin:20px 0;border:1px solid #d5dfdb;border-radius:20px;background:linear-gradient(135deg,#f3f8f5,#fff)}.account-workspace-home[hidden]{display:none}.account-workspace-home h1{margin:10px 0}.account-workspace-home p{max-width:65ch;line-height:1.6}.account-workspace-home li{padding:7px 0}.account-workspace-home button{margin:12px 0}

.setup-checklist{list-style:none;padding-left:0}.setup-checklist li{padding:9px 0;border-bottom:1px solid #d5dfdb}.setup-checklist .is-complete{color:#206347}

/* Compact customer booking cards; operational staff cards retain their detail. */
.customer-filter-panel{display:block}.customer-filter-panel>summary{cursor:pointer;font-weight:600;padding:12px 0;min-height:44px;box-sizing:border-box}.customer-filter-panel[open]>div{margin-top:12px}
.customer-order>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:18px;align-items:center}
.customer-order>summary>strong{grid-column:1/-1;font-size:1.05rem;overflow-wrap:anywhere}
.customer-order>summary .order-summary-time{grid-column:1/-1;line-height:1.5}
.customer-order>summary .order-summary-state{grid-column:1;justify-self:start}
.customer-order>summary .order-summary-total{grid-column:2;white-space:nowrap}
.customer-order>summary .order-summary-kitchen,.customer-order>summary .meal-delay{grid-column:1/-1}
.customer-order>summary .order-summary-hint{grid-column:1/-1;margin:4px 0 0;font-size:.85rem}
.customer-order>summary:focus-visible,.customer-filter-panel>summary:focus-visible{outline:3px solid #216b58;outline-offset:3px}
@media(max-width:600px){
 #workspace{padding:12px}#customer-nav{gap:6px}#customer-nav button{min-height:48px;padding:10px;min-width:0}#customer-nav small{display:none}#customer-nav svg{width:20px;height:20px}
 .customer-order>summary{padding:14px;gap:8px}.customer-order .card{padding:14px;min-width:0;overflow-wrap:anywhere}
 .customer-order .actions{display:flex;flex-wrap:wrap;gap:8px}.customer-order button{min-height:44px;white-space:normal}.customer-order input,.customer-order select{max-width:100%;min-width:0;font-size:16px}
 #customer-order-filters{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:6px;padding-bottom:8px}#customer-order-filters button{flex:0 0 auto;min-height:44px;padding:10px}
 #booking-form .columns{display:grid;grid-template-columns:1fr;gap:12px}#booking-form input,#booking-form select,#booking-form textarea{font-size:16px;min-height:44px;max-width:100%;box-sizing:border-box}#booking-form button[type=submit]{width:100%;min-height:48px}
 #checkout-review .actions{display:grid;grid-template-columns:1fr;gap:8px}#checkout-review button{width:100%;min-height:48px}
 .customer-filter-panel select,.customer-filter-panel input{max-width:100%;font-size:16px;min-height:44px;box-sizing:border-box}
}

.customer-filter-panel[hidden]{display:none}

.guest-count-editor{margin:16px 0}.guest-count-editor>label{display:block;font-weight:600;margin-bottom:8px}.guest-count-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.guest-count-controls select{width:auto;min-width:130px;margin:0;min-height:44px}.guest-count-controls button{margin:0;min-height:44px}.guest-count-feedback:empty{display:none}@media(max-width:480px){.guest-count-controls{display:grid;grid-template-columns:1fr}.guest-count-controls select,.guest-count-controls button{width:100%;box-sizing:border-box;font-size:16px}}

.guest-count-editor>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600;color:#216b58;gap:8px}.guest-count-editor>summary::before{content:"+";font-size:1.2rem}.guest-count-editor[open]>summary::before{content:"−"}.guest-count-editor>summary:focus-visible{outline:3px solid #216b58;outline-offset:3px}.guest-count-editor[open]>label{margin-top:12px}.guest-count-controls [hidden]{display:none}

.customer-progress{margin:16px 0;border-top:1px solid #dce5e0;padding-top:8px}.customer-progress>summary{cursor:pointer;font-weight:600;min-height:44px;padding:10px 0;box-sizing:border-box}.customer-progress>summary:focus-visible{outline:3px solid #216b58;outline-offset:3px}
.booking-reference-panel.compact-reference{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center}.compact-reference>label,.compact-reference>.reference-feedback{grid-column:1/-1}.compact-reference>input{width:100%;min-width:0;box-sizing:border-box;margin:0}.compact-reference>button{min-height:44px;margin:0;white-space:nowrap}.compact-reference>.reference-feedback:empty{display:none}

details.order-note>summary{cursor:pointer;font-weight:600;min-height:44px;padding:10px 0;box-sizing:border-box}details.order-note>summary:focus-visible{outline:3px solid #216b58;outline-offset:3px}.note-edit-actions{display:flex;gap:8px;flex-wrap:wrap}.note-edit-actions button{min-height:44px}.note-edit-actions [hidden]{display:none}details.order-note textarea{width:100%;box-sizing:border-box;font-size:16px}details.order-note p:empty{display:none}

/* Customer details fit narrow phones without compressing labels or actions. */
.customer-order .booking{min-width:0;overflow-wrap:anywhere}
.customer-order .line{align-items:flex-start;gap:8px 16px}
.customer-order .line>strong{max-width:65%;text-align:right;white-space:normal;overflow-wrap:anywhere}
.customer-order .actions:empty{display:none}
.customer-order .schedule-editor>summary{min-height:44px;padding:10px 0;box-sizing:border-box}
@media(max-width:480px){
 .customer-order>.booking{padding:14px}
 .customer-order .payment-panel,.customer-order .customer-receipt{padding:14px;margin:14px 0;border-radius:12px}
 .customer-order .payment-panel h3{font-size:20px}
 .customer-order .line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
 .customer-order .line>strong{max-width:none;min-width:0;white-space:normal}
 .customer-order .actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:8px}
 .customer-order .actions>button,.customer-order .note-edit-actions>button{width:100%;margin:0;min-height:48px}
 .customer-order .note-edit-actions{display:grid;grid-template-columns:1fr;width:100%}
 .customer-order textarea,.customer-order select{max-width:100%;min-width:0;font-size:16px}
 .customer-order .schedule-editor{padding:10px}
 .customer-order .schedule-editor button{width:100%;min-height:48px}
 .customer-order .order-summary-state{min-width:0;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.customer-order *{scroll-behavior:auto;animation:none;transition:none}}

.receipt-disclosure{margin:16px 0;border-top:1px solid #dce5e0}.receipt-disclosure>summary{cursor:pointer;padding:12px 0;font-weight:600;min-height:44px}.receipt-disclosure>summary:focus-visible{outline:3px solid #216b58;outline-offset:3px}.receipt-disclosure .customer-receipt{margin:8px 0 0}

.customer-order>summary .customer-next-step{grid-column:1/-1;font-size:.875rem;line-height:1.5;color:#405d50}

.customer-filter-panel>summary{overflow-wrap:anywhere;line-height:1.5}.customer-filter-panel>button{min-height:44px}@media(max-width:480px){.customer-filter-panel>button{width:100%}}

.empty-order-actions{display:flex;gap:10px;flex-wrap:wrap}.empty-order-actions button{min-height:48px;margin:0}@media(max-width:480px){.empty-order-actions{display:grid;grid-template-columns:1fr}.empty-order-actions button{width:100%}}

.checkout-feedback{font-size:.9rem;line-height:1.5;margin:8px 0;overflow-wrap:anywhere}.checkout-feedback:empty{display:none}

.customer-date-group>.booking-date-heading{gap:8px 12px;align-items:center}.customer-date-group>.booking-date-heading>strong{min-width:0;overflow-wrap:anywhere}@media(max-width:480px){.customer-date-group>.booking-date-heading{padding:12px}.customer-date-group>.booking-date-heading>strong{font-size:1rem;line-height:1.5}.customer-date-group .booking-date-count{font-size:.8rem}}

.customer-order>summary .customer-draft-badge{grid-column:1/-1;justify-self:start;border:1px solid #ba8c38;border-radius:6px;padding:3px 8px;background:#fff0ce;color:#65440e;font-size:.8rem;font-weight:600}

/* Let status and totals wrap independently on narrow screens and at larger text sizes. */
.customer-order>summary .order-summary-total{white-space:normal;overflow-wrap:anywhere;max-width:100%;text-align:right}
.customer-order>summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:380px){
 .customer-order>summary{grid-template-columns:minmax(0,1fr)}
 .customer-order>summary .order-summary-state,.customer-order>summary .order-summary-total{grid-column:1;text-align:left;justify-self:start}
 .customer-order .line{grid-template-columns:minmax(0,1fr);gap:4px}
 .customer-order .line>strong{text-align:left}
 .booking-reference-panel.compact-reference{grid-template-columns:minmax(0,1fr)}
 .compact-reference>button{width:100%}
}

/* Review is a separate visual step; the form remains intact for Make changes. */
#restaurant-order:has(> #checkout-review:not([hidden]))>:not(.restaurant):not(#checkout-review){display:none!important}
#checkout-review{scroll-margin-top:16px}

/* Keep discovery out of the confirmation step without clearing its state. */
#create:has(#checkout-review:not([hidden]))>h1,
#create:has(#checkout-review:not([hidden]))>p,
#create:has(#checkout-review:not([hidden]))>label[for="restaurant-search"],
#create:has(#checkout-review:not([hidden]))>.restaurant-search-row,
#create:has(#checkout-review:not([hidden]))>#restaurant-grid{display:none!important}
#create:has(#checkout-review:not([hidden])) #restaurant-order>.restaurant{margin-bottom:16px}

#new-order-note{margin:18px 0;border-top:1px solid #d8dcca}#new-order-note>summary{cursor:pointer;font-weight:600;padding:12px 0;min-height:44px}#new-order-note>summary:focus-visible{outline:3px solid #216b58;outline-offset:3px}#new-order-note textarea{width:100%;box-sizing:border-box;font-size:16px}

.availability-warning{padding:12px;border-left:3px solid #a76e16;background:#fff2d6;color:#65440e;border-radius:6px;line-height:1.5}

#managed-entry .password-visibility{display:block;width:auto;min-height:44px;margin:6px 0 12px;font-size:.875rem}

.chef-ownership{padding:12px 14px;border:1px solid #d8dcca;border-radius:10px;background:#f6f7f2;font-weight:650;line-height:1.5}.chef-ownership span{display:block;font-size:.9rem;font-weight:400}.chef-ownership.is-mine{border-left:4px solid #216b58;background:#eef7f1}

/* Keep the final handover status prominent even when order details are closed. */
.order-accordion[data-order-state="completed"]>summary>.order-summary-state{
 display:flex;align-items:center;gap:10px;padding:12px 16px;margin:0;
 background:#075b45;color:#fff;border-radius:10px;font-size:20px;font-weight:750;
 line-height:1.4;box-sizing:border-box;
}
.order-accordion[data-order-state="completed"]>summary>.order-summary-state::before{
 content:"\2713";display:inline-flex;align-items:center;justify-content:center;
 width:28px;height:28px;flex:0 0 28px;border:2px solid currentColor;border-radius:50%;
 font-size:18px;
}
.customer-order[data-order-state="completed"]>summary>.order-summary-state{
 grid-column:1/-1;justify-self:stretch;order:-1;
}
.order-accordion[data-order-state="completed"]>summary>.order-completed-time{
 grid-column:1/-1;color:#183c30;font-size:15px;font-weight:600;
}

/* Phone layouts: preserve usable content width and comfortable touch targets. */
@media (max-width:600px){
 header{padding:18px 16px}.brand{font-size:28px}header p{margin-bottom:8px}
 main{padding:16px 12px}#workspace{padding:0}
 h1{font-size:25px}h2{font-size:21px}
 input,select,textarea{font-size:16px;max-width:100%;min-width:0}
 button{min-height:48px;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
 #workspace>.toolbar{display:flex;gap:8px;padding:12px;align-items:stretch}
 #workspace>.toolbar>strong{flex:1 0 100%;padding:4px 0}
 #workspace>.toolbar>button{flex:1 1 140px;margin:0;min-width:0}
 .account-workspace-home,.entry-screen{padding:18px 16px;margin:16px 0}
 .entry-options{gap:12px}.entry-options button{padding:20px}
 .staff-shop-filter{padding:10px}.service-overview{padding:14px;margin-bottom:18px}
 .service-summary-cards,.kitchen-workload-cards{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-summary-card{padding:14px 10px}.service-summary-value{font-size:32px}
 #queue-controls>fieldset{min-width:0;width:100%;margin:0;padding:12px}
 #queue-controls button{min-height:48px;padding:10px 12px}
 .booking-date-group{padding:8px}.booking-date-group .booking-date-group{padding:0}
 .customer-order>summary{padding:14px}.customer-order>.booking{padding:14px}
 .restaurant-setup-dialog,.kitchen-ticket-dialog{width:calc(100% - 16px);max-width:none;max-height:calc(100dvh - 24px);padding:18px 14px;border-radius:16px;overscroll-behavior:contain}
 .restaurant-setup-dialog .setup-overview{padding:12px;margin:14px 0}
 .restaurant-setup-dialog .review-filters{padding:12px}
 .restaurant-setup-dialog .setup-overview li{flex-wrap:wrap;align-items:flex-start}
 .restaurant-setup-dialog .setup-overview li button{flex-shrink:1;margin:4px 0}
 .restaurant-setup-dialog summary{min-height:48px;padding-top:12px;padding-bottom:12px;cursor:pointer}
 .restaurant-setup-dialog .columns{grid-template-columns:1fr}
 .restaurant-setup-dialog .actions{align-items:stretch}
 .restaurant-setup-dialog .actions>button{flex:1 1 180px;margin:4px 0}
 footer{margin-top:24px;line-height:1.6}
}
@media (max-width:360px){
 .service-summary-cards,.kitchen-workload-cards{grid-template-columns:1fr}
 .customer-order>summary{grid-template-columns:minmax(0,1fr)}
 .customer-order>summary>*{grid-column:1;justify-self:start}
}

/* Primary tasks first; bulk display and account help stay optional. */
.booking-display-controls{display:block;padding:0;border:1px solid #d5dfdb;border-radius:12px;background:#fffdf8;margin:16px 0}
.booking-display-controls>summary,.signin-help>summary{padding:12px 14px;min-height:48px;cursor:pointer;font-weight:600}
.booking-display-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px}
.booking-display-actions button{width:100%;margin:0;min-width:0}
#managed-entry form{display:block}
#managed-entry form>button[type=submit]{width:100%;margin:16px 0 8px}
#managed-entry form>.password-visibility{display:inline-block;width:auto;margin:4px 0;padding:8px 0;background:transparent;font-size:14px;text-decoration:underline}
#managed-entry form>.auth-text-action{display:block;width:auto;max-width:100%;background:transparent;text-decoration:underline;margin:4px 0;padding:8px 0;min-height:44px;font-size:15px}
#managed-entry .signin-help{border-top:1px solid #d5dfdb;margin-top:16px;font-size:15px}
#managed-entry .signin-help>summary{padding-left:0}
#managed-entry .signin-help button{margin:0 0 12px;font-size:15px}
#managed-entry form>p:empty{display:none}
@media(max-width:600px){
 #managed-entry form>label{margin-top:12px}
 #managed-entry form>.auth-text-action{margin:0}
 #managed-entry form>.muted{margin-top:16px}
 .booking-display-actions{grid-template-columns:1fr 1fr}
 .booking-display-actions button{font-size:14px;padding:10px 8px}
}
