:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#211818;background:#fbf7ee;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #211818;--muted: #6e6257;--paper: #fbf7ee;--panel: #fffaf1;--wine: #5f122b;--wine-deep: #2a0b14;--rose: #a33a58;--gold: #c29445;--sage: #536b3f;--teal: #315f59;--line: rgba(57, 34, 26, .16);--shadow: 0 18px 50px rgba(42, 11, 20, .15)}@keyframes public-fade-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-image-drift{0%{transform:scale(1.04) translate3d(-1.2%,-.8%,0)}50%{transform:scale(1.1) translate3d(1.1%,.9%,0)}to{transform:scale(1.04) translate3d(-1.2%,-.8%,0)}}@keyframes hero-overlay-breathe{0%{opacity:.92;transform:translate(-1.5%)}50%{opacity:.78;transform:translate(1.5%)}to{opacity:.92;transform:translate(-1.5%)}}@keyframes public-panel-reveal{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes map-reveal{0%{opacity:0;filter:saturate(.82) contrast(.92);transform:translateY(18px) scale(.985)}to{opacity:1;filter:saturate(1) contrast(1);transform:translateY(0) scale(1)}}@keyframes confirmation-rise{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input,select,textarea{font:inherit}button{border:0}a{color:inherit}.public-page,.admin-page,.admin-unavailable-page{min-height:100vh}.public-page{font-family:var(--font-body),Inter,ui-sans-serif,system-ui,sans-serif}.customer-hero{position:relative;overflow:hidden;contain:paint;min-height:min(92vh,780px);display:grid;grid-template-rows:auto 1fr;padding:22px clamp(18px,5vw,72px) 44px;color:#fff7e8;background:#2a0b14}.hero-image-layer,.hero-atmosphere{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;pointer-events:none}.hero-image-layer{background-position:center;background-size:cover;background-repeat:no-repeat;animation:hero-image-drift 18s ease-in-out infinite;will-change:transform}.hero-atmosphere{background:linear-gradient(90deg,#2a0b14f5,#5f122bb8 44%,#315f5999),radial-gradient(circle at 22% 72%,rgba(194,148,69,.2),transparent 34%),radial-gradient(circle at 74% 30%,rgba(83,107,63,.2),transparent 38%);mix-blend-mode:multiply;animation:hero-overlay-breathe 14s ease-in-out infinite}.topbar,.admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.customer-hero .topbar,.hero-content{position:relative;z-index:1}.brand-link{display:inline-flex;align-items:center;gap:10px;max-width:min(52vw,280px);text-decoration:none;font-weight:800}.header-logo{display:block;width:var(--header-logo-desktop-width, 120px);max-width:min(260px,46vw);height:auto;object-fit:contain}.admin-header .header-logo,.header-logo-preview img{width:auto;max-width:100%;object-fit:contain}.brand-mark{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:#ffffff1f;color:inherit;font-size:.82rem}.admin-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid currentColor;border-radius:999px;text-decoration:none;font-weight:750;color:inherit;font-family:var(--font-accent),Inter,ui-sans-serif,system-ui,sans-serif}.hero-content{align-self:end;max-width:760px;padding-bottom:min(9vh,72px)}.hero-content .eyebrow,.hero-content h1,.event-facts,.hero-content>p{animation:public-fade-up 1.05s cubic-bezier(.2,.75,.18,1) both}.hero-content .eyebrow{animation-delay:.16s}.hero-content h1{animation-delay:.31s}.event-facts{animation-delay:.52s}.hero-content>p{animation-delay:.69s}.eyebrow{margin:0 0 8px;color:var(--gold);font-size:.78rem;font-weight:850;text-transform:uppercase;font-family:var(--font-accent),Inter,ui-sans-serif,system-ui,sans-serif}.hero-content h1{max-width:11ch;margin:0;font-family:var(--font-title),Georgia,"Times New Roman",serif;font-size:clamp(3rem,8vw,7.2rem);line-height:.92;font-weight:700}.hero-content p{max-width:650px;margin:24px 0 0;color:#f9e9d3;font-size:clamp(1rem,2vw,1.2rem)}.event-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.event-facts span{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border:1px solid rgba(255,247,232,.24);border-radius:999px;background:#fff7e81a;color:#fff5e4;font-family:var(--font-accent),Inter,ui-sans-serif,system-ui,sans-serif}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:clamp(20px,4vw,42px);padding:clamp(24px,5vw,68px);align-items:start;background:linear-gradient(180deg,#fffaf1,#f5eee1)}.booking-map-panel,.reservation-panel,.zone-inspector,.editor-panel,.reservations-view,.settings-panel{border:1px solid var(--line);border-radius:8px;background:#fffaf1f0;box-shadow:var(--shadow)}.booking-map-panel,.reservation-panel,.editor-panel,.zone-inspector,.reservations-view,.settings-panel{padding:clamp(16px,3vw,26px)}.booking-map-panel{animation:public-panel-reveal .98s cubic-bezier(.2,.75,.18,1) .16s both}.reservation-panel{animation:public-panel-reveal 1.05s cubic-bezier(.2,.75,.18,1) .29s both}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.section-heading.compact{margin-bottom:12px}.section-heading h2,.selected-summary h2,.confirmation-state h2,.zone-inspector h2,.reservations-view h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.05;color:var(--wine-deep)}.availability-note,.section-heading>p{margin:4px 0 0;color:var(--muted);font-size:.95rem}.map-shell{width:100%}.map-frame{position:relative;overflow:hidden;width:100%;border:1px solid rgba(57,34,26,.22);border-radius:8px;background:#efe1ca}.booking-map-panel .map-frame{animation:map-reveal 1.15s cubic-bezier(.2,.75,.18,1) .26s both}.customer-map{position:relative}.customer-map .map-viewport{transition:transform .18s ease}.customer-map.public-map-gesture-active .map-viewport{transition:none}.customer-map .map-overlay{touch-action:pan-y}.customer-map.public-map-zoomed .map-overlay,.customer-map.public-map-gesture-active .map-overlay{cursor:grab;touch-action:none}.customer-map.public-map-gesture-active .map-overlay,.public-map-frame.is-panning .map-overlay{cursor:grabbing}.public-map-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}.public-map-controls .tool-button{min-height:38px;background:#fffdf7e6}.public-map-controls .reset-map-button{padding:0 12px}.public-data-state{display:grid;place-items:center;min-height:clamp(280px,48vw,520px);padding:clamp(22px,5vw,42px);border:1px dashed rgba(95,18,43,.28);border-radius:8px;background:#fffdf7c7;text-align:center}.public-data-state h3{max-width:520px;margin:0;color:var(--wine-deep);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,3vw,2rem);line-height:1.1}.public-data-state p:last-child{max-width:560px;margin:10px 0 0;color:var(--muted);font-weight:750}.map-viewport{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0;will-change:transform}.map-image,.map-overlay,.map-label-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.map-image{display:block;object-fit:contain;-webkit-user-select:none;user-select:none}.map-overlay{touch-action:none}.zone-shape{fill:#ffffff03;stroke:#fff0;stroke-width:.7;pointer-events:all;vector-effect:non-scaling-stroke;outline:none;transition:fill .28s ease,stroke .28s ease,filter .28s ease,opacity .28s ease}.zone-clickable{cursor:pointer}.zone-available.zone-clickable:hover,.zone-available.zone-clickable:focus-visible{fill:#f5be4747;stroke:#ffefa8fa;stroke-width:1.05;filter:drop-shadow(0 0 10px rgba(245,190,71,.52))}.zone-available{fill:#ffffff03;stroke:#fff0}.zone-reserved{fill:#030303d6;stroke:#fffaf17a}.zone-reserved.zone-clickable,.zone-disabled.zone-clickable{cursor:help}.zone-reserved.zone-clickable:hover,.zone-reserved.zone-clickable:focus-visible{fill:#030303e0;stroke:#fffaf1b8;filter:drop-shadow(0 0 8px rgba(20,18,18,.42))}.zone-disabled{fill:#1b1d1b9e;stroke:#fffaf180;stroke-dasharray:2.5 2}.zone-disabled.zone-clickable:hover,.zone-disabled.zone-clickable:focus-visible{fill:#1b1d1bb8;stroke:#fffaf1b8}.zone-selected,.zone-selected.zone-clickable:hover,.zone-selected.zone-clickable:focus-visible{fill:#ffc7406b;stroke:#fff3a8;stroke-width:1.35;filter:drop-shadow(0 0 15px rgba(245,190,71,.68))}.admin-map .zone-shape{fill:#315f5914;stroke:#234640f2;stroke-width:.65}.admin-map .zone-available{fill:#315f5914;stroke:#315f59}.admin-map .zone-reserved{fill:#9d223d3d;stroke:#9d223d}.admin-map .zone-disabled{fill:#2a28262e;stroke:#49423c}.admin-map .zone-selected,.admin-map .zone-selected.zone-clickable:hover,.admin-map .zone-selected.zone-clickable:focus-visible{fill:#ffffff08;stroke:#fffaf1;stroke-width:.95;filter:drop-shadow(0 0 2px rgba(42,11,20,.95))}.admin-map.mode-select .zone-clickable{cursor:move}.admin-map.mode-pan .map-overlay,.admin-map.space-pan-active .map-overlay{cursor:grab}.admin-map.mode-pan .map-overlay:active,.admin-map.space-pan-active .map-overlay:active{cursor:grabbing}.zone-draft{fill:#315f594d;stroke:#315f59;stroke-dasharray:2 1}.polygon-draft-line{fill:none;stroke:#315f59;stroke-width:.6;stroke-dasharray:2 1;vector-effect:non-scaling-stroke}.polygon-draft-point{fill:#fffaf1;stroke:#315f59;stroke-width:.4;vector-effect:non-scaling-stroke}.rect-rotation-line{stroke:#6f4512;stroke-width:1px;vector-effect:non-scaling-stroke}.selected-boundary-outline{fill:none;stroke:#fffaf1;stroke-width:1px;filter:drop-shadow(0 0 2px rgba(42,11,20,.95));pointer-events:none;vector-effect:non-scaling-stroke}.selected-zone-marker{fill:#fffaf1;stroke:#2a0b14;stroke-width:1px;pointer-events:none;r:2px;vector-effect:non-scaling-stroke}.editor-handle-hit{fill:transparent;stroke:transparent;r:9px;pointer-events:all}.rect-resize-handle,.rect-rotation-handle,.polygon-edit-point{fill:#fffdf7;stroke:#6f4512;stroke-width:1.25px;r:3px;vector-effect:non-scaling-stroke;pointer-events:none}.rect-resize-handle-group{cursor:nwse-resize}.rect-resize-handle-ne,.rect-resize-handle-sw{cursor:nesw-resize}.rect-rotation-handle{fill:var(--gold);r:3.5px;cursor:grab}.polygon-edit-point{stroke:#315f59;r:3px;cursor:move}.map-label-layer{pointer-events:none}.zone-label{position:absolute;max-width:120px;transform:translate(-50%,-50%);padding:4px 7px;border:1px solid rgba(255,255,255,.44);border-radius:999px;background:#2a0b14b8;color:#fff8ec;font-size:clamp(.62rem,1.4vw,.78rem);font-weight:800;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.15}.zone-label-selected{background:#c29445eb;color:#211818}.zone-status-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:none}.zone-status-marker span{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:999px;border:1px solid rgba(255,248,236,.76);background:#2a0b14c2;color:#fff8ec;font-size:.68rem;font-weight:850;line-height:1;box-shadow:0 6px 18px #2a0b142e}.zone-status-marker-disabled span{background:#2a2826c7}.legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:16px;color:var(--muted);font-size:.94rem}.legend span{display:inline-flex;align-items:center;gap:8px}.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block;border:1px solid rgba(57,34,26,.24)}.legend-swatch{width:22px;height:12px;display:inline-block;border:1px solid rgba(57,34,26,.24);border-radius:3px}.legend-wine{background:#a64258}.legend-food{background:#8296bf}.legend-available{border-color:var(--sage);background:#536b3f14}.legend-selected{background:var(--gold)}.legend-reserved{border-color:#fffaf180;background:#030303d6}.legend-disabled{background:#49423c}.reservation-panel{position:sticky;top:20px}.selected-summary p,.selected-details span,.confirmation-state p,.empty-state,.form-footnote,.public-notes p,.save-message{color:var(--muted)}.selected-details{display:grid;gap:8px;margin-top:12px;animation:public-panel-reveal .42s cubic-bezier(.2,.75,.18,1) both}.panel-state{animation:public-panel-reveal .46s cubic-bezier(.2,.75,.18,1) both}.selected-details div{display:grid;grid-template-columns:minmax(92px,auto) 1fr;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.selected-details span{font-size:.82rem;font-weight:800}.selected-details strong{color:var(--wine-deep);overflow-wrap:anywhere}.panel-warning-row strong{color:#8b2438}.panel-closed-row strong{color:#7a1e35}.booking-closed-message{margin:0;padding:12px 14px;border:1px solid rgba(157,34,61,.24);border-radius:8px;background:#9d223d14;color:#7a1e35;font-weight:850}.status-panel-message{display:grid;gap:8px;margin-top:14px;padding:14px;border:1px solid rgba(157,34,61,.22);border-radius:8px;background:#9d223d12;animation:public-panel-reveal .42s cubic-bezier(.2,.75,.18,1) both}.status-panel-message strong{color:var(--wine-deep);font-size:1rem}.status-panel-message span{color:var(--muted);font-weight:750}.reservation-form,.inspector-form{display:grid;gap:14px;margin-top:18px}.copy-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.copy-controls .secondary-button{min-width:0;padding:0 10px}label{display:grid;gap:7px;color:var(--wine-deep);font-size:.9rem;font-weight:800}input,select,textarea{width:100%;min-height:44px;border:1px solid rgba(57,34,26,.22);border-radius:7px;background:#fffdf7;color:var(--ink);padding:10px 12px;outline:none}textarea{min-height:96px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c2944538}.primary-button,.secondary-button,.ghost-button,.danger-button,.small-button,.tool-button,.nudge-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:7px;font-weight:850;font-family:var(--font-accent),Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease}.primary-button{width:100%;padding:0 18px;background:var(--wine);color:#fff8ec}.primary-button:hover,.secondary-button:hover,.tool-button:hover,.danger-button:hover,.small-button:hover,.nudge-controls button:hover{transform:translateY(-1px)}.primary-button:hover:not(:disabled){box-shadow:0 14px 30px #5f122b47,0 0 0 4px #c2944524}.primary-button:active:not(:disabled){transform:translateY(0) scale(.985)}.primary-button:disabled,.small-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.secondary-button{padding:0 14px;border:1px solid rgba(83,107,63,.35);background:#536b3f1f;color:#344820}.ghost-button{padding:0 14px;border:1px solid rgba(57,34,26,.2);background:transparent;color:var(--muted)}.danger-button{padding:0 14px;background:#7a1e35;color:#fff7eb}.small-button{min-height:34px;padding:0 10px;background:#5f122b1a;color:var(--wine)}.form-error{margin:0;color:#9d223d;font-weight:800}.form-footnote{display:flex;gap:8px;margin-top:18px;font-size:.9rem}.confirmation-state{display:grid;gap:14px;animation:confirmation-rise .72s cubic-bezier(.18,.82,.22,1) both}.confirmation-state svg{color:var(--sage)}.confirmation-state dl{display:grid;gap:10px;margin:0}.confirmation-state div{padding:10px 0;border-top:1px solid var(--line)}.confirmation-state dt{color:var(--muted);font-size:.82rem}.confirmation-state dd{margin:2px 0 0;overflow-wrap:anywhere;font-weight:800}.public-notes{padding:0 clamp(24px,5vw,68px) clamp(28px,5vw,56px);background:#f5eee1}.public-notes>div{display:flex;gap:12px;max-width:1080px;margin:0 auto;padding:16px 0;border-top:1px solid var(--line)}.public-notes svg{flex:0 0 auto;color:var(--teal);margin-top:2px}.public-notes p{margin:0}.admin-page{padding:clamp(18px,3vw,34px);background:#f5eee1}.admin-unavailable-page{display:grid;place-items:center;padding:clamp(22px,6vw,72px);background:#f5eee1}.admin-unavailable-page section{width:min(100%,560px)}.admin-unavailable-page h1{margin:8px 0 10px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,6vw,3.75rem);line-height:1;color:var(--wine-deep)}.admin-unavailable-page p{margin:0 0 22px;color:var(--muted)}.admin-header{align-items:flex-start;margin-bottom:18px}.admin-header .brand-link{color:var(--wine)}.admin-header .brand-mark{border-color:#5f122b4d;background:#5f122b14}.admin-header h1{margin:18px 0 4px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,4vw,4rem);line-height:1;color:var(--wine-deep)}.admin-header p{margin:0;color:var(--muted)}.admin-warning{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;margin:0 0 18px;border:1px solid rgba(157,34,61,.24);border-radius:8px;background:#9d223d14;color:#681a2d}.admin-warning p{margin:0;font-weight:750}.admin-section-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.admin-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:18px;align-items:start}.settings-view,.backup-view{max-width:1040px}.settings-form{display:grid;gap:16px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.image-setting{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fffdf7b8}.typography-settings{display:grid;gap:16px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fffdf7b8}.typography-settings h3,.font-setting h4{margin:0;color:var(--wine-deep)}.font-setting{display:grid;gap:12px;padding-top:14px;border-top:1px solid var(--line)}.font-setting p{margin:4px 0 0;color:var(--muted)}.font-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.font-option{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:9px;padding:10px;border:1px solid rgba(57,34,26,.16);border-radius:8px;background:#fffdf7}.font-option input{width:auto;min-height:auto;margin-top:4px}.font-option span,.font-option strong,.font-option em{display:block}.font-option strong{color:var(--wine-deep);font-size:1rem}.font-option em{margin-top:2px;color:var(--muted);font-size:.82rem;font-style:normal}.font-license-note{padding:10px 12px;border:1px solid rgba(157,34,61,.28);border-radius:7px;background:#9d223d14;color:#681a2d;font-weight:850}.image-setting-heading{display:flex;gap:10px;align-items:flex-start}.image-setting-heading svg{flex:0 0 auto;color:var(--teal);margin-top:3px}.image-setting h3{margin:0;color:var(--wine-deep);font-size:1rem}.image-setting p{margin:2px 0 0;color:var(--muted);font-size:.9rem}.asset-name{display:inline-flex;width:fit-content;max-width:100%;padding:6px 9px;border:1px solid rgba(49,95,89,.18);border-radius:999px;background:#315f5914;color:var(--teal);font-weight:850;overflow-wrap:anywhere}.logo-size-controls{display:grid;gap:12px;max-width:520px;padding:12px;border:1px solid rgba(57,34,26,.14);border-radius:8px;background:#fffdf7b8}.range-number-row{display:grid;grid-template-columns:minmax(140px,1fr) 84px auto;align-items:center;gap:10px}.range-number-row input[type=range]{min-height:28px;padding:0;accent-color:var(--gold)}.range-number-row input[type=number]{min-height:38px;padding:8px 10px}.range-number-row span{color:var(--muted);font-weight:850}.logo-crop-note{max-width:620px;margin:0;color:var(--muted);font-size:.9rem}.advanced-asset-field{border-top:1px solid var(--line);padding-top:10px}.advanced-asset-field summary{width:fit-content;color:var(--muted);font-size:.88rem;font-weight:850;cursor:pointer}.advanced-asset-field label{margin-top:10px}.image-setting img{width:min(100%,420px);max-height:220px;object-fit:contain;border:1px solid rgba(57,34,26,.16);border-radius:7px;background:#efe1ca}.header-logo-preview{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;padding:12px 16px;border:1px solid rgba(57,34,26,.16);border-radius:7px;background:linear-gradient(135deg,#2a0b14f2,#5f122bd1),#2a0b14}.header-logo-preview img{width:auto;max-width:min(320px,100%);max-height:86px;border:0;background:transparent}.fallback-brand-preview{display:inline-flex;align-items:center;gap:10px;width:fit-content;max-width:100%;padding:12px 16px;border-radius:7px;background:#2a0b14;color:#fff7e8;font-weight:850}.reset-logo-button{width:fit-content}.map-change-warning{padding:10px 12px;border:1px solid rgba(157,34,61,.28);border-radius:7px;background:#9d223d14;color:#681a2d;font-weight:800}.settings-actions{display:flex;flex-wrap:wrap;gap:10px}.settings-actions .primary-button{width:auto}.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.backup-card,.backup-details,.backup-summary{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fffdf7b8}.backup-card h3,.backup-details h3,.backup-summary h3{margin:0;color:var(--wine-deep)}.backup-card p,.backup-details p,.backup-summary p{margin:2px 0 0;color:var(--muted)}.backup-action-button{width:fit-content}.backup-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.backup-note{margin-top:16px;padding:12px 14px;border:1px solid rgba(49,95,89,.24);border-radius:8px;background:#315f5914;color:#234640;font-weight:850}.backup-details,.backup-summary{margin-top:16px}.backup-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.backup-summary div{padding:10px;border:1px solid rgba(57,34,26,.12);border-radius:7px;background:#fffdf7}.backup-summary dt{color:var(--muted);font-size:.78rem;font-weight:850;text-transform:uppercase}.backup-summary dd{margin:4px 0 0;color:var(--wine-deep);font-weight:850;overflow-wrap:anywhere}.backup-summary-warning{padding:10px 12px;border:1px solid rgba(157,34,61,.24);border-radius:7px;background:#9d223d14;color:#681a2d;font-weight:850}.backup-details ul{display:grid;gap:8px;margin:0;padding-left:20px;color:var(--muted)}.toolbar,.polygon-helper,.inspector-actions{display:flex;flex-wrap:wrap;gap:10px}.toolbar{margin-bottom:14px}.tool-button{padding:0 12px;border:1px solid var(--line);background:#fffdf7;color:var(--ink)}.tool-button.active{border-color:#315f5973;background:#315f5921;color:#234640}.zoom-controls{display:inline-flex;align-items:center;gap:6px;padding-left:4px}.icon-tool-button{width:42px;padding:0}.zoom-readout{min-width:52px;color:var(--wine-deep);font-size:.86rem;font-weight:850;text-align:center}.polygon-helper{align-items:center;justify-content:space-between;padding:10px;margin-bottom:12px;border:1px solid rgba(49,95,89,.18);border-radius:8px;background:#315f5914}.admin-map.mode-rect .map-overlay,.admin-map.mode-polygon .map-overlay{cursor:crosshair}.save-message{margin:12px 0 0;font-size:.92rem}.save-message-success{color:#315f35;font-weight:850}.save-message-error{color:#9d223d;font-weight:850}.nudge-controls{display:grid;grid-template-columns:repeat(4,44px);gap:8px}.nudge-controls button{min-width:44px;padding:0;border:1px solid var(--line);background:#fffdf7;color:var(--wine-deep)}.coordinate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.polygon-point-list{display:grid;gap:8px;max-height:220px;overflow:auto;padding-right:4px}.polygon-point-row{display:grid;grid-template-columns:74px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px}.polygon-point-row span{color:var(--muted);font-size:.84rem;font-weight:750}.reservations-view{margin-top:18px}.table-wrap{overflow-x:auto}table{width:100%;min-width:920px;border-collapse:collapse;font-size:.92rem}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--wine-deep);font-size:.78rem;text-transform:uppercase}td{color:var(--muted)}.reservation-name-stack{display:grid;gap:3px}.reservation-name-stack strong{color:var(--wine-deep);overflow-wrap:anywhere}.reservation-name-stack span{overflow-wrap:anywhere}@media(max-width:980px){.booking-layout,.admin-workspace,.settings-grid,.backup-grid{grid-template-columns:1fr}.reservation-panel{position:static}.admin-header{flex-direction:column}}@media(max-width:640px){.customer-hero{min-height:88vh;padding:18px 16px 28px}.topbar{align-items:flex-start}.admin-link{min-height:38px;padding:0 12px;font-size:.9rem}.brand-link{max-width:calc(100vw - 144px)}.header-logo{width:var(--header-logo-mobile-width, 90px);max-width:calc(100vw - 166px)}.event-facts span{width:100%;border-radius:7px}.booking-layout,.admin-page{padding:16px}.font-option-grid,.backup-summary dl{grid-template-columns:1fr}.section-heading{flex-direction:column}.zone-label{display:none}.coordinate-grid{grid-template-columns:1fr}.range-number-row{grid-template-columns:1fr 76px auto}.toolbar .tool-button{flex:1 1 140px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.hero-image-layer,.hero-atmosphere{animation:none!important;transform:none!important}}
