.fulfilment-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(200px,1.2fr) auto;align-items:end;gap:18px}.fulfilment-toolbar [data-fulfil-status]{grid-column:1/-1;margin:0;font-size:12px}.fulfilment-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.fulfilment-tabs button{min-height:44px}.fulfilment-tabs button.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.fulfilment-tabs span{border-radius:12px;padding:2px 7px;background:#80808018;font-size:12px}.fulfilment-queue{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}.fulfilment-card{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:22px;min-width:0;display:flex;flex-direction:column}.fulfilment-card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.fulfilment-card-heading small{color:var(--muted);font-size:11px}.fulfilment-card h2{font-size:21px;margin:20px 0 8px;overflow-wrap:anywhere}.fulfilment-card p{margin:8px 0;overflow-wrap:anywhere}.fulfilment-reference{font-size:12px;overflow-wrap:anywhere;color:var(--muted)}.fulfilment-card footer{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:20px}.fulfilment-card button{min-height:46px;white-space:normal}.fulfilment-state{display:inline-flex;padding:7px 11px;background:var(--surface-soft);color:var(--text);border:1px solid var(--border);border-radius:30px;font-size:12px;font-weight:600}.state-preparing,.state-out_for_delivery{background:var(--notice-bg);color:var(--notice-text);border-color:var(--notice-border)}.state-ready{background:#e3f3e8;color:#215d3e;border-color:#adc9b6}.fulfilment-warning{padding:12px;background:var(--notice-bg);color:var(--notice-text);font-size:12px;border-radius:8px}.fulfilment-alert:empty{display:none}.fulfilment-alert{padding:16px 0;color:var(--text);line-height:1.6}.fulfilment-pages{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:16px;padding:24px 0;font-size:12px}.fulfilment-pages:empty{display:none}[data-fulfil-pending]{padding:16px;margin:16px 0;border:1px solid var(--notice-border);background:var(--notice-bg);border-radius:10px}[data-fulfil-pending][hidden]{display:none}.fulfilment-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(650px,100%);max-width:100%;height:100dvh;max-height:100%;border:0;border-left:1px solid var(--border);padding:26px;background:var(--surface,#fff);color:var(--text);overflow-y:auto;box-shadow:-8px 0 40px #0003}.fulfilment-drawer::backdrop{background:#0008}.fulfilment-drawer>header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.fulfilment-drawer header h2{font-size:24px;margin:0}.fulfilment-drawer button{min-height:44px}.fulfilment-person{font-size:25px;margin:24px 0 8px;overflow-wrap:anywhere}.fulfilment-order-items,.fulfilment-attendee{border:1px solid var(--border);padding:20px;margin:20px 0;border-radius:12px}.fulfilment-order-items>div{display:flex;gap:14px;align-items:baseline;padding:10px 0}.fulfilment-order-items h3,.fulfilment-attendee h3{margin:0 0 14px}.fulfilment-attendee>div{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid var(--border)}.fulfilment-attendee>div:last-child{border:0}.fulfilment-attendee span{font-size:12px;color:var(--muted)}.fulfilment-attendee strong{font-size:16px;font-weight:550;line-height:1.6;overflow-wrap:anywhere}.fulfilment-actions{display:grid;gap:12px;margin:26px 0}.fulfilment-drawer [data-action-confirm]{border:1px solid var(--notice-border);border-radius:10px;padding:18px;background:var(--notice-bg)}.fulfilment-drawer [data-action-confirm] button{width:100%;margin:6px 0}.fulfilment-drawer [hidden]{display:none!important}:root[data-theme=dark] .fulfilment-drawer{background:#19242c;color:#e8eff3}@media(max-width:700px){.fulfilment-toolbar{grid-template-columns:1fr}.fulfilment-toolbar>button{width:100%}.fulfilment-drawer{padding:20px}.fulfilment-queue{grid-template-columns:1fr}.fulfilment-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.fulfilment-tabs button{font-size:12px;padding:10px}.fulfilment-order-items,.fulfilment-attendee{padding:16px}}
.fulfilment-card{padding:0;overflow:hidden;border-top:5px solid var(--stage-border);background:var(--stage-bg)}
.card-queued{--stage-border:#8c969e;--stage-bg:#f1f3f5;--stage-text:#35414a}
.card-preparing{--stage-border:#e2b728;--stage-bg:#fff7d6;--stage-text:#6c5100}
.card-ready{--stage-border:#4eaa6d;--stage-bg:#e9f6ed;--stage-text:#225e37}
.card-out_for_delivery{--stage-border:#4e91ce;--stage-bg:#edf5ff;--stage-text:#244f7a}
.card-delivered{--stage-border:#247451;--stage-bg:#dcefe6;--stage-text:#174c35}
.fulfilment-card-header{padding:16px 18px;background:#0e3f30;color:#fff}
.fulfilment-card-header h2{margin:14px 0 6px;color:#ffe479;font-size:19px}
.fulfilment-card-header .fulfilment-reference,.fulfilment-card-heading small{color:#fff}
.fulfilment-card-body{padding:12px 18px 18px;color:var(--stage-text);display:flex;flex:1;flex-direction:column}
.fulfilment-card-body>p{font-size:13px;margin:4px 0 10px}
.fulfilment-card footer{flex-direction:row;flex-wrap:wrap;gap:8px;padding-top:12px}
.fulfilment-card footer button{flex:1;min-width:110px;min-height:42px;font-size:13px;background:#fff;color:#174c35;border-color:#b5c9bd}
.fulfilment-card footer button.primary{background:#0e3f30;color:#fff;border-color:#0e3f30}
.fulfilment-state.state-queued{background:#edf0f3;color:#35414a;border-color:#c6cdd2}
.fulfilment-state.state-preparing{background:#fff0ac;color:#644b00;border-color:#dabb49}
.fulfilment-state.state-ready{background:#ddf3e4;color:#225e37;border-color:#8cc29d}
.fulfilment-state.state-out_for_delivery{background:#e1efff;color:#244f7a;border-color:#94b9df}
.fulfilment-state.state-delivered{background:#216547;color:#fff;border-color:#216547}
.fulfilment-tabs button[data-state=queued]{border-bottom:4px solid #8c969e}
.fulfilment-tabs button[data-state=preparing]{border-bottom:4px solid #e2b728}
.fulfilment-tabs button[data-state=ready]{border-bottom:4px solid #4eaa6d}
.fulfilment-tabs button[data-state=out_for_delivery]{border-bottom:4px solid #4e91ce}
.fulfilment-tabs button[data-state=delivered]{border-bottom:4px solid #247451}
.fulfilment-status-editor{padding:16px;border:1px solid var(--border);background:var(--surface-soft);border-radius:12px}
.fulfilment-status-editor>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.fulfilment-status-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:16px}
.fulfilment-status-controls label{display:grid;gap:8px;font-size:13px}
.fulfilment-status-controls select{width:100%;min-height:44px}
.fulfilment-status-editor p{font-size:13px;line-height:1.6;margin-bottom:0}
.fulfilment-status-editor [data-status-confirm]{margin-top:14px;border-top:1px solid var(--border);padding-top:4px}
.fulfilment-status-editor [data-status-confirm] button{margin-top:12px;width:100%}
@media(max-width:700px){.fulfilment-card-header{padding:14px 16px}.fulfilment-card-body{padding:10px 16px 16px}.fulfilment-status-controls{grid-template-columns:1fr}.fulfilment-status-controls button{width:100%}}
/* Compact preparation workspace. */
.fulfilment-toolbar{grid-template-columns:minmax(0,1fr) auto;padding:16px 18px;gap:12px}.fulfilment-toolbar label{display:grid;gap:5px;font-size:12px}.fulfilment-toolbar select{width:100%}.fulfilment-tabs{margin:16px 0;gap:8px}.fulfilment-tabs [data-search-toggle]{margin-left:auto}.fulfilment-search{display:flex;gap:12px;align-items:end;padding:16px;border:1px solid var(--border);border-radius:12px;margin-bottom:18px;background:var(--surface)}.fulfilment-search[hidden]{display:none}.fulfilment-search label{display:grid;gap:6px;flex:1}.fulfilment-search input{width:100%}
.fulfilment-drawer>header{position:sticky;top:-26px;z-index:3;background:var(--surface);padding:16px 0;border-bottom:1px solid var(--border);gap:10px;margin-bottom:14px}.fulfilment-drawer>header h2{margin-right:auto;font-size:21px}.fulfilment-drawer [data-close]{font-size:25px;width:44px;padding:0;flex-shrink:0}.fulfilment-drawer [data-status-toggle]{font-size:12px;padding:8px 12px;white-space:nowrap}.fulfilment-status-editor{margin:0 0 14px}.fulfilment-person{margin:16px 0 6px;font-size:22px}.fulfilment-group{border:1px solid var(--border);border-left:4px solid #e1b931;border-radius:10px;padding:12px 15px;margin:16px 0}.fulfilment-group h4{margin:0 0 8px;font-size:15px}.fulfilment-group p{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:12px;margin:6px 0}.fulfilment-group strong{font-size:18px}
.fulfilment-attendee.prep-card{padding:0;overflow:hidden;border:1px solid #34423e;border-left:4px solid #e1b931;background:#101b17;color:#f4f7f5;margin:14px 0;border-radius:12px}.prep-card>header{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:14px 16px;background:#07110d;border-bottom:1px solid #304239}.prep-card>header span{color:#b7c8bf;font-size:11px}.prep-card>header h3{color:#ffe479;font-size:19px;margin:4px 0 0;line-height:1.3;overflow-wrap:anywhere}.prep-card>header .attendee-progress{font-size:11px;color:#ffe479;border:1px solid #6c5c24;background:#2d2814;border-radius:20px;padding:6px 9px;white-space:nowrap}.prep-card>header .attendee-progress.is-ready{color:#bdf1cd;border-color:#356c48;background:#123521}.prep-card>.preparation-rows{display:block;padding:0;border:0}.preparation-row{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;padding:11px 16px;margin:0;border-bottom:1px solid #ffffff16;cursor:pointer;align-items:center;min-height:61px;border-left:3px solid var(--course-color,#e2c465)}.preparation-row input{width:20px;height:20px;min-height:20px;margin:0;accent-color:#e2b728;cursor:pointer}.preparation-row>span{display:grid;gap:4px}.prep-card .preparation-row .course-label{color:var(--course-color);font-size:10px;letter-spacing:.7px;text-transform:uppercase;font-weight:700}.prep-card .preparation-row strong{font-size:14px;line-height:1.45;font-weight:550;color:#f4f7f5}.course-meal{--course-color:#ffe479}.course-starch{--course-color:#cbbaff}.course-sides{--course-color:#98e1b8}.course-dessert{--course-color:#f2b6d3}.course-dietary{--course-color:#ffb2a0;background:#40241b55}.preparation-row.is-checked{background:#153a2866}.preparation-row.is-checked strong{color:#b9dac6}.prep-card>footer{padding:9px 16px;font-size:11px;color:#b7c8bf;text-align:right;background:#07110d}.preparation-note{display:grid;gap:4px;padding:10px 16px;font-size:12px}.preparation-note strong{font-size:14px}.fulfilment-drawer [data-detail]>p{font-size:12px;line-height:1.5}:root[data-theme=dark] .fulfilment-drawer>header{background:#19242c}
@media(max-width:700px){.fulfilment-toolbar{grid-template-columns:minmax(0,1fr) auto}.fulfilment-tabs{display:flex}.fulfilment-tabs button{flex:1 0 auto}.fulfilment-tabs [data-search-toggle]{margin-left:0}.fulfilment-drawer>header{top:-20px}.fulfilment-drawer>header h2{font-size:18px}.fulfilment-drawer [data-status-toggle]{font-size:11px;padding:8px}.prep-card>header{padding:12px}.prep-card>header h3{font-size:18px}.prep-card>header .attendee-progress{white-space:normal;max-width:110px}.preparation-row{padding:10px 12px}.fulfilment-search{flex-wrap:wrap}.fulfilment-search label{min-width:160px}}

.fulfilment-status-editor{scroll-margin-top:90px}
body:has(dialog.fulfilment-drawer[open]){overflow:hidden}

/* Order details follow the active theme; the group count shares the booking header. */
.fulfilment-booking-overview{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:14px 0 16px}.fulfilment-booking-person{flex:1;min-width:0}.fulfilment-booking-person .fulfilment-person{margin:0 0 7px}.fulfilment-booking-person p{font-size:12px;line-height:1.5;margin:6px 0;color:var(--muted)}.fulfilment-group-count{position:static;display:grid;gap:3px;place-items:center;flex:0 0 108px;width:108px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);color:var(--text);text-align:center}.fulfilment-group-count span{font-size:11px;font-weight:600}.fulfilment-group-count strong{font-size:28px;line-height:1.1;overflow-wrap:anywhere;max-width:100%}.fulfilment-group-count small{font-size:10px;color:var(--muted)}
:root:not([data-theme=dark]) .fulfilment-attendee.prep-card{background:var(--surface,#fff);color:var(--text,#20352b);border-color:#d6ded8;border-left-color:#b68a18}
:root:not([data-theme=dark]) .prep-card>header,:root:not([data-theme=dark]) .prep-card>footer{background:#f5f4eb;border-color:#dce1d9;color:#52645a}
:root:not([data-theme=dark]) .prep-card>header span{color:#63746a}
:root:not([data-theme=dark]) .prep-card>header h3{color:#765700}
:root:not([data-theme=dark]) .prep-card>header .attendee-progress{color:#735500;border-color:#dfca82;background:#fff5d3}
:root:not([data-theme=dark]) .prep-card>header .attendee-progress.is-ready{color:#205c38;border-color:#a8d0b5;background:#e4f4e9}
:root:not([data-theme=dark]) .preparation-row{border-bottom-color:#e3e9e4}
:root:not([data-theme=dark]) .prep-card .preparation-row strong{color:var(--text,#20352b)}
:root:not([data-theme=dark]) .course-meal{--course-color:#805e00}
:root:not([data-theme=dark]) .course-starch{--course-color:#694a9c}
:root:not([data-theme=dark]) .course-sides{--course-color:#286b45}
:root:not([data-theme=dark]) .course-dessert{--course-color:#8d3e69}
:root:not([data-theme=dark]) .course-dietary{--course-color:#99412b;background:#fff1e9}
:root:not([data-theme=dark]) .preparation-row.is-checked{background:#eaf5ee}
:root:not([data-theme=dark]) .preparation-row.is-checked strong{color:#28593b}
@media(max-width:480px){.fulfilment-booking-overview{gap:12px}.fulfilment-group-count{flex-basis:88px;width:88px;padding:9px 8px}.fulfilment-group-count strong{font-size:26px}.fulfilment-booking-person .fulfilment-person{font-size:20px}}

.preparation-step{display:flex;align-items:center;gap:10px;min-width:0}.preparation-step>.preparation-row{flex:1;min-width:0}.fulfilment-menu-toggle{flex:none;align-self:center;min-height:40px;padding:7px 10px;font-size:12px;border-radius:8px;background:var(--surface-soft);white-space:nowrap}.fulfilment-menu-slot{padding:4px 0 12px}.fulfilment-menu-form{padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);color:var(--text)}.fulfilment-menu-form>strong{font-size:15px}.fulfilment-menu-form p{font-size:12px;line-height:1.5}.fulfilment-menu-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fulfilment-menu-inputs label{min-width:0;font-size:12px}.fulfilment-menu-inputs select{width:100%;min-width:0;min-height:44px;margin-top:7px;font-size:13px}.fulfilment-menu-form>div:last-child{display:flex;gap:10px;flex-wrap:wrap}.fulfilment-menu-form button{min-height:44px}.menu-choice-check{display:flex;align-items:center;gap:8px;min-height:40px}.menu-choice-check input{width:18px}.fulfilment-menu-inputs:has(>label:only-child){grid-template-columns:1fr}
@media(max-width:420px){.preparation-step{gap:6px}.fulfilment-menu-toggle{font-size:11px;padding:7px;min-width:70px}.fulfilment-menu-inputs{grid-template-columns:1fr}.fulfilment-menu-form{padding:12px}}
.fulfilment-menu-form>div:last-child{margin-top:14px}.fulfilment-menu-form [data-menu-error]:empty{display:none}
