@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{--rail: #2B241B;--rail-2: #3A3228;--sky: #D6A188;--primary: #C0522D;--primary-dark: #A3441F;--sky-tint: #F9EFE6;--accent-tint: #FBF3EC;--st-confirmed: #3A6BD6;--st-seated: #178277;--st-due: #FFC107;--st-pending: #6A55CF;--st-cancelled: #CF2F62;--st-finished: #E4E9F0;--tint-blue: #E8EFFC;--ink-blue: #2F5BBF;--tint-teal: #E1F4F1;--ink-teal: #146F66;--tint-yellow: #FFF4D1;--ink-yellow: #6E5200;--tint-purple: #EEEBFB;--ink-purple: #5543B8;--tint-pink: #FCE7EE;--ink-pink: #B42856;--tint-grey: #EFE9DF;--ink-grey: #5A5248;--bg: #FDFBF7;--surface: #FFFFFF;--surface-2: #FAF7F1;--line: #EDE5D9;--line-strong: #DFD4C3;--text: #2F2418;--muted: #8B7F6F;--radius: 14px;--shadow: 0 1px 2px rgba(47, 36, 24, .05), 0 6px 24px rgba(47, 36, 24, .07);--shadow-sm: 0 1px 2px rgba(47, 36, 24, .05);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif: "Playfair Display", Georgia, "Times New Roman", serif;font-family:var(--font);color:var(--text);background:var(--bg);font-size:15px;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1,h2,h3,h4{letter-spacing:-.01em}h1{font-size:1.55rem;margin:0;font-weight:700}h2{font-size:1.15rem;margin:0 0 .5rem;font-weight:600}h3{font-size:1rem;margin:0 0 .75rem;font-weight:600}h4{font-size:.9rem;margin:1rem 0 .5rem;color:var(--muted);font-weight:600}a{color:var(--primary)}code{background:var(--surface-2);border:1px solid var(--line);padding:2px 6px;border-radius:6px;font-size:.8rem;word-break:break-all}::selection{background:var(--sky-tint)}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:8px 11px;width:100%}input:focus,select:focus,textarea:focus{outline:3px solid rgba(26,163,232,.3);outline-offset:0;border-color:var(--sky)}label{display:flex;flex-direction:column;gap:5px;font-size:.84rem;color:var(--muted);margin-bottom:10px;font-weight:500}label.check{flex-direction:row;align-items:center;gap:8px;color:var(--text)}label.check input{width:auto;accent-color:var(--primary)}label.narrow{max-width:180px}fieldset{border:0;padding:0;margin:0 0 18px}legend{font-weight:700;margin-bottom:8px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.btn{font:inherit;border:1px solid transparent;border-radius:7px;padding:8px 15px;cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .15s,border-color .15s,color .15s}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.primary:disabled{opacity:.5;cursor:default}.btn.ghost{background:var(--surface);border-color:var(--line-strong);color:var(--text)}.btn.ghost:hover{border-color:var(--primary);color:var(--primary)}.btn.danger{background:var(--st-cancelled);color:#fff}.btn.sm{padding:5px 10px;font-size:.82rem;border-radius:6px}.btn.wide{width:100%;margin-top:8px;padding:11px}.btn:focus-visible,.icon-btn:focus-visible,.chip:focus-visible,.seg button:focus-visible,.rail a:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.danger-text{color:var(--st-cancelled)!important}.warn-text{color:var(--ink-yellow)}.link{background:none;border:0;color:var(--primary);cursor:pointer;font:inherit;font-size:.85rem;padding:0 6px}.icon-btn{background:var(--surface);border:1px solid var(--line-strong);border-radius:7px;width:34px;height:34px;cursor:pointer;line-height:1;display:inline-grid;place-items:center;color:var(--text);font-size:1.2rem}.icon-btn:hover{border-color:var(--primary);color:var(--primary)}.icon-btn.plain{border-color:transparent;background:none}.muted{color:var(--muted)}.small{font-size:.82rem}.hint{font-size:.8rem;color:var(--muted);margin:4px 0 0}.error{color:var(--ink-pink);background:var(--tint-pink);padding:9px 12px;border-radius:8px;margin:8px 0}.notice{background:var(--tint-yellow);color:var(--ink-yellow);padding:9px 12px;border-radius:8px;margin:8px 0;font-size:.9rem}.empty{padding:48px 24px;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius)}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row.end{justify-content:flex-end}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d141e73;display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}.modal{background:var(--surface);border-radius:16px;border:1px solid var(--line-strong);box-shadow:0 20px 50px #0000002e;max-width:400px;width:100%;padding:22px}.modal h3{margin:0 0 8px}.modal>p{margin:0 0 16px;font-size:.92rem;color:var(--muted);line-height:1.5}.modal .error{margin:0 0 12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 12px}.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{font:inherit;border:1px solid var(--line-strong);background:var(--surface);border-radius:7px;min-width:42px;padding:7px 13px;cursor:pointer;color:var(--text);font-weight:500}.chip:hover{border-color:var(--primary)}.chip.on{background:var(--primary);color:#fff;border-color:var(--primary)}.chip small{opacity:.65}.tag{display:inline-block;font-size:.7rem;font-weight:700;background:var(--tint-purple);color:var(--ink-purple);border-radius:999px;padding:2px 8px;margin-left:6px}.tag.soft{background:var(--tint-grey);color:var(--ink-grey)}.tag.warn{background:var(--tint-pink);color:var(--ink-pink)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:600;border-radius:999px;padding:3px 10px;background:var(--tint-grey);color:var(--ink-grey)}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge.s-confirmed{background:var(--tint-blue);color:var(--ink-blue)}.badge.s-pending{background:var(--tint-purple);color:var(--ink-purple)}.badge.s-seated{background:var(--tint-teal);color:var(--ink-teal)}.badge.s-completed{background:var(--tint-grey);color:var(--ink-grey)}.badge.s-cancelled,.badge.s-no_show{background:var(--tint-pink);color:var(--ink-pink)}.logo{display:flex;align-items:center;gap:10px}.logo-word{font-weight:700;font-size:1.5rem;letter-spacing:-.03em;line-height:1;color:var(--rail)}.logo-sub{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:3px;font-weight:600}.public-shell{min-height:100vh;padding:40px 16px;display:flex;flex-direction:column;align-items:center;background:var(--bg)}.public-shell:before{content:"";position:fixed;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#c0522d,#c9a227 45%,#c0522d)}.card{background:var(--surface);border-radius:14px;box-shadow:var(--shadow);border:1px solid var(--line);padding:28px;width:100%;max-width:640px}.card.center{text-align:center}.booking-card section{margin-bottom:24px}.widget-head{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:20px}.widget-head .eyebrow{margin:0 0 4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--primary);font-weight:600}.widget-head h1{font-family:var(--font-serif);font-size:2.1rem;line-height:1.15;font-weight:600}.widget-head p{margin:4px 0 0}.step{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);margin-bottom:10px;font-weight:700}.date-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.date-pill{font:inherit;flex:0 0 60px;display:flex;flex-direction:column;align-items:center;padding:8px 0;border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;cursor:pointer;font-size:.74rem;color:var(--muted)}.date-pill strong{font-size:1.15rem;color:var(--text)}.date-pill:hover{border-color:var(--primary)}.date-pill.on{background:var(--sky);border-color:var(--sky);color:#fff}.date-pill.on strong{color:#fff}.inline-label{flex-direction:row;align-items:center;margin-top:10px}.inline-label input{width:auto}.period{margin-bottom:12px}.period-name{font-size:.84rem;font-weight:600;margin-bottom:6px}.chip.time{min-width:70px}.summary-line{background:var(--sky-tint);color:var(--primary-dark);padding:10px 14px;border-radius:8px;font-weight:600}.powered{font-size:.75rem;color:var(--muted);margin-top:16px}.confirm{text-align:center}.confirm .lead{font-weight:600;color:var(--primary);margin:0 0 6px}.confirm .big{font-size:1.25rem;font-weight:600}.confirm-tick{width:56px;height:56px;border-radius:50%;background:var(--st-seated);color:#fff;font-size:1.8rem;display:grid;place-items:center;margin:0 auto 12px}.card.login{max-width:400px;margin-top:10vh;padding:32px}.card.login .logo{margin-bottom:22px}.login-title{font-size:1.4rem}.card.login>.muted{margin:4px 0 20px}.loading-screen{padding:40px;color:var(--muted)}.staff{display:grid;grid-template-columns:76px 1fr;min-height:100vh;background:linear-gradient(90deg,var(--rail) 76px,var(--bg) 76px)}.rail{background:var(--rail);display:flex;flex-direction:column;align-items:center;padding:16px 0;position:sticky;top:0;height:100vh;gap:4px}.rail-logo{margin-bottom:18px}.rail a{width:64px;padding:9px 0 7px;border-radius:9px;color:#8fa3bf;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.64rem;font-weight:600;letter-spacing:.02em;position:relative}.rail a:hover{color:#fff;background:#ffffff0d}.rail a.active{color:#fff;background:var(--rail-2)}.rail a.active:before{content:"";position:absolute;left:-6px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--sky)}.rail-foot{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--sky);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.78rem;border:0;cursor:pointer;font-family:inherit}.user-menu{position:absolute;left:70px;bottom:16px;background:var(--surface);color:var(--text);border-radius:10px;box-shadow:0 10px 30px #16263d40;padding:12px 14px;width:220px;z-index:60}.user-menu .me-name{font-weight:700}.user-menu a,.user-menu button{display:block;margin-top:8px;font-size:.85rem}.content{min-width:0}.page{padding:22px 28px 40px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.page-head .actions{display:flex;gap:8px;align-items:center}.panel{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);padding:16px 18px;margin-bottom:16px}.dash-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.dash-title{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.month{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}.month b{color:var(--text)}.dash-title h1{font-size:1.6rem}.date-ctrls{display:flex;align-items:center;gap:4px}.date-ctrls .btn{padding:6px 12px}.date-input{width:auto;padding:6px 8px;font-size:.84rem;color:var(--muted)}.head-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.inline-stats{display:flex;gap:18px;font-size:.86rem;color:var(--muted)}.inline-stats b{color:var(--text);font-size:1.15rem;margin-right:3px;font-variant-numeric:tabular-nums}.head-right .actions{display:flex;gap:8px}.venue-line{font-size:.8rem;color:var(--muted);margin-bottom:4px;font-weight:500}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.toolbar input{width:auto}.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:2px;flex-wrap:wrap}.seg button{font:inherit;font-size:.84rem;border:0;background:none;padding:6px 12px;border-radius:6px;cursor:pointer;color:var(--muted);font-weight:600}.seg button:hover{color:var(--text)}.seg button.on{background:var(--sky-tint);color:var(--primary-dark)}.legend{font-size:.78rem;color:var(--muted);display:inline-flex;gap:12px;align-items:center;flex-wrap:wrap}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;background:#fff;border:1px solid var(--line-strong)}.legend i.confirmed{background:var(--st-confirmed);border:0}.legend i.due{background:var(--st-due);border:0}.legend i.seated{background:var(--st-seated);border:0}.legend i.pending{background:var(--st-pending);border:0}.legend i.finished{background:var(--st-finished);border:0}.timeline{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:auto;max-height:calc(100vh - 190px);position:relative}.tl-inner{position:relative;min-width:100%}.tl-row{display:flex;border-bottom:1px solid var(--line)}.tl-row:last-child{border-bottom:0}.tl-label{width:150px;flex:0 0 150px;padding:0 14px;display:flex;align-items:center;gap:8px;position:sticky;left:0;background:var(--surface);z-index:3;border-right:1px solid var(--line);font-size:.86rem}.tl-label small{color:var(--muted);font-size:.74rem;margin-left:auto}.tl-dot{width:7px;height:7px;border-radius:50%;background:var(--line-strong);flex:none}.tl-dot.seated{background:var(--st-seated)}.tl-dot.booked{background:var(--st-confirmed)}.tl-track{position:relative;flex:none}.tl-head{position:sticky;top:0;z-index:5;background:var(--surface);height:54px}.tl-head .tl-label{font-size:.74rem;font-weight:700;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;z-index:6}.tl-hour{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid var(--line);font-size:.72rem;color:var(--muted)}.tl-hour b{font-size:.92rem;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.tl-hour.now{background:var(--sky);color:#fff;border-color:var(--sky)}.tl-hour.now b{color:#fff}.tl-group{background:var(--surface-2);height:38px}.tl-group .tl-label{background:var(--surface-2);font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:0;font-family:inherit;color:var(--text);text-align:left;border-right:1px solid var(--line)}.tl-count{position:absolute;top:0;bottom:0;display:grid;place-items:center;font-size:.8rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.tl-count.zero{color:var(--line-strong)}.tl-count.busy{color:var(--st-cancelled)}.tl-table{height:58px}.tl-table .tl-track{cursor:copy}.tl-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.tl-grid span{position:absolute;top:0;bottom:0;border-left:1px solid var(--line)}.tl-grid span.half{border-left-style:dashed;opacity:.7}.tl-nowband{position:absolute;top:0;bottom:0;background:#1aa3e812;pointer-events:none}.tl-nowline{position:absolute;top:0;bottom:0;width:2px;background:var(--sky);pointer-events:none;z-index:2}.bar{position:absolute;top:8px;height:42px;border-radius:6px;border:0;padding:5px 10px;font:inherit;font-size:.76rem;text-align:left;overflow:hidden;white-space:nowrap;cursor:pointer;color:#fff;background:var(--st-confirmed);display:flex;flex-direction:column;justify-content:center;line-height:1.3;z-index:1;box-shadow:0 1px 2px #16263d1f}.bar strong{font-size:.82rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;padding-right:36px}.bar span{opacity:.92;overflow:hidden;text-overflow:ellipsis}.bar:hover{filter:brightness(1.08);box-shadow:0 4px 12px #16263d33}.bar.st-pending{background:var(--st-pending)}.bar.st-seated{background:var(--st-seated)}.bar.due{background:var(--st-due);color:#3b2f00}.bar.st-completed{background:var(--st-finished);color:var(--ink-grey);box-shadow:none}.bar-tag{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:#fff;color:var(--rail);font-size:.64rem;font-weight:700;border-radius:999px;padding:2px 7px}.gap{position:absolute;top:20px;width:20px;height:20px;margin-left:-10px;border-radius:50%;border:1px solid var(--line-strong);background:#fff;color:var(--muted);font-size:.6rem;display:grid;place-items:center;pointer-events:none;font-weight:600}.booking-list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.booking-row{display:flex;border-bottom:1px solid var(--line);position:relative}.booking-row:last-child{border-bottom:0}.booking-row:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--st-confirmed)}.booking-row.st-seated:before{background:var(--st-seated)}.booking-row.st-pending:before{background:var(--st-pending)}.booking-row.st-completed:before{background:var(--line-strong)}.booking-row.st-cancelled:before,.booking-row.st-no_show:before{background:var(--st-cancelled)}.booking-row.st-completed,.booking-row.st-cancelled,.booking-row.st-no_show{opacity:.6}.booking-row:hover{background:var(--surface-2)}.b-main{flex:1;display:grid;grid-template-columns:64px 40px minmax(0,1fr) 96px;gap:14px;align-items:center;background:none;border:0;text-align:left;font:inherit;padding:12px 16px 12px 20px;cursor:pointer;color:inherit;min-width:0}.b-time{font-weight:700;font-size:1.05rem;display:flex;flex-direction:column;font-variant-numeric:tabular-nums}.b-time small{font-weight:400;color:var(--muted);font-size:.72rem}.b-pax{width:36px;height:36px;border-radius:50%;background:var(--tint-blue);color:var(--ink-blue);display:grid;place-items:center;font-weight:700}.st-seated .b-pax{background:var(--tint-teal);color:var(--ink-teal)}.b-guest{min-width:0}.b-name{display:flex;align-items:center;flex-wrap:wrap}.b-name .tag:first-of-type{margin-left:8px}.b-meta{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.b-tables{font-weight:700}.source{font-size:.72rem;color:var(--muted)}.internal{color:var(--ink-yellow);background:var(--tint-yellow);display:inline-block;padding:2px 8px;border-radius:6px;margin-top:5px}.b-status{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px;padding:10px 16px;flex:0 0 256px}.quick{display:flex;gap:6px}.quick .btn{white-space:nowrap}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#16263d73;display:flex;justify-content:flex-end;z-index:50}.drawer{width:min(560px,100%);height:100%;background:var(--surface);display:flex;flex-direction:column;box-shadow:-8px 0 40px #16263d40}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line)}.drawer-head h2{margin:0}.drawer-body{flex:1;overflow-y:auto;padding:18px 22px}.drawer-foot{border-top:1px solid var(--line);padding:12px 22px;background:var(--surface-2)}.drawer-foot .row{justify-content:flex-end}.drawer-foot .row .muted{margin-right:auto}.matches{border:1px solid var(--line);border-radius:8px;padding:6px;margin-bottom:10px}.match{display:flex;gap:10px;width:100%;background:none;border:0;font:inherit;padding:7px 8px;border-radius:6px;cursor:pointer;text-align:left;align-items:baseline;color:inherit}.match:hover{background:var(--sky-tint)}.match .muted{margin-left:auto;font-size:.8rem}.guest-flag{background:var(--tint-yellow);border-radius:8px;padding:9px 11px;font-size:.88rem}.guest-flag .tag:first-child{margin-left:0}.guest-flag p{margin:6px 0 0}.slot-grid{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}.slot{font:inherit;font-size:.8rem;border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;padding:5px 8px;cursor:pointer;color:var(--text)}.slot:hover{border-color:var(--primary)}.slot.full{background:repeating-linear-gradient(45deg,#f0f3f7,#f0f3f7 4px,#fff 4px,#fff 8px);color:var(--muted)}.slot.paced{border-color:var(--st-due)}.slot.on{background:var(--primary);color:#fff;border-color:var(--primary)}.history{list-style:none;padding:0;margin:0;font-size:.85rem;display:flex;flex-direction:column;gap:6px}.floor-wrap{display:grid;grid-template-columns:1fr 270px;gap:16px;align-items:start}.floor-canvas{position:relative;height:560px;background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:auto;touch-action:none}.floor-canvas.edit{background-image:radial-gradient(circle,#CBD3DE 1px,transparent 1px);background-size:20px 20px}.ftable{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid var(--line-strong);border-radius:8px;cursor:pointer;font-size:.85rem}.floor-canvas.edit .ftable{cursor:move}.ftable.round{border-radius:50%}.ftable small{color:var(--muted);font-size:.72rem}.ftable.booked{background:var(--st-confirmed);border-color:var(--st-confirmed);color:#fff}.ftable.seated{background:var(--st-seated);border-color:var(--st-seated);color:#fff}.ftable.booked small,.ftable.seated small{color:#ffffffe6}.ftable.offline{border-style:dashed}.ftable.sel{outline:3px solid var(--sky);outline-offset:3px}.resize{position:absolute;right:-6px;bottom:-6px;width:14px;height:14px;background:var(--sky);border-radius:3px;cursor:nwse-resize}.legend i.booked{background:var(--st-confirmed);border:0}.search{max-width:420px;margin-bottom:12px}.split{display:grid;grid-template-columns:340px 1fr;gap:16px;align-items:start}.guest-list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-height:75vh;overflow-y:auto}.guest-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:10px 14px;font:inherit;cursor:pointer;color:inherit}.guest-row:hover{background:var(--surface-2)}.guest-row.on{background:var(--sky-tint);box-shadow:inset 3px 0 0 var(--sky)}.guest-detail .chips{margin-bottom:12px}.day-block{border-top:1px solid var(--line);padding:10px 0}.day-name{display:flex;align-items:center;gap:8px;margin-bottom:6px}.day-name strong{width:110px}.period-row{display:grid;grid-template-columns:120px repeat(4,1fr) 36px;gap:8px;align-items:end;margin-bottom:6px}.period-row label{margin:0;font-size:.75rem}.turn{flex-direction:row;align-items:center;gap:6px;margin:0;color:var(--text)}.turn input{width:72px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.stats>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;display:flex;flex-direction:column}.stats strong{font-size:1.5rem;font-variant-numeric:tabular-nums}.stats span{font-size:.8rem;color:var(--muted)}.bars{display:flex;align-items:flex-end;gap:3px;height:180px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;font-size:.65rem;color:var(--muted)}.bar-fill{width:100%;background:var(--st-confirmed);border-radius:3px 3px 0 0;min-height:2px}.bar-col:nth-child(7n+6) .bar-fill,.bar-col:nth-child(7n) .bar-fill{background:var(--st-pending)}table.simple{border-collapse:collapse}table.simple td{padding:6px 16px 6px 0;border-bottom:1px solid var(--line)}@media(max-width:900px){.staff{grid-template-columns:1fr;background:var(--bg)}.rail{position:sticky;top:0;z-index:20;height:auto;flex-direction:row;justify-content:space-around;padding:6px 8px}.rail-logo,.rail-foot{display:none}.rail a{width:auto;flex:1}.rail a.active:before{display:none}.page{padding:16px}.head-right{width:100%;justify-content:space-between}.inline-stats{gap:12px}.timeline{max-height:none}.tl-label{width:96px;flex-basis:96px}.b-main{grid-template-columns:56px 38px minmax(0,1fr)}.b-meta{display:none}.booking-row{flex-direction:column}.b-status{flex-direction:row;justify-content:space-between;flex:1 1 auto;padding-left:20px}.floor-wrap,.split{grid-template-columns:1fr}.period-row,.grid3{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(3,1fr)}.dash-title h1{font-size:1.25rem}}@media(max-width:520px){.grid2,.grid3{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.card{padding:20px}.head-right .actions{width:100%}.head-right .actions .btn{flex:1}.month{display:none}}.datepick{position:relative}.datepick-btn{width:100%;padding:9px 12px;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;font:inherit;text-align:left;cursor:pointer;color:inherit}.datepick-btn:hover{border-color:var(--primary)}.datepick-pop{position:absolute;z-index:50;top:calc(100% + 6px);left:0;width:288px;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 10px 24px #00000024;padding:10px}.datepick-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:700}.datepick-head button{width:30px;height:30px;border:0;border-radius:6px;background:none;cursor:pointer;font-size:1rem;color:inherit}.datepick-head button:disabled{color:#bbb;cursor:default}.datepick-head button:not(:disabled):hover{background:var(--sky-tint);color:var(--primary-dark)}.datepick-dow{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.7rem;text-transform:uppercase;color:#888;margin-bottom:4px}.datepick-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepick-grid button{height:34px;border:0;border-radius:6px;background:none;cursor:pointer;font:inherit;color:inherit}.datepick-grid button:hover:not(:disabled){background:var(--sky-tint)}.datepick-grid button:disabled{color:#ccc;cursor:default}.datepick-grid button.sel{background:var(--primary);color:#fff;font-weight:700}.datepick-grid button.today:not(.sel){outline:2px solid var(--primary);outline-offset:-2px}.widget{padding:32px;border-radius:22px;max-width:800px}.widget section{margin-bottom:26px}.widget section:last-child{margin-bottom:0}.filter-bar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{position:relative}.selector{position:relative;display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;padding:11px 18px;box-shadow:var(--shadow-sm);cursor:pointer;color:var(--text);transition:border-color .15s,box-shadow .15s}.selector:hover{border-color:var(--primary)}.selector:focus-within{outline:3px solid rgba(192,82,45,.25);outline-offset:2px}.selector>svg:first-child{color:var(--primary);flex:none}.selector .sel-copy{display:flex;flex-direction:column;line-height:1.25;min-width:0}.selector .sel-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:600}.selector .sel-value{font-weight:600;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selector .chev{margin-left:auto;color:var(--muted);flex:none}.selector .select-fill{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:0;cursor:pointer}.section-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0 0 12px}.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}.service-card{position:relative;text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;padding:14px 14px 13px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:border-color .15s,box-shadow .15s,background .15s}.service-card:hover{border-color:var(--primary)}.service-card.active{border-color:var(--primary);background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--primary)}.service-card .info{position:absolute;top:11px;right:12px;color:var(--muted)}.service-card .ic{font-family:var(--font-serif);font-size:1.35rem;color:var(--primary);width:34px;height:34px;display:grid;place-items:center;background:var(--sky-tint);border-radius:50%;margin-bottom:4px}.service-card strong{font-size:.98rem;font-weight:600}.service-card small{font-size:.78rem;color:var(--muted)}.desc{font-size:.92rem;color:#5e5344;line-height:1.6;margin:0}.desc p{margin:0 0 8px}.desc .read-more{background:none;border:0;padding:0;color:var(--primary);font-size:.88rem;font-weight:600;cursor:pointer}.desc .read-more:hover{text-decoration:underline}.time-head{font-family:var(--font-serif);font-size:1.65rem;font-weight:600;margin:0;letter-spacing:0}.time-sub{color:var(--muted);font-size:.88rem;margin:2px 0 0}.service-range{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:600;margin:12px 0 16px;color:var(--text)}.service-range svg{color:var(--primary);flex:none}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:10px}.time-slot{font:inherit;font-size:.9rem;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:11px;padding:12px 6px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.time-slot:hover{border-color:var(--primary);color:var(--primary)}.time-slot.on{background:#2b241b;border-color:#2b241b;color:#fff7ec}.summary-line{background:var(--accent-tint);border:1px solid var(--line);color:var(--primary-dark);padding:11px 14px;border-radius:12px;font-weight:600;margin:10px 0 16px}.checking{margin:6px 0}.confirm h1{font-family:var(--font-serif)}.confirm .lead{color:var(--primary)}.confirm-tick{background:var(--primary)}.powered{font-size:.75rem;color:var(--muted);margin-top:18px;letter-spacing:.02em}@media(max-width:480px){.widget{padding:22px}.filter-bar{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.time-grid{grid-template-columns:repeat(3,1fr)}}.selector .datepick{position:static;display:contents}.selector-trigger{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:flex-end;padding:0 18px;background:none;border:0;border-radius:999px;cursor:pointer;color:var(--muted)}.selector-trigger svg{pointer-events:none}.selector .datepick-pop{min-width:292px}@media(max-width:480px){.selector .datepick-pop{right:0!important;left:0!important;min-width:0}}.selector.active{border-color:var(--primary)}.guest-drop{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;pointer-events:none}.guest-pop{background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;box-shadow:var(--shadow);padding:14px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.guest-drop:has(.guest-pop.open){pointer-events:auto}.guest-pop.open{opacity:1;visibility:visible;transform:none}.guest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:8px}.guest-num{font:inherit;font-size:1rem;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:11px;padding:10px 0;cursor:pointer;line-height:1;transition:border-color .15s,color .15s,background .15s}.guest-num:hover{border-color:var(--primary);color:var(--primary)}.guest-num.on{background:#2b241b;border-color:#2b241b;color:#fff7ec}.guest-foot{font-size:.78rem;color:var(--muted);margin:14px 0 0;line-height:1.5}.guest-foot a{color:var(--primary);font-weight:600;text-decoration:none}.guest-foot a:hover{text-decoration:underline}.pick-step{display:grid;gap:10px}.back-link{background:none;border:0;padding:0;font:inherit;font-size:.85rem;color:var(--primary);cursor:pointer;text-decoration:none;justify-self:start}.back-link:hover{text-decoration:underline}.details-top{display:flex;align-items:center;gap:12px;margin:0 0 4px}.back-line{display:inline-flex;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;font:inherit;font-weight:600;color:var(--text);cursor:pointer;padding:7px 14px;font-size:.9rem;transition:border-color .15s,color .15s,background .15s}.back-line:hover{border-color:var(--primary);color:var(--primary)}.top-summary{margin:0;font-size:.85rem;color:var(--primary-dark);background:var(--sky-tint);border:1px solid var(--accent, var(--line-strong));padding:8px 14px;border-radius:10px;font-weight:600}.details-grid{display:grid;gap:20px;margin-top:14px}@media(min-width:820px){.details-grid{grid-template-columns:1.15fr .85fr;align-items:start}.summary-card{position:sticky;top:16px}}.req,.opt{font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.req{color:#b3572b}.opt{color:var(--muted);font-weight:500;text-transform:none;letter-spacing:0}.phone-row{display:flex;gap:8px}.phone-prefix{border:1px solid var(--line-strong);border-radius:11px;background:var(--surface);padding:10px 8px;font:inherit;font-size:.95rem;color:var(--text)}.details-left input.invalid,.details-left .phone-row:has(>input.invalid) .phone-prefix{border-color:#c9302c}.err-text{display:block;margin-top:4px;font-size:.8rem;color:#c9302c}.mini-label{font-family:var(--font-serif);font-size:1.05rem;margin:18px 0 8px}.req-toggle{display:flex;align-items:center;justify-content:flex-start;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.req-toggle .plus{flex:0 0 auto;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:var(--sky-tint);color:var(--primary-dark);border:1.5px solid var(--primary);border-radius:50%;font-family:var(--font-sans);font-size:1rem;font-weight:700;line-height:1}.req-toggle:hover .plus,.req-toggle.open .plus{background:var(--primary);color:#fff}.pill-row{display:flex;flex-wrap:wrap;gap:8px}.notes-gap{display:block;padding-top:20px}.pill{font:inherit;font-size:.85rem;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;padding:8px 14px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.pill:hover{border-color:var(--primary);color:var(--primary)}.pill.on{background:#2b241b;border-color:#2b241b;color:#fff7ec}.summary-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}.summary-head{background:#2b241b;padding:16px 18px}.summary-head h3{margin:0;font-family:var(--font-serif);font-size:1.2rem;color:#fff7ec}.summary-rows{list-style:none;margin:0;padding:6px 18px}.summary-rows li{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:11px 0;border-bottom:1px solid var(--line-soft);color:var(--muted);font-size:.85rem}.summary-rows li svg{color:var(--primary)}.summary-rows li strong{color:var(--text);font-weight:600;font-size:.92rem}.summary-card .error{margin:10px 18px 0}.summary-card .btn{margin:14px 18px 24px;width:calc(100% - 36px)}.agree{font-size:.72rem;line-height:1.45;color:var(--muted)}.agree a{color:var(--primary);font-weight:600;text-decoration:none}.agree a:hover{text-decoration:underline}.summary-card label.check.agree{justify-content:center;margin:12px 18px 0}.err-text.center{text-align:center}.phone-prefix.static{display:flex;align-items:center;color:var(--muted);font-weight:600;cursor:default}
