:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f6f1fa;background:#0b080e;--lime:#8cff32;--pink:#f542ab;--muted:#bcb0c7;--line:#33253e;--panel:#17111e;color-scheme:dark}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--lime)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#241a2e;color:inherit;border-radius:9px;min-height:44px;padding:10px 16px;font-weight:650}button:hover{border-color:var(--lime)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{color:#0b080e;background:var(--lime);border-color:var(--lime)}button.danger{color:#ffb5c2;border-color:#87334a}button.small{font-size:13px;padding:7px 12px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--lime);outline-offset:3px}input,select,textarea{border:1px solid #544260;background:#100c16;color:inherit;border-radius:8px;padding:12px;width:100%;min-height:46px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--lime);flex-shrink:0}label{display:grid;gap:7px;font-size:14px;color:#ded4e6}label.check{display:flex;align-items:flex-start;gap:10px;line-height:1.6}input[type=date]{min-width:0}h1,h2,h3{line-height:1.05;letter-spacing:-.045em;margin:0 0 18px}h1{font-size:clamp(44px,6vw,78px);font-weight:850}h2{font-size:30px}h3{font-size:21px}p{line-height:1.65;margin:0 0 16px}.muted,small{color:var(--muted)}small{font-size:12px;line-height:1.6}header{max-width:1450px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:22px 4%;gap:24px}.brand{display:grid;gap:6px}.brand img{width:164px;height:53px;object-fit:contain}.brand span{font-size:8px;letter-spacing:2px;color:var(--muted)}nav{display:flex;align-items:center;gap:24px;font-size:13px}main{max-width:1380px;margin:auto;padding:48px 4% 70px}.stage-banner{text-align:center;background:#27202e;color:#d4c1e3;font-size:12px;padding:10px}.kicker{text-transform:uppercase;color:var(--lime);letter-spacing:2px;font-size:11px;font-weight:750;margin-bottom:18px}.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;margin-bottom:40px}.intro>div>p{max-width:540px;color:var(--muted);font-size:17px}.intro h1 em{font-style:normal;color:var(--lime)}.rule-card{border:1px solid #53415e;border-radius:18px;padding:26px;background:linear-gradient(130deg,#261332,#16101d)}.rule{display:flex;gap:15px;padding:13px 0}.rule+.rule{border-top:1px solid #463151}.rule b{font-size:18px}.rule span{font-size:13px;color:var(--muted)}.rule .number{color:var(--pink);font-weight:800;font-size:24px;min-width:50px}.booking-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:24px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.section-head h2,.section-head h3{margin:0}.step{font-size:11px;letter-spacing:1.5px;color:var(--pink);text-transform:uppercase;margin-bottom:10px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid .full{grid-column:1/-1}form{display:grid;gap:20px}.tabs{display:flex;gap:8px;margin:20px 0}.tabs button[aria-selected=true]{background:var(--lime);color:#111}.floor-wrap{max-height:650px;overflow:auto;background:#100c15;border:1px solid #31223b;border-radius:12px;position:relative}.floor-svg{display:block;width:100%;height:auto;min-width:280px;max-height:none}.floor-svg .landmark{fill:#231a2d;stroke:#4b3758;stroke-width:2}.floor-svg .path{stroke:#47314e;stroke-width:4;fill:none;stroke-dasharray:8 8}.floor-svg .table{fill:#27331c;stroke:#709542;stroke-width:3;cursor:pointer}.floor-svg .table.full{fill:#3b2030;stroke:#9b426c}.floor-svg .table.closed{fill:#25232a;stroke:#5c5365}.floor-svg .table.selected{fill:#8cff32;stroke:#fff;stroke-width:5}.floor-svg .label{fill:#f6f1fa;font-size:19px;font-weight:650;pointer-events:none}.floor-svg .selected-label{fill:#111}.floor-svg .seats{fill:#c0a8ce;font-size:15px;pointer-events:none}.floor-svg .landmark-label{fill:#90779f;font-size:24px;letter-spacing:3px;text-anchor:middle}.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:16px 0}.legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#709542;margin-right:7px}.legend span:nth-child(2):before{background:#9b426c}.legend span:nth-child(3):before{background:#8cff32}.selected-list{color:var(--lime);font-size:13px;line-height:1.6;min-height:21px}.table-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px;max-height:340px;overflow:auto}.table-list button{font-size:12px;padding:8px}.table-list button.active{border-color:var(--lime);color:var(--lime)}details{margin:12px 0}summary{cursor:pointer;color:var(--muted);font-size:13px;padding:10px 0}.notice{background:#2b2234;border-left:3px solid var(--pink);padding:14px;border-radius:4px;font-size:13px;line-height:1.6}.notice.success{border-color:var(--lime)}.error{color:#ffb8cd}.error:empty{display:none}.honeypot{position:absolute;left:-10000px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions .primary{flex-grow:1}.submit{width:100%;padding:16px;font-size:15px}.staff-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.staff-heading h1{font-size:44px;margin-bottom:8px}.staff-heading p{margin:0;font-size:13px;color:var(--muted)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:24px}.toolbar input{max-width:180px}.toolbar .search{max-width:280px}.toolbar select{max-width:170px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}.stat{background:var(--panel);border:1px solid var(--line);padding:20px;border-radius:12px}.stat strong{display:block;font-size:34px;color:var(--lime);line-height:1.2}.stat span{font-size:12px;color:var(--muted)}.staff-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:24px;align-items:start}.booking-card{border-bottom:1px solid var(--line);padding:20px 0;display:grid;gap:10px}.booking-card:first-child{padding-top:0}.booking-card:last-child{border:0}.booking-card .top{display:flex;justify-content:space-between;align-items:center;gap:15px}.booking-card h3{margin:0;font-size:20px}.booking-card .meta{font-size:12px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap}.badge{font-size:10px;padding:5px 9px;border:1px solid #725381;border-radius:30px;text-transform:uppercase;letter-spacing:.7px;white-space:nowrap}.badge.confirmed,.badge.seated,.badge.arrived{color:var(--lime);border-color:#658b3b}.badge.requested{color:#ffbce4;border-color:#a55287}.badge.cancelled,.badge.released,.badge.no_show{color:#a89bad}.tag{font-size:11px;color:#ffc0cd}.empty{text-align:center;color:var(--muted);padding:40px 14px}.login{max-width:460px;margin:25px auto}.login h1{font-size:38px}.login p{font-size:14px;color:var(--muted)}dialog{background:#17111e;color:inherit;border:1px solid #654371;border-radius:16px;width:680px;max-width:calc(100vw - 24px);max-height:90vh;padding:28px}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:24px}.dialog-head h2{font-size:28px;margin:0}.dialog-head button{padding:6px 12px}.dialog-body{display:grid;gap:18px}.dialog-body pre{white-space:pre-wrap;font:13px/1.7 ui-monospace,monospace;word-break:break-word;max-height:400px;overflow:auto}.row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.row>div{min-width:0;overflow-wrap:anywhere}.row small{display:block}.print-svg{background:white;border-radius:8px;color:black}.print-svg svg{width:100%;max-height:500px}#connection{position:sticky;top:0;z-index:9;background:#87334a;padding:12px;text-align:center;font-size:13px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90%;z-index:40;background:#8cff32;color:#101608;padding:14px 22px;border-radius:12px;box-shadow:0 10px 40px #0008;font-size:14px}.loading{text-align:center;color:var(--muted);padding:70px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:24px 4%;font-size:11px;color:var(--muted)}.skip{position:absolute;top:-100px;padding:10px;background:var(--lime);color:black;z-index:50}.skip:focus{top:10px}.privacy{max-width:760px;margin:auto}.privacy h1{font-size:46px}.privacy h2{font-size:24px;margin-top:30px}.print-heading{display:none}@media(max-width:900px){.booking-layout,.staff-layout{grid-template-columns:1fr}.intro{gap:24px;grid-template-columns:1fr}.intro h1{font-size:58px}.rule-card{display:grid;grid-template-columns:repeat(3,1fr);padding:16px}.rule{display:block;padding:5px 12px}.rule+.rule{border-top:0;border-left:1px solid #463151}.rule .number{margin-bottom:6px}.rule span{display:block}.staff-heading{align-items:start}.grid.three{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){header{padding:18px 5%;gap:10px}.brand img{width:128px;height:42px}nav{gap:12px;font-size:11px}nav a:first-child{display:none}main{padding:32px 5% 50px}.intro h1{font-size:48px}.intro>div>p{font-size:15px}.rule-card{display:block}.rule{display:flex;gap:16px}.rule+.rule{border-left:0;border-top:1px solid #463151}.panel{padding:18px}.grid,.grid.three{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:15px}.stat strong{font-size:29px}.staff-heading{display:block}.staff-heading .actions{margin-top:16px}.toolbar input,.toolbar .search,.toolbar select{max-width:none;flex:1;min-width:140px}.table-list{grid-template-columns:repeat(2,1fr)}footer{flex-wrap:wrap;font-size:10px}dialog{padding:20px}.floor-wrap{max-height:560px}.staff-heading h1{font-size:38px}.row{align-items:start}.booking-card .top{align-items:start}h2{font-size:26px}}@media print{body{background:white;color:black;font-size:12px}header,footer,.stage-banner,.toolbar,.stats,.staff-heading,.actions,.staff-layout>.panel:last-child,#toast,dialog{display:none!important}main,.panel{padding:0;margin:0;max-width:none;border:0;background:none}.staff-layout{display:block}.print-heading{display:block;margin-bottom:20px}.booking-card{break-inside:avoid;padding:12px 0;border-color:#bbb}.muted,small,.booking-card .meta{color:#333}.booking-card h3{font-size:16px}.tag{color:#333}.booking-card .top{justify-content:start;gap:20px}}
.floor-svg{min-width:0}.section-head{flex-wrap:wrap}.rule .number{min-width:74px}fieldset{border:1px solid var(--line);border-radius:8px;min-width:0}legend{font-size:13px;color:var(--muted)}@media(max-width:550px){.rule .number{min-width:74px}.rule b{font-size:17px}}

