:root {
  color-scheme: light;
  --ink:#2d2925; --muted:#696158; --line:#ded7cd; --paper:#fffdfa;
  --bg:#f6f3ee; --surface:#eeebe4; --accent:#b84e15; --accent-hover:#963b0d;
  --accent-soft:#fff0e3; --success:#32614a; --success-soft:#edf4ef;
  --danger:#a23730; --danger-soft:#fff0ec; --focus:#95500c;
  --radius:14px; --shadow:0 2px 4px #49321505,0 8px 24px #49321504;
  font-family:'Work Sans',system-ui,sans-serif; font-size:16px; line-height:1.5;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--bg); font-size:.875rem; }
button,input,select,textarea { font:inherit; color:inherit; }
button { cursor:pointer; border:0; } button:disabled { opacity:.6; cursor:wait; }
a { color:inherit; text-decoration:none; }@media(hover:hover) { a:hover { text-decoration:underline; text-underline-offset:3px; } }
h1,h2,h3,h4,p { margin:0; } p { text-wrap:pretty; } h1,h2,h3 { line-height:1.25; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
[tabindex='-1']:focus { outline:none; }
input,select,textarea { min-width:0; width:100%; padding:10px 12px; min-height:44px; background:var(--paper); border:1px solid #948574; border-radius:9px; }
input::placeholder,textarea::placeholder { color:var(--muted); opacity:1; } textarea { resize:vertical; }
label { display:block; font-size:.8125rem; font-weight:500; }
label>input,label>select,label>textarea,label>.address-wrap { margin-top:6px; }
label small { display:block; margin-top:5px; color:var(--muted); font-size:.75rem; font-weight:400; }
[hidden] { display:none!important; }
.icon { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.sprite,.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:110; top:8px; left:16px; padding:12px 20px; background:var(--ink); color:white; border-radius:8px; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border:1px solid transparent; border-radius:10px; font-size:.8125rem; font-weight:600; line-height:1.4; text-align:center; text-decoration:none; }
@media(hover:hover) { .button:hover { text-decoration:none; } }
.button.primary { background:var(--accent); color:white; }
@media(hover:hover) { .button.primary:hover { background:var(--accent-hover); } }
.button.secondary { background:var(--paper); border-color:var(--line); }
@media(hover:hover) { .button.secondary:hover { background:var(--surface); border-color:#b7a895; } }
.button.ghost { background:transparent; border-color:var(--line); }
.button.danger { background:var(--danger-soft); color:var(--danger); border-color:#d5a298; }
@media(hover:hover) { .button.danger:hover { background:#f8dcd5; } }
.icon-button,.print-link { width:44px; height:44px; padding:10px; display:inline-flex; align-items:center; justify-content:center; flex:none; background:var(--paper); border:1px solid var(--line); border-radius:10px; }
@media(hover:hover) { .icon-button:hover,.print-link:hover { background:var(--surface); } }
.icon-button[aria-pressed=true] { color:var(--accent); background:var(--accent-soft); border-color:#cf9a78; }
.text-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; gap:6px; background:transparent; padding:8px; font-size:.75rem; text-decoration:underline; text-underline-offset:3px; }
.eyebrow { display:block; color:var(--muted); font-size:.75rem; font-weight:500; letter-spacing:.05em; }
kbd { font: .75rem 'Work Sans',sans-serif; display:inline-grid; place-items:center; min-width:20px; height:22px; border:1px solid currentColor; border-radius:4px; margin-left:4px; }
.app { min-height:100dvh; }
.topbar { display:flex; align-items:center; flex-wrap:wrap; gap:24px; min-height:84px; padding:12px 28px; background:var(--paper); border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:16px; flex:none; }
.brand img { display:block; width:96px; height:52px; object-fit:contain; }
.brand-caption { padding-left:16px; border-left:1px solid var(--line); max-width:115px; font-size:.75rem; color:var(--muted); }
.main-nav { display:flex; gap:4px; padding:4px; background:var(--bg); border-radius:12px; }
.nav-item { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; border-radius:9px; background:transparent; font-size:.8125rem; font-weight:500; }
.nav-item .icon { width:18px; height:18px; }@media(hover:hover) { .nav-item:hover { background:var(--surface); } }
.nav-item.active { background:var(--accent-soft); color:#91400f; box-shadow:inset 0 0 0 1px #e8c7ae; }
.nav-item>span { min-width:21px; padding:0 5px; border-radius:6px; background:#ffffffc9; color:var(--ink); font-size:.75rem; font-variant-numeric:tabular-nums; }
.topbar-right { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-inline-start:auto; }
.connection { display:inline-flex; align-items:center; gap:7px; color:var(--success); font-size:.75rem; }
.connection i,.live-dot { display:inline-block; flex:none; width:7px; height:7px; border-radius:50%; background:currentColor; }
.connection.offline { color:var(--danger); } .connection.paused { color:var(--muted); }
.profile { display:flex; align-items:center; gap:8px; margin:0 3px; }
.profile>span { display:grid; place-items:center; width:34px; height:34px; background:var(--surface); border-radius:50%; font-weight:600; }
.profile strong { max-width:120px; font-size:.75rem; font-weight:500; overflow-wrap:anywhere; }
.workspace { padding:20px 28px; max-width:1920px; margin:auto; }
.page-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
.heading-meta { display:flex; align-items:center; flex-wrap:wrap; gap:12px; color:var(--muted); font-size:.75rem; }
.location-label { display:inline-flex; align-items:center; gap:5px; } .location-label .icon { width:14px; height:14px; }
#today-label { text-transform:lowercase; }
.page-heading h1 { font-size:clamp(1.75rem,2.3vw,2.25rem); font-weight:650; letter-spacing:-.025em; margin:7px 0 5px; }
.page-heading p { display:none; }
.heading-actions { display:flex; align-items:center; gap:20px; }
.clock { font-size:1.375rem; font-variant-numeric:tabular-nums; }
.stats-toggle { display:flex; } .stats:not(.is-expanded) { display:none; }
.stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; margin-bottom:16px; }
.stat { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:10px 16px; background:var(--paper); }
.stat-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:var(--bg); color:var(--muted); flex:none; }
.stat>div>span { display:block; color:var(--muted); font-size:.75rem; }
.stat strong { display:block; font-size:1.5rem; font-weight:600; line-height:1.2; font-variant-numeric:tabular-nums; margin-top:3px; }
.stat em { font-size:.8125rem; font-style:normal; }
.stat>small { margin-inline-start:auto; font-size:.75rem; color:var(--muted); max-width:100px; }
.board-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.segmented,.catalogue-tabs { display:flex; flex-wrap:wrap; gap:3px; padding:4px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.segmented button,.catalogue-tabs button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:9px 14px; border-radius:8px; background:transparent; font-size:.8125rem; }
.segmented button.selected,.catalogue-tabs button.selected { background:var(--ink); color:var(--paper); }
.segmented button>span,.catalogue-tabs span { padding:0 6px; border-radius:5px; background:var(--surface); color:var(--ink); font-size:.75rem; font-variant-numeric:tabular-nums; }
.segmented .icon { width:17px; height:17px; }
.toolbar-tools { display:flex; gap:10px; min-width:0; }
.toolbar-tools>input { width:170px; }
.search { display:flex; align-items:center; gap:8px; min-height:48px; padding:0 12px; border:1px solid #948574; border-radius:10px; background:var(--paper); min-width:0; }
.search input { margin:0; padding:9px 0; border:0; background:transparent; box-shadow:none; }
.search .icon,.search kbd { color:var(--muted); }
.search:focus-within { outline:2px solid var(--focus); outline-offset:2px; }
.search input:focus-visible { outline-offset:0; outline-width:1px; }
.toolbar-tools .search { width:320px; }
.board-controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin-bottom:14px; }
.inline-filter { display:flex; align-items:center; gap:8px; font-size:.75rem; color:var(--muted); }
.inline-filter select { margin:0; width:auto; max-width:200px; font-size:.8125rem; color:var(--ink); }
.attention-filter { display:inline-flex; align-items:center; gap:7px; padding:9px 12px; min-height:44px; border-radius:9px; border:1px solid var(--line); background:var(--paper); font-size:.8125rem; }
.attention-filter.has-late { color:var(--danger); border-color:#d5a298; }
.attention-filter[aria-pressed=true] { background:var(--danger-soft); border-color:var(--danger); box-shadow:inset 0 0 0 1px var(--danger); }
.attention-filter span { font-weight:650; font-variant-numeric:tabular-nums; } .attention-filter .icon { width:17px; height:17px; }
.refresh-tools { display:flex; gap:8px; margin-inline-start:auto; }
.board-caption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:.75rem; color:var(--muted); margin-bottom:14px; }
.board-caption>span:first-child { color:var(--ink); font-weight:500; }
.board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:start; }
.board.single-state { grid-template-columns:minmax(0,1fr); } .board.single-state .column-cards { grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr)); }
.board-column { min-width:0; padding:0 10px 10px; border-radius:16px; background:#ede8e0; border:1px solid #e3dbd0; }
.column-header { display:flex; align-items:center; gap:9px; padding:14px 6px; }
.column-header h2 { font-size:.9375rem; font-weight:600; }
.column-header .column-subtitle { display:block; color:var(--muted); font-size:.75rem; font-weight:400; margin-top:2px; }
.column-header .count { margin-inline-start:auto; display:grid; place-items:center; min-width:28px; height:28px; padding:0 6px; border-radius:8px; background:var(--paper); font-size:.8125rem; font-variant-numeric:tabular-nums; }
.column-header>.icon { width:22px; height:22px; color:var(--muted); }
.received .column-header>.icon { color:var(--accent); }.ready .column-header>.icon { color:var(--success); }
.status-dot { width:7px; height:7px; background:var(--accent); border-radius:50%; } .ready .status-dot { background:var(--success); }
.column-cards { display:grid; align-items:start; align-content:start; gap:10px; min-height:160px; }
.order-card { min-width:0; background:var(--paper); padding:14px; border:1px solid #e3dbcf; border-radius:12px; box-shadow:var(--shadow); cursor:grab; overflow-wrap:anywhere; }
@media(hover:hover) { .order-card:hover { border-color:#b9aa96; } }.order-card.is-late { border-color:#ce9685; }
.order-card[aria-busy=true] { cursor:wait; } .order-card.dragging { opacity:.45; }
.board-column.drop-allowed { outline:2px dashed var(--accent); outline-offset:2px; }.board-column.drag-over { background:var(--accent-soft); outline-style:solid; }
.order-card-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 10px; }
.order-number { background:transparent; font-size:1.375rem; font-weight:650; letter-spacing:-.02em; min-height:44px; padding:0 4px; margin-left:-4px; text-decoration:underline; text-decoration-color:#cfb9a6; text-underline-offset:4px; font-variant-numeric:tabular-nums; }
.fulfillment-badge { display:inline-flex; align-items:center; gap:6px; padding:5px 9px; border-radius:7px; color:#51483e; background:var(--surface); font-size:.75rem; font-weight:550; }
.fulfillment-badge.delivery { background:var(--accent-soft); color:#884511; }.fulfillment-badge .icon { width:15px; height:15px; }
.order-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:5px 8px; color:var(--muted); font-size:.75rem; margin:0 0 10px; }
.order-meta>span { display:inline-flex; align-items:center; gap:4px; } .order-meta .icon { width:14px; height:14px; }
.age { font-variant-numeric:tabular-nums; }.age.late { background:var(--danger-soft); color:var(--danger); border-radius:5px; padding:3px 6px; font-weight:600; }
.schedule-note { margin:0 0 10px; padding:7px 9px; background:var(--accent-soft); color:#884511; border-radius:7px; font-size:.8125rem; font-weight:550; }
.order-customer { display:flex; align-items:start; gap:8px; margin-bottom:10px; }.order-customer>div { min-width:0; }
.order-customer>.icon { width:16px; height:16px; color:var(--muted); margin-top:2px; }.order-customer strong { font-weight:550; }
.order-customer p { margin-top:2px; color:var(--muted); font-size:.75rem; }.order-customer a { text-decoration:underline; }
.order-lines { display:grid; gap:8px; padding:11px 0; border-block:1px solid var(--line); }
.order-line { display:flex; align-items:start; gap:8px; font-size:.8125rem; }.order-line>b { flex:none; min-width:22px; font-weight:600; font-variant-numeric:tabular-nums; }
.order-line>div { min-width:0; }.order-line small { display:block; color:#884511; font-size:.75rem; margin-top:2px; line-height:1.5; }
.more-lines summary { min-height:44px; padding:10px 0; color:#884511; cursor:pointer; font-size:.75rem; text-decoration:underline; text-underline-offset:3px; }.more-lines .order-line { margin-top:8px; }
.order-note { color:#765019; background:#fbefdc; border-radius:7px; font-size:.75rem; padding:8px 10px; margin-top:10px; overflow-wrap:anywhere; white-space:pre-line; }
.order-card-total { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px; margin-top:11px; }
.order-card-total strong { font-size:1.125rem; font-weight:650; font-variant-numeric:tabular-nums; }.item-count { font-size:.75rem; color:var(--muted); margin-inline-start:6px; white-space:nowrap; }
.payment-label { display:inline-flex; align-items:center; gap:4px; font-size:.75rem; color:var(--muted); }.payment-label.paid { color:var(--success); }.payment-label .icon { width:14px; height:14px; }
.card-actions { display:flex; gap:8px; margin-top:12px; }.card-actions>.button { flex:1; padding:9px; }.card-actions .icon { width:17px; height:17px; }
.ready .card-actions>.button { background:var(--success-soft); border-color:#9fbaaa; color:var(--success); }
.card-footer-meta { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:.75rem; margin-top:9px; }
.source { display:inline-flex; align-items:center; gap:4px; }.source .icon { width:13px; height:13px; }
.column-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:30px 14px; min-height:190px; color:var(--muted); }
.column-empty>.icon { width:38px; height:38px; padding:8px; border-radius:12px; background:var(--paper); margin-bottom:12px; }
.column-empty strong { color:var(--ink); font-size:.875rem; font-weight:550; }.column-empty p { font-size:.8125rem; max-width:28ch; margin-top:5px; }.column-empty .button { margin-top:14px; }
.workspace-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:20px; font-size:.75rem; color:var(--muted); }
.workspace-footer>span:first-child { display:flex; align-items:center; gap:7px; }
.notice,.error { padding:12px 14px; border-radius:10px; margin-bottom:14px; font-size:.8125rem; overflow-wrap:anywhere; }
.notice { background:#fbefdc; color:#765019; border:1px solid #d6b788; }.error { color:var(--danger); background:var(--danger-soft); border:1px solid #d5a298; }
.action-error { display:flex; align-items:center; justify-content:space-between; gap:10px; }.action-error .icon-button { color:var(--danger); }
.history { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); }
.history table { border-collapse:collapse; width:100%; font-size:.8125rem; table-layout:fixed; }
.history caption { text-align:start; padding:16px; color:var(--muted); }
.history th { padding:12px; text-align:start; color:var(--muted); font-weight:500; background:var(--bg); font-size:.75rem; }
.history td { padding:12px; border-top:1px solid var(--line); overflow-wrap:anywhere; }.history td small { display:block; color:var(--muted); margin-top:3px; font-size:.75rem; }
.history th:last-child { width:68px; }.history-open { display:inline-block; background:transparent; font-weight:600; padding:10px 0; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.empty-history { text-align:center; padding:40px!important; color:var(--muted); }
.status-tag { display:inline-flex; padding:4px 8px; border-radius:6px; background:var(--surface); color:#51483e; font-size:.75rem; }
.status-tag.received { color:#884511; background:var(--accent-soft); }.status-tag.ready,.status-tag.completed { color:var(--success); background:var(--success-soft); }.status-tag.cancelled { color:var(--danger); background:var(--danger-soft); }
/* Telephone order: preserve catalogue, configurable halves, address search and draft. */
.order-layout { display:grid; grid-template-columns:minmax(0,1fr) 380px; align-items:start; }
.catalogue { padding:24px 28px; min-width:0; }
.section-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }.section-heading h2 { font-size:.9375rem; }.section-heading h2>span { color:var(--muted); margin-left:6px; }
.queue-panel { margin-bottom:24px; }.order-queue { display:flex; gap:10px; overflow:auto; scrollbar-width:thin; padding:3px 3px 10px; }
.queue-card { min-width:220px; width:220px; flex:none; text-align:start; padding:12px; border-radius:12px; background:var(--paper); border:1px solid var(--line); }.queue-card>div { display:flex; justify-content:space-between; align-items:start; gap:8px; }.queue-card strong { font-size:.8125rem; overflow-wrap:anywhere; }.queue-card small,.queue-card>p,.queue-mode { font-size:.75rem; color:var(--muted); }.queue-card>p { margin:6px 0; }
.queue-empty { display:flex; align-items:center; gap:14px; padding:20px; border:1px dashed #b7a895; border-radius:12px; width:100%; }.queue-empty p { color:var(--muted); font-size:.8125rem; }
.catalogue-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }.catalogue-heading h1 { font-size:1.75rem; letter-spacing:-.02em; margin-top:4px; }.menu-note { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:.75rem; }
.catalogue-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-bottom:18px; }.catalogue-toolbar .search { flex:1; min-width:190px; }
.catalogue-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:12px; }
.product-tile { position:relative; display:flex; gap:12px; background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:10px; min-width:0; }.product-tile.in-cart { border-color:var(--accent); }
.product-image { position:relative; width:90px; height:100px; padding:0; background:var(--bg); border-radius:9px; flex:none; }.product-image img { width:100%; height:100%; object-fit:contain; }.product-no { position:absolute; top:3px; left:3px; padding:2px 5px; background:var(--paper); border-radius:5px; font-size:.75rem; }.product-placeholder { display:grid; place-items:center; height:100%; }
.product-info { flex:1; display:flex; flex-direction:column; min-width:0; }.product-info>small { color:var(--muted); font-size:.75rem; }.product-name { background:transparent; padding:6px 0; min-height:44px; text-align:start; font-size:.875rem; font-weight:600; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:3px; }
.product-info>p { margin-bottom:10px; color:var(--muted); font-size:.75rem; overflow-wrap:anywhere; }.product-bottom { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:auto; }.product-bottom>strong { font-size:.875rem; font-weight:600; font-variant-numeric:tabular-nums; }
.product-add { width:44px; height:44px; flex:none; border-radius:9px; color:var(--accent); background:var(--accent-soft); font-size:1.5rem; }@media(hover:hover) { .product-add:hover { background:#f9dfc9; } }.product-added { display:flex; align-items:center; gap:5px; margin-top:5px; font-size:.75rem; color:var(--success); }.product-added .icon { width:14px; height:14px; }
.catalogue-footnote { margin-top:14px; color:var(--muted); font-size:.75rem; }
.order-form { background:#f1e9de; border-left:1px solid var(--line); min-width:0; position:sticky; top:0; }
.checkout-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 18px 14px; }.checkout-heading h2 { font-size:1.25rem; margin-top:4px; }.order-form-scroll { padding:0 18px 18px; }
.choice { display:flex; gap:8px; margin-bottom:16px; }.choice label { position:relative; flex:1; }.choice input { position:absolute; width:1px; height:1px; opacity:0; }.choice span { display:flex; justify-content:center; align-items:center; gap:6px; min-height:46px; padding:10px; background:var(--paper); border:1px solid #948574; border-radius:10px; cursor:pointer; }
.choice input:checked+span { background:var(--accent-soft); border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent); color:#884511; font-weight:600; }
.choice input:focus-visible+span,.ingredient-tags input:focus-visible+span { outline:3px solid var(--focus); outline-offset:3px; }
.customer-fields label { margin-bottom:10px; }.address-wrap { position:relative; }
.address-results { position:absolute; top:100%; left:0; right:0; background:var(--paper); border:1px solid #948574; border-radius:9px; box-shadow:var(--shadow); z-index:5; max-height:250px; overflow:auto; }
.address-results button { display:block; width:100%; min-height:44px; padding:10px; text-align:start; background:var(--paper); border-bottom:1px solid var(--line); font-size:.8125rem; }@media(hover:hover) { .address-results button:hover { background:var(--accent-soft); } } .address-results button[aria-selected=true] { background:var(--accent-soft); }
.cart-heading { display:flex; justify-content:space-between; align-items:center; margin:18px 0 12px; }.cart-heading h3 { font-size:.9375rem; }.cart-heading>span { font-size:.75rem; color:var(--muted); }
.cart-lines { display:grid; gap:10px; }.cart-line { position:relative; padding:12px; background:var(--paper); border:1px solid var(--line); border-radius:10px; min-width:0; }.cart-line>div { width:100%; min-width:0; }.cart-line-name { background:transparent; text-align:start; padding:0 40px 0 0; min-height:44px; font-size:.875rem; font-weight:550; text-decoration:underline; text-underline-offset:3px; }.cart-line small { display:block; color:var(--muted); font-size:.75rem; margin:4px 0; overflow-wrap:anywhere; }.cart-line>.icon-button { position:absolute; top:7px; right:7px; background:transparent; border:0; }
.cart-line-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; }.cart-line-controls>strong { font-variant-numeric:tabular-nums; }
.quantity { display:inline-flex; align-items:center; gap:6px; }.quantity button { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--line); border-radius:9px; background:var(--bg); font-size:1.25rem; }.quantity output { min-width:24px; text-align:center; font-variant-numeric:tabular-nums; }
.empty-cart { padding:25px 14px; text-align:center; color:var(--muted); border:1px dashed #b7a895; border-radius:12px; font-size:.8125rem; }.empty-cart>.icon { display:block; margin:0 auto 12px; width:28px; height:28px; }
.order-options { margin-top:16px; }.order-options summary { cursor:pointer; min-height:44px; padding:10px 0; font-size:.8125rem; }.order-options summary>.icon { display:none; }.order-options summary>span { display:none; }.order-options[open] summary { margin-bottom:10px; }.field-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.order-options label { margin-bottom:12px; }
.order-form-footer { padding:14px 18px 18px; background:#f1e9de; border-top:1px solid var(--line); }.total { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding:12px 0; }.total small { display:block; color:var(--muted); font-size:.75rem; }.total>strong { font-size:1.375rem; font-weight:650; font-variant-numeric:tabular-nums; }.order-form-footer>.button { width:100%; margin-top:8px; }
/* Native dialogs retain keyboard focus and Escape handling. */
dialog { color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:0; max-width:calc(100% - 32px); max-height:calc(100dvh - 32px); box-shadow:0 24px 80px #30251633; overflow:auto; overscroll-behavior:contain; }
dialog::backdrop { background:#30251670; }
.modal-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; border-bottom:1px solid var(--line); }.modal-header>div { min-width:0; }.modal-header h2 { font-size:1.5rem; font-weight:600; letter-spacing:-.02em; overflow-wrap:anywhere; }.modal-header .eyebrow { margin-bottom:5px; }
.config-dialog { width:700px; }.config-body { padding:20px 24px; }.config-body>label { margin-bottom:22px; }.config-scope { margin-top:20px; padding-top:20px; border-top:1px solid var(--line); }.config-scope h3 { font-size:1.125rem; margin-bottom:14px; }.config-scope h4 { font-size:.8125rem; font-weight:600; margin:18px 0 10px; }.config-scope>small { color:var(--muted); font-size:.75rem; }
.ingredient-tags { display:flex; flex-wrap:wrap; gap:8px; }.ingredient-tags label { position:relative; cursor:pointer; }.ingredient-tags input { position:absolute; width:1px; height:1px; opacity:0; }.ingredient-tags span { display:flex; align-items:center; min-height:44px; padding:10px 12px; border:1px solid #948574; border-radius:9px; font-size:.8125rem; }.ingredient-tags input:checked+span { color:#884511; background:var(--accent-soft); border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent); }.ingredient-tags.removals input:checked+span { background:var(--danger-soft); color:var(--danger); border-color:var(--danger); text-decoration:line-through; }
.config-note { margin-top:24px; }.config-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:16px 24px; border-top:1px solid var(--line); background:var(--paper); }
.detail-dialog { width:760px; }.detail-body { padding:20px 24px; }.detail-status { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:0 0 20px; list-style:none; padding:0; }.detail-status li { padding-top:8px; border-top:3px solid var(--line); color:var(--muted); font-size:.75rem; }.detail-status .reached { border-color:var(--accent); color:#884511; }.detail-status [aria-current=step] { font-weight:650; }.detail-status .icon { width:13px; height:13px; vertical-align:middle; margin-right:3px; }
.detail-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:24px; }.detail-section { padding:16px 0; border-bottom:1px solid var(--line); }.detail-section h3 { font-size:.875rem; font-weight:600; margin-bottom:10px; }.detail-section p { line-height:1.6; overflow-wrap:anywhere; }.detail-section a { display:inline-block; text-decoration:underline; text-underline-offset:3px; padding:5px 0; }
.detail-line { display:flex; align-items:start; justify-content:space-between; gap:16px; padding:12px 0; }.detail-line>div { min-width:0; }.detail-line strong,.detail-line>b { font-size:.875rem; font-weight:550; overflow-wrap:anywhere; }.detail-line>b { flex:none; font-variant-numeric:tabular-nums; }.detail-line small { display:block; color:var(--muted); font-size:.8125rem; margin-top:4px; white-space:pre-line; }.detail-line .unit-price { font-size:.75rem; }.detail-total { margin-top:14px; }.detail-payment { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }.detail-payment .payment-label { font-size:.8125rem; }
.print-actions { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }.print-actions a { flex:1; }.detail-footer { display:flex; flex-wrap:wrap; gap:10px; padding:16px 24px; background:var(--bg); border-top:1px solid var(--line); }.detail-footer>.primary { flex:1; }.detail-body>.eyebrow { overflow-wrap:anywhere; }
.settings-dialog { width:480px; }.settings-dialog form { padding:24px; }.settings-dialog form>label { margin-bottom:22px; }.settings-dialog form>.button { width:100%; }.toggle-field { display:flex; align-items:center; justify-content:space-between; gap:16px; }.toggle-field input { width:26px; height:26px; min-height:26px; flex:none; accent-color:var(--accent); }.toggle-field { min-height:44px; }.settings-note { display:flex; align-items:start; gap:12px; padding:16px; background:var(--bg); border-radius:12px; margin:20px 0; }.settings-note p { font-size:.8125rem; color:var(--muted); }.settings-note strong { display:block; color:var(--ink); margin-bottom:5px; }
.confirm-dialog { width:480px; }.confirm-body { padding:20px 24px; }.confirm-body p { line-height:1.6; }.confirm-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; padding:16px 24px 24px; }
.toast { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); max-width:calc(100% - 32px); padding:12px 20px; border-radius:12px; background:var(--ink); color:var(--paper); box-shadow:var(--shadow); z-index:100; font-size:.8125rem; pointer-events:none; }.toast:empty { display:none; }
.startup { min-height:100dvh; display:grid; place-content:center; justify-items:center; gap:24px; color:var(--muted); }.startup img { width:160px; }
.auth { min-height:100dvh; display:grid; grid-template-columns:1fr 1fr; }.auth-art { display:flex; flex-direction:column; align-items:start; padding:64px; background:radial-gradient(ellipse at top left,#f5dcc4,transparent 70%),#ede5d9; }.auth-art>img { width:160px; }.auth-art>div { margin:auto 0; padding:50px 0; }.auth-art h1 { font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.025em; font-weight:600; margin:18px 0; }.auth-art p { color:var(--muted); font-size:1rem; }.auth-art>small { color:var(--muted); font-size:.8125rem; }.auth-panel { display:flex; align-items:center; justify-content:center; padding:40px; }.auth-panel form { width:360px; max-width:100%; }.auth-panel h2 { font-size:1.875rem; margin:16px 0 10px; font-weight:600; }.auth-panel form>p { color:var(--muted); margin-bottom:24px; }.auth-panel label { margin-bottom:18px; }.auth-panel .button { width:100%; }.back-site { display:block; text-align:center; margin-top:22px; min-height:44px; padding:10px; text-decoration:underline; font-size:.8125rem; }
@media(prefers-reduced-motion:no-preference) {
  button,a,input,select,textarea { transition:background-color 120ms ease-out,border-color 120ms ease-out,box-shadow 120ms ease-out; }
  .order-card[aria-busy=true] { box-shadow:inset 0 0 0 2px #d9a580; }
}
@media(forced-colors:active) { :focus-visible { outline-color:Highlight; }.choice input:checked+span,.ingredient-tags input:checked+span { outline:2px solid Highlight; }.age.late { border:1px solid; } }
@media(min-width:1101px) {
  .order-workspace { height:calc(100dvh - 85px); min-height:500px; }.order-layout { height:100%; align-items:stretch; }
  .catalogue { display:flex; flex-direction:column; min-height:0; }.catalogue-grid { overflow:auto; align-content:start; padding:3px; margin:-3px; scrollbar-width:thin; }.catalogue-toolbar,.catalogue-heading,.queue-panel,.catalogue-footnote { flex:none; }
  .order-form { position:static; display:flex; flex-direction:column; min-height:0; }.order-form-scroll { overflow:auto; flex:1; min-height:0; }.checkout-heading,.order-form-footer { flex:none; }
}
@media(max-width:1250px) { .brand-caption { display:none; }.topbar { gap:16px; padding:12px 24px; }.profile strong { display:none; }.stat>small { margin-left:46px; max-width:none; }.stat { align-content:start; }.topbar-right { gap:6px; }.connection { font-size:.75rem; }.order-layout { grid-template-columns:minmax(0,1fr) 340px; } }
@media(max-width:1000px) {
  .topbar { gap:12px; }.main-nav { flex:1; }.nav-item { flex:1; padding:10px; }.topbar-right { width:100%; justify-content:flex-end; }.connection { margin-inline-end:auto; }
  .workspace { padding:22px 20px; }.stats { grid-template-columns:repeat(2,minmax(0,1fr)); }.stat>small { margin-inline-start:auto; max-width:110px; }.board { grid-template-columns:1fr; }.column-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }.column-empty { grid-column:1/-1; min-height:140px; }
  .board-toolbar { flex-wrap:wrap; }.toolbar-tools { flex:1; }.toolbar-tools .search { flex:1; width:auto; }.refresh-tools { margin-inline-start:0; }
  .order-layout { grid-template-columns:minmax(0,1fr) 340px; }.catalogue { padding:20px; }.catalogue-grid { grid-template-columns:1fr; }.product-tile { flex-wrap:wrap; }.menu-note { display:none; }
  .history table { table-layout:auto; }.history thead { display:none; }.history tr { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:16px; border-top:1px solid var(--line); }.history td { padding:0; border:0; min-width:0; }.history td:before { content:attr(data-label); display:block; font-size:.75rem; color:var(--muted); margin-bottom:3px; }
}
@media(max-width:700px) {
  .topbar { padding:10px 16px; gap:8px; }.brand img { width:76px; height:42px; }.brand-caption { display:block; padding-left:10px; font-size:.75rem; }.main-nav { width:100%; flex-basis:100%; flex-wrap:wrap; }.nav-item { padding:9px 6px; font-size:.75rem; gap:5px; }.nav-item .icon { width:16px; height:16px; }.topbar-right { gap:6px; }.profile { display:none; }
  .workspace { padding:20px 16px; }.page-heading { align-items:start; flex-wrap:wrap; gap:12px; }.page-heading h1 { font-size:1.75rem; }.heading-actions { width:100%; justify-content:space-between; }.heading-actions .button { flex:1; }.heading-actions kbd { display:none; }
  .stats { margin-bottom:16px; }.stat { padding:12px; gap:8px; }.stat-icon { display:none; }.stat>small { width:100%; max-width:none; margin:0; }.stat strong { font-size:1.375rem; }
  .board-toolbar { gap:12px; }.segmented { width:100%; }.segmented button { flex:1; font-size:.75rem; padding:9px 5px; gap:5px; }.segmented .icon { display:none; }.toolbar-tools { flex-basis:100%; flex-wrap:wrap; }.toolbar-tools .search { width:100%; flex-basis:100%; }.board-controls { gap:8px 12px; }.inline-filter { flex:1; flex-direction:column; align-items:start; gap:3px; }.inline-filter select { width:100%; max-width:none; }.refresh-tools { margin-left:auto; gap:0; }
  input,select,textarea,.search input { font-size:1rem; }.column-cards,.board.single-state .column-cards { grid-template-columns:1fr; }.board { gap:18px; }.order-card { padding:14px; }.column-header h2 { font-size:1rem; }.board-column { padding:0 8px 8px; }
  .order-layout { display:block; }.catalogue { padding:20px 16px; }.catalogue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:510px; overflow:auto; padding:3px; margin:-3px; }.product-tile { flex-direction:column; padding:9px; gap:6px; }.product-image { width:100%; height:110px; }.product-info { width:100%; }.product-info>small { display:none; }.product-name { font-size:.8125rem; }.product-bottom { flex-wrap:wrap; }.product-bottom>strong { font-size:.8125rem; }.catalogue-toolbar .search { width:100%; }.catalogue-tabs { width:100%; }.catalogue-tabs button { flex:1; padding:8px; font-size:.75rem; }.queue-card { min-width:210px; }
  .order-form { position:static; border-left:0; border-top:1px solid var(--line); }.order-form-footer { position:static; }.field-row { grid-template-columns:1fr; }
  dialog { max-width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:14px; }.modal-header,.detail-body,.config-body,.settings-dialog form,.confirm-body { padding:18px 16px; }.modal-header h2 { font-size:1.25rem; }.modal-header .eyebrow { font-size:.75rem; }.detail-grid { grid-template-columns:1fr; gap:0; }.detail-status { gap:4px; }.detail-status li { font-size:.75rem; }.detail-status .icon { display:none; }.detail-footer,.config-footer,.confirm-actions { padding:16px; }.detail-footer>.button { flex-basis:100%; }.print-actions>a { flex-basis:40%; }.detail-line { gap:10px; }.detail-line>b { font-size:.8125rem; }.config-footer>.button { flex:1; }
  .auth { display:block; }.auth-art { padding:24px; }.auth-art>img { width:110px; }.auth-art>div { padding:20px 0 0; }.auth-art h1 { font-size:2rem; }.auth-art p,.auth-art>small { display:none; }.auth-panel { padding:32px 24px; }
}
@media(max-width:700px) {
  .brand-caption,.topbar-right .connection { display:none; }.topbar-right { order:1; width:auto; margin-left:auto; }.main-nav { order:2; display:grid; grid-template-columns:1fr 1.25fr .75fr; }.nav-item { min-width:0; white-space:normal; }.nav-item .icon { display:none; }
  .page-heading { flex-wrap:nowrap; align-items:center; margin-bottom:12px; }.heading-actions { width:auto; flex-direction:column; gap:0; }.heading-actions .button { display:none; }.clock { font-size:1rem; }.heading-meta { gap:6px; }.location-label { display:none; }
  .stats-toggle { display:flex; margin:0; padding:8px 0; white-space:nowrap; }.stats:not(.is-expanded) { display:none; }
  .board-controls .inline-filter { flex-basis:calc(50% - 6px); }.refresh-tools { flex:1; justify-content:flex-end; }.refresh-tools .text-button { padding-inline:5px; }
  .column-cards { min-height:0; }.column-empty { min-height:0; padding:12px 8px; }.column-empty>.icon { display:none; }.column-empty p { max-width:none; }
}
@media(max-width:360px) { .detail-status { grid-template-columns:1fr 1fr; gap:10px; } .main-nav .nav-item>.icon { display:none; }.brand-caption { max-width:none; }.refresh-tools { width:100%; justify-content:space-between; }.card-actions .button { font-size:.75rem; }.history tr { grid-template-columns:1fr; }.config-footer { align-items:stretch; }.config-footer>.button { flex-basis:100%; } }

/* Compact operations header: navigation and search stay together. */
.topbar { flex-wrap:nowrap; gap:16px; min-height:76px; padding:10px 24px; }
.brand img { width:84px; height:46px; }.brand-caption { display:none; }
.main-nav { flex:none; }.nav-item { white-space:nowrap; padding-inline:12px; }
.topbar-search { flex:1; max-width:440px; margin-left:auto; min-height:44px; }
.topbar-search input { min-width:100px; }.topbar-right { flex-wrap:nowrap; width:auto; margin:0; gap:6px; }
.profile strong { max-width:90px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.workspace { padding:20px 24px; }
.orders-toolbar { display:flex; align-items:center; gap:18px; margin-bottom:18px; }
.orders-toolbar h1 { font-size:1.625rem; letter-spacing:-.025em; flex:none; }
.orders-toolbar .segmented { flex:none; }.orders-toolbar #history-date { width:150px; }
.orders-actions { display:flex; align-items:center; gap:8px; margin-left:auto; }
.orders-actions>.button,.attention-filter { white-space:nowrap; }
.attention-filter .attention-label { font-weight:400; }
#draft-count,#active-filter-count { display:grid; place-items:center; min-width:20px; height:22px; border-radius:5px; background:var(--bg); color:var(--ink); font-size:.75rem; }
.filter-menu { position:relative; }.filter-menu>summary { list-style:none; cursor:pointer; }.filter-menu>summary::-webkit-details-marker { display:none; }
.filter-menu[open]>summary { background:var(--accent-soft); border-color:#ce9b78; }
.filter-panel { position:absolute; top:calc(100% + 8px); right:0; z-index:25; padding:18px; width:285px; border:1px solid var(--line); border-radius:12px; background:var(--paper); box-shadow:0 8px 28px #49321520; }
.filter-panel>label+label { margin-top:14px; }.filter-panel .refresh-tools { display:flex; flex-wrap:wrap; margin:12px -6px -6px; gap:0; border-top:1px solid var(--line); padding-top:6px; }
.filter-panel .refresh-tools .text-button { padding-inline:6px; }.board-caption { margin-bottom:12px; }
.auth-panel .auth-register { margin-top:12px; }.auth-panel .back-site { width:100%; }
.auth-panel form>.error { color:var(--danger); }.auth-art h1 { font-size:clamp(2rem,4vw,3.25rem); }
#register-form { padding-block:12px; }#register-form label { margin-bottom:12px; }
.staff-management { border-top:1px solid var(--line); margin:0 24px; padding:24px 0; }
.staff-management h3 { font-size:1.125rem; }.staff-management>p,.staff-management #invite-result>p { font-size:.8125rem; color:var(--muted); margin:10px 0 16px; }
.settings-dialog .staff-management form { padding:0; }.settings-dialog .staff-management form>label { margin-bottom:12px; }
.staff-management h4 { margin:22px 0 10px; }.staff-management #invite-result { margin-top:20px; padding:14px; background:var(--bg); border-radius:10px; }
.invitation-row { display:flex; gap:8px; align-items:center; justify-content:space-between; border-top:1px solid var(--line); padding:10px 0; }
.invitation-row>div { min-width:0; }.invitation-row strong { display:block; overflow-wrap:anywhere; font-size:.8125rem; font-weight:500; }.invitation-row small { display:block; font-size:.75rem; color:var(--muted); }
.delivery-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 22px; }.delivery-heading h1 { font-size:1.75rem; letter-spacing:-.025em; }.delivery-heading p { color:var(--muted); margin-top:6px; }
.delivery-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:20px; align-items:start; }
.delivery-sidebar { min-width:0; }.delivery-sidebar>p { padding:12px 0; color:var(--muted); font-size:.75rem; }
.zone-list { max-height:calc(100dvh - 280px); min-height:240px; overflow:auto; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.zone-item { display:flex; flex-direction:column; align-items:start; width:100%; gap:3px; text-align:left; min-height:66px; padding:12px 14px; background:transparent; border-bottom:1px solid var(--line); }
.zone-item:last-child { border:0; }.zone-item strong { font-size:.875rem; font-weight:550; }.zone-item>span { font-size:.75rem; color:var(--muted); }.zone-item[aria-pressed=true] { background:var(--accent-soft); box-shadow:inset 3px 0 var(--accent); }.zone-item[aria-pressed=true] strong { color:#91400f; }.zone-item:focus-visible { outline-offset:-4px; }.zone-empty { padding:16px; }
@media(hover:hover) { .zone-item:hover { background:var(--bg); } }
.delivery-map-panel { border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--paper); min-width:0; }
.delivery-map { height:clamp(400px,calc(100dvh - 280px),720px); background:#eeeae1; z-index:0; font-family:inherit; }
.delivery-map:focus-visible { outline-offset:-4px; }.delivery-map .leaflet-control-zoom a { width:44px; height:44px; line-height:44px; color:var(--ink); background:var(--paper); }.delivery-map .leaflet-control-attribution { font-size:11px; background:var(--paper); color:var(--muted); }.delivery-map .leaflet-control-attribution a { color:#874114; text-decoration:underline; }
.delivery-map .leaflet-popup-close-button { width:32px; height:32px; line-height:32px; color:var(--ink); }.delivery-map .leaflet-popup-content-wrapper,.delivery-map .leaflet-tooltip { background:var(--paper); color:var(--ink); }.zone-popup { font-size:.875rem; line-height:1.5; }.zone-popup p { margin:8px 0; }.map-status { padding:12px 16px 0; font-size:.75rem; color:var(--muted); }.map-legend { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; padding:12px 16px; font-size:.75rem; }.map-legend>span { display:flex; align-items:center; gap:8px; }.map-legend i { width:12px; height:12px; border:1px solid #a24612; background:#f6d9c3; border-radius:3px; }
@media(max-width:1250px) {
  .topbar { gap:10px; padding-inline:20px; }.nav-item { padding-inline:10px; gap:6px; }.topbar-right .profile { display:none; }.topbar-search { max-width:none; }
  .orders-toolbar { gap:12px; }.orders-toolbar .segmented button { padding-inline:10px; }.attention-label { display:none; }.attention-filter { min-width:60px; }.orders-toolbar h1 { font-size:1.5rem; }
}
@media(max-width:1000px) {
  .topbar { flex-wrap:wrap; }.topbar .main-nav { flex:1; order:0; width:auto; }.topbar-right { order:0; }.topbar-search { order:1; flex-basis:100%; margin:0; }
  .orders-toolbar { flex-wrap:wrap; gap:12px; }.orders-toolbar .segmented { margin-left:auto; }.orders-actions { flex:1; justify-content:flex-end; }.orders-toolbar #history-date { margin-right:auto; }
  .delivery-layout { grid-template-columns:240px minmax(0,1fr); gap:16px; }.workspace { padding:18px 20px; }.zone-list { max-height:560px; }.delivery-map { height:520px; }
}
@media(max-width:700px) {
  .topbar { padding:10px 16px; gap:8px; }.brand img { width:76px; height:42px; }.topbar .main-nav { order:1; flex-basis:100%; width:100%; display:grid; grid-template-columns:1fr .8fr 1.3fr; }.main-nav .nav-item { padding:8px 5px; white-space:normal; min-height:44px; }.topbar-right { margin-left:auto; }.topbar-search { order:2; }
  .workspace { padding:16px; }.orders-toolbar { gap:10px; margin-bottom:14px; }.orders-toolbar h1 { font-size:1.5rem; }.orders-toolbar .segmented { order:2; width:100%; margin:0; }.orders-actions { gap:6px; }.orders-actions #new-order { font-size:.75rem; padding:9px 10px; }.orders-actions #new-order>.icon { display:none; }.orders-actions .filter-menu>summary { padding:10px; }.orders-actions .filter-menu>summary>.icon { display:none; }.attention-filter { min-width:44px; padding:8px; }.orders-toolbar h1 { flex-basis:100%; }.orders-actions { width:100%; margin:0; justify-content:start; }.orders-actions #new-order { margin-left:auto; }.orders-toolbar #history-date { order:3; width:100%; }
  .filter-menu { position:static; }.orders-toolbar { position:relative; }.filter-panel { left:0; right:auto; top:102px; width:min(300px,100%); }.filter-panel input,.filter-panel select { font-size:1rem; }.filter-panel .refresh-tools { width:auto; justify-content:start; }
  .staff-management { margin:0 16px; }.auth-art h1 { margin:8px 0 0; font-size:1.75rem; }.auth-art>div { padding-top:14px; }.auth-art h1 br { display:none; }.auth-art h1 br:after { content:' '; }.auth-art h1 { max-width:100%; }.auth-art .eyebrow { display:none; }.auth-art { flex-direction:row; align-items:center; gap:24px; padding:20px 24px; }.auth-art>img { width:80px; }.auth-art>div { padding:0; }.auth-panel { padding:24px; }
  .delivery-heading { flex-wrap:wrap; gap:12px; margin-bottom:18px; }.delivery-heading h1 { font-size:1.5rem; }.delivery-heading p { font-size:.8125rem; }.delivery-layout { display:flex; flex-direction:column; gap:16px; }.delivery-sidebar,.delivery-map-panel { width:100%; }.zone-list { min-height:0; max-height:210px; }.delivery-map { height:360px; }.delivery-map-panel { overflow:hidden; }.map-legend { align-items:start; flex-direction:column; }
}
@media(min-width:1101px) { .order-workspace { height:calc(100dvh - 77px); } }
@media(max-width:400px) { .main-nav #nav-count { display:none; } }

/* Operations density for desktop and tablet. */
.search input:focus-visible { outline:none; }
.search:focus-within { outline:none; border-color:var(--focus); box-shadow:0 0 0 2px var(--focus); }
.topbar { min-height:60px; padding:6px 18px; gap:12px; }
.brand img { width:76px; height:42px; }.topbar .icon-button { width:36px; height:36px; padding:8px; border-radius:8px; }
.topbar .nav-item { min-height:36px; padding:7px 10px; font-size:.75rem; }.topbar .main-nav { padding:3px; border-radius:9px; }
.topbar-search { min-height:36px; border-radius:8px; }.topbar-search input { min-height:34px; padding-block:6px; font-size:.75rem; }
.workspace { padding:12px 18px; }.orders-toolbar { gap:12px; margin-bottom:8px; }.orders-toolbar h1 { font-size:1.375rem; }
.orders-toolbar .segmented { padding:3px; border-radius:9px; }.orders-toolbar .segmented button { min-height:34px; padding:6px 10px; font-size:.75rem; }
.orders-actions>.button,.orders-actions>.attention-filter,.filter-menu>summary { min-height:36px; padding:7px 10px; font-size:.75rem; border-radius:8px; }
.orders-actions .icon { width:16px; height:16px; }.board-caption { font-size:.6875rem; margin-bottom:8px; }.board { gap:12px; }
.board-column { padding:0 7px 7px; border-radius:11px; }.column-header { min-height:34px; padding:6px 3px; gap:7px; }.column-header h2 { font-size:.8125rem; }.column-header .column-subtitle { display:none; }.column-header>.icon { width:17px; height:17px; }.column-header .count { min-width:24px; height:24px; font-size:.75rem; border-radius:6px; }
.column-cards { gap:6px; min-height:0; }.order-card { padding:8px 10px; border-radius:8px; cursor:pointer; box-shadow:none; font-size:.75rem; }
.order-card-head { gap:8px; margin:0; }.order-number { font-size:1.125rem; min-height:26px; padding:0; line-height:1.2; }.fulfillment-badge { padding:3px 6px; font-size:.6875rem; gap:4px; border-radius:5px; }.fulfillment-badge .icon { width:13px; height:13px; }
.order-meta { font-size:.6875rem; margin:2px 0 5px; gap:5px; }.order-meta>span { gap:4px; }.order-meta .icon { width:12px; height:12px; }.source-icon { display:inline-flex; align-items:center; }.age.late { padding:1px 4px; }
.order-customer { margin:0 0 5px; line-height:1.35; }.order-customer strong { font-size:.75rem; }.order-customer p { font-size:.6875rem; line-height:1.35; margin-top:1px; }
.order-lines { display:flex; flex-wrap:wrap; gap:3px 12px; padding:5px 0; }.order-line { gap:4px; font-size:.75rem; line-height:1.4; }.order-line>b { min-width:0; }.order-line small { font-size:.6875rem; line-height:1.35; margin-top:1px; }.more-lines { flex-basis:100%; }.more-lines summary { min-height:28px; padding:4px 0; font-size:.6875rem; }.more-lines .order-line { margin:4px 0; }
.order-card .order-note { padding:5px 7px; margin-top:5px; font-size:.6875rem; line-height:1.4; }.order-card .schedule-note { padding:4px 6px; margin:4px 0; font-size:.6875rem; }
.order-card-total { gap:4px; margin-top:5px; }.order-card-total strong { font-size:.9375rem; }.order-card .item-count,.order-card .payment-label { font-size:.6875rem; }
.card-actions { gap:6px; margin-top:6px; }.card-actions>.button { min-height:34px; padding:6px 8px; font-size:.75rem; border-radius:7px; }.card-actions .icon { width:15px; height:15px; }.card-actions>.print-link { width:34px; height:34px; padding:7px; border-radius:7px; }
.column-empty { min-height:82px; padding:12px 10px; }.column-empty>.icon { display:none; }.column-empty strong { font-size:.8125rem; }.column-empty p { font-size:.75rem; max-width:none; }.column-empty .button { margin-top:8px; min-height:34px; padding:6px 10px; font-size:.75rem; }
.workspace-footer { margin-top:10px; font-size:.6875rem; }
/* The catalogue and inline pizza editor share the left workspace. */
.order-workspace { height:calc(100dvh - var(--topbar-height,61px)); min-height:560px; }
.order-layout { height:100%; align-items:stretch; grid-template-columns:minmax(0,1fr) clamp(310px,25vw,370px); }
.catalogue { display:flex; flex-direction:column; min-height:0; padding:16px 18px; }
.catalogue-browser { display:flex; flex-direction:column; min-height:0; height:100%; }
.catalogue-heading { flex:none; margin-bottom:10px; }.catalogue-heading .eyebrow,.menu-note { display:none; }.catalogue-heading h1 { font-size:1.5rem; margin:0; }
.catalogue-toolbar { flex:none; margin-bottom:12px; gap:10px; }.catalogue-toolbar .search { min-height:38px; }.catalogue-toolbar .search input { min-height:36px; padding-block:6px; font-size:.8125rem; }
.catalogue-tabs { padding:3px; border-radius:9px; }.catalogue-tabs button { min-height:34px; padding:6px 10px; font-size:.75rem; }
.catalogue-grid { grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); grid-auto-rows:max-content; gap:12px; overflow:auto; align-content:start; padding:3px; margin:-3px; scrollbar-width:thin; }
.product-tile { display:flex; flex-direction:column; gap:0; padding:0; border-radius:10px; overflow:hidden; }
.product-image { width:100%; height:140px; border-radius:0; background:#f1ede5; }.product-image:focus-visible { outline-offset:-4px; }
.product-image img { display:block; width:100%; height:100%; object-fit:contain; padding:8px; }.product-no { top:8px; left:8px; min-width:24px; background:var(--paper); }
.product-info { padding:10px 12px; width:100%; }.product-info>small { display:none; }.product-name { padding:0; min-height:32px; font-size:.9375rem; text-decoration:none; }.product-info>p { line-height:1.45; margin:4px 0 10px; font-size:.75rem; }.product-bottom>strong { font-size:.9375rem; }.product-add { width:36px; height:36px; border-radius:7px; }.product-added { margin-top:6px; font-size:.6875rem; }
.catalogue-footnote { flex:none; margin-top:10px; font-size:.6875rem; }
.pizza-editor { min-height:0; height:100%; overflow:auto; padding:3px; margin:-3px; scrollbar-width:thin; }
.pizza-editor-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }.pizza-editor-header .button { min-height:36px; padding:7px 10px; }.back-arrow { transform:rotate(180deg); }
.config-product { display:flex; align-items:center; gap:20px; margin-bottom:16px; padding-bottom:16px; border-bottom:1px solid var(--line); }.config-product>img { width:140px; height:140px; object-fit:contain; background:var(--paper); border:1px solid var(--line); border-radius:10px; }.config-product>div { min-width:0; }.config-product h1 { font-size:1.75rem; margin:3px 0 8px; }.config-product p { color:var(--muted); font-size:.8125rem; margin-bottom:8px; }.config-product strong { font-size:1rem; }.config-product small { font-size:.75rem; font-weight:400; color:var(--muted); }
.pizza-editor .config-body { padding:0; }.pizza-editor .config-body>label { max-width:450px; margin-bottom:14px; }.pizza-editor .config-scope { padding-top:16px; margin-top:16px; }.pizza-editor .config-scope>label { max-width:450px; }.pizza-editor .config-scope h3 { font-size:1rem; margin-bottom:12px; }.pizza-editor .config-scope h4 { margin:14px 0 8px; }.pizza-editor .ingredient-tags { gap:6px; }.pizza-editor .ingredient-tags span { min-height:36px; padding:7px 10px; font-size:.75rem; background:var(--paper); }.pizza-editor .ingredient-tags input:checked+span { background:var(--accent-soft); }.pizza-editor .ingredient-tags.removals input:checked+span { background:var(--danger-soft); }
.pizza-editor .config-footer { position:sticky; bottom:0; z-index:2; padding:12px 0; margin-top:16px; background:var(--bg); }.pizza-editor .config-footer>.button { min-width:220px; }.pizza-editor .config-note { max-width:none!important; }
/* A compact customer and checkout panel remains visible next to the editor. */
.order-form { position:static; display:flex; flex-direction:column; min-height:0; }.checkout-heading { flex:none; padding:12px 14px 10px; gap:8px; }.checkout-heading .eyebrow { font-size:.625rem; }.checkout-heading h2 { font-size:1rem; margin-top:2px; }.checkout-heading .text-button { min-height:32px; padding:5px; }
.order-form-scroll { overflow:auto; flex:1; min-height:0; padding:0 14px 12px; scrollbar-width:thin; }
.order-form label,.order-form legend { font-size:.6875rem; font-weight:400; }.order-form input,.order-form select { min-height:34px; padding:6px 9px; border-radius:7px; font-size:.8125rem; }.order-form textarea { min-height:48px; padding:7px 9px; font-size:.8125rem; }.order-form label>input,.order-form label>select,.order-form label>.address-wrap { margin-top:3px; }.order-form label small { margin-top:3px; font-size:.625rem; }
.order-form .choice { gap:6px; margin-bottom:10px; }.order-form .choice label { margin:0; }.order-form .choice span { min-height:36px; padding:7px; border-radius:7px; font-size:.75rem; }.order-form .choice .icon { width:16px; height:16px; }.order-form .choice input { min-height:1px; padding:0; }
.customer-fields label { margin-bottom:8px; }.customer-identity { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; }.customer-identity>label { min-width:0; }.required-mark { color:var(--danger); font-weight:650; }.order-form input:user-invalid { border-color:var(--danger); }
.customer-results { position:absolute; top:100%; left:0; right:0; max-height:230px; overflow:auto; background:var(--paper); border:1px solid #948574; border-radius:8px; z-index:7; box-shadow:0 8px 22px #49321520; }
.customer-results button { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 8px; width:100%; min-height:56px; text-align:left; padding:9px 10px; background:var(--paper); border-bottom:1px solid var(--line); font-size:.75rem; }.customer-results button strong { font-weight:600; }.customer-results button small { grid-column:1/-1; color:var(--muted); font-size:.6875rem; }.customer-results button[aria-selected=true] { background:var(--accent-soft); }.customer-results button:hover { background:var(--accent-soft); }
.customer-search-status,.customer-save-status { color:var(--muted); font-size:.6875rem; margin:3px 0 8px; overflow-wrap:anywhere; }.remember-customer { display:flex; align-items:center; gap:4px; margin:2px 0 8px; }.remember-customer .button { min-height:32px; padding:6px 8px; font-size:.6875rem; border-color:#b9aa96; }.remember-customer .text-button { min-height:32px; padding:5px; font-size:.6875rem; }
.order-form .cart-heading { margin:12px 0 7px; }.cart-heading h3 { font-size:.8125rem; }.cart-lines { gap:6px; }.cart-line { padding:7px 9px; border-radius:8px; }.cart-line-name { min-height:28px; font-size:.8125rem; padding-right:30px; }.cart-line small { font-size:.6875rem; margin:2px 0; }.cart-line>.icon-button { width:30px; height:30px; padding:6px; top:6px; right:4px; }.cart-line-controls { margin-top:5px; gap:6px; }.cart-line-controls>strong { font-size:.8125rem; }.cart-line .quantity { gap:3px; }.cart-line .quantity button { width:30px; height:30px; font-size:1rem; border-radius:6px; }.cart-line .quantity output { font-size:.75rem; min-width:20px; }.empty-cart { padding:12px 10px; font-size:.75rem; }.empty-cart>.icon { display:none; }
.order-options { margin-top:12px; padding-top:10px; border-top:1px solid var(--line); }.order-options fieldset { border:0; padding:0; margin:0 0 8px; min-width:0; }.order-options legend { padding:0; margin:0 0 5px; }.order-options label { margin-bottom:8px; }.order-options .choice { margin:0; }.order-options .choice span { min-height:34px; font-size:.6875rem; }.order-form-footer { flex:none; padding:10px 14px 12px; border-top:1px solid var(--line); }.order-form-footer .total strong { font-size:1.125rem; }.order-form-footer .total small { font-size:.625rem; }.order-form-footer .button { min-height:36px; padding:8px 10px; margin-top:7px; font-size:.75rem; }.order-form .error { font-size:.75rem; padding:8px 10px; margin-bottom:8px; }
@media(min-width:701px) and (max-width:1100px) {
  .order-layout { grid-template-columns:minmax(0,1fr) 310px; }.catalogue { padding:12px; }.catalogue-grid { grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:8px; }.product-image { height:120px; }.product-info { padding:8px; }.product-name { font-size:.875rem; }.config-product { gap:12px; }.config-product>img { width:100px; height:100px; }.config-product h1 { font-size:1.375rem; }.pizza-editor .config-footer>.button { min-width:0; flex:1; }
  .order-form input,.order-form select { min-height:38px; }.order-form .choice span,.order-options .choice span { min-height:38px; }.card-actions>.button,.card-actions>.print-link { min-height:38px; }.card-actions>.print-link { width:38px; height:38px; }.remember-customer .button { min-height:36px; }
}
