@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=DM+Serif+Display&display=swap');
:root{--ink:#142b25;--cream:#f4f0e8;--paper:#fffdf8;--coral:#ef5b3f;--gold:#d7a94f;--sage:#dce5dc;--muted:#6f7772;--line:#dedbd2;--shadow:0 18px 50px rgba(20,43,37,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}.hidden{display:none!important}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600;margin:0 0 10px}.green{color:#537268}.brand-mark{width:38px;height:38px;border-radius:11px;background:var(--coral);color:white;display:grid;place-items:center;font-family:'DM Serif Display';font-size:25px}.brand-mark.large{width:58px;height:58px;border-radius:17px;font-size:38px;margin-bottom:48px}
.login-view{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.login-brand{background:var(--ink);color:#fff;padding:7vw;position:relative;overflow:hidden}.login-brand:after{content:'';position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-110px;bottom:-180px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.02)}.login-brand h1{font-family:'DM Serif Display';font-size:clamp(52px,6vw,92px);font-weight:400;line-height:.98;margin:14px 0 28px;letter-spacing:-.03em}.login-intro{font-size:17px;line-height:1.7;max-width:580px;color:#c8d3cd}.venue-wordmarks{position:absolute;left:7vw;bottom:7vh;display:flex;gap:28px;flex-wrap:wrap;color:#91a49a;font-size:11px;letter-spacing:.14em}.login-panel{display:grid;place-items:center;padding:50px}.login-card{width:min(440px,100%);background:var(--paper);padding:48px;border-radius:24px;box-shadow:var(--shadow)}.login-card h2,.modal-card h2{font-family:'DM Serif Display';font-size:38px;font-weight:400;margin:0 0 10px}.login-card>p:not(.eyebrow){color:var(--muted);line-height:1.6;margin:0 0 28px}.login-card label,.modal-card label{font-weight:600;font-size:12px;display:grid;gap:8px}.login-card input,.modal-card input,.modal-card select,.modal-card textarea{width:100%;border:1px solid var(--line);background:white;border-radius:10px;padding:13px;color:var(--ink);outline:none}.login-card input:focus,.modal-card input:focus,.modal-card select:focus,.modal-card textarea:focus{border-color:#78968b;box-shadow:0 0 0 3px rgba(83,114,104,.12)}.login-card .primary-btn{margin-top:14px;width:100%}.login-card small{display:block;color:#8a8f8b;line-height:1.5;margin-top:24px}.form-message{margin-top:15px;color:#537268;font-size:13px;line-height:1.5}
.login-card{width:min(480px,100%);padding:44px}.login-card h2{margin-bottom:18px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:6px;padding:5px;background:#eeebe3;border-radius:12px;margin-bottom:24px}.auth-tab{border:0;background:transparent;color:var(--muted);border-radius:8px;padding:9px 6px;font-size:11px;font-weight:600;cursor:pointer}.auth-tab.active{background:var(--paper);color:var(--ink);box-shadow:0 2px 7px rgba(20,43,37,.08)}.auth-panel{display:grid;gap:11px}.auth-panel>p{color:var(--muted);line-height:1.55;margin:0 0 7px}.login-card input[readonly]{background:#f4f2ec;color:#6f7772}.login-card .auth-panel .primary-btn{margin-top:5px}.login-card small.access-note{display:block;color:#8a8f8b;line-height:1.5;margin-top:22px}.login-card small.password-rule{color:#8a8f8b;line-height:1.45;margin-top:-3px}.auth-panel .form-message{min-height:20px;margin-top:4px}.form-message.error{color:#b04430}
.primary-btn{border:0;border-radius:10px;background:var(--coral);color:white;font-weight:600;padding:14px 17px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;box-shadow:0 8px 20px rgba(239,91,63,.2)}.primary-btn:hover{background:#d94d34}.primary-btn.compact{padding:11px 16px;display:inline-block}.secondary-btn{border:1px solid var(--line);background:white;color:var(--ink);border-radius:10px;padding:10px 16px;cursor:pointer}.app-view{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{height:100vh;position:sticky;top:0;background:var(--ink);color:#fff;padding:25px 18px;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px}.sidebar-brand strong{font-size:18px;letter-spacing:.18em}.sidebar-brand small{display:block;color:#8da097;font-size:10px;margin-top:2px}.venue-picker-wrap{border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:18px 8px;margin-bottom:15px}.venue-picker-wrap label{display:block;color:#879b91;text-transform:uppercase;font-size:9px;letter-spacing:.15em;margin-bottom:8px}.venue-picker-wrap select{width:100%;background:#213b34;color:#fff;border:1px solid #3a514b;border-radius:8px;padding:10px}nav{display:grid;gap:3px}nav button{background:transparent;color:#aebdb6;border:0;border-radius:9px;padding:11px 12px;text-align:left;cursor:pointer;display:flex;gap:12px;align-items:center}nav button span{width:18px;text-align:center;color:#7f958b}nav button:hover,nav button.active{background:#254138;color:#fff}nav button.active span{color:#f1846e}.nav-rule{height:1px;background:rgba(255,255,255,.08);margin:10px 8px}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:18px 7px 0;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.user-avatar{width:35px;height:35px;background:#e6d6b7;color:var(--ink);border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600}.sidebar-bottom strong{font-size:10px;display:block;max-width:125px;overflow:hidden;text-overflow:ellipsis}.sidebar-bottom small{color:#8da097}.sidebar-bottom button{background:none;border:0;color:#9aaba3;cursor:pointer;font-size:18px}.main-shell{min-width:0;height:100vh;overflow:auto}.topbar{padding:26px 34px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:rgba(244,240,232,.9);backdrop-filter:blur(10px);position:sticky;top:0;z-index:5}.topbar h1{font-family:'DM Serif Display';font-weight:400;font-size:34px;margin:0}.topbar-actions{display:flex;gap:12px;align-items:center}.live-status{background:var(--sage);border-radius:20px;padding:8px 12px;color:#49675c;font-size:11px}.live-status i{width:7px;height:7px;background:#41a175;border-radius:50%;display:inline-block;margin-right:7px}.date-chip{border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:10px 14px;color:var(--ink)}.content{padding:30px 34px 50px;max-width:1600px;margin:auto}.loading{display:grid;place-items:center;min-height:380px;color:var(--muted)}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px}.stat-card .label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.stat-card strong{font-family:'DM Serif Display';font-size:36px;font-weight:400;display:block;margin:8px 0 2px}.stat-card small{color:#7b847f}.section-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-top:18px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 5px 18px rgba(20,43,37,.035)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel h2{font-family:'DM Serif Display';font-weight:400;font-size:23px;margin:0}.panel-head span{color:var(--muted);font-size:12px}.venue-bars{display:grid;gap:14px}.venue-bar-row{display:grid;grid-template-columns:135px 1fr 54px;align-items:center;gap:12px;font-size:12px}.bar-track{height:8px;border-radius:5px;background:#eeeae1;overflow:hidden}.bar-track i{display:block;height:100%;background:var(--coral);border-radius:5px}.empty-state{text-align:center;padding:55px 20px;color:var(--muted)}.empty-icon{width:50px;height:50px;border-radius:15px;background:var(--sage);display:grid;place-items:center;margin:0 auto 15px;color:#537268;font-size:21px}.service-list{display:grid;gap:10px}.service-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #ece8df}.service-item:last-child{border:0}.service-item strong{font-size:13px}.service-item span{color:var(--muted);font-size:12px}.status-pill{display:inline-block;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:600;text-transform:capitalize;background:#e9ede9;color:#4e665d}.status-pill.cancelled,.status-pill.no_show{background:#f7dfda;color:#a3402d}.status-pill.seated,.status-pill.completed{background:#dcebdd;color:#356443}
.data-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.data-toolbar input,.data-toolbar select{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:10px 12px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px;background:var(--paper)}table{width:100%;border-collapse:collapse;min-width:760px}th{text-align:left;padding:13px 15px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid var(--line);background:#faf8f2}td{padding:14px 15px;border-bottom:1px solid #eeeae2;font-size:12px}tr:last-child td{border-bottom:0}.ref{font-weight:600;color:#49675c}.planner{overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.planner-row{display:grid;grid-template-columns:115px repeat(10,minmax(70px,1fr));min-width:850px;border-bottom:1px solid #eeeae2}.planner-row>div{padding:11px 8px;border-right:1px solid #f0ede6;min-height:42px;font-size:10px}.planner-row.header>div{min-height:auto;background:#faf8f2;color:var(--muted);font-weight:600}.planner-row .table-name{font-weight:600;position:sticky;left:0;background:var(--paper);z-index:1}.booking-block{background:#f6d5ce!important;border-left:3px solid var(--coral)!important;border-radius:5px;color:#6c2f24}.area-title{padding:13px;background:#e8eee9;font-weight:600;color:#49675c}.floor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.table-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;justify-content:space-between}.table-card strong{font-family:'DM Serif Display';font-size:22px;font-weight:400}.table-card span{color:var(--muted);font-size:11px}.venue-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:15px}.venue-card{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:20px}.venue-card h3{font-family:'DM Serif Display';font-size:24px;font-weight:400;margin:5px 0 12px}.settings-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;color:var(--muted);font-size:12px}.settings-list b{display:block;color:var(--ink);font-size:14px;margin-top:3px}.offline-badge{background:#f2dfb8;color:#75591d;border-radius:15px;padding:5px 9px;font-size:10px}.notice{background:#fff4d9;border:1px solid #e7cf94;border-radius:13px;padding:14px 16px;color:#6c551f;margin-bottom:18px;font-size:12px}.chart-placeholder{height:180px;display:flex;align-items:flex-end;gap:8px;padding-top:20px}.chart-placeholder i{flex:1;background:linear-gradient(#ef5b3f,#f3a08f);border-radius:5px 5px 0 0;min-height:8px}.toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:#fff;padding:13px 18px;border-radius:10px;z-index:20;opacity:0;transform:translateY(12px);transition:.25s;pointer-events:none;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:none}dialog{border:0;border-radius:20px;padding:0;background:transparent;width:min(680px,calc(100% - 30px))}dialog::backdrop{background:rgba(10,30,24,.62);backdrop-filter:blur(3px)}.modal-card{background:var(--paper);padding:32px;position:relative}.modal-close{position:absolute;right:20px;top:17px;border:0;background:none;font-size:27px;color:var(--muted);cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.modal-card>label{margin-top:14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,1fr)}.section-grid{grid-template-columns:1fr}.app-view{grid-template-columns:76px 1fr}.sidebar{padding:20px 10px}.sidebar-brand>div:last-child,.venue-picker-wrap label,.venue-picker-wrap select,.sidebar nav button:not(.active){font-size:0}.sidebar nav button{justify-content:center}.sidebar nav button span{font-size:17px}.sidebar-bottom>div:not(.user-avatar),.sidebar-bottom button{display:none}.sidebar-bottom{display:flex;justify-content:center}.topbar{padding:20px}.content{padding:20px}.live-status,.date-chip{display:none}}
@media(max-width:700px){.login-view{grid-template-columns:1fr}.login-brand{display:none}.login-panel{padding:20px;min-height:100vh}.app-view{display:block}.sidebar{height:auto;position:fixed;left:0;right:0;bottom:0;top:auto;z-index:10;flex-direction:row;padding:8px;overflow:auto}.sidebar-brand,.venue-picker-wrap,.sidebar-bottom,.nav-rule{display:none}.sidebar nav{display:flex;width:100%}.sidebar nav button{min-width:64px;display:grid;gap:2px;font-size:8px!important;padding:8px 4px}.sidebar nav button span{font-size:16px}.main-shell{height:auto;padding-bottom:74px}.topbar{position:static}.topbar h1{font-size:28px}.topbar-actions .primary-btn{font-size:0}.topbar-actions .primary-btn:after{content:'+';font-size:18px}.stats-grid{grid-template-columns:1fr 1fr}.stat-card strong{font-size:28px}.form-grid{grid-template-columns:1fr}.venue-bar-row{grid-template-columns:100px 1fr 40px}}

/* Waggon Way operational controls */
.panel-copy,.modal-intro,.section-help{color:var(--muted);line-height:1.6;margin:5px 0 0}.site-dialog{width:min(720px,calc(100% - 28px))}.wide-dialog{width:min(1180px,calc(100% - 28px))}.venue-config-modal{max-height:92vh;overflow:auto}.venue-config-modal>h2{margin-bottom:2px}.field-suffix{font-size:10px;color:var(--muted);font-weight:500;margin-top:-5px}.config-tabs{display:flex;gap:7px;margin:22px 0 18px;border-bottom:1px solid var(--line);padding-bottom:12px}.config-tabs button{border:1px solid var(--line);background:#f6f4ee;color:var(--ink);border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer}.config-tabs button.active{background:var(--ink);border-color:var(--ink);color:white}.config-panel{display:none}.config-panel.active{display:block}.switch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.switch-setting{display:flex!important;align-items:flex-start;gap:11px;border:1px solid var(--line);border-radius:13px;padding:14px;background:#faf8f3}.switch-setting input,.inline-check input{width:auto!important;margin-top:3px}.switch-setting span{display:grid;gap:3px}.switch-setting small{color:var(--muted);font-weight:400;line-height:1.4}.rules-editor{display:grid;gap:9px}.rule-row{border:1px solid var(--line);border-radius:13px;padding:12px;display:grid;align-items:end;gap:10px}.opening-rule{grid-template-columns:130px 80px 1fr 1fr}.rule-row>strong{align-self:center}.inline-check{display:flex!important;align-items:center;gap:8px;padding-bottom:12px}.service-rule-list{display:grid;gap:10px;margin-top:16px}.service-day{border:1px solid var(--line);border-radius:14px;background:#fff}.service-day summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:14px 16px;font-weight:700;background:#faf8f3;border-radius:14px}.service-day summary small{color:var(--muted);font-weight:500}.service-day[open] summary{border-bottom:1px solid var(--line);border-radius:14px 14px 0 0}.service-day-rows{padding:12px;display:grid;gap:10px}.service-edit-row{display:grid;grid-template-columns:1.1fr repeat(2,.75fr) repeat(4,.7fr) 70px;gap:8px;align-items:end;padding:11px;border:1px solid #ebe7de;border-radius:12px}.service-edit-row label{font-size:10px}.service-edit-row input{padding:10px}.service-active-label{padding-bottom:11px}.empty-compact{padding:18px;color:var(--muted);text-align:center}.sticky-actions{position:sticky;bottom:-32px;background:linear-gradient(transparent,var(--paper) 20%);padding-top:26px;padding-bottom:4px}.form-message.error{color:#b04430}.consent-list{display:grid;gap:0}.consent-list>div{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #ece8df}.consent-list>div:last-child{border-bottom:0}.consent-list span{color:var(--muted)}.consent-list strong{font-family:'DM Serif Display';font-size:24px;font-weight:400}.venue-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.venue-choice{border:1px solid var(--line);border-radius:14px;background:#faf8f3;color:var(--ink);padding:18px;text-align:left;cursor:pointer;display:grid;gap:7px}.venue-choice:hover{border-color:#8da297;box-shadow:0 8px 24px rgba(20,43,37,.08)}.venue-choice strong{font-family:'DM Serif Display';font-size:21px;font-weight:400}.venue-choice span{color:var(--muted);font-size:12px}
.floor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:13px}.floor-toolbar>div:first-child{display:grid;gap:4px}.floor-toolbar>div:first-child strong{font-family:'DM Serif Display';font-size:24px;font-weight:400}.floor-toolbar>div:first-child span{color:var(--muted);font-size:12px}.floor-toolbar>div:last-child{display:flex;gap:8px}.floor-area-tabs{display:flex;gap:7px;margin-bottom:12px;overflow:auto}.floor-area-tabs button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:10px;padding:10px 14px;white-space:nowrap;cursor:pointer}.floor-area-tabs button.active{background:var(--ink);color:white;border-color:var(--ink)}.floor-designer{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px}.floor-inspector,.floor-canvas-wrap{background:var(--paper);border:1px solid var(--line);border-radius:17px}.floor-inspector{padding:19px;display:grid;align-content:start;gap:15px}.floor-inspector h3{font-family:'DM Serif Display';font-size:29px;font-weight:400;margin:0}.floor-inspector label{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:11px;font-weight:600;align-items:center}.floor-inspector label select,.floor-inspector label input{grid-column:1/-1;width:100%}.floor-inspector select{border:1px solid var(--line);background:white;border-radius:10px;padding:11px}.floor-inspector output{color:var(--muted)}.floor-empty-selection,.floor-help{background:#f2f5f1;border-radius:12px;padding:14px;color:var(--muted);line-height:1.55}.floor-help p{margin:5px 0 0;font-size:12px}.floor-help strong{color:var(--ink)}.selected-table-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.selected-table-meta span{display:grid;gap:3px;border:1px solid var(--line);border-radius:10px;padding:10px}.selected-table-meta small{color:var(--muted)}.selected-table-meta strong{font-size:16px}.floor-canvas-wrap{padding:15px;overflow:auto}.floor-canvas{position:relative;min-width:720px;min-height:590px;overflow:hidden;border:1px solid #d9e1da;border-radius:14px;background-color:#f7faf8;background-image:linear-gradient(#dfe7e1 1px,transparent 1px),linear-gradient(90deg,#dfe7e1 1px,transparent 1px);background-size:25px 25px}.floor-canvas-label{position:absolute;right:14px;top:11px;color:#99a69f;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700}.floor-table{position:absolute;display:grid;place-items:center;border:2px solid #44675d;background:linear-gradient(145deg,#fff,#e7eeea);color:var(--ink);box-shadow:0 7px 18px rgba(20,43,37,.14);cursor:grab;user-select:none;touch-action:none;transform-origin:center}.floor-table:active{cursor:grabbing}.floor-table.round{border-radius:50%}.floor-table.square,.floor-table.rectangle{border-radius:12px}.floor-table.selected{border-color:var(--coral);box-shadow:0 0 0 4px rgba(239,91,63,.18),0 10px 24px rgba(20,43,37,.18)}.floor-table>span{display:grid;gap:4px;text-align:center;padding:5px;line-height:1.1}.floor-table strong{display:block;font-size:14px}.floor-table small,.floor-table em{display:block;color:#63736b;font-size:10px;font-style:normal}.floor-table em{font-size:9px;color:#849087}.table-card>div{display:grid;gap:5px}.table-card span{display:block}.settings-list span{display:grid;gap:4px}.modal-card .form-grid label{position:relative}
@media(max-width:1100px){.service-edit-row{grid-template-columns:repeat(4,1fr)}.service-active-label{padding-bottom:10px}.floor-designer{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:820px){.switch-grid{grid-template-columns:1fr}.opening-rule{grid-template-columns:1fr 80px 1fr 1fr}.floor-designer{grid-template-columns:1fr}.floor-inspector{order:2}.floor-toolbar{align-items:flex-start;flex-direction:column}.floor-toolbar>div:last-child{width:100%}.floor-toolbar button{flex:1}.floor-canvas{min-width:680px}.service-edit-row{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.config-tabs{overflow:auto}.opening-rule{grid-template-columns:1fr 1fr}.opening-rule>strong{grid-column:1/-1}.service-edit-row{grid-template-columns:1fr}.floor-canvas-wrap{padding:8px}.wide-dialog{width:calc(100% - 12px)}.venue-config-modal{padding:22px 16px}.sticky-actions{bottom:-22px}}

/* V1.4: consistently aligned service rules */
.service-day-rows{overflow-x:auto}
.service-edit-row{grid-template-columns:minmax(185px,1.45fr) repeat(2,minmax(125px,.95fr)) repeat(4,minmax(118px,.85fr)) 74px;min-width:1080px;align-items:start;gap:9px;padding:12px}
.service-edit-row label{display:grid;grid-template-rows:16px 42px 13px;align-content:start;gap:3px;min-width:0}
.service-edit-row input,.service-edit-row select{box-sizing:border-box;width:100%;height:42px;margin:0}
.service-edit-row .field-suffix{margin:0;line-height:13px}
.service-edit-row .service-active-label{display:flex;align-items:center;justify-content:center;gap:7px;height:42px;margin-top:19px;padding:0;white-space:nowrap}
.service-edit-row .service-active-label input{width:15px;height:15px}
@media(max-width:1100px){.service-edit-row{grid-template-columns:minmax(185px,1.45fr) repeat(2,minmax(125px,.95fr)) repeat(4,minmax(118px,.85fr)) 74px}}
@media(max-width:560px){.service-edit-row{grid-template-columns:minmax(170px,1.4fr) repeat(2,120px) repeat(4,112px) 70px;min-width:1020px}}

/* V1.4: booking pre-orders */
.preorder-toggle{display:flex!important;align-items:flex-start;gap:12px;border:1px solid var(--line);background:#f4f7f3;border-radius:14px;padding:15px;margin-top:16px!important}
.preorder-toggle input{width:auto!important;margin-top:4px}
.preorder-toggle span{display:grid;gap:3px}.preorder-toggle small{color:var(--muted);font-weight:400;line-height:1.45}
.preorder-fields{margin-top:13px!important;background:#faf8f3;border:1px solid var(--line);border-radius:14px;padding:14px}
.preorder-stats{grid-template-columns:repeat(4,1fr)}
.preorder-layout{display:grid;gap:18px}.menu-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.menu-card{border:1px solid var(--line);background:#fbfaf6;border-radius:15px;padding:18px;display:grid;gap:14px}
.menu-card h3{font-family:'DM Serif Display';font-size:24px;font-weight:400;margin:7px 0 4px}.menu-card p{color:var(--muted);margin:0;line-height:1.5}
.menu-card-meta{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:13px}
.menu-card-meta span{display:grid;gap:2px;color:var(--muted);font-size:10px}.menu-card-meta strong{font-size:17px;color:var(--ink)}
.menu-import-strip{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#eef3ee;border:1px solid #d8e2da;border-radius:14px;padding:15px 16px;margin-top:18px}
.menu-import-strip>div{display:grid;gap:4px}.menu-import-strip small{color:var(--muted)}
.menu-review-head{display:flex;justify-content:space-between;align-items:end;margin:22px 0 10px}.menu-review-head h3{font-family:'DM Serif Display';font-size:24px;font-weight:400;margin:0}
.menu-items-editor{display:grid;gap:10px}.menu-item-row{display:grid;grid-template-columns:130px minmax(220px,1.3fr) 110px 42px;gap:9px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#faf9f5;align-items:end}
.menu-item-row label{font-size:10px}.menu-item-row .item-wide{grid-column:1/3}.menu-item-row input,.menu-item-row select{height:40px}
.icon-btn{height:40px;width:40px;border:1px solid var(--line);background:white;border-radius:10px;cursor:pointer;font-size:20px;color:#9b3d2c}
.copy-field{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:7px}.copy-field input{min-width:0}
.text-action{border:0;background:none;color:#356b5c;text-decoration:underline;text-underline-offset:3px;padding:0;cursor:pointer;font-weight:600}

/* V1.4.1: booking search and pre-order workspace spacing */
#bookingSearch{box-sizing:border-box;width:360px;max-width:100%;min-width:310px}
.preorder-layout{margin-top:22px}

/* V1.4: native marketing workspace backed by Mailchimp */
.marketing-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:18px 0 14px}.marketing-tabs{display:flex;gap:6px;overflow:auto}
.marketing-tabs button{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:10px 14px;color:var(--ink);font-weight:600;cursor:pointer;white-space:nowrap}.marketing-tabs button.active{background:var(--ink);border-color:var(--ink);color:white}
.marketing-panel{display:none}.marketing-panel.active{display:block}.audience-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.audience-presets button{border:1px solid #cfdad2;background:#f2f6f2;color:#35584e;border-radius:999px;padding:9px 12px;cursor:pointer;font-weight:600}
.saved-audiences{display:grid}.saved-audiences>div{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.saved-audiences>div:last-child{border-bottom:0}.saved-audiences span{display:grid;gap:3px}.saved-audiences small{color:var(--muted)}
.channel-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:17px}.channel-summary span{display:grid;gap:4px;border:1px solid var(--line);background:#faf8f3;border-radius:12px;padding:13px;color:var(--muted)}.channel-summary strong{font-family:'DM Serif Display';font-size:26px;font-weight:400;color:var(--ink)}
.journey-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.journey-grid article{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 10px;border:1px solid var(--line);border-radius:13px;padding:14px 14px 14px 34px}.journey-grid small{color:var(--muted);line-height:1.4}.journey-grid b{grid-column:2;grid-row:1/3;color:#8e5547}.status-dot{position:absolute;left:14px;top:18px;width:8px;height:8px;background:#c8d0cb;border-radius:50%}
.report-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:11px}.report-cards article{border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-cards article>strong,.report-cards article>span{grid-column:1/-1}.report-cards article>span,.report-cards small{color:var(--muted)}.report-cards article div{display:grid;gap:2px}.report-cards article div b{font-family:'DM Serif Display';font-size:25px;font-weight:400}
.send-safety{display:grid;gap:3px;background:#fff4d9;border:1px solid #e7cf94;border-radius:12px;padding:13px;margin-top:14px}.send-safety span{color:#6c551f;font-size:12px}.inline-error{background:#fce8e4;color:#973b2b;border-radius:10px;padding:12px;margin-bottom:14px}
.campaign-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.campaign-control-grid section{border:1px solid var(--line);border-radius:14px;padding:15px;background:#faf9f5;display:grid;align-content:start;gap:9px}.campaign-control-grid h3{font-family:'DM Serif Display';font-size:21px;font-weight:400;margin:0}.campaign-control-grid p{color:var(--muted);font-size:12px;line-height:1.5;margin:0}.campaign-control-grid label{font-size:10px}.danger-control{border-color:#e8b6aa!important;background:#fff5f2!important}.danger-btn{border:1px solid #ad412c;background:#ad412c;color:white;border-radius:10px;padding:11px 14px;font-weight:700;cursor:pointer}
@media(max-width:900px){.preorder-stats{grid-template-columns:repeat(2,1fr)}.menu-item-row{grid-template-columns:1fr 1fr 100px 42px}.section-grid{grid-template-columns:1fr}.channel-summary{grid-template-columns:1fr}}
@media(max-width:620px){.marketing-toolbar,.menu-import-strip{align-items:stretch;flex-direction:column}.marketing-toolbar>button,.menu-import-strip>button{width:100%}.journey-grid,.campaign-control-grid{grid-template-columns:1fr}.menu-item-row{grid-template-columns:1fr 90px 42px}.menu-item-row .item-wide{grid-column:1/-1}.preorder-stats{grid-template-columns:1fr 1fr}.copy-field{grid-template-columns:1fr}.copy-field button{width:100%}.data-toolbar{flex-wrap:wrap}.data-toolbar #bookingSearch{width:100%;min-width:0}.data-toolbar #viewDate{width:100%}}

/* V1.5: operational waitlist */
.queue-summary{display:flex;align-items:center;gap:18px}.queue-summary span{display:grid;color:var(--muted);font-size:10px;text-align:center}.queue-summary strong{font-family:'DM Serif Display';font-size:22px;font-weight:400;color:var(--ink)}
.waitlist-history-panel{margin-top:20px}.waitlist-table{min-width:1060px}.waitlist-row{cursor:pointer;transition:background .16s ease,box-shadow .16s ease}.waitlist-row:hover,.waitlist-row:focus{background:#f2f6f2;outline:none;box-shadow:inset 3px 0 var(--coral)}.row-arrow{font-size:18px;color:#5c776d;text-align:right}.hold-clock{display:inline-flex;border-radius:999px;background:#fff0cf;color:#73551c;padding:6px 9px;font-weight:700;white-space:nowrap}.hold-clock.expired{background:#f9ded8;color:#9b3d2c}
.waitlist-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.waitlist-manager-head h2{margin-bottom:3px}.waitlist-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.waitlist-contact span{display:grid;gap:4px;border:1px solid var(--line);border-radius:12px;background:#faf9f5;padding:12px}.waitlist-contact small{color:var(--muted)}.waitlist-contact strong{overflow-wrap:anywhere}
.waitlist-hold{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #ead39d;background:#fff6df;border-radius:14px;padding:13px 15px;margin-bottom:16px}.waitlist-hold>div{display:grid;gap:5px}.waitlist-hold>span{font-size:11px;color:#6e5b2d}.waitlist-manager-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.waitlist-manager-grid>section{border:1px solid var(--line);border-radius:15px;background:#fbfaf6;padding:17px}.waitlist-manager-grid h3,.waitlist-history h3{font-family:'DM Serif Display';font-size:22px;font-weight:400;margin:0}.compact-grid{gap:10px;margin:14px 0}.waitlist-save{margin-top:12px;width:100%}
.waitlist-status-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.waitlist-status-actions button{min-height:42px}.waitlist-notify,.waitlist-convert{display:grid;gap:7px;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.waitlist-notify p,.waitlist-convert p{color:var(--muted);font-size:11px;line-height:1.5;margin:0}.waitlist-notify>div{display:flex;gap:8px}.waitlist-notify button{flex:1}.waitlist-convert label{font-size:10px}.waitlist-convert button{width:100%}
.waitlist-history{border-top:1px solid var(--line);margin-top:18px;padding-top:17px}.activity-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px;max-height:180px;overflow:auto}.activity-list>div{position:relative;display:flex;gap:8px;border:1px solid #ece7dd;border-radius:10px;padding:9px 10px}.activity-dot{width:7px;height:7px;border-radius:50%;background:var(--coral);margin-top:5px;flex:none}.activity-list p{display:grid;gap:3px;margin:0}.activity-list strong{text-transform:capitalize;font-size:11px}.activity-list small{color:var(--muted);font-size:10px}
@media(max-width:850px){.waitlist-manager-grid{grid-template-columns:1fr}.waitlist-contact{grid-template-columns:1fr 1fr}.queue-summary span{display:none}}
@media(max-width:560px){.waitlist-contact,.activity-list{grid-template-columns:1fr}.waitlist-status-actions{grid-template-columns:1fr}.waitlist-notify>div{display:grid}.waitlist-hold{align-items:flex-start;flex-direction:column}.queue-summary{gap:8px}}

/* V1.6: venue identity, booking control and venue setup */
.sidebar{background:var(--venue-sidebar,var(--ink));transition:background .24s ease}.sidebar nav button:hover,.sidebar nav button.active{background:var(--venue-active,#254138)}.sidebar nav button.active span{color:var(--venue-accent,var(--coral))}
.venue-brand-logo{width:42px;height:42px;object-fit:contain;border-radius:8px;background:#fff;padding:5px;box-sizing:border-box}.sidebar-brand>div{min-width:0}.sidebar-brand strong{white-space:nowrap;letter-spacing:.12em}.sidebar-brand small{white-space:nowrap}
.arrival-venue{display:inline-block;white-space:nowrap}
.wide-search{width:420px!important;max-width:100%;min-width:340px}.status-key{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.status-key strong{margin-right:4px}.status-key span{border-radius:999px;padding:6px 10px;font-size:10px;font-weight:700}.key-confirmed{background:#e7f0ec;color:#315e50}.key-arrived{background:#fff0c9;color:#70531c}.key-seated{background:#dcebe6;color:#205849}.key-completed{background:#e6e8ea;color:#48505a}.key-no-show{background:#eadff2;color:#614174}.key-cancelled{background:#f8ded8;color:#943f2e}
.booking-management-table{min-width:1120px}.booking-status-row{cursor:pointer;box-shadow:inset 4px 0 transparent}.booking-status-row:hover{background:#faf8f3}.booking-status-row.status-confirmed{box-shadow:inset 4px 0 #5b927e}.booking-status-row.status-arrived{box-shadow:inset 4px 0 #d9a43c}.booking-status-row.status-seated{box-shadow:inset 4px 0 #2d7b69}.booking-status-row.status-completed{box-shadow:inset 4px 0 #899096}.booking-status-row.status-no_show{box-shadow:inset 4px 0 #8c61a1}.booking-status-row.status-cancelled{box-shadow:inset 4px 0 #d75f48}.booking-status-row.status-cancelled td{opacity:.68}.row-manage{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;white-space:nowrap;cursor:pointer}.spare-badge{display:inline-block;margin-top:4px;border-radius:999px;background:#fff0cc;color:#71531b;padding:4px 7px;font-size:9px;font-weight:700}
.booking-manage-title{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.booking-manage-title h2{margin-bottom:3px}.status-action-panel{margin-top:18px;border:1px solid var(--line);background:#faf9f5;border-radius:15px;padding:16px}.status-action-panel>div:first-child{display:grid;gap:4px}.status-action-panel>div:first-child small{color:var(--muted)}.status-action-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px!important;margin:13px 0}.status-action{border:0;border-radius:9px;padding:10px 9px;font-weight:700;cursor:pointer}.status-action.confirmed{background:#e7f0ec;color:#315e50}.status-action.arrived{background:#fff0c9;color:#70531c}.status-action.seated{background:#dcebe6;color:#205849}.status-action.completed{background:#e6e8ea;color:#48505a}.status-action.no-show{background:#eadff2;color:#614174}.status-action.cancelled{background:#f8ded8;color:#943f2e}.booking-link-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;border:1px solid #bfd5cc;background:#eef5f1;border-radius:13px;padding:13px}.booking-link-row span{display:grid;gap:3px}.booking-link-row small{color:var(--muted)}
.setup-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:17px 20px;border:1px solid var(--line);background:var(--paper);border-radius:16px}.setup-header>div{display:flex;align-items:center;gap:14px}.setup-header img{width:60px;height:60px;object-fit:contain}.setup-header h2{font-family:'DM Serif Display';font-size:29px;font-weight:400;margin:3px 0 0}.setup-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.setup-wide{min-width:0}.managed-table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px;margin-top:16px}.managed-table-card{display:grid;gap:6px;text-align:left;border:1px solid var(--line);background:#fbfaf6;border-radius:13px;padding:14px;cursor:pointer}.managed-table-card strong{font-family:'DM Serif Display';font-size:22px;font-weight:400}.managed-table-card span{font-weight:700}.managed-table-card small{min-height:28px;color:var(--muted);line-height:1.4}.managed-table-card b{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#477666}.managed-table-card.inactive{opacity:.55}.managed-table-card.inactive b{color:#9b3d2c}
.spare-unit-list,.combination-list,.special-date-list{display:grid;gap:8px;margin-top:14px}.spare-unit-list button,.combination-list button,.special-date-list button{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);background:#fbfaf6;border-radius:12px;padding:13px;cursor:pointer}.spare-unit-list span,.combination-list span,.special-date-list span{display:grid;gap:4px}.spare-unit-list small,.combination-list small,.special-date-list small{color:var(--muted)}.spare-unit-list b,.combination-list b,.special-date-list b{font-size:10px;color:#517267;white-space:nowrap}.capacity-note{margin:12px 0 0;color:var(--muted);font-size:11px}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.check-grid label{display:flex!important;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#faf9f5}.check-grid input{width:auto!important}.planner-hours-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.planner-hours-summary>div{display:grid;gap:4px}.planner-hours-summary span{color:var(--muted);font-size:11px}.planner-row.dynamic{display:grid;min-width:max-content}.planner-row.dynamic>div{min-width:0}
@media(max-width:920px){.setup-grid{grid-template-columns:1fr}.status-action-grid{grid-template-columns:1fr 1fr}.check-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.wide-search{width:100%!important;min-width:0}.booking-manage-title,.setup-header,.planner-hours-summary{align-items:stretch;flex-direction:column}.status-action-grid,.check-grid{grid-template-columns:1fr}.venue-brand-logo{width:34px;height:34px}}

/* Waggon Way V7 — operational reservation workspace */
:root{
  --ink:#102235;
  --ink-2:#17324b;
  --cream:#f3f1eb;
  --paper:#fffefa;
  --coral:#d4af37;
  --gold:#d4af37;
  --sage:#e9ece8;
  --muted:#6d7477;
  --line:#dddcd5;
  --shadow:0 18px 50px rgba(16,34,53,.08);
  --venue-sidebar:#102235;
  --venue-active:#1b3955;
  --venue-accent:#d4af37;
}
html{scroll-behavior:smooth}
body{background:var(--cream);color:#17232c}
button{min-height:42px}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.gold{color:#b38b19}.blue{color:#55758b}
.login-brand{background:linear-gradient(145deg,#07131f 0%,#102235 56%,#18354c 100%);padding:7vw 7vw 6vw}
.login-logo{width:min(330px,65%);max-height:115px;object-fit:contain;object-position:left center;margin:0 0 62px;filter:drop-shadow(0 8px 28px rgba(0,0,0,.28))}
.login-brand h1{font-size:clamp(52px,6vw,88px);max-width:760px}.login-intro{max-width:650px}.login-feature-row{position:absolute;left:7vw;bottom:7vh;display:flex;gap:24px;flex-wrap:wrap;color:#8fa3b2;font-size:10px;letter-spacing:.16em;font-weight:700}.login-card{border:1px solid #e2e0d8}.button-arrow{display:block;width:18px;height:10px;position:relative}.button-arrow:before{content:"";position:absolute;right:1px;top:4px;width:15px;height:1px;background:currentColor}.button-arrow:after{content:"";position:absolute;right:1px;top:1px;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.primary-btn{background:#d4af37;color:#111;border-radius:9px;box-shadow:0 8px 20px rgba(212,175,55,.18)}.primary-btn:hover{background:#c39e2e}.secondary-btn.compact{padding:9px 13px;min-height:38px}.full-width{width:100%}
.app-view{grid-template-columns:264px 1fr}.sidebar{background:var(--venue-sidebar);padding:22px 17px}.sidebar-brand{gap:13px;padding-bottom:20px}.sidebar-brand img{width:63px;height:42px;object-fit:contain;object-position:left center}.sidebar-brand strong{font-size:14px;letter-spacing:.14em}.sidebar-brand small{font-size:10px}.venue-picker-wrap{padding:16px 7px}.venue-fixed{width:100%;display:grid;gap:3px;text-align:left;border:1px solid #3b5265;border-radius:9px;padding:10px 11px;background:#17324b;color:#fff}.venue-fixed span{font-weight:600;font-size:11px}.venue-fixed small{color:#8fa3b2;font-size:9px}.sidebar nav button{min-height:42px}.sidebar nav button span{display:grid;place-items:center;width:18px;height:18px}.sidebar svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-bottom button{display:grid;place-items:center;width:38px;height:38px;min-height:38px}.user-avatar{background:#d4af37;color:#102235}.topbar{background:rgba(243,241,235,.93);padding:22px 30px}.topbar-title{display:flex;align-items:center;gap:12px}.topbar h1{font-size:32px}.topbar-actions{gap:8px}.date-chip{min-height:38px}.icon-btn,.mobile-menu-btn{border:1px solid var(--line);background:var(--paper);border-radius:9px;width:40px;height:40px;min-height:40px;display:grid;place-items:center;color:#233746;cursor:pointer}.icon-btn svg,.mobile-menu-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mobile-menu-btn{display:none}.content{padding:28px 30px 55px;max-width:1680px}.live-status{background:#e5eee9}.live-status i{background:#38a36e}
.toast{position:fixed;z-index:1000;right:24px;bottom:24px;max-width:420px;background:#102235;color:#fff;border-radius:12px;padding:13px 16px;box-shadow:0 18px 50px rgba(0,0,0,.2);opacity:0;pointer-events:none;transform:translateY(12px);transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{background:#8b3026}
.loading{min-height:380px}.loading-spinner{width:26px;height:26px;border:2px solid #d6d8d6;border-top-color:var(--gold);border-radius:50%;animation:spin .75s linear infinite;margin-bottom:11px}@keyframes spin{to{transform:rotate(360deg)}}
.notice.info{border:1px solid #d8d6ca;background:#faf8f2;color:#596267}.notice.warning{border:1px solid #e0ca90;background:#fff8e5;color:#73591b}.notice.success{border:1px solid #bed9c9;background:#edf7f0;color:#315f48}
.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.stat-card{box-shadow:0 5px 18px rgba(16,34,53,.03)}.stat-card strong{color:#102235}.stat-card.accent{border-color:#ddca8a;background:#fffaf0}.stat-card.accent strong{color:#9c7610}
.status-key{background:var(--paper)}.key-confirmed,.status-pill.confirmed{background:#e7f0ec;color:#315e50}.key-arrived,.status-pill.arrived{background:#fff0c9;color:#70531c}.key-seated,.status-pill.seated{background:#dcebe6;color:#205849}.key-completed,.status-pill.completed{background:#e6e8ea;color:#48505a}.key-no-show,.status-pill.no_show{background:#eadff2;color:#614174}.key-cancelled,.status-pill.cancelled{background:#f8ded8;color:#943f2e}.status-pill.ready{background:#fff0c9;color:#70531c}.status-pill.waiting{background:#edf0ed;color:#53655d}.status-pill.contacted{background:#e3edf5;color:#315e78}.status-pill.no_response,.status-pill.removed{background:#ece8e5;color:#655b55}

/* Planner timeline */
.planner-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;margin-top:18px}.planner-panel{min-width:0}.planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.planner-toolbar>div{display:flex;gap:8px;align-items:center}.planner-date-label{font-size:12px;color:var(--muted)}
.timeline-scroll{overflow:auto;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.timeline-stage{position:relative;min-height:360px;--minute-width:2px}.timeline-axis{position:sticky;top:0;z-index:4;height:46px;background:#faf8f2;border-bottom:1px solid var(--line)}.timeline-hour{position:absolute;top:0;height:46px;border-left:1px solid #d8d8d2;padding:11px 0 0 7px;color:#727a7d;font-size:10px;font-weight:700}.timeline-quarter{position:absolute;top:46px;bottom:0;border-left:1px solid #f0eee8;pointer-events:none}.timeline-quarter.hour{border-left-color:#deddd7}.timeline-capacity{position:absolute;top:46px;left:0;right:0;height:28px;border-bottom:1px solid #eeece5;background:#fdfcf8}.capacity-slot{position:absolute;top:5px;height:17px;border-radius:4px;background:#dfe8e2;opacity:.95}.capacity-slot.medium{background:#f2dfaa}.capacity-slot.full{background:#efb1a6}.timeline-lanes{position:absolute;top:74px;left:0;right:0;padding-bottom:16px}.timeline-lane{position:relative;height:60px;border-bottom:1px solid #f0eee8}.timeline-lane:last-child{border-bottom:0}.timeline-booking{position:absolute;top:8px;height:44px;border:0;border-left:4px solid #5b927e;border-radius:7px;background:#e7f0ec;color:#22483c;padding:6px 9px;text-align:left;overflow:hidden;cursor:pointer;box-shadow:0 2px 8px rgba(16,34,53,.07);min-height:44px}.timeline-booking:hover{filter:brightness(.98);box-shadow:0 6px 16px rgba(16,34,53,.12)}.timeline-booking .tb-title{display:block;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-booking .tb-meta{display:block;font-size:9px;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.timeline-booking.arrived{background:#fff0c9;color:#70531c;border-left-color:#d9a43c}.timeline-booking.seated{background:#dcebe6;color:#205849;border-left-color:#2d7b69}.timeline-booking.completed{background:#e6e8ea;color:#48505a;border-left-color:#899096}.timeline-booking.no_show{background:#eadff2;color:#614174;border-left-color:#8c61a1}.timeline-booking.cancelled{background:#f8ded8;color:#943f2e;border-left-color:#d75f48;opacity:.6}.planner-empty-overlay{position:absolute;top:105px;left:30px;color:var(--muted);font-size:12px}.planner-side .panel{position:sticky;top:114px}.arrival-list{display:grid;gap:7px}.arrival-card{width:100%;border:1px solid var(--line);background:#fbfaf6;border-radius:11px;padding:11px;text-align:left;cursor:pointer;display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center}.arrival-card:hover{background:#f3f5f2}.arrival-card time{font-family:'DM Serif Display';font-size:19px}.arrival-card span{display:grid;gap:2px}.arrival-card small{color:var(--muted)}.arrival-card b{font-size:11px;border-radius:999px;background:#eef0ed;padding:5px 7px}

/* Booking management */
.data-toolbar .search-wide{width:min(430px,100%);min-width:300px}.booking-management-table{min-width:1050px}.booking-status-row{cursor:pointer}.booking-status-row td:first-child{font-weight:700}.source-chip{display:inline-block;border-radius:999px;padding:5px 8px;background:#eef0ed;color:#59665f;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.source-chip.website{background:#e4edf4;color:#315d77}.row-manage{min-height:34px}.modal-card{max-height:min(90vh,940px);overflow:auto}.booking-form-grid{margin-top:17px}.span-2{grid-column:span 2}.status-action.seated{background:#dcebe6;color:#205849}.booking-link-row button{white-space:nowrap}.booking-manage-title{padding-right:30px}

/* Floor plan pending state */
.floor-pending{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}.floor-pending aside{display:grid;align-content:start;gap:12px}.floor-check{border:1px solid var(--line);border-radius:12px;background:#fbfaf6;padding:13px;display:flex;gap:10px}.floor-check i{width:22px;height:22px;border-radius:50%;background:#e7e9e6;display:grid;place-items:center;font-style:normal;font-size:10px;color:#66736d;flex:none}.floor-check.done i{background:#dcebe6;color:#205849}.floor-placeholder{min-height:520px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(#fffdfa,#fffefa);position:relative;overflow:hidden;display:grid;place-items:center;text-align:center;padding:50px}.floor-placeholder:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ecebe6 1px,transparent 1px),linear-gradient(90deg,#ecebe6 1px,transparent 1px);background-size:32px 32px;opacity:.45}.floor-placeholder-inner{position:relative;z-index:1;max-width:520px}.floor-placeholder-inner img{width:160px;filter:invert(1);opacity:.10;margin-bottom:22px}.floor-placeholder h2{font-family:'DM Serif Display';font-weight:400;font-size:34px;margin:0 0 10px}.floor-placeholder p{color:var(--muted);line-height:1.6}

/* Waitlist */
.queue-summary{display:flex;gap:16px;align-items:center}.queue-summary span{display:grid;text-align:center;color:var(--muted);font-size:10px}.queue-summary strong{font-family:'DM Serif Display';font-size:24px;color:#102235;font-weight:400}.waitlist-row{cursor:pointer}.waitlist-row:hover{background:#f5f6f3}.waitlist-hold{background:#fff8e5}.waitlist-manager-grid{grid-template-columns:1fr 1fr}.waitlist-status-actions{grid-template-columns:1fr 1fr}.hold-clock{font-variant-numeric:tabular-nums}

/* Guest CRM */
.guest-table{min-width:950px}.guest-row{cursor:pointer}.guest-row:hover{background:#f5f6f3}.vip-badge{display:inline-block;border-radius:999px;background:#fff0c9;color:#70531c;padding:4px 7px;font-size:9px;font-weight:700;margin-left:6px}.guest-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-right:30px}.vip-toggle{display:flex!important;align-items:center!important;grid-auto-flow:column;gap:8px!important;border:1px solid #dbc57c;border-radius:999px;padding:8px 11px;background:#fff9e8}.vip-toggle input{width:auto!important}.guest-profile-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;margin-top:18px}.guest-profile-grid>section{border:1px solid var(--line);border-radius:15px;background:#fbfaf6;padding:18px}.guest-profile-grid h3{font-family:'DM Serif Display';font-size:22px;font-weight:400;margin:0}.guest-history{display:grid;gap:8px;max-height:510px;overflow:auto}.history-booking{border:1px solid #e5e2da;background:#fff;border-radius:11px;padding:11px;display:grid;grid-template-columns:80px 1fr auto;gap:10px;align-items:center}.history-booking time{font-weight:700}.history-booking small{color:var(--muted)}

/* Communications */
.communication-layout{display:grid;grid-template-columns:1fr 360px;gap:18px}.message-list{display:grid;gap:8px}.message-row{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;background:#fbfaf6;padding:12px}.message-icon{width:38px;height:38px;border-radius:10px;background:#e4edf4;color:#315d77;display:grid;place-items:center}.message-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.message-row span{display:grid;gap:2px}.message-row small{color:var(--muted)}.message-row time{font-size:10px;color:var(--muted);white-space:nowrap}.workflow-list{display:grid;gap:9px}.workflow-item{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fbfaf6;display:flex;justify-content:space-between;gap:12px}.workflow-item span{display:grid;gap:3px}.workflow-item small{color:var(--muted)}

/* Reports */
.report-controls{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.report-controls label{display:grid;gap:5px;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.report-controls input{border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:10px 12px}.report-chart{height:270px;display:flex;align-items:flex-end;gap:4px;padding:30px 8px 24px;border-bottom:1px solid var(--line);overflow-x:auto}.report-bar-group{height:100%;min-width:24px;flex:1;display:flex;align-items:flex-end;gap:2px;position:relative}.report-bar{width:50%;min-width:5px;background:#55758b;border-radius:4px 4px 0 0}.report-bar.covers{background:#d4af37}.report-bar-group small{position:absolute;left:50%;bottom:-20px;transform:translateX(-50%);font-size:8px;color:var(--muted);white-space:nowrap}.report-legend{display:flex;gap:16px;margin:13px 0 0;color:var(--muted);font-size:10px}.report-legend i{width:9px;height:9px;border-radius:2px;display:inline-block;margin-right:5px;background:#55758b}.report-legend .covers i{background:#d4af37}

/* Settings / system / access */
.settings-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px}.settings-card h2,.system-card h2{font-family:'DM Serif Display';font-weight:400;font-size:25px;margin:0}.settings-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.settings-form label,.hours-row label{display:grid;gap:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.settings-form input,.settings-form select,.hours-row input{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px;color:#17232c}.settings-form .span-2{grid-column:span 2}.toggle-row{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:11px;background:#fbfaf6;padding:13px;margin-top:14px}.toggle-row input{width:20px;height:20px}.hours-list{display:grid;gap:8px;margin-top:14px}.hours-row{display:grid;grid-template-columns:105px 85px 1fr 1fr;gap:8px;align-items:center;border:1px solid var(--line);border-radius:11px;background:#fbfaf6;padding:10px}.hours-row>strong{font-size:11px}.hours-row .open-check{display:flex;align-items:center;gap:7px}.hours-row .open-check input{width:auto}.system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.system-list{display:grid;gap:8px;margin-top:15px}.system-row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #eceae3;padding:9px 0}.system-row span{color:var(--muted);font-size:11px}.system-row strong{font-size:11px;text-align:right}.activity-feed{display:grid;gap:8px;max-height:520px;overflow:auto}.activity-row{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:start;border-bottom:1px solid #eceae3;padding:9px 0}.activity-dot{width:8px;height:8px;border-radius:50%;background:#d4af37;margin-top:5px}.activity-row span{display:grid;gap:2px}.activity-row small,.activity-row time{color:var(--muted);font-size:9px}.access-layout{display:grid;grid-template-columns:360px 1fr;gap:18px}.access-form{display:grid;gap:10px}.access-form input,.access-form select{border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px}.user-list{display:grid;gap:8px}.user-row{display:grid;grid-template-columns:1fr 90px 90px auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:11px;background:#fbfaf6;padding:11px}.user-row small{color:var(--muted)}.role-badge{display:inline-block;border-radius:999px;background:#e4edf4;color:#315d77;padding:5px 8px;font-size:9px;font-weight:700;text-transform:uppercase;text-align:center}.role-badge.admin{background:#fff0c9;color:#70531c}

/* Dialog improvements */
.site-dialog::backdrop{background:rgba(6,16,25,.56);backdrop-filter:blur(3px)}.site-dialog{border:0;background:transparent;padding:20px;width:min(820px,calc(100% - 28px));max-width:none}.wide-dialog{width:min(1040px,calc(100% - 28px))}.modal-card{width:100%;box-shadow:0 30px 80px rgba(0,0,0,.24)}.modal-close{width:40px;height:40px;min-height:40px}.form-grid{grid-template-columns:1fr 1fr}.modal-card textarea{resize:vertical}.form-message{min-height:18px}.form-message.error{color:#a63d2a}.form-message.success{color:#315f48}

.sidebar-scrim{display:none}.mobile-menu-btn{display:none}
@media(max-width:1180px){.planner-shell{grid-template-columns:1fr}.planner-side .panel{position:static}.communication-layout{grid-template-columns:1fr}.settings-shell{grid-template-columns:1fr}.access-layout{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.app-view{display:block}.sidebar{position:fixed;z-index:40;left:0;top:0;bottom:0;width:276px;transform:translateX(-102%);transition:transform .22s ease;box-shadow:0 0 50px rgba(0,0,0,.25)}.sidebar.open{transform:none}.sidebar-scrim{position:fixed;z-index:35;inset:0;background:rgba(5,15,24,.45)}.sidebar-scrim.show{display:block}.mobile-menu-btn{display:grid}.main-shell{height:auto;min-height:100vh}.topbar{padding:16px 18px;align-items:flex-start}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.live-status{display:none}.content{padding:20px 18px 45px}.guest-profile-grid,.floor-pending{grid-template-columns:1fr}.floor-placeholder{min-height:390px}.system-grid{grid-template-columns:1fr}.settings-form{grid-template-columns:1fr}.settings-form .span-2{grid-column:auto}.hours-row{grid-template-columns:90px 75px 1fr 1fr}.user-row{grid-template-columns:1fr 80px auto}.user-row .user-created{display:none}}
@media(max-width:650px){.login-view{grid-template-columns:1fr}.login-brand{min-height:380px;padding:45px 28px}.login-logo{width:220px;margin-bottom:38px}.login-brand h1{font-size:48px}.login-intro{font-size:14px}.login-feature-row{position:static;margin-top:35px}.login-panel{padding:24px 15px}.login-card{padding:30px 22px}.topbar{display:grid;grid-template-columns:1fr;gap:13px}.topbar-actions{justify-content:flex-start}.date-chip{flex:1;min-width:150px}.topbar-actions #newBookingBtn{width:100%}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{padding:15px}.stat-card strong{font-size:30px}.planner-toolbar{align-items:flex-start;flex-direction:column}.data-toolbar{flex-wrap:wrap}.data-toolbar .search-wide{width:100%;min-width:0}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.guest-dialog-head{flex-direction:column}.waitlist-manager-grid{grid-template-columns:1fr}.waitlist-status-actions{grid-template-columns:1fr}.hours-row{grid-template-columns:1fr 1fr}.hours-row>strong{grid-column:span 2}.access-layout{grid-template-columns:1fr}.user-row{grid-template-columns:1fr auto}.user-row .role-badge{justify-self:start}.user-row .user-active{grid-column:2}.report-controls>*{width:100%}.report-controls input{width:100%}.floor-placeholder{padding:30px 20px}.timeline-stage{--minute-width:1.65px}.booking-manage-title{flex-direction:column}.booking-link-row{align-items:stretch;flex-direction:column}.booking-link-row button{width:100%}}
@media(max-width:430px){.stats-grid{grid-template-columns:1fr}.topbar-actions #prevDate,.topbar-actions #nextDate{display:none}.topbar h1{font-size:28px}.content{padding-left:12px;padding-right:12px}.panel{padding:16px}.modal-card{padding:22px 17px}.site-dialog{padding:8px;width:100%}.arrival-card{grid-template-columns:50px 1fr auto}}
.empty-icon svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.panel-copy,.section-help{color:var(--muted);font-size:11px;line-height:1.55;margin:4px 0 0}

/* Waggon Way V8 — spacing polish + editable floor planner */
.data-toolbar{align-items:flex-start}
.data-toolbar>div:first-child{display:grid;gap:6px;min-width:0;flex:1}
.data-toolbar .section-help{display:block;margin:0;line-height:1.5}
.stats-grid+.status-key{margin-top:14px}
.floor-check>div{display:grid;gap:4px;min-width:0}
.floor-check strong{display:block;line-height:1.3}
.floor-check small{display:block;color:var(--muted);line-height:1.45}
.toggle-row>span{display:grid;gap:4px;padding-right:18px;min-width:0}
.toggle-row strong,.toggle-row small{display:block}
.toggle-row small{color:var(--muted);font-size:11px;line-height:1.45}
.access-layout>.panel>.panel-copy{display:block;margin:8px 0 16px;max-width:62ch}
.access-form{margin-top:4px}
.panel-head>div{display:grid;gap:4px;min-width:0}
.panel-head .panel-copy{margin:0}
.status-key{row-gap:8px}

.danger-btn{border:1px solid #e0a79d;background:#fff5f2;color:#9a3e2f;border-radius:10px;padding:10px 14px;cursor:pointer;min-height:40px;font-weight:600}
.danger-btn:hover{background:#fdeae5}.floor-dialog-actions{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center}.floor-dialog-actions>span{min-width:12px}

.floor-editor-shell{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;align-items:start}
.floor-editor-sidebar{display:grid;gap:14px;position:sticky;top:112px}
.floor-area-list{display:grid;gap:7px;margin-top:14px}
.floor-area-tab{width:100%;border:1px solid var(--line);background:#fbfaf6;border-radius:11px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#21333f;text-align:left;cursor:pointer;min-height:48px}
.floor-area-tab:hover{border-color:#b9b7ae;background:#fff}
.floor-area-tab.active{background:#eef3f6;border-color:#91a8b7;box-shadow:inset 3px 0 0 #55758b}
.floor-area-tab span{display:grid;gap:2px;min-width:0}
.floor-area-tab strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.floor-area-tab small{font-size:9px;color:var(--muted)}
.floor-area-tab b{font-family:'DM Serif Display';font-size:20px;font-weight:400;color:#102235;flex:none}
.floor-sidebar-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.floor-selected-summary{display:grid;gap:10px}
.floor-summary-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #ebe9e2;padding:9px 0}
.floor-summary-row:last-child{border-bottom:0}
.floor-summary-row span{color:var(--muted);font-size:11px}.floor-summary-row strong{font-size:11px;text-align:right}
.floor-help{display:grid;gap:9px;margin-top:8px;color:var(--muted);font-size:10px;line-height:1.5}
.floor-help span{display:flex;gap:8px;align-items:flex-start}.floor-help i{width:19px;height:19px;border-radius:50%;background:#e8ecef;color:#4d6878;display:grid;place-items:center;font-style:normal;font-size:9px;flex:none}
.floor-canvas-panel{padding:0;overflow:hidden;min-width:0}
.floor-canvas-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--paper)}
.floor-canvas-head>div:first-child{display:grid;gap:3px;min-width:0}
.floor-canvas-head h2{font-family:'DM Serif Display';font-size:25px;font-weight:400;margin:0}
.floor-canvas-head p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}
.floor-canvas-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.floor-canvas-scroller{overflow:auto;padding:20px;background:#eeece6}
.floor-canvas{position:relative;width:100%;min-width:650px;border:1px solid #d5d4ce;border-radius:14px;background-color:#fffefa;background-image:linear-gradient(#efeee9 1px,transparent 1px),linear-gradient(90deg,#efeee9 1px,transparent 1px);background-size:32px 32px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.75),0 8px 24px rgba(16,34,53,.05);overflow:hidden;user-select:none;touch-action:none}
.floor-canvas.empty{display:grid;place-items:center;min-height:460px}
.floor-empty-message{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--muted);padding:40px;pointer-events:none}
.floor-empty-message>div{max-width:430px}.floor-empty-message strong{display:block;color:#273945;font-family:'DM Serif Display';font-size:26px;font-weight:400;margin-bottom:6px}.floor-empty-message p{margin:0;line-height:1.55}
.floor-table-node{position:absolute;border:2px solid #607f91;background:#e8f0f4;color:#17324b;border-radius:10px;padding:7px;display:grid;place-items:center;text-align:center;cursor:grab;touch-action:none;box-shadow:0 5px 12px rgba(16,34,53,.10);overflow:hidden;min-height:0;transition:box-shadow .12s,border-color .12s,background .12s}
.floor-table-node:hover{box-shadow:0 8px 18px rgba(16,34,53,.15);border-color:#395d72}
.floor-table-node.selected{border-color:#d4af37;background:#fff6d7;box-shadow:0 0 0 3px rgba(212,175,55,.20),0 10px 22px rgba(16,34,53,.14)}
.floor-table-node.dragging{cursor:grabbing;z-index:8;transition:none;box-shadow:0 14px 28px rgba(16,34,53,.20)}
.floor-table-node.round{border-radius:50%}.floor-table-node.square{border-radius:10px}.floor-table-node.rectangle{border-radius:9px}
.floor-table-node span{display:grid;gap:1px;pointer-events:none;line-height:1.1;max-width:100%}.floor-table-node strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.floor-table-node small{font-size:9px;color:#5b707c;white-space:nowrap}
.floor-table-node .seat-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#91a9b6;opacity:.65;pointer-events:none}.floor-table-node .seat-dot.s1{top:4px;left:50%;transform:translateX(-50%)}.floor-table-node .seat-dot.s2{bottom:4px;left:50%;transform:translateX(-50%)}.floor-table-node .seat-dot.s3{left:4px;top:50%;transform:translateY(-50%)}.floor-table-node .seat-dot.s4{right:4px;top:50%;transform:translateY(-50%)}
.floor-no-areas{min-height:520px;border:1px solid var(--line);border-radius:16px;background:var(--paper);display:grid;place-items:center;text-align:center;padding:42px}
.floor-no-areas>div{max-width:520px}.floor-no-areas h2{font-family:'DM Serif Display';font-size:34px;font-weight:400;margin:8px 0 10px}.floor-no-areas p{color:var(--muted);line-height:1.6;margin:0 0 20px}
.floor-table-selected{border-top:1px solid var(--line);margin-top:14px;padding-top:14px;display:grid;gap:9px}.floor-table-selected-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.floor-table-selected-head span{display:grid;gap:2px}.floor-table-selected-head small{color:var(--muted)}
.floor-table-selected-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}

@media(max-width:1180px){.floor-editor-shell{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:900px){.floor-editor-shell{grid-template-columns:1fr}.floor-editor-sidebar{position:static}.floor-area-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.floor-canvas{min-width:620px}}
@media(max-width:650px){.floor-canvas-head{align-items:flex-start;flex-direction:column}.floor-canvas-actions{width:100%;justify-content:flex-start}.floor-canvas-actions .primary-btn,.floor-canvas-actions .secondary-btn{flex:1}.floor-sidebar-actions{grid-template-columns:1fr}.floor-dialog-actions{grid-template-columns:1fr 1fr}.floor-dialog-actions>span{display:none}.floor-dialog-actions .danger-btn{grid-column:1/-1}.data-toolbar>button{width:100%}.stats-grid+.status-key{margin-top:12px}}
.floor-selected-badge{display:inline-block;border-radius:999px;background:#fff0c9;color:#70531c;padding:5px 8px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}

/* Waggon Way V10 — menus, AI import, pre-orders and recurring online blocks */
.booking-preorder-panel{margin-top:18px;border:1px solid var(--line);border-radius:14px;background:#fbfaf6;padding:16px;display:grid;gap:13px}.booking-preorder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.preorder-toggle{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:11px;cursor:pointer;max-width:700px}.preorder-toggle input{width:19px;height:19px;margin:2px 0 0;flex:none}.preorder-toggle span{display:grid;gap:3px}.preorder-toggle strong{font-size:12px}.preorder-toggle small{font-size:10px;color:var(--muted);line-height:1.45}.booking-preorder-fields{display:grid;grid-template-columns:minmax(240px,1fr) 190px auto;gap:12px;align-items:end;border-top:1px solid #e7e3d9;padding-top:13px}.preorder-link-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.preorder-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:700;text-transform:capitalize;background:#eceff2;color:#365066;white-space:nowrap}.preorder-status.submitted{background:#dceae2;color:#2e654c}.preorder-status.draft{background:#f8eecb;color:#765d15}.preorder-status.locked{background:#e8e7e3;color:#555}.preorder-status.overdue{background:#f5dcd7;color:#8c3d31}
.preorder-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.preorder-layout{display:grid;gap:18px}.menu-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:13px;margin-top:17px}.menu-card{border:1px solid var(--line);background:#fbfaf6;border-radius:14px;padding:16px;display:grid;gap:11px}.menu-card.inactive{opacity:.7}.menu-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.menu-card h3{font-family:'DM Serif Display';font-size:23px;font-weight:400;margin:3px 0 0}.menu-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.menu-card-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e8e5dd;border-bottom:1px solid #e8e5dd}.menu-card-meta span{padding:10px 4px;display:grid;gap:1px}.menu-card-meta span+span{border-left:1px solid #e8e5dd;padding-left:12px}.menu-card-meta strong{font-family:'DM Serif Display';font-size:21px;font-weight:400}.menu-card-meta small,.menu-source{color:var(--muted);font-size:9px}.menu-card-actions{display:flex;gap:8px;flex-wrap:wrap}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status-pill.active{background:#dceae2;color:#2f654c}.status-pill.inactive{background:#eceae5;color:#6b6961}.status-pill.draft{background:#f8edc8;color:#725919}.status-pill.submitted{background:#dceae2;color:#2f654c}.status-pill.overdue{background:#f4dbd6;color:#8e3d31}.status-pill.locked{background:#dfe2e5;color:#45515a}
.extra-wide-dialog{width:min(1120px,calc(100% - 32px))}.ai-import-box{margin:17px 0;border:1px solid #dcd5c5;background:#f6f0df;border-radius:14px;padding:16px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(240px,.8fr) auto;gap:12px;align-items:center}.ai-import-box>div:first-child{display:grid;gap:4px}.ai-import-box strong{font-size:12px}.ai-import-box p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.ai-import-box input[type=file]{padding:9px;background:white}.ai-import-box .form-message{grid-column:1/-1;margin:0}.menu-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin:17px 0 10px}.menu-editor-head>div{display:grid;gap:3px}.menu-editor-head strong{font-size:12px}.menu-editor-head small{font-size:10px;color:var(--muted);line-height:1.5}.menu-items-editor{display:grid;gap:10px;max-height:46vh;overflow:auto;padding-right:3px}.menu-item-row{border:1px solid var(--line);background:#fbfaf6;border-radius:12px;padding:12px;display:grid;grid-template-columns:130px minmax(220px,1.3fr) 120px 42px;gap:9px;align-items:end}.menu-item-row label{font-size:9px}.menu-item-row .item-wide{grid-column:1/3}.menu-item-row .item-remove{font-size:21px;line-height:1}.empty-compact{border:1px dashed #cfc9bb;border-radius:12px;padding:22px;text-align:center;color:var(--muted);font-size:11px}.menu-review-list{display:grid;gap:8px}.menu-review-row{display:grid;grid-template-columns:75px minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid #e9e6de;padding:10px 0}.menu-review-row:last-child{border-bottom:0}.menu-review-row>div{display:grid;gap:2px}.menu-review-row small{color:var(--muted);line-height:1.45}.menu-review-row b{font-size:11px}.course-chip{border-radius:999px;background:#edf1f3;color:#466173;padding:5px 8px;font-size:8px;font-weight:700;text-transform:uppercase;text-align:center}.preorder-order-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.preorder-order-card{border:1px solid var(--line);background:#fbfaf6;border-radius:14px;padding:15px}.preorder-order-card>div span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.preorder-order-card h3{font-family:'DM Serif Display';font-size:22px;font-weight:400;margin:3px 0 13px}.preorder-order-card dl{display:grid;grid-template-columns:75px 1fr;gap:7px 10px;margin:0}.preorder-order-card dt{font-size:9px;color:var(--muted);text-transform:uppercase}.preorder-order-card dd{margin:0;font-size:11px;line-height:1.4}.menu-create-grid{margin-top:16px}
@media(max-width:1000px){.booking-preorder-fields{grid-template-columns:1fr 170px}.preorder-link-actions{grid-column:1/-1}.ai-import-box{grid-template-columns:1fr 1fr}.ai-import-box>div:first-child{grid-column:1/-1}.preorder-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.booking-preorder-head{flex-direction:column}.booking-preorder-fields{grid-template-columns:1fr}.preorder-link-actions{grid-column:auto}.preorder-link-actions button{width:100%}.ai-import-box{grid-template-columns:1fr}.ai-import-box>div:first-child,.ai-import-box .form-message{grid-column:auto}.ai-import-box button{width:100%}.menu-editor-head{flex-direction:column}.menu-editor-head button{width:100%}.menu-item-row{grid-template-columns:1fr 1fr}.menu-item-row .menu-item-name{grid-column:1/-1}.menu-item-row .item-wide{grid-column:1/-1}.menu-item-row .item-remove{grid-column:2;grid-row:1}.menu-card-grid{grid-template-columns:1fr}.preorder-stats{grid-template-columns:1fr 1fr}.preorder-order-list{grid-template-columns:1fr}}
@media(max-width:430px){.preorder-stats{grid-template-columns:1fr}.menu-item-row{grid-template-columns:1fr}.menu-item-row .item-remove{grid-column:1;grid-row:auto;justify-self:end}.menu-item-row .menu-item-name,.menu-item-row .item-wide{grid-column:1}}


/* V10 recurring online booking blocks */
.online-block-card{grid-column:1/-1}
.online-block-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.7fr) auto;gap:12px;align-items:end;margin:18px 0 20px}
.online-block-form label{display:grid;gap:7px;font-size:12px;font-weight:700;color:var(--muted)}
.online-block-form input,.online-block-form select{min-height:46px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 12px;color:var(--ink);font:inherit}
.online-block-form .form-message{grid-column:1/-1;margin:0}
.online-block-list{display:grid;gap:8px}
.online-block-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.55)}
.online-block-row span{display:grid;gap:2px}.online-block-row strong{font-size:14px}.online-block-row small{color:var(--muted)}
@media(max-width:720px){.online-block-form{grid-template-columns:1fr}.online-block-row{align-items:flex-start}.online-block-row .secondary-btn{flex:0 0 auto}}

/* V10.2 - Waggon Way table combinations */
.allocation-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:22px 24px;border:1px solid var(--line,#e7e0d4);border-radius:20px;background:#fffdf8;box-shadow:0 12px 34px rgba(33,27,17,.05)}
.allocation-banner h2{margin:4px 0 7px;font-size:22px}.allocation-banner p{margin:0;max-width:900px;color:var(--muted,#6e6a62);line-height:1.55}.allocation-banner.live{background:#f7fbf6;border-color:#cfe0cb}.allocation-banner.setup{background:#fffaf0;border-color:#ead8ac}
.floor-combination-panel{margin-top:18px}.floor-combination-panel .panel-copy{margin:4px 0 14px}.combination-list{display:grid;gap:9px}.combination-card{appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line,#e7e0d4);background:#fff;border-radius:14px;padding:12px 13px;text-align:left;cursor:pointer;color:inherit;transition:.16s ease}.combination-card:hover{border-color:#cfb047;transform:translateY(-1px);box-shadow:0 8px 18px rgba(33,27,17,.06)}.combination-card span{display:grid;gap:3px}.combination-card strong{font-size:13px}.combination-card small{color:var(--muted,#777168);font-size:11px}.combination-card b{font-size:11px;color:#9a7611;text-transform:uppercase;letter-spacing:.08em}.combination-empty{display:grid;gap:4px;padding:14px;border:1px dashed #d8cdbb;border-radius:14px;background:#fbfaf7}.combination-empty strong{font-size:13px}.combination-empty span{font-size:11px;color:var(--muted,#777168);line-height:1.45}
.combination-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0 12px;max-height:330px;overflow:auto;padding-right:3px}.combination-check{display:flex!important;align-items:center;gap:10px;border:1px solid var(--line,#e7e0d4);border-radius:14px;padding:11px 12px;background:#fff;cursor:pointer}.combination-check:has(input:checked){border-color:#c8a42e;background:#fff9e6;box-shadow:inset 0 0 0 1px rgba(200,164,46,.2)}.combination-check input{width:18px;height:18px;accent-color:#c8a42e;flex:0 0 auto}.combination-check span{display:grid;gap:2px}.combination-check strong{font-size:13px}.combination-check small{font-size:11px;color:var(--muted,#777168)}.combination-preview{padding:10px 12px;border-radius:12px;background:#f6f3ed;color:#5e584e;font-size:12px;margin-bottom:14px}.combination-fields{align-items:end}.combination-active-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:14px;min-height:46px;border:1px solid var(--line,#e7e0d4);border-radius:12px;padding:0 13px;background:#fff}.combination-active-toggle input{width:19px;height:19px;accent-color:#c8a42e}.small-note{font-size:12px!important}
@media(max-width:900px){.allocation-banner{align-items:flex-start;flex-direction:column}.allocation-banner button{width:100%}.combination-check-grid{grid-template-columns:1fr}}


/* V10.3 - staff-only assigned table visibility */
.table-assignment-chip{display:inline-flex;align-items:center;max-width:190px;border-radius:999px;padding:6px 9px;background:#edf3f6;color:#274b60;font-size:10px;font-weight:800;line-height:1.15;white-space:normal}
.booking-management-table td .table-assignment-chip{justify-content:center}
.timeline-booking .tb-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arrival-card small{line-height:1.35}
@media(max-width:760px){.table-assignment-chip{max-width:130px;font-size:9px;padding:5px 7px}}

/* Email delivery audit / resend */
.message-row-actions{display:grid;justify-items:end;gap:8px;min-width:150px}
.message-row-actions .secondary-btn{min-height:34px;padding:7px 10px;font-size:9px;white-space:nowrap}
@media(max-width:760px){
  .message-row{grid-template-columns:40px 1fr;align-items:start}
  .message-row-actions{grid-column:2;justify-items:start;min-width:0;width:100%}
  .message-row-actions time{order:2}
}


/* V14B - verified email delivery colours */
.comms-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.delivery-key{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.delivery-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.02em;border:1px solid transparent}
.delivery-badge.delivered{background:#e7f7ed;color:#17643a;border-color:#bfe5cc}
.delivery-badge.queued{background:#fff4dd;color:#8a5700;border-color:#efd49a}
.delivery-badge.failed{background:#fde9e7;color:#a12820;border-color:#f1bcb7}
.delivery-badge.legacy{background:#f0f1f2;color:#656a70;border-color:#d9dcdf}
.message-row.delivery-delivered{border-left:4px solid #2f8f57;background:#f8fcf9}
.message-row.delivery-queued{border-left:4px solid #d28a14;background:#fffdf8}
.message-row.delivery-failed{border-left:4px solid #bf3d35;background:#fff9f8}
.message-row.delivery-legacy{border-left:4px solid #a7adb3}
.delivery-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px}
.delivery-detail{display:inline!important;color:var(--muted)!important;max-width:700px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){.comms-head-actions{width:100%}.comms-head-actions button{flex:1}.comms-delivery-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.delivery-detail{flex-basis:100%}}


/* V15 — live table-by-table planner, walk-ins and manual table control */
.quick-walkin-top{border-color:#9db9ae;background:#eef5f1;color:#214d40}
.status-action-panel-top{margin-top:12px;margin-bottom:14px;background:#fffdf8}.status-action-panel-top .status-action-grid{margin-bottom:0}
.booking-table-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #c9d8d2;background:#f2f7f4;border-radius:14px;padding:13px 14px;margin:0 0 14px}.booking-table-panel>div{display:grid;gap:3px}.booking-table-panel strong{font-size:16px}.booking-table-panel small{color:var(--muted);line-height:1.35}.table-assignment-chip.virtual{background:#eee9f6;color:#5d4773}
.planner-shell-v15{grid-template-columns:minmax(0,1fr) 285px;align-items:start}.planner-panel-v15{min-width:0}.planner-toolbar-actions{display:flex!important;gap:8px!important}.planner-stats{margin-bottom:0}
.service-planner-scroll{overflow:auto;max-height:calc(100vh - 300px);min-height:360px;border:1px solid var(--line);border-radius:15px;background:#fff;overscroll-behavior:contain}.service-planner-stage{position:relative;background:#fff}.service-planner-header,.service-capacity-row,.service-planner-row{display:grid;grid-template-columns:132px auto;min-height:48px}.service-planner-header{position:sticky;top:0;z-index:12;min-height:44px;background:#faf8f2;border-bottom:1px solid var(--line)}.service-capacity-row{min-height:31px;background:#fdfcf8;border-bottom:1px solid #ebe8df;position:sticky;top:44px;z-index:10}.service-table-heading,.service-table-label{position:sticky;left:0;z-index:9;background:#fbfaf6;border-right:1px solid var(--line);padding:8px 9px}.service-table-heading{display:flex;align-items:center;font-size:10px;font-weight:800;color:#67716d;text-transform:uppercase;letter-spacing:.05em;z-index:14}.service-table-label{display:flex;align-items:center;justify-content:space-between;gap:6px;border-bottom:1px solid #ece9e1;min-width:132px}.service-table-label span{display:grid;gap:1px;min-width:0}.service-table-label strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-table-label small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-time-track,.service-row-track,.service-capacity-track{position:relative;min-height:100%}.service-time-track{height:44px;background:#faf8f2}.service-row-track{height:48px;border-bottom:1px solid #ece9e1;background:#fff}.service-capacity-track{height:31px}.service-time-grid{position:absolute;top:0;bottom:0;border-left:1px solid #f0eee8;pointer-events:none}.service-time-grid.hour{border-left-color:#d8d6ce}.service-time-label{position:absolute;top:0;transform:translateX(4px);padding-top:13px;font-size:8px;font-weight:700;color:#77807c;white-space:nowrap}.service-time-label.hour{font-size:9px;color:#525b57}.service-capacity-slot{position:absolute;top:7px;height:16px;border-radius:4px;background:#dfe8e2}.service-capacity-slot.medium{background:#f2dfaa}.service-capacity-slot.full{background:#efb1a6}.service-now-line{position:absolute;top:0;bottom:0;border-left:2px solid #bb4939;z-index:5;pointer-events:none}.service-now-line span{position:absolute;top:1px;left:3px;background:#bb4939;color:#fff;font-size:7px;font-weight:800;border-radius:4px;padding:2px 4px}.service-booking{position:absolute;top:5px;height:38px;border:0;border-left:4px solid #5b927e;border-radius:7px;background:#e7f0ec;color:#22483c;padding:4px 7px;text-align:left;overflow:hidden;cursor:pointer;box-shadow:0 2px 6px rgba(16,34,53,.08);z-index:4}.service-booking:hover{filter:brightness(.98);z-index:7;box-shadow:0 6px 14px rgba(16,34,53,.14)}.service-booking span{display:block;font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.service-booking small{display:block;font-size:7.5px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.service-booking.arrived{background:#fff0c9;color:#70531c;border-left-color:#d9a43c}.service-booking.seated{background:#dcebe6;color:#205849;border-left-color:#2d7b69}.service-booking.completed{background:#e6e8ea;color:#48505a;border-left-color:#899096}.service-booking.no_show{background:#eadff2;color:#614174;border-left-color:#8c61a1}.service-booking.cancelled{background:#f8ded8;color:#943f2e;border-left-color:#d75f48;opacity:.55}.service-booking.virtual-booking{background:#eee9f6;color:#57436c;border-left-color:#7d66a0}.service-booking.combination-booking{box-shadow:inset 0 0 0 1px rgba(36,75,63,.18),0 2px 6px rgba(16,34,53,.08)}.service-planner-row.virtual .service-table-label{background:#f6f2fa}.service-planner-row.unassigned .service-table-label{background:#fff4e7}.table-live-badge{font-size:7px;text-transform:uppercase;letter-spacing:.04em;padding:3px 5px;border-radius:999px;background:#e8eee9;color:#4c6559;white-space:nowrap}.table-live-badge.occupied{background:#f7ddd8;color:#8f3f32}.key-virtual:before{background:#7d66a0!important}
.quick-walkin-fields{margin-top:18px}.quick-walkin-option-head{display:grid;gap:4px;margin:18px 0 10px}.quick-walkin-option-head small{color:var(--muted);line-height:1.45}.quick-walkin-options{display:grid;gap:8px;min-height:60px}.quick-option{appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:12px 13px;text-align:left;color:inherit;cursor:pointer}.quick-option span{display:grid;gap:3px}.quick-option strong{font-size:13px}.quick-option small{font-size:10px;color:var(--muted)}.quick-option b{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#49645a}.quick-option.selected{border-color:#4f8a76;background:#eef7f2;box-shadow:inset 0 0 0 1px #4f8a76}.quick-option.virtual{border-style:dashed}.quick-option.virtual.selected{border-style:solid;background:#f3eef8;border-color:#7d66a0;box-shadow:inset 0 0 0 1px #7d66a0}.quick-option.unavailable,.quick-option:disabled{opacity:.52;cursor:not-allowed}.quick-option-divider{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:7px 2px 0}
.assignment-auto-card{appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #b9d2c8;border-radius:13px;background:#eef6f2;padding:13px 14px;text-align:left;color:inherit;cursor:pointer;margin:15px 0}.assignment-auto-card span{display:grid;gap:3px}.assignment-auto-card small{color:var(--muted)}.assignment-auto-card b{font-size:9px;text-transform:uppercase;letter-spacing:.06em}.table-assignment-options{display:grid;gap:17px;max-height:52vh;overflow:auto;padding-right:3px}.assignment-group{display:grid;gap:8px}.assignment-group h3{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#69716d}.assignment-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.assignment-option{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:11px 12px;text-align:left;color:inherit;cursor:pointer}.assignment-option span:first-child{display:grid;gap:2px;min-width:0}.assignment-option strong{font-size:12px}.assignment-option small{font-size:9px;color:var(--muted)}.assignment-option.current{border-color:#4f8a76;background:#eef7f2}.assignment-option.recommended:not(.current){border-color:#d3b150;background:#fff9e8}.assignment-option:disabled{opacity:.48;cursor:not-allowed}.assignment-option-flags{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.assignment-option-flags b{font-size:7px;text-transform:uppercase;letter-spacing:.04em;padding:3px 5px;border-radius:999px;background:#edf0ed;color:#5f6c65}.data-toolbar-actions{display:flex;gap:8px;align-items:center}
@media(max-width:1400px){.planner-shell-v15{grid-template-columns:1fr}.planner-side .panel{position:static}.planner-side{max-height:260px;overflow:auto}.service-planner-scroll{max-height:calc(100vh - 360px)}}
@media(max-width:760px){.service-planner-header,.service-capacity-row,.service-planner-row{grid-template-columns:106px auto}.service-table-label,.service-table-heading{min-width:106px}.service-table-label{padding:6px}.service-table-label strong{font-size:10px}.service-table-label small{font-size:7px}.planner-toolbar-actions{width:100%}.planner-toolbar-actions button{flex:1}.assignment-option-list{grid-template-columns:1fr}.booking-table-panel{align-items:stretch;flex-direction:column}.booking-table-panel button{width:100%}.data-toolbar-actions{width:100%}.data-toolbar-actions button{flex:1}.topbar-actions #quickWalkInBtn{width:100%}.status-action-grid{grid-template-columns:repeat(3,1fr)!important}.service-planner-scroll{max-height:55vh}}
@media(max-width:430px){.status-action-grid{grid-template-columns:repeat(2,1fr)!important}.quick-walkin-fields{grid-template-columns:1fr}.planner-stats{grid-template-columns:1fr 1fr}.service-planner-scroll{max-height:52vh}}

/* V16 - arbitrary multi-table seating + planner end-of-service fit */
.table-selection-summary{display:grid;gap:3px;padding:10px 12px;margin:9px 0 12px;border:1px solid var(--line);border-radius:11px;background:#faf9f5}.table-selection-summary strong{font-size:12px}.table-selection-summary small{font-size:10px;color:var(--muted);line-height:1.45}.table-selection-summary.capacity-override{border-color:#d6ae43;background:#fff8df}.table-selection-summary.capacity-override strong{color:#7a5710}.table-selection-summary.capacity-override small{color:#725b28}
.multi-table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.multi-table-option{appearance:none;border:1px solid var(--line);background:#fff;border-radius:12px;min-height:64px;padding:10px 11px;display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;color:inherit;cursor:pointer}.multi-table-option:hover:not(:disabled){border-color:#94aa9f;background:#f8fbf9}.multi-table-option.selected{border-color:#4f8a76;background:#edf7f2;box-shadow:inset 0 0 0 1px #4f8a76}.multi-table-option.recommended:not(.selected){border-color:#a8c0b6}.multi-table-option.unavailable,.multi-table-option:disabled{opacity:.52;cursor:not-allowed;background:#f7f5f0}.multi-table-check{width:23px;height:23px;border:1px solid #b9c3bd;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;background:#fff}.multi-table-option.selected .multi-table-check{background:#4f8a76;border-color:#4f8a76;color:#fff}.multi-table-copy{display:grid;gap:2px;min-width:0}.multi-table-copy strong{font-size:12px}.multi-table-copy small{font-size:9px;color:var(--muted);white-space:normal;line-height:1.35}.multi-table-flags{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.multi-table-flags b{font-size:7px;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:3px 5px;background:#e6eee9;color:#486256;white-space:nowrap}.booking-new-table-panel{border-style:dashed}.service-time-label.closing{transform:translateX(-100%);padding-right:4px;text-align:right}.service-planner-stage{max-width:none}.service-planner-scroll{background:#fff}
@media(max-width:760px){.multi-table-grid{grid-template-columns:1fr}.multi-table-option{grid-template-columns:25px minmax(0,1fr)}.multi-table-flags{grid-column:2;justify-content:flex-start}}

/* V17 - service-speed booking list, text-first statuses and staff duration controls */
.field-help{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.35}
.booking-status-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}.booking-filter-btn{appearance:none;border:1px solid var(--line);background:#fff;border-radius:12px;min-height:42px;padding:8px 12px;display:flex;align-items:center;gap:9px;cursor:pointer;color:var(--ink)}.booking-filter-btn strong{font-size:12px}.booking-filter-btn span{min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#eef0ed;display:grid;place-items:center;font-size:10px;font-weight:800}.booking-filter-btn.active{border:2px solid var(--ink);background:#f7f5ef;padding:7px 11px}.booking-filter-btn.active span{background:var(--ink);color:#fff}.booking-filter-help{margin:0 0 14px;padding:10px 12px;border:1px solid #dcd8cd;border-radius:11px;background:#fbfaf6;color:#5f6663;font-size:10px;line-height:1.45}.booking-filter-help strong{color:var(--ink)}
.booking-management-table-v17{min-width:1280px}.booking-management-table-v17 td:last-child{min-width:250px}.booking-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.service-row-btn{appearance:none;border:1px solid var(--line);background:#fff;border-radius:9px;min-height:34px;padding:7px 9px;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}.service-row-btn.seat{background:#d4af37;border-color:#bf9824;color:#17232c}.service-row-btn.complete{background:#17232c;border-color:#17232c;color:#fff}.service-row-btn.extend{background:#fff8df;border-color:#d6ae43;color:#6f5310}.service-row-btn:disabled,.row-manage:disabled{opacity:.55;cursor:wait}.status-text-v17{display:inline-flex;align-items:center;gap:5px;border:1px solid #ccd1cd;border-radius:999px;background:#fff;padding:6px 9px;font-size:9px;font-weight:900;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}.status-text-v17:before{content:'•';font-size:15px;line-height:0}.status-text-v17.seated{border-width:2px;border-color:#315a50;background:#edf5f1}.status-text-v17.completed{border-style:dashed;background:#f1f2f2}.status-text-v17.arrived{border-color:#b48a2a;background:#fff8e4}.status-text-v17.cancelled,.status-text-v17.no_show{border-color:#a74e3e;background:#fff2ef}.booking-status-row.seated-row-v17 td{border-top:2px solid #77857f;border-bottom:2px solid #77857f}.booking-status-row.status-completed td{background:#f8f8f6}.booking-status-row.status-completed .ref{text-decoration:line-through;text-decoration-thickness:1px}.booking-status-row td:first-child small{color:var(--muted);font-weight:700}.quick-walkin-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.booking-status-filters{display:grid;grid-template-columns:1fr 1fr}.booking-filter-btn{justify-content:space-between}.booking-row-actions{min-width:210px}.quick-walkin-fields{grid-template-columns:1fr 1fr}.quick-walkin-fields label:last-child{grid-column:1/-1}}
@media(max-width:560px){.booking-status-filters{grid-template-columns:1fr 1fr}.booking-filter-help{font-size:9px}.quick-walkin-fields{grid-template-columns:1fr}.quick-walkin-fields label:last-child{grid-column:auto}}

/* V18 booking operations */
.bookings-toolbar-v18{margin-top:18px}.booking-off-btn{white-space:nowrap}.booking-off-btn.is-off{border-color:#b4493f;color:#8f2f28;background:#fff7f5}.customer-notes-cell{min-width:210px;max-width:320px;white-space:normal;line-height:1.4;color:#4c4a45}.service-row-btn.message{background:#edf5fb;border-color:#bfd6e8;color:#234e6a}.booking-customer-suggestions{margin:-4px 0 18px;border:1px solid #d9d4ca;border-radius:12px;background:#fffdf9;overflow:hidden;box-shadow:0 10px 30px rgba(20,30,40,.08)}.booking-customer-suggestions.hidden{display:none}.customer-suggestion-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f6f3ec;border-bottom:1px solid #e4dfd5}.customer-suggestion-head strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.customer-suggestion-head small,.customer-suggestion-none{font-size:12px;color:#6f6a62}.customer-suggestion-none{padding:13px 14px}.customer-suggestion{width:100%;display:flex;justify-content:space-between;gap:14px;align-items:center;border:0;border-bottom:1px solid #eee9df;background:#fffdf9;padding:12px 14px;text-align:left;cursor:pointer}.customer-suggestion:last-child{border-bottom:0}.customer-suggestion:hover{background:#f6fafc}.customer-suggestion span{display:flex;flex-direction:column;gap:3px}.customer-suggestion small{color:#777168}.customer-suggestion b{font-size:11px;color:#567083;white-space:nowrap}.preorder-menu-picker{display:flex;flex-direction:column;gap:8px}.preorder-menu-picker>span{font-size:12px;font-weight:700}.preorder-menu-picker>small{font-size:11px;color:#6e6a62}.preorder-menu-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.preorder-menu-check{display:flex;gap:10px;align-items:flex-start;border:1px solid #ddd8ce;border-radius:10px;padding:10px 12px;background:#fff}.preorder-menu-check input{margin-top:3px}.preorder-menu-check span{display:flex;flex-direction:column;gap:2px}.preorder-menu-check strong{font-size:13px}.preorder-menu-check small{font-size:11px;color:#706b63;line-height:1.35}.preorder-menu-check.inactive{opacity:.65}.booking-communication-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.customer-message-card{max-width:620px}.customer-message-text{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700}.customer-message-text textarea{width:100%;resize:vertical;min-height:120px}.preorder-menu-name-chip{display:inline-block;border:1px solid #d7dfd9;border-radius:999px;background:#f3f7f4;padding:4px 8px;font-size:11px;margin:2px 3px 2px 0}
@media(max-width:900px){.preorder-menu-checks{grid-template-columns:1fr}.booking-communication-actions{width:100%;justify-content:flex-start}.bookings-toolbar-v18 .data-toolbar-actions{align-items:stretch}.booking-off-btn{width:100%}}

/* V19 - inline lookup, in-app closure confirmation, editable menus and first-party chat */
.inline-customer-suggestions{position:relative!important;margin:6px 0 0!important;width:100%;z-index:30;box-shadow:0 12px 34px rgba(20,30,40,.14)!important}.form-grid label:has(.inline-customer-suggestions){position:relative;z-index:31}.inline-customer-suggestions .customer-suggestion-head{padding:8px 10px}.inline-customer-suggestions .customer-suggestion{padding:9px 10px}.inline-customer-suggestions .customer-suggestion small{white-space:normal;overflow-wrap:anywhere}.compact-confirm-card{max-width:540px}.compact-confirm-card .modal-intro{font-size:15px;line-height:1.65}.customer-chat-card{max-width:760px}.customer-chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.customer-chat-thread{display:flex;flex-direction:column;gap:10px;min-height:180px;max-height:360px;overflow:auto;padding:14px;border:1px solid #ded9cf;border-radius:12px;background:#f7f4ed;margin:14px 0}.staff-chat-bubble{max-width:82%;padding:11px 13px;border-radius:12px;background:#fff;border:1px solid #ded8cd;align-self:flex-start;white-space:pre-wrap;line-height:1.45}.staff-chat-bubble.guest{align-self:flex-end;background:#17344a;color:#fff;border-color:#17344a}.staff-chat-bubble small{display:block;margin-top:6px;font-size:10px;opacity:.68}.customer-chat-compose{display:flex;flex-direction:column;gap:8px}.customer-chat-compose-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-unread-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:2px 6px;border-radius:999px;background:#b53d33;color:#fff;font-size:10px;font-weight:800;line-height:1.3}.planner-chat-unread{position:absolute;top:4px;right:4px;z-index:4;background:#b53d33;color:#fff;border-radius:999px;padding:2px 5px;font-size:9px;font-weight:800;box-shadow:0 1px 4px rgba(0,0,0,.18)}.service-booking{position:absolute}.menu-card-actions [data-menu-edit]{border-color:#b9cbd7;background:#f5fafc}.customer-chat-compose textarea{min-height:94px}@media(max-width:700px){.customer-chat-head{flex-direction:column}.customer-chat-head #copyCustomerChatLink{width:100%}.staff-chat-bubble{max-width:92%}.customer-chat-compose-actions{align-items:stretch;flex-direction:column}.customer-chat-compose-actions button{width:100%}}