@media print{.badge{display:inline-block!important;color:#222!important;border-color:#888!important}.badge:before{content:"Status: "}}

.staff-tools{margin:0}.staff-tools .actions{padding:12px 0}.staff-tools[open]{flex-basis:100%}

.bar-map .floor-wrap{max-height:380px}.bar-map .section-head{margin-bottom:8px}.bar-map h3{font-size:20px}.bar-map>p{font-size:13px;color:var(--muted)}

@media(min-width:800px){dialog.booking-plan{width:1000px}.bar-booking-form{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}.bar-booking-form>.grid{grid-column:1;grid-row:1}.bar-booking-form>#bar-seat-summary{grid-column:1;grid-row:2}.bar-booking-form>.bar-map{grid-column:2;grid-row:1/span 4}.bar-booking-form>details{grid-column:1;grid-row:3}.bar-booking-form>.error{grid-column:1;grid-row:4}.bar-booking-form>button[type=submit]{grid-column:1/-1}}
@media(min-width:800px){dialog.booking-plan{padding:24px}.booking-plan .dialog-head{margin-bottom:16px}.booking-plan .dialog-body{gap:12px}.booking-plan .dialog-body>p{margin-bottom:4px;font-size:14px}.bar-booking-form{gap:12px}.bar-map .tabs{margin:12px 0}.bar-map .floor-wrap{max-height:300px}}
@media(min-width:800px){.bar-booking-form>button[type=submit]{grid-column:1;grid-row:4}.bar-booking-form>.error{grid-row:5}.bar-booking-form>.bar-map{grid-row:1/span 5}}

/* Touch layouts retain the same booking workflow and seating rules. */
html{scroll-padding-top:16px}body{overflow-wrap:break-word}input,select,textarea{font-size:16px}button,a,summary{touch-action:manipulation}input,select,textarea,.panel,.dialog-body,form,.grid>label{min-width:0}dialog{max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}button{white-space:normal}.floor-wrap{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.table-hit{fill:transparent;stroke:none}.map-tools{display:flex;align-items:center;justify-content:space-between;gap:10px}.map-tools .tabs{flex-wrap:wrap}.map-fit,.map-hint{display:none}.booking-card h3{overflow-wrap:anywhere}.check{min-height:44px;align-items:center}summary{min-height:44px}#toast{bottom:max(16px,env(safe-area-inset-bottom))}
@media(max-width:1100px){.intro{grid-template-columns:1fr;gap:20px}.rule-card{display:block}.rule-card p:last-child{margin-bottom:0}.staff-heading{align-items:flex-start;flex-wrap:wrap}.staff-heading>.actions{width:100%}.staff-heading>.actions>button{flex:1;min-height:48px}.staff-layout{grid-template-columns:1fr}.booking-layout{grid-template-columns:1fr}.intro h1{font-size:clamp(36px,7vw,58px)}}
@media(min-width:700px) and (max-width:1100px){header,main{padding-left:24px;padding-right:24px}.staff-heading h1{font-size:38px}.toolbar .search{flex:1;max-width:none}.rule-card{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.rule-card p{margin:0}.booking-plan .bar-booking-form{gap:14px}.booking-plan .bar-map .floor-wrap{max-height:42dvh}}
@media(max-width:799px){dialog.booking-plan{padding:16px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);width:680px}.booking-plan .dialog-head{position:sticky;top:-16px;z-index:3;background:var(--panel);padding:12px 0;margin-bottom:12px}.booking-plan .dialog-head h2{font-size:24px}.booking-plan .dialog-body{gap:12px}.booking-plan .dialog-body>p{font-size:13px;margin:0}.bar-booking-form{gap:12px}.bar-booking-form>.grid{grid-template-columns:1fr 1fr;gap:12px}.bar-booking-form>.grid>label:first-child,.bar-booking-form>.grid>label:nth-child(2),.bar-booking-form>.grid>label:last-child{grid-column:1/-1}.bar-booking-form>.notice{margin:0}.bar-booking-form>.bar-map{min-width:0}.bar-map .floor-wrap{max-height:38dvh}.bar-map .section-head{align-items:center}.bar-map .section-head button{font-size:13px}.bar-booking-form>button[type=submit]{position:sticky;bottom:-16px;z-index:2;min-height:52px;box-shadow:0 -12px 20px var(--panel);margin-bottom:0}.bar-booking-form>details{margin:0}.bar-booking-form .legend{gap:12px;margin:12px 0}.bar-booking-form .selected-list{margin:0}.bar-booking-form .map-tools .tabs{margin:10px 0}}
@media(max-width:700px){header{padding:14px 16px;gap:12px;flex-wrap:wrap}.brand img{width:132px;height:42px}.brand span{font-size:7px}nav{gap:8px;font-size:12px;flex-wrap:wrap}nav a{display:flex;align-items:center;min-height:44px}main{padding:24px 16px 40px}.stage-banner{font-size:11px;padding:8px 16px}.intro{margin-bottom:24px}.intro h1{font-size:40px;margin-bottom:12px}.intro>div>p{font-size:15px;margin:0}.rule-card{padding:16px;font-size:13px}.rule-card p{margin-bottom:10px}.panel{padding:16px}.panel h2{font-size:24px}.staff-heading{margin-bottom:20px}.staff-heading h1{font-size:32px}.staff-heading .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.staff-heading .actions button{font-size:14px;padding:10px;min-height:56px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{padding:12px 8px}.stat strong{font-size:26px}.stat span{font-size:11px}.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toolbar input,.toolbar select,.toolbar .search{width:100%;max-width:none;min-width:0}.toolbar .search,.toolbar .staff-tools{grid-column:1/-1}.toolbar .staff-tools{grid-row:3}.toolbar .search{grid-row:2}.grid{gap:14px}.booking-card .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.booking-card .actions button{min-height:48px}.floor-svg{min-width:540px}.floor-wrap.fit-plan .floor-svg{min-width:0}.floor-wrap{max-height:55dvh}.map-tools .tabs{margin:12px 0}.map-fit{display:block;font-size:12px;padding:8px 10px}.map-hint{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.table-list button{font-size:13px;min-height:48px}.legend{gap:12px}.dialog-head h2{font-size:24px}.row{flex-wrap:wrap}.row>div{flex:1 1 200px}footer{padding:20px 16px;padding-bottom:max(20px,env(safe-area-inset-bottom));line-height:1.6}}
@media(max-width:360px){main{padding-left:12px;padding-right:12px}.panel{padding:12px}.staff-heading h1{font-size:29px}.map-tools{flex-wrap:wrap}.map-fit{margin-bottom:8px}}
@media(max-height:550px) and (orientation:landscape){dialog.booking-plan{max-height:calc(100dvh - 12px)}.bar-map .floor-wrap{max-height:50dvh}.staff-heading h1{font-size:30px}main{padding-top:20px}}
@media(min-width:600px) and (max-width:799px){.bar-booking-form>.grid>label:first-child,.bar-booking-form>.grid>label:nth-child(2){grid-column:auto}.bar-map .floor-wrap{max-height:42dvh}}
@media(max-height:550px) and (orientation:landscape){.bar-booking-form>button[type=submit]{position:sticky;bottom:-16px;z-index:2;min-height:48px;box-shadow:0 -10px 18px var(--panel)}}
body{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
@media(max-width:799px){dialog.booking-plan{max-width:calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right));max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}
@media(max-width:700px){.floor-svg .seats{font-size:24px}.floor-svg .landmark-label{font-size:26px}}

.floor-svg .table-number{fill:#f6f1fa;font-size:22px;font-weight:750;pointer-events:none}

/* Every seating view shows the complete plan, including booking dialogs. */
.floor-wrap,.bar-map .floor-wrap,.booking-plan .bar-map .floor-wrap{height:min(60dvh,650px);max-height:none;overflow:hidden;scrollbar-gutter:auto;display:flex;align-items:center;justify-content:center}
.floor-wrap .floor-svg,.floor-wrap.fit-plan .floor-svg{width:100%;height:100%;min-width:0;max-height:100%;flex:1}
.map-hint{display:block;font-size:13px;color:var(--muted);margin:0 0 10px}
.map-tools .tabs{margin:10px 0}.customer-tick{font-size:38px;font-weight:800;pointer-events:none}
body[data-mode=customer] .legend{font-size:13px;color:#ded4e6}
@media(max-width:700px){.floor-wrap,.bar-map .floor-wrap,.booking-plan .bar-map .floor-wrap{height:55dvh}}
@media(max-height:550px) and (orientation:landscape){.floor-wrap,.bar-map .floor-wrap,.booking-plan .bar-map .floor-wrap{height:65dvh}}

.ticket-preview{border:1px solid var(--line);border-radius:10px;padding:12px;margin:12px 0}.ticket-preview p{margin-bottom:8px}.ticket-preview .print-svg{margin-top:12px}

/* Customer booking starts with the form on phones; extra guidance stays optional. */
.booking-info{margin:0}.booking-info>summary{color:#ded4e6}.booking-info .rule-card{margin-top:8px}.booking-info .rule-card p:last-child{margin-bottom:0}
body[data-mode=customer] .intro{align-items:start}body[data-mode=customer] .floor-wrap{overscroll-behavior:auto}
body[data-mode=customer] .floor-svg .table{fill:#344e22;stroke:#add17f}
body[data-mode=customer] .floor-svg .table.full{fill:#54263d;stroke:#cb789d}
body[data-mode=customer] .floor-svg .table.selected{fill:var(--lime);stroke:#fff}
@media(max-width:700px){
 body[data-mode=customer] header{padding:10px 16px;flex-wrap:nowrap}
 body[data-mode=customer] header nav{display:none}
 body[data-mode=customer] main{padding:18px 12px 28px}
 body[data-mode=customer] .intro{gap:8px;margin-bottom:16px}
 body[data-mode=customer] .intro h1{font-size:32px;margin-bottom:8px}
 body[data-mode=customer] .intro .kicker{display:none}
 body[data-mode=customer] .intro>div>p{font-size:14px;line-height:1.5}
 body[data-mode=customer] .booking-info>summary{font-size:13px;padding:6px 0;min-height:44px}
 body[data-mode=customer] .panel{padding:16px 12px}
 body[data-mode=customer] .panel h2{font-size:23px;margin-bottom:16px}
 body[data-mode=customer] .booking-layout{gap:16px}
 body[data-mode=customer] input,body[data-mode=customer] select{min-height:50px}
 body[data-mode=customer] input[type=checkbox]{min-height:24px;width:24px}
 body[data-mode=customer] label{font-size:14px;line-height:1.4}
 body[data-mode=customer] .grid{grid-template-columns:1fr 1fr;gap:16px 12px;align-items:end}
 body[data-mode=customer] .grid>label:nth-child(3){grid-column:1/-1;grid-row:3}
 body[data-mode=customer] .grid>label:nth-child(4){grid-column:1/-1;grid-row:2}
 body[data-mode=customer] #seat-summary{font-size:14px;line-height:1.55;margin:4px 0}
 body[data-mode=customer] .check{line-height:1.5;gap:12px;align-items:flex-start;padding:8px 0}
 body[data-mode=customer] .submit{min-height:56px;font-size:17px;border-radius:10px}
 body[data-mode=customer] .table-list{grid-template-columns:1fr 1fr}
 body[data-mode=customer] footer{font-size:12px;padding:16px 12px}
}
@media(max-width:360px){body[data-mode=customer] main{padding-left:8px;padding-right:8px}body[data-mode=customer] .panel{padding:14px 10px}body[data-mode=customer] .grid{gap:14px 8px}body[data-mode=customer] .grid label{font-size:13px}}

/* Keep native phone date controls inside their grid track. */
.booking-evening-fields>label{min-width:0}
.booking-evening-fields input,.booking-evening-fields select{min-width:0;max-width:100%;width:100%}
.booking-evening-fields input[type=date]{display:block;min-inline-size:0;max-inline-size:100%;inline-size:100%;-webkit-appearance:none;appearance:none}
.booking-evening-fields input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
.booking-evening-fields input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}
@media(max-width:550px){body[data-mode=customer] .booking-evening-fields{grid-template-columns:minmax(0,1fr) 104px}body[data-mode=customer] .booking-evening-fields input[name=party]{padding-inline:10px}}
@media(max-width:360px){body[data-mode=customer] .booking-evening-fields{grid-template-columns:minmax(0,1fr) 88px}}

.date-control{position:relative;display:block;min-width:0;max-width:100%;height:50px}
.date-control input[type=date]{position:relative;z-index:1;display:block;opacity:0;width:100%;min-width:0;max-width:100%;height:100%;cursor:pointer}
.date-value{position:absolute;inset:0;display:flex;align-items:center;border:1px solid #544260;border-radius:8px;background:#100c16;color:#f6f1fa;padding:12px 30px 12px 12px;font-size:16px;white-space:nowrap;pointer-events:none}
.date-value::after{content:'▾';position:absolute;right:12px;color:var(--muted)}
.date-control:focus-within .date-value{outline:3px solid var(--lime);outline-offset:3px}
.toolbar>.date-control{width:180px;flex-shrink:0}
@media(max-width:550px){body[data-mode=customer] .booking-evening-fields input[name=party]{height:50px}.toolbar>.date-control{flex:1;min-width:140px}}

dialog.booking-plan #move-save{position:sticky;bottom:-16px;z-index:3;min-height:52px;box-shadow:0 -10px 18px var(--panel)}

.customer-seat-plan{margin-top:20px;min-width:0}.customer-seat-plan h3{font-size:20px;margin-bottom:8px}.customer-seat-plan .tabs{margin-top:12px}
