:root{--ink:#161616;--muted:#6c6b67;--cream:#f4efe6;--paper:#fff;--gold:#d9a91f;--gold2:#f0c84d;--line:#e7e0d4;--dark:#111;--danger:#a83a32;--shadow:0 24px 70px rgba(0,0,0,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit}button,input,select,textarea{font:inherit}.hidden{display:none!important}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:fixed;left:0;right:0;top:0;background:rgba(10,10,10,.86);backdrop-filter:blur(16px);z-index:20;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:54px;height:54px;object-fit:contain}.brand strong,.brand small{display:block}.brand strong{font-family:'Playfair Display',serif;font-size:21px}.brand small{color:#c9c9c9;font-size:12px}.site-header nav{display:flex;align-items:center;gap:25px}.site-header nav a{text-decoration:none;font-weight:700;font-size:14px}.button{border:0;border-radius:999px;padding:14px 22px;background:var(--gold);color:#111;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;transition:.2s}.button:hover{transform:translateY(-2px);filter:brightness(1.05)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button-small{padding:10px 17px}.button-gold{background:var(--gold)}.button-dark{background:#111;color:#fff}.button-secondary{background:#efefed;color:#1d1d1d}.button-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:#a57a00}.eyebrow.light{color:#f2ce5c}h1,h2,h3{font-family:'Playfair Display',serif;margin:0}.hero{min-height:780px;position:relative;display:flex;align-items:center;padding:150px 7vw 90px;background:url('images/the-bells-exterior.jpg') center 48%/cover no-repeat;color:#fff}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.83) 0%,rgba(0,0,0,.57) 48%,rgba(0,0,0,.2) 100%),linear-gradient(0deg,rgba(0,0,0,.36),transparent 55%)}.hero-copy{position:relative;z-index:1;max-width:760px}.hero-logo{width:145px;height:145px;object-fit:contain;margin-bottom:20px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.3))}.hero h1{font-size:clamp(54px,8vw,104px);line-height:.93;margin:16px 0 26px}.hero p{font-size:20px;line-height:1.7;max-width:640px;color:#f2f2f2}.hero-actions{display:flex;gap:12px;margin-top:30px}.hero-quick-info{display:flex;gap:30px;flex-wrap:wrap;margin-top:42px;padding-top:24px;border-top:1px solid rgba(255,255,255,.25);color:#ddd}.hero-quick-info span{display:grid;font-size:13px}.hero-quick-info strong{color:#fff;font-size:16px}.section{padding:105px 7vw}.intro-section{display:grid;grid-template-columns:.86fr 1.14fr;gap:7vw;align-items:center;background:#fff}.intro-copy h2,.section-title h2,.visit-copy h2{font-size:clamp(40px,5vw,68px);line-height:1.06;margin:14px 0 24px}.intro-copy p,.section-title p{color:var(--muted);font-size:17px;line-height:1.8}.text-link{display:inline-flex;gap:10px;margin-top:14px;font-weight:800;text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:5px}.intro-images{position:relative;min-height:580px}.image-card{position:absolute;margin:0;background:#fff;border:10px solid #fff;box-shadow:var(--shadow);overflow:hidden}.image-card img{width:100%;height:100%;object-fit:cover;display:block}.image-card figcaption{position:absolute;left:18px;bottom:16px;background:rgba(0,0,0,.72);color:#fff;padding:9px 13px;border-radius:999px;font-size:12px;font-weight:700}.image-card-large{width:68%;height:500px;right:0;top:0}.image-card-small{width:47%;height:300px;left:0;bottom:0}.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#111;color:#fff;padding:0 5vw}.feature-strip div{padding:35px 25px;border-right:1px solid #333;display:grid;gap:5px}.feature-strip div:last-child{border:0}.feature-strip span{color:var(--gold2);text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800}.feature-strip strong{font-family:'Playfair Display',serif;font-size:25px}.feature-strip small{color:#aaa}.menus-section{background:var(--cream)}.section-title.centered{text-align:center;max-width:760px;margin:0 auto 50px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:1200px;margin:auto}.menu-card{min-height:500px;border-radius:28px;overflow:hidden;position:relative;display:flex;align-items:flex-end;box-shadow:var(--shadow)}.menu-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.1) 70%)}.menu-card-main{background:url('images/steak-pie.jpg') center/cover}.menu-card-kids{background:url('menus/kids-menu.png') center 25%/cover}.menu-card-content{position:relative;z-index:1;color:#fff;padding:38px;max-width:570px}.menu-card-content h3{font-size:44px;margin:8px 0 12px}.menu-card-content p{line-height:1.65;color:#e8e8e8}.menu-label{color:var(--gold2);text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:800}.allergen-note{text-align:center;color:var(--muted);margin:30px 0 0}.booking-section{background:#111;padding:100px 4vw}.booking-heading{text-align:center;color:#fff;max-width:760px;margin:0 auto 50px}.booking-heading h2{font-size:clamp(45px,6vw,76px);margin:12px 0}.booking-heading p{color:#bbb;line-height:1.7}.booking-shell{display:grid;grid-template-columns:340px 1fr;max-width:1200px;margin:auto;gap:0}.booking-intro{background:#1b1b1b;color:white;border:1px solid #313131;border-right:0;border-radius:28px 0 0 28px;padding:38px}.booking-intro>img{width:100px;height:100px;object-fit:contain}.booking-intro h3{font-size:34px;margin:15px 0}.booking-intro p{color:#bbb;line-height:1.7}.booking-intro a{color:#fff;font-weight:800}.steps{list-style:none;padding:25px 0 0;margin:25px 0 0;border-top:1px solid #383838;display:grid;gap:15px}.steps li{display:flex;align-items:center;gap:12px;color:#777;font-weight:700}.steps li span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid #4b4b4b}.steps li.active{color:#fff}.steps li.active span{background:var(--gold);color:#111;border-color:var(--gold)}.booking-note{border-top:1px solid #383838;margin-top:28px;padding-top:22px;display:grid;gap:5px}.booking-note span{color:#888;font-size:13px}.booking-panel{background:white;border-radius:0 28px 28px 0;padding:48px;min-height:560px}.form-step{display:none}.form-step.active{display:block}.section-heading{margin-bottom:30px}.section-heading>span,.section-heading>p{color:var(--muted)}.section-heading h2{font-size:42px;margin:8px 0 10px}.field-grid{display:grid;gap:20px}.field-grid.two{grid-template-columns:1fr 1fr}label{display:grid;gap:8px;font-weight:700}label span small{font-weight:500;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #d9d8d4;background:#fbfbfa;border-radius:14px;padding:15px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(217,169,31,.15)}textarea{resize:vertical}.checkbox-row{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-weight:500;color:var(--muted)}.checkbox-row input{width:18px;margin-top:3px}.inline-help{color:var(--muted);font-size:14px}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.form-actions.end{justify-content:flex-end}.times-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.time-button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;font-weight:800;cursor:pointer}.time-button:hover,.time-button.selected{background:#111;color:#fff;border-color:#111}.summary-card{background:#f4f1eb;border-radius:20px;padding:24px;display:grid;gap:14px}.summary-row{display:flex;justify-content:space-between;gap:20px;padding-bottom:12px;border-bottom:1px solid #ded5c8}.summary-row:last-child{border:0;padding:0}.summary-row span{color:var(--muted)}.summary-row strong{text-align:right}.alert{padding:14px 16px;border-radius:14px;background:#fff4dd;color:#7f5a15;margin-bottom:20px;border:1px solid #f1d491}.alert.error{background:#fff0ef;color:var(--danger);border-color:#efc5c2}.alert.success{background:#edf8f2;color:#236545;border-color:#bee2ce}.loading{padding:20px;text-align:center;color:var(--muted)}.success-panel{text-align:center;padding:15px}.success-icon{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:#fff4c8;color:#7d5b00;font-size:34px;margin:0 auto 20px}.success-panel h2{font-size:44px;margin:8px 0 12px}.success-panel>p{color:var(--muted);font-size:18px}.success-panel .summary-card{text-align:left;margin:28px 0}.visit-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#fff}.contact-list{display:grid;gap:18px;margin:30px 0}.contact-list div{border-bottom:1px solid var(--line);padding-bottom:16px;display:grid;gap:6px}.contact-list span{color:#a57a00;font-weight:800}.contact-list a{text-decoration:none}.hours-card{background:#111;color:#fff;border-radius:30px;padding:45px;align-self:start}.hours-card h3{font-size:44px;margin:10px 0 25px}.hours-card dl{margin:0}.hours-card dl div{display:flex;justify-content:space-between;border-bottom:1px solid #333;padding:13px 0}.hours-card dt{color:#bbb}.hours-card dd{margin:0;font-weight:800}footer{background:#080808;color:white;display:flex;justify-content:space-between;gap:30px;padding:45px 6vw;border-top:1px solid #222}.footer-brand{display:flex;align-items:center;gap:16px}.footer-brand img{width:72px;height:72px;object-fit:contain}.footer-brand div{display:grid;gap:4px}.footer-brand span{color:#999}.footer-links{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.footer-links a{color:#ccc;text-decoration:none;font-weight:700}
/* Admin */.admin-body{background:#f4f6f4}.login-view{min-height:100vh;display:grid;place-items:center;padding:30px;background:linear-gradient(135deg,#f7f0e6,#eaf0ec)}.login-card{width:min(440px,100%);background:white;border-radius:28px;padding:40px;box-shadow:var(--shadow);display:grid;gap:18px}.login-card h1{font-size:42px}.login-card p{color:var(--muted)}.login-card form{display:grid;gap:16px}.login-card>a{font-size:14px;color:var(--muted);text-align:center}.dashboard{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-sidebar{background:#17241f;color:white;padding:28px 20px;display:flex;flex-direction:column;gap:25px}.admin-brand strong{font-size:17px}.admin-nav{display:grid;gap:7px}.admin-nav button{border:0;background:transparent;color:#b8c6c0;text-align:left;padding:13px 15px;border-radius:12px;font-weight:700;cursor:pointer}.admin-nav button.active,.admin-nav button:hover{background:#294b3f;color:white}.admin-sidebar>.button{margin-top:auto}.admin-main{padding:35px}.admin-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.admin-topbar h1{font-size:44px;margin-top:5px}.admin-view{display:none}.admin-view.active{display:block}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.metric-card,.admin-card{background:white;border:1px solid #e3e8e4;border-radius:20px;padding:24px}.metric-card{display:grid;gap:7px}.metric-card span,.metric-card small{color:var(--muted)}.metric-card strong{font-size:38px;font-family:'Playfair Display',serif}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.card-heading h2{font-size:30px;margin-top:4px}.filter-row{display:flex;gap:10px}.booking-list{display:grid;gap:10px}.booking-item{display:grid;grid-template-columns:100px 1.2fr .8fr .8fr auto;align-items:center;gap:15px;padding:16px;border:1px solid #e5e9e6;border-radius:14px}.booking-item .time{font-weight:800;font-size:18px}.booking-item small{display:block;color:var(--muted)}.status{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e8f4ed;color:#287149;font-size:12px;font-weight:800;text-transform:capitalize}.status.cancelled{background:#f8e8e6;color:#a83a32}.empty-state{padding:35px;text-align:center;color:var(--muted);background:#f8faf8;border-radius:16px}.table-editor,.hours-editor{display:grid;gap:10px}.editor-row{display:grid;grid-template-columns:1.2fr .8fr .7fr .8fr .5fr;gap:12px;align-items:center;padding:13px;border:1px solid #e4e8e5;border-radius:14px}.hours-editor .editor-row{grid-template-columns:1fr 1fr 1fr .6fr}.muted{color:var(--muted)}
@media(max-width:1000px){.intro-section{grid-template-columns:1fr}.intro-images{min-height:520px}.feature-strip{grid-template-columns:1fr 1fr}.menu-grid{grid-template-columns:1fr}.booking-shell{grid-template-columns:1fr}.booking-intro{border-radius:28px 28px 0 0;border-right:1px solid #313131;border-bottom:0}.booking-panel{border-radius:0 0 28px 28px}.visit-section{grid-template-columns:1fr}.dashboard{grid-template-columns:1fr}.admin-nav{grid-template-columns:repeat(4,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.site-header{height:72px;padding:0 16px}.brand img{width:44px;height:44px}.brand small{display:none}.site-header nav a:not(.button){display:none}.hero{min-height:720px;padding:120px 20px 60px;background-position:62% center}.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.55))}.hero-logo{width:110px;height:110px}.hero p{font-size:17px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.hero-quick-info{gap:18px}.section{padding:72px 20px}.intro-images{min-height:460px}.image-card-large{width:76%;height:410px}.image-card-small{width:52%;height:240px}.feature-strip{grid-template-columns:1fr}.feature-strip div{border-right:0;border-bottom:1px solid #333}.menu-card{min-height:420px}.menu-card-content{padding:28px}.menu-card-content h3{font-size:38px}.booking-section{padding:70px 14px}.booking-heading{padding:0 10px}.booking-intro{display:none}.booking-panel{border-radius:22px;padding:26px 20px}.section-heading h2{font-size:34px}.field-grid.two{grid-template-columns:1fr}.times-grid{grid-template-columns:repeat(3,1fr)}footer{flex-direction:column}.footer-links{gap:14px}.admin-main{padding:20px 14px}.admin-topbar{align-items:flex-start}.admin-topbar h1{font-size:36px}.metric-grid{grid-template-columns:1fr 1fr}.card-heading{align-items:flex-start;flex-direction:column}.filter-row{width:100%;flex-direction:column}.booking-item{grid-template-columns:70px 1fr;gap:8px}.booking-item>*:nth-child(n+3){grid-column:2}.editor-row,.hours-editor .editor-row{grid-template-columns:1fr 1fr}.admin-nav{grid-template-columns:1fr 1fr}.admin-sidebar{padding:18px}.admin-brand{display:none}}
@media(max-width:430px){.hero h1{font-size:52px}.intro-images{min-height:400px}.image-card-large{height:350px}.image-card-small{height:200px}.times-grid{grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.footer-brand{align-items:flex-start}.footer-brand img{width:58px;height:58px}}

/* =========================================================
   PRIME BOOKINGS OPERATIONS DASHBOARD V2
   ========================================================= */
:root{--ops-gold:#c79a35;--ops-gold-dark:#8a651b;--ops-ink:#171717;--ops-muted:#6d6a63;--ops-line:#e7e4dc;--ops-soft:#f7f6f2;--ops-green:#276d5a;--ops-red:#b63d3d;--ops-sidebar:270px}
.ops-body{margin:0;background:#fff;color:var(--ops-ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}.ops-body *{box-sizing:border-box}.ops-app{min-height:100vh;display:grid;grid-template-columns:var(--ops-sidebar) 1fr}.ops-sidebar{position:fixed;inset:0 auto 0 0;width:var(--ops-sidebar);display:flex;flex-direction:column;background:#111;color:#fff;border-right:1px solid #292929;z-index:30}.ops-brand{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #2a2a2a}.ops-brand img{width:46px;height:46px;object-fit:contain}.ops-brand strong,.ops-brand small{display:block}.ops-brand small{color:#aaa;margin-top:2px}.ops-nav{padding:14px 10px;display:grid;gap:4px}.ops-nav button{border:0;background:transparent;color:#ddd;text-align:left;padding:12px 14px;border-radius:8px;font:600 14px inherit;cursor:pointer;display:flex;align-items:center;gap:12px}.ops-nav button span{width:18px;color:#d5b15f}.ops-nav button:hover,.ops-nav button.active{background:#2b2415;color:#fff}.ops-nav button.active{box-shadow:inset 3px 0 var(--ops-gold)}.ops-venue-card{margin-top:auto;padding:18px 20px;border-top:1px solid #2a2a2a;display:grid;gap:6px}.ops-venue-card strong,.ops-venue-card small{display:block}.ops-venue-card small{color:#aaa}.ops-venue-card>div{font-size:13px;color:#d8d8d8}.service-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#62b484;margin-right:7px}.ops-signout{border:0;border-top:1px solid #2a2a2a;background:#111;color:#ddd;padding:16px 20px;text-align:left;cursor:pointer}.ops-main{grid-column:2;min-width:0}.ops-topbar{height:66px;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--ops-line);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.date-controls{display:flex;align-items:center;gap:8px}.date-controls button,.icon-button,.mobile-menu{width:38px;height:38px;border:1px solid var(--ops-line);background:#fff;border-radius:8px;cursor:pointer;font-size:20px}.date-controls input{height:40px;border:1px solid #cfcac0;border-radius:8px;padding:0 12px;font:600 14px inherit}.topbar-actions{display:flex;align-items:center;gap:8px}.icon-button{display:grid;place-items:center;text-decoration:none;color:var(--ops-ink)}.mobile-menu{display:none}.ops-alert{position:fixed;top:76px;right:24px;z-index:100;max-width:430px}.ops-view{display:none;padding:26px 28px 60px}.ops-view.active{display:block}.view-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.view-toolbar h1{margin:4px 0 4px;font:700 30px/1.1 "Playfair Display",serif}.view-toolbar p{margin:0;color:var(--ops-muted)}.toolbar-controls{display:flex;align-items:center;gap:10px}.toolbar-controls select,.toolbar-controls input,.view-toolbar>select{border:1px solid #d4d0c7;background:#fff;border-radius:8px;min-height:40px;padding:0 12px;font:500 14px inherit}.party-size-filters,.segmented,.area-tabs,.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.party-size-filters button,.segmented button,.area-tabs button,.settings-tabs button{border:1px solid var(--ops-line);background:#f4f2ed;border-radius:8px;padding:9px 14px;font:600 13px inherit;cursor:pointer}.party-size-filters button.active,.segmented button.active,.area-tabs button.active,.settings-tabs button.active{background:#171717;color:#fff;border-color:#171717}.party-size-filters b{margin-left:4px;color:var(--ops-gold)}.party-table-wrap{border:1px solid var(--ops-line);border-radius:12px;overflow:auto;background:#fff}.ops-table{width:100%;border-collapse:collapse;min-width:860px}.ops-table th{background:#f2f0eb;color:#49463f;text-align:left;padding:13px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.ops-table td{padding:14px;border-top:1px solid var(--ops-line);vertical-align:middle;font-size:14px}.ops-table td small,.ops-table td strong{display:block}.ops-table td small{color:var(--ops-muted);margin-top:3px}.party-row,.guest-row{cursor:pointer}.party-row:hover,.guest-row:hover{background:#fbfaf7}.name-link{border:0;background:none;padding:0;font:700 14px inherit;cursor:pointer}.people-icon{color:var(--ops-gold)}.table-pill{display:inline-block;border:1px solid #cfa94f;background:#fffaf0;border-radius:7px;padding:6px 9px;font-weight:700}.booking-status{display:inline-block;margin-top:6px;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.booking-status.upcoming{background:#fff3ce;color:#7c5900}.booking-status.arrived{background:#dcecff;color:#165a87}.booking-status.seated{background:#dcefe7;color:#19664f}.booking-status.completed{background:#e7e7e7;color:#555}.booking-status.cancelled,.booking-status.no-show{background:#f8dddd;color:#9a2929}.row-menu{border:0;background:transparent;font-size:18px;cursor:pointer}.empty-state{padding:36px;text-align:center;color:var(--ops-muted)}.status-key,.floor-legend{display:flex;gap:8px;flex-wrap:wrap}.status-key span,.floor-legend span{border:1px solid var(--ops-line);padding:8px 10px;border-radius:7px;font-size:12px}.status-key b{margin-left:5px}.status-button{border:1px solid #aaa;border-radius:7px;padding:8px 11px;background:#fff;text-transform:capitalize}.status-button.available{border-color:#4a9d74;background:#eff9f4;color:#246344}.status-button.seated{border-color:#305f9b;background:#eef5ff;color:#234d83}.status-button.reserved{border-color:#d6a43d;background:#fff8e7}.status-button.closed{background:#eee;color:#aaa}.toggle{display:flex;align-items:center;gap:8px;font-size:13px}.toggle input{display:none}.toggle span{width:36px;height:20px;border-radius:999px;background:#ccc;position:relative}.toggle span:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:2px;left:2px;transition:.2s}.toggle input:checked+span{background:var(--ops-green)}.toggle input:checked+span:after{left:18px}.planner-shell{border:1px solid var(--ops-line);border-radius:12px;overflow:auto;background:#fff}.planner-grid{min-width:1100px}.planner-time-row,.planner-row{display:grid;grid-template-columns:120px 1fr;min-height:44px;border-bottom:1px solid var(--ops-line)}.planner-time-row{height:48px;position:relative;background:#f4f2ed}.planner-time-row>div,.planner-table-label{padding:12px;border-right:1px solid var(--ops-line);font-weight:700}.planner-time-row>span{position:absolute;top:14px;font-size:12px;color:#4e4b45}.planner-table-label{display:flex;justify-content:space-between}.planner-table-label small{color:var(--ops-muted)}.planner-track{position:relative;background-image:linear-gradient(to right,#eee 1px,transparent 1px);background-size:5% 100%;min-height:44px}.planner-booking{position:absolute;top:5px;height:34px;border:1px solid #d6b35e;border-left:4px solid var(--ops-gold);border-radius:5px;background:#fffaf0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left;padding:4px 7px;font:600 12px inherit;cursor:pointer}.planner-booking small{font-weight:400;margin-left:8px;color:#6e675b}.planner-booking.seated{background:#e3f2ec;border-color:#4b9876}.planner-booking.cancelled{opacity:.45}.floor-canvas{position:relative;height:680px;border:1px solid var(--ops-line);border-radius:12px;background:#f3f2ed;overflow:hidden;background-image:radial-gradient(#ddd 1px,transparent 1px);background-size:20px 20px}.floor-table{position:absolute;transform:translate(-50%,-50%);min-width:88px;min-height:64px;border-radius:10px;border:2px solid #999;background:#fff;display:grid;place-items:center;padding:8px;cursor:pointer}.floor-table strong,.floor-table span,.floor-table small{display:block}.floor-table span,.floor-table small{font-size:11px;color:#69655d}.floor-table.available{border-color:#5a9d73}.floor-table.reserved{border-color:#c79a35;background:#fff9e9}.floor-table.seated{border-color:#2f6f98;background:#eef7ff}.floor-table.closed{border-color:#aaa;background:#e9e9e9;color:#999}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.report-metrics article,.report-card{border:1px solid var(--ops-line);border-radius:12px;background:#fff;padding:18px}.report-metrics strong{display:block;font:700 30px "Playfair Display",serif;color:var(--ops-gold-dark)}.report-metrics span{color:var(--ops-muted)}.report-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.report-card h2{margin:0 0 18px;font-size:18px}.bar-chart{height:300px;display:flex;align-items:flex-end;gap:10px;border-bottom:1px solid #ccc;padding:12px}.bar-item{flex:1;display:grid;gap:6px;min-width:28px;text-align:center}.bars{height:220px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.bars i,.bars b{width:9px;min-height:2px;background:var(--ops-gold);display:block}.bars b{background:#2d7060}.bar-item span{font-size:10px;transform:rotate(-35deg);white-space:nowrap}.bar-item small{font-size:10px;color:#777}.heatmap{display:grid;grid-template-columns:58px repeat(7,1fr);gap:3px;align-items:stretch}.heatmap b,.heatmap span,.heatmap i{display:grid;place-items:center;min-height:28px;font-size:11px}.heatmap i{font-style:normal;background:color-mix(in srgb,var(--ops-gold) calc(var(--heat)*85%),#f5f3ee);border-radius:3px}.visit-badge{display:inline-block;background:#f7cf67;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:700}.settings-panel{display:none;border:1px solid var(--ops-line);border-radius:12px;background:#fff;padding:18px}.settings-panel.active{display:block}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-heading h2{margin:0}.editor-row{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:14px;align-items:end;padding:12px 0;border-bottom:1px solid var(--ops-line)}.editor-row strong small{display:block;color:var(--ops-muted);font-weight:400}.editor-row label span{display:block;font-size:11px;color:var(--ops-muted);margin-bottom:5px}.editor-row input,.editor-row select{width:100%;min-height:38px;border:1px solid #d4d0c7;border-radius:7px;padding:0 10px}.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:50}.ops-drawer{position:fixed;inset:0 0 0 auto;width:min(430px,100vw);background:#fff;z-index:60;box-shadow:-12px 0 35px rgba(0,0,0,.18);transform:translateX(105%);transition:.25s;display:flex;flex-direction:column}.ops-drawer.open{transform:translateX(0)}.drawer-head{height:64px;padding:0 20px;border-bottom:1px solid var(--ops-line);display:flex;align-items:center;justify-content:space-between}.drawer-head h2{margin:0;font-size:20px}.drawer-head button{border:0;background:none;font-size:28px;cursor:pointer}.drawer-content{overflow:auto;padding-bottom:28px}.drawer-tabs{display:flex;border-bottom:1px solid var(--ops-line)}.drawer-tabs button{flex:1;border:0;background:#fff;padding:14px;font:600 13px inherit;cursor:pointer}.drawer-tabs button.active{color:var(--ops-gold-dark);border-bottom:3px solid var(--ops-gold)}.drawer-section{padding:20px;border-bottom:1px solid var(--ops-line)}.drawer-section h3{margin:0 0 14px}.section-title{display:flex;justify-content:space-between;align-items:center}.details-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin:0}.details-grid dt{color:var(--ops-muted)}.details-grid dd{margin:0;font-weight:600}.contact-card{display:grid;gap:8px;background:#f7f5ef;padding:16px;border-radius:10px}.contact-card a{color:var(--ops-green);text-decoration:none}.drawer-section label span,#addPartyForm label span{display:block;font-size:12px;color:var(--ops-muted);margin-bottom:6px}.drawer-section textarea,#addPartyForm input,#addPartyForm select,#addPartyForm textarea{width:100%;border:1px solid #d4d0c7;border-radius:8px;padding:10px;font:inherit}.drawer-section textarea,#addPartyForm textarea{min-height:90px}.drawer-actions{padding:20px;display:grid;gap:8px}.danger-link{border:0;background:none;color:var(--ops-red);padding:10px;cursor:pointer}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}#addPartyForm{padding:20px;display:grid;gap:15px}.area-chip{display:inline-block;background:#eee9dc;padding:5px 9px;border-radius:999px;font-size:11px}.guest-stats{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.guest-stats strong,.guest-stats span{display:block}.guest-stats strong{font-size:24px;color:var(--ops-gold-dark)}.history-row{width:100%;border:0;border-bottom:1px solid var(--ops-line);background:#fff;padding:12px 0;display:flex;justify-content:space-between;cursor:pointer}.hidden{display:none!important}
@media(max-width:980px){.ops-app{display:block}.ops-sidebar{transform:translateX(-105%);transition:.2s}.ops-sidebar.open{transform:translateX(0)}.ops-main{margin-left:0}.mobile-menu{display:block}.report-grid{grid-template-columns:1fr}.report-metrics{grid-template-columns:repeat(2,1fr)}.view-toolbar{flex-direction:column}.editor-row{grid-template-columns:1fr 1fr}.floor-canvas{height:560px}}
@media(max-width:640px){.ops-topbar{padding:0 10px}.topbar-actions .icon-button{display:none}.ops-view{padding:18px 12px 50px}.view-toolbar h1{font-size:25px}.party-size-filters{overflow:auto;flex-wrap:nowrap}.report-metrics{grid-template-columns:1fr 1fr}.report-grid{display:block}.report-card{margin-bottom:14px}.editor-row{grid-template-columns:1fr}.floor-canvas{height:700px}.ops-drawer{width:100vw}.date-controls input{width:145px}}
@media print{.ops-sidebar,.ops-topbar,.view-toolbar .toolbar-controls,.party-size-filters,.segmented{display:none!important}.ops-main{grid-column:1}.ops-view{padding:0}.ops-view:not([data-admin-view="parties"]){display:none!important}.party-table-wrap{border:0}}


/* Prime Bookings V5 public layout hardening */
body{padding-top:84px}.site-header{height:84px}.site-header .brand img{width:54px!important;height:54px!important;max-width:54px!important}.hero{min-height:calc(100vh - 84px);background-image:url('/assets/images/the-bells-exterior.jpg')!important;background-size:cover!important;background-position:center!important}.hero-logo{width:170px!important;height:170px!important;max-width:42vw!important;object-fit:contain!important}.intro-images img{display:block;width:100%;height:100%;object-fit:cover}.image-card-large{min-height:520px}.image-card-small{min-height:300px}@media(max-width:760px){body{padding-top:70px}.site-header{height:70px;padding:0 16px}.site-header nav>a:not(.button){display:none}.site-header .brand img{width:46px!important;height:46px!important}.hero{min-height:760px}.hero-logo{width:145px!important;height:145px!important}.intro-section{overflow:hidden}}
