:root{--page-bg:#f7f3ec;--panel-bg:#fffaf2;--ink:#20312b;--muted:#64726b;--accent:#6f4e37;--accent-dark:#4e3828;--line:#ded4c8;--shadow:0 18px 45px #20312b14;--image-radius:1rem;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--page-bg);color:var(--ink);margin:0;line-height:1.6}a{color:var(--accent-dark)}img{border-radius:var(--image-radius);max-width:100%;height:auto;display:block}.site-shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.site-header{border-bottom:1px solid var(--line);z-index:10;backdrop-filter:blur(8px);background:#fffaf2f5;position:sticky;top:0}.header-inner,.page-grid,.footer-inner{width:min(1180px,100% - 2rem);margin:0 auto}.header-inner{justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.brand{color:var(--ink);letter-spacing:.02em;align-items:center;gap:.75rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;font-weight:900;display:grid}.top-nav{flex-wrap:wrap;justify-content:flex-end;gap:.8rem;display:flex}.top-nav a{color:var(--ink);font-weight:650;text-decoration:none}.page-grid{grid-template-columns:260px minmax(0,1fr);gap:2rem;padding:2rem 0 3rem;display:grid}.sidebar{background:var(--panel-bg);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:1rem;align-self:start;padding:1rem}.sidebar h2{margin:0 0 .75rem;font-size:1rem}.sidebar ul{margin:0;padding-left:0;list-style:none}.sidebar li+li{margin-top:.35rem}.sidebar li ul{margin-top:.35rem;padding-left:1rem}.sidebar a{color:var(--ink);border-radius:.5rem;padding:.15rem .25rem;text-decoration:none;display:inline-block}.sidebar a[aria-current=page],.sidebar a:hover{background:#eadfce}main{min-width:0}.hero,.card,.prose{background:var(--panel-bg);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:1.15rem}.hero{margin-bottom:1.5rem;padding:clamp(1.5rem,5vw,3rem)}.hero p{color:var(--muted);max-width:62ch}.hero h1{margin-top:0;font-size:clamp(2rem,5vw,4rem);line-height:1.1}.prose{padding:clamp(1rem,3vw,2rem)}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;display:grid}.card{overflow:hidden}.card-content{padding:1rem}.card h2,.card h3{margin-top:0;line-height:1.2}.card p{color:var(--muted)}.card a.card-link{color:inherit;text-decoration:none}.card img{aspect-ratio:16/10;object-fit:cover;background:#eadfce;width:100%}.badge{color:var(--accent-dark);background:#eadfce;border-radius:999px;padding:.15rem .5rem;font-size:.78rem;font-weight:700;display:inline-flex}.button{background:var(--accent);color:#fff;border-radius:999px;align-items:center;gap:.35rem;margin-top:.5rem;padding:.65rem .9rem;font-weight:700;text-decoration:none;display:inline-flex}.site-footer{border-top:1px solid var(--line);color:var(--muted)}.footer-inner{padding:1.5rem 0}@media (width<=820px){.header-inner{flex-direction:column;align-items:flex-start}.top-nav{justify-content:flex-start}.page-grid{grid-template-columns:1fr}.sidebar{position:static}}.listing-hero-image{border-radius:var(--image-radius);object-fit:cover;background:#eadfce;width:100%;max-height:34rem;margin-bottom:1.5rem}.spaces-section{margin-top:1.5rem}.section-heading{margin-bottom:1rem}.section-heading h2{margin-bottom:.25rem}.section-heading p{color:var(--muted);margin:0}.space-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.space-card{background:var(--panel-bg);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:1.15rem;overflow:hidden}.space-card img{aspect-ratio:16/10;object-fit:cover;background:#eadfce;width:100%}.space-card-content{padding:1rem}.space-card-content h3{margin-top:0;line-height:1.2}.space-card-content p{color:var(--muted)}.space-facts{font-size:.92rem}.space-features{color:var(--muted);margin:0;padding-left:1.1rem}.space-body:empty{display:none}.button-group{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1rem;display:flex}.button-secondary{color:var(--accent-dark);border:1px solid var(--accent);background:0 0}.listing-facts,.category-count{font-weight:700;color:var(--accent-dark)!important}.category-section{margin-bottom:1.5rem}.category-card .card-link{height:100%;display:block}.section-block,.enquiry-panel{margin-top:1.5rem}.developer-note{border-style:dashed;margin-top:1.5rem}.booking-panel{background:var(--panel-bg);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:1.15rem;padding:clamp(1rem,3vw,2rem)}.booking-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:1rem;display:grid}.booking-field{gap:.35rem;display:grid}.booking-field label{font-weight:750}.booking-field input,.booking-field select,.booking-field textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:.65rem;padding:.65rem .75rem}.booking-property-field,.booking-calendar-picker,.booking-field-wide,.booking-rule,.booking-status,.booking-contact,.booking-note{grid-column:1/-1}.booking-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.booking-contact[hidden]{display:none}.booking-rule{color:var(--muted);margin:0}.booking-status{margin:0;font-weight:700}.booking-note{color:var(--muted);margin-bottom:0}.booking-calendar-picker{border:1px solid var(--line);background:#fff;border-radius:.9rem;padding:clamp(.75rem,2vw,1.25rem)}.booking-calendar-toolbar{text-align:center;grid-template-columns:2.75rem 1fr 2.75rem;align-items:center;gap:.75rem;display:grid}.calendar-navigation{border:1px solid var(--line);background:var(--panel-bg);min-height:2.75rem;color:var(--ink);font:inherit;cursor:pointer;border-radius:.65rem;font-size:1.25rem;font-weight:800}.calendar-navigation:hover:not(:disabled){background:#eadfce}.calendar-navigation:disabled{cursor:not-allowed;opacity:.45}.booking-calendar-instruction,.booking-calendar-message{color:var(--muted);text-align:center;margin:.7rem 0 0}.booking-calendar-message{min-height:1.6em;font-size:.92rem}.booking-calendar-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.booking-calendar-month{border:1px solid var(--line);background:var(--panel-bg);border-radius:.8rem;min-width:0;padding:.75rem}.booking-calendar-month h3{text-align:center;margin:0 0 .65rem;font-size:1rem}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;display:grid}.calendar-weekdays{margin-bottom:.3rem}.calendar-weekdays span{color:var(--muted);text-align:center;font-size:.72rem;font-weight:800}.calendar-day,.calendar-day-spacer{aspect-ratio:1;min-width:0}.calendar-day{color:var(--ink);font:inherit;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:.5rem;place-items:center;font-size:.85rem;font-weight:700;display:grid;position:relative}.calendar-day:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.calendar-day:focus-visible{outline-offset:1px;outline:3px solid #6f4e374d}.calendar-day-today{border-color:var(--accent)}.calendar-day-past{color:#a49d94;background:#f3f0eb}.calendar-day-unavailable{color:#726a62;background:repeating-linear-gradient(135deg,#eee8df 0 5px,#ded4c8 5px 10px);text-decoration:line-through}.calendar-day-unavailable:disabled{opacity:1;cursor:not-allowed}.calendar-day-departure-only{border-color:var(--accent);cursor:pointer;text-decoration:none}.calendar-day-in-range,.calendar-day-start,.calendar-day-end{color:var(--accent-dark);background:#eadfce;text-decoration:none}.calendar-day-start,.calendar-day-end{border-color:var(--accent-dark);box-shadow:inset 0 0 0 1px var(--accent-dark)}.booking-calendar-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:.7rem 1rem;margin-top:.9rem;font-size:.82rem;display:flex}.booking-calendar-legend span{align-items:center;gap:.35rem;display:inline-flex}.calendar-key{border:1px solid var(--line);background:#fff;border-radius:.25rem;width:1rem;height:1rem}.calendar-key-unavailable{background:repeating-linear-gradient(135deg,#eee8df 0 4px,#ded4c8 4px 8px)}.calendar-key-selected{border-color:var(--accent-dark);background:#eadfce}@media (width<=760px){.booking-calendar-months{grid-template-columns:1fr}}@media (width<=620px){.booking-form,.booking-contact{grid-template-columns:1fr}.booking-calendar-picker{padding:.65rem}.booking-calendar-month{padding:.55rem}.calendar-weekdays,.calendar-days{gap:.15rem}.calendar-day{border-radius:.35rem;font-size:.78rem}}.admin-body,.admin-login-body{background:#eef0ec;min-height:100vh}.admin-header{color:#fff;background:#20312b;justify-content:space-between;align-items:center;gap:1rem;min-height:72px;padding:.8rem clamp(1rem,3vw,2rem);display:flex}.admin-brand{color:inherit;align-items:center;gap:.7rem;font-weight:800;text-decoration:none;display:inline-flex}.admin-account{flex-wrap:wrap;align-items:center;gap:.9rem;font-size:.9rem;display:flex}.admin-account a,.link-button{color:#fff}.admin-account form{margin:0}.link-button{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.admin-shell{grid-template-columns:230px minmax(0,1fr);width:min(1440px,100%);min-height:calc(100vh - 72px);margin:auto;display:grid}.admin-sidebar{border-right:1px solid var(--line);background:#fffaf2;padding:1.25rem}.admin-sidebar nav{gap:.35rem;display:grid;position:sticky;top:1.25rem}.admin-sidebar a{color:var(--ink);border-radius:.65rem;padding:.7rem .8rem;font-weight:700;text-decoration:none}.admin-sidebar a:hover,.admin-sidebar a[aria-current=page]{background:#eadfce}.admin-main{padding:clamp(1rem,3vw,2.5rem)}.admin-page-header{margin-bottom:1.5rem}.admin-page-header h1{margin:.1rem 0;font-size:clamp(2rem,5vw,3.2rem);line-height:1.1}.admin-page-header p{max-width:70ch;color:var(--muted)}.admin-page-header-with-action{justify-content:space-between;align-items:flex-start;gap:1.25rem;display:flex}.admin-secondary-button{border:1px solid var(--accent-dark);min-height:44px;color:var(--accent-dark);background:#fff;border-radius:.65rem;flex:none;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1rem;font-weight:800;text-decoration:none;display:inline-flex}.admin-secondary-button:hover,.admin-secondary-button:focus-visible{background:#f5eee3}.admin-notice{background:#f3f8f4;border:1px solid #c9d8ce;border-left:.35rem solid #507660;border-radius:.85rem;margin-bottom:1.5rem;padding:clamp(1rem,3vw,1.4rem)}.admin-notice h2{margin:0 0 .35rem;font-size:1.15rem}.admin-notice p{color:#3e5147;max-width:85ch;margin:0}.admin-content-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.admin-content-card{border:1px solid var(--line);min-height:215px;box-shadow:var(--shadow);background:#fff;border-radius:1rem;flex-direction:column;justify-content:space-between;gap:1.25rem;padding:clamp(1rem,3vw,1.4rem);display:flex}.admin-content-card h2{margin:0 0 .45rem;font-size:1.25rem}.admin-content-card p{color:var(--muted);margin:0}.admin-content-card .admin-button-link{background:var(--accent-dark);color:#fff;border-radius:.6rem;align-self:flex-start;gap:.4rem;min-height:44px;padding:.7rem .95rem;font-weight:800}.admin-content-card .admin-button-link:hover,.admin-content-card .admin-button-link:focus-visible{background:#382a21}.eyebrow{text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:.75rem;font-weight:800;color:var(--accent)!important}.admin-card-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.admin-summary-card,.admin-panel,.login-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:1rem}.admin-summary-card{min-height:155px;color:var(--ink);flex-direction:column;padding:1.2rem;text-decoration:none;display:flex}.admin-summary-card span{font-weight:800}.admin-summary-card strong{margin-top:auto;font-size:1.75rem;line-height:1.1}.admin-summary-card small{color:var(--muted)}.admin-panel{padding:clamp(1rem,3vw,1.5rem)}.admin-panel h2{margin-top:.4rem}.admin-panel-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.admin-panel-heading h2{margin-bottom:.25rem}.admin-panel-heading p{max-width:68ch;color:var(--muted);margin:0}.admin-panel-heading .admin-button{flex:none}.status-badge{color:#27552b;background:#e6efe6;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:800;display:inline-flex}.admin-table-wrap{overflow-x:auto}.admin-table-wrap table{border-collapse:collapse;width:100%}.admin-table-wrap th,.admin-table-wrap td{text-align:left;border-bottom:1px solid var(--line);padding:.75rem}.admin-login-body{place-items:center;padding:1rem;display:grid}.login-panel{width:min(440px,100%);padding:clamp(1.25rem,5vw,2.25rem)}.login-panel h1{margin-bottom:.25rem}.admin-form{gap:1rem;margin-top:1.25rem;display:grid}.admin-form label{gap:.35rem;font-weight:700;display:grid}.admin-form input{width:100%;min-height:46px;font:inherit;border:1px solid #aeb7b0;border-radius:.55rem;padding:.7rem .8rem}.admin-form input:focus{border-color:var(--accent);outline:3px solid #6f4e3740}.admin-button{background:var(--accent-dark);color:#fff;min-height:46px;font:inherit;cursor:pointer;border:0;border-radius:.6rem;font-weight:800}.admin-alert{color:#842b22;background:#fbe8e6;border:1px solid #e5b6b0;border-radius:.55rem;padding:.75rem}.admin-help{margin-bottom:0;font-size:.9rem}@media (width<=760px){.admin-header{flex-direction:column;align-items:flex-start}.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:.65rem;overflow-x:auto}.admin-sidebar nav{min-width:max-content;display:flex;position:static}.admin-main{padding:1rem}.admin-page-header-with-action,.admin-panel-heading{flex-direction:column}.admin-panel-heading .admin-button,.admin-secondary-button{width:100%}}.pricing-page-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.pricing-header-actions{flex-wrap:wrap;gap:.65rem;display:flex}.admin-button--secondary{color:var(--accent-dark);border:1px solid var(--accent-dark);background:#fff;padding-inline:1rem}.admin-button--danger{background:#8b2f27;padding-inline:1rem}.admin-alert--info{color:#204c5d;background:#e8f1f4;border-color:#b7d2dc}.admin-alert--success{color:#27552b;background:#e6efe6;border-color:#b8d3ba}.admin-sync-feedback,.pricing-phase-note{margin-bottom:1rem}.pricing-toolbar{grid-template-columns:minmax(180px,1fr) minmax(240px,2fr) auto;align-items:end;gap:1rem;margin-bottom:1rem;display:grid}.pricing-toolbar label,.pricing-simulator-form label,.pricing-field{gap:.35rem;font-size:.9rem;font-weight:750;display:grid}.pricing-toolbar select,.pricing-simulator-form input,.pricing-simulator-form select,.pricing-inline-form input,.pricing-field input,.pricing-field select{width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;border:1px solid #aeb7b0;border-radius:.55rem;padding:.55rem .65rem}.pricing-plan-status{justify-items:end;gap:.25rem;display:grid}.pricing-plan-status small{color:var(--muted)}.status-draft{color:#6a4b00;background:#fff0c7}.status-published{color:#27552b;background:#e6efe6}.status-archived{color:#555;background:#ececec}.pricing-message{min-height:1.5rem;margin:.25rem 0 .75rem;font-weight:750}.pricing-message.is-success{color:#27552b}.pricing-message.is-error{color:#842b22}.pricing-workspace{grid-template-columns:minmax(230px,.82fr) minmax(380px,1.5fr) minmax(300px,1.12fr);align-items:start;gap:1rem;display:grid}.pricing-column{min-width:0;padding:1rem}.pricing-column-heading{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.65rem;display:flex}.pricing-column-heading h2{margin:.1rem 0 0;font-size:1.35rem}.pricing-column-help,.pricing-readonly-note{color:var(--muted);font-size:.88rem}.pricing-library{max-height:calc(100vh - 150px);overflow:auto}.pricing-library-group+.pricing-library-group{margin-top:1.15rem}.pricing-library-group h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .5rem;font-size:.82rem}.pricing-library-card{border:1px solid var(--line);cursor:grab;background:#fffaf2;border-radius:.7rem;justify-content:space-between;align-items:flex-start;gap:.55rem;margin-bottom:.55rem;padding:.7rem;display:flex}.pricing-library-card strong{font-size:.9rem;display:block}.pricing-library-card p{color:var(--muted);margin:.2rem 0 0;font-size:.78rem;line-height:1.35}.pricing-library-card.is-disabled{cursor:not-allowed;opacity:.62}.small-action{border:1px solid var(--accent);color:var(--accent-dark);font:inherit;cursor:pointer;background:#fff;border-radius:.45rem;flex:none;padding:.35rem .55rem;font-size:.78rem;font-weight:800}.small-action:disabled{opacity:.45;cursor:not-allowed}.pricing-inline-form{align-items:end;gap:.55rem;margin-bottom:.8rem;display:flex}.pricing-inline-form label{flex:1;gap:.25rem;font-size:.78rem;font-weight:800;display:grid}.pricing-rule-list{border:2px dashed #0000;border-radius:.8rem;gap:.7rem;min-height:110px;padding:.25rem;display:grid}.pricing-rule-list:empty,.pricing-rule-list:has(.pricing-empty-state){border-color:#c9cec9}.pricing-empty-state{min-height:100px;color:var(--muted);text-align:center;place-items:center;display:grid}.pricing-rule-card{border:1px solid var(--line);background:#fff;border-radius:.8rem;overflow:hidden;box-shadow:0 3px 12px #212a260f}.pricing-rule-card.is-disabled{opacity:.67}.pricing-rule-card.is-dragging{opacity:.45;outline:2px solid var(--accent)}.pricing-rule-card__header{grid-template-columns:auto 1fr auto;align-items:start;gap:.65rem;padding:.75rem;display:grid}.pricing-rule-card__header strong{display:block}.pricing-rule-card__header p{color:var(--muted);margin:.18rem 0 0;font-size:.84rem}.drag-handle{color:var(--muted);cursor:grab;background:0 0;border:0;padding:.1rem;font-size:1.2rem}.rule-state{border-radius:999px;padding:.15rem .45rem;font-size:.7rem;font-weight:850}.rule-state.is-on{color:#27552b;background:#e6efe6}.rule-state.is-off{color:#666;background:#ececec}.pricing-rule-meta{flex-wrap:wrap;gap:.35rem;padding:0 .75rem .7rem;display:flex}.pricing-rule-meta span{color:#5d5d58;text-transform:capitalize;background:#f0eee9;border-radius:.35rem;padding:.15rem .4rem;font-size:.68rem}.pricing-rule-editor{border-top:1px solid var(--line)}.pricing-rule-editor summary{cursor:pointer;background:#fbfaf7;padding:.65rem .75rem;font-size:.82rem;font-weight:800}.pricing-rule-form{padding:.8rem}.pricing-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.pricing-field--wide{grid-column:1/-1}.pricing-check{align-items:center;gap:.4rem;font-size:.83rem;font-weight:700;display:flex}.pricing-check input{width:1.05rem;height:1.05rem}.pricing-days{border:1px solid var(--line);border-radius:.55rem;grid-column:1/-1;padding:.55rem}.pricing-days legend{padding:0 .2rem;font-size:.78rem;font-weight:800}.pricing-days label{gap:.3rem;margin-right:.7rem;font-size:.78rem;display:inline-flex}.pricing-rule-actions{gap:.55rem;margin-top:.8rem;display:flex}.pricing-rule-actions .admin-button{min-height:40px}.pricing-simulator-form{gap:.7rem;display:grid}.pricing-form-row{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.pricing-results{margin-top:1rem}.pricing-warnings{color:#674b0c;background:#fff6dc;border:1px solid #e3c684;border-radius:.6rem;margin-bottom:.7rem;padding:.65rem}.pricing-warnings p{margin:.2rem 0;font-size:.82rem}.pricing-result-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.8rem;display:grid}.pricing-result-summary div{background:#f0f3ef;border-radius:.6rem;padding:.65rem}.pricing-result-summary span{color:var(--muted);font-size:.7rem;display:block}.pricing-result-summary strong{margin-top:.1rem;font-size:1rem;display:block}.pricing-calculation table{font-size:.82rem}.pricing-calculation td:first-child small{color:var(--muted);font-size:.68rem;display:block}.money-cell{white-space:nowrap;text-align:right!important}.total-row th{border-top:2px solid var(--ink);font-weight:850}.pricing-comparison{margin-top:1rem}.pricing-comparison h3,.pricing-explanations h3{margin-bottom:.45rem;font-size:1rem}.pricing-comparison table{border-collapse:collapse;width:100%;font-size:.72rem}.pricing-comparison th,.pricing-comparison td{border-bottom:1px solid var(--line);text-align:right;padding:.4rem}.pricing-comparison th:first-child,.pricing-comparison td:first-child{text-align:left}.pricing-comparison p{color:var(--muted);font-size:.72rem}.pricing-explanations{margin-top:1rem}.pricing-explanations ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.pricing-explanations li{background:#f4f5f2;border-radius:.45rem;grid-template-columns:auto 1fr;gap:.45rem;padding:.45rem;font-size:.78rem;display:grid}.pricing-explanations li.applied>span{color:#287234}.pricing-explanations li.not-applied>span{color:#8a514b}.pricing-explanations small{color:var(--muted);display:block}.pricing-empty-page{text-align:center}.pricing-footnote{color:var(--muted);font-size:.8rem}@media (width<=1180px){.pricing-workspace{grid-template-columns:minmax(220px,.8fr) minmax(400px,1.4fr)}.pricing-simulator{grid-column:1/-1}}@media (width<=820px){.pricing-page-header{flex-direction:column;align-items:flex-start}.pricing-toolbar{grid-template-columns:1fr}.pricing-plan-status{justify-items:start}.pricing-workspace{grid-template-columns:1fr}.pricing-library{max-height:none}.pricing-simulator{grid-column:auto}}@media (width<=520px){.pricing-form-grid,.pricing-form-row,.pricing-result-summary{grid-template-columns:1fr}.pricing-field--wide{grid-column:auto}.pricing-inline-form{flex-direction:column;align-items:stretch}}.admin-button-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.pricing-library-card.is-custom{background:#f2f7f2;border-color:#b9cdbb}.pricing-library-group--custom{border-bottom:1px solid var(--line);padding-bottom:.8rem}.rule-definition-workspace{grid-template-columns:minmax(360px,1.15fr) minmax(320px,.85fr);align-items:start;gap:1rem;display:grid}.rule-definition-editor,.rule-definition-list{padding:1rem}.rule-definition-editor{position:sticky;top:1rem}.rule-definition-form textarea{width:100%;color:var(--ink);font:inherit;resize:vertical;background:#fff;border:1px solid #aeb7b0;border-radius:.55rem;padding:.55rem .65rem}.definition-type-field[hidden]{display:none!important}.definition-count{background:#f0eee9;border-radius:999px;place-items:center;min-width:2rem;height:2rem;font-weight:850;display:grid}.defined-card-list{gap:.75rem;display:grid}.defined-card{border:1px solid var(--line);background:#fff;border-radius:.75rem;padding:.8rem}.defined-card.is-inactive{opacity:.68;background:#f4f4f2}.defined-card-heading{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.defined-card-heading strong{display:block}.defined-card-heading p{color:var(--muted);margin:.2rem 0 .6rem;font-size:.82rem;line-height:1.4}.defined-card-actions{gap:.5rem;margin-top:.65rem;display:flex}.small-action--danger{color:#8b2f27;border-color:#8b2f27}@media (width<=900px){.rule-definition-workspace{grid-template-columns:1fr}.rule-definition-editor{position:static}}.pricing-plan-conflicts,.pricing-result-conflicts{border:1px solid var(--line);background:#fbfaf7;border-radius:.65rem;margin:.8rem 0;padding:.7rem}.pricing-plan-conflicts h3,.pricing-result-conflicts h3{margin:0 0 .5rem;font-size:.95rem}.pricing-plan-conflicts ul,.pricing-result-conflicts ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.pricing-plan-conflicts li,.pricing-result-conflicts li{border-left:4px solid var(--line);background:#fff;border-radius:.35rem;grid-template-columns:4.6rem 1fr;gap:.5rem;padding:.5rem;font-size:.78rem;display:grid}.pricing-plan-conflicts li strong,.pricing-result-conflicts li strong{text-transform:uppercase;letter-spacing:.04em;font-size:.67rem}.pricing-plan-conflicts .conflict-error,.pricing-result-conflicts .conflict-error{background:#fff3f1;border-left-color:#a53b33}.pricing-plan-conflicts .conflict-warning,.pricing-result-conflicts .conflict-warning{background:#fff8e8;border-left-color:#b17b16}.pricing-plan-conflicts .conflict-info,.pricing-result-conflicts .conflict-info{background:#f0f7fb;border-left-color:#477a98}.booking-quote{background:#f3f8f3;border:1px solid #bfd2c2;border-radius:.85rem;grid-column:1/-1;padding:1rem}.booking-quote[hidden]{display:none}.booking-quote-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.65rem;display:flex}.booking-quote-heading h2,.booking-quote-heading p{margin:0}.booking-quote-heading>strong{font-size:clamp(1.35rem,3vw,1.8rem)}.booking-quote table{border-collapse:collapse;width:100%}.booking-quote td,.booking-quote th{text-align:left;border-bottom:1px solid #d6e2d7;padding:.5rem 0}.booking-quote td:last-child,.booking-quote th:last-child{text-align:right;white-space:nowrap}.booking-quote td small{color:var(--muted);display:block}.booking-quote-total th{border-top:2px solid var(--ink);border-bottom:0}.booking-quote>p{color:var(--muted);margin:.75rem 0 0;font-size:.86rem}.booking-submit-review{background:#f3f8f3;border:1px solid #bfd2c2;border-radius:.75rem;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.2rem 1rem;padding:.85rem 1rem;display:grid}.booking-submit-review[hidden],.booking-confirmation[hidden]{display:none}.booking-submit-review span,.booking-submit-review small{color:var(--muted)}.booking-submit-review strong{grid-area:1/2/span 2;font-size:1.25rem}.booking-submit-review small{font-size:.82rem}.booking-confirmation{background:#f3f8f3;border:1px solid #9fbea5;border-radius:1rem;padding:clamp(1rem,3vw,1.75rem)}.booking-confirmation h2,.booking-confirmation h3{margin-top:0}.booking-confirmation-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0;display:grid}.booking-confirmation-details div{background:#ffffffb8;border-radius:.65rem;padding:.7rem}.booking-confirmation-details dt{color:var(--muted);font-size:.75rem;font-weight:750}.booking-confirmation-details dd{margin:.2rem 0 0;font-weight:750}.booking-confirmation-price{background:#fff;border:1px solid #bfd2c2;border-radius:.85rem;margin:1rem 0;padding:1rem}.booking-confirmation-price table{border-collapse:collapse;width:100%}.booking-confirmation-price td,.booking-confirmation-price th{text-align:left;border-bottom:1px solid #d6e2d7;padding:.5rem 0}.booking-confirmation-price td:last-child,.booking-confirmation-price th:last-child{text-align:right;white-space:nowrap}.booking-confirmation-price td small{color:var(--muted);display:block}.scenario-layout{grid-template-columns:minmax(300px,.75fr) minmax(480px,1.25fr);align-items:start;gap:1rem;display:grid}.scenario-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.scenario-form label{gap:.3rem;font-size:.86rem;font-weight:750;display:grid}.scenario-form input,.scenario-form select{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:.55rem;padding:.55rem .65rem}.scenario-wide{grid-column:1/-1}.scenario-channel-mix{border:1px solid var(--line);border-radius:.65rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;padding:.7rem;display:grid}.scenario-channel-mix legend{padding:0 .25rem;font-weight:800}.scenario-results>p{color:var(--muted)}.scenario-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:1rem;display:grid}.scenario-summary div{background:#f0f3ef;border-radius:.65rem;padding:.75rem}.scenario-summary span{color:var(--muted);font-size:.72rem;display:block}.scenario-summary strong{margin-top:.15rem;font-size:1.05rem;display:block}.scenario-results h3{margin:1.15rem 0 .5rem}.scenario-results table,.scenario-history table{font-size:.8rem}.scenario-export{flex-wrap:wrap;gap:.55rem;display:flex}.scenario-history{margin-top:1rem}@media (width<=1000px){.scenario-layout{grid-template-columns:1fr}}@media (width<=620px){.booking-quote-heading{flex-direction:column}.booking-submit-review,.booking-confirmation-details{grid-template-columns:1fr}.booking-submit-review strong{grid-area:auto}.scenario-form,.scenario-channel-mix,.scenario-summary{grid-template-columns:1fr}.scenario-wide{grid-column:auto}}.admin-table-wrap td small{color:var(--muted);margin-top:.2rem;font-size:.74rem;display:block}.muted{color:var(--muted)}.admin-button{justify-content:center;align-items:center;padding-inline:1rem;text-decoration:none;display:inline-flex}.admin-button:disabled{opacity:.55;cursor:not-allowed}.admin-button--small{min-height:38px;padding-inline:.8rem;font-size:.85rem}.status-offered,.status-sent{color:#244f78;background:#e5eef8}.status-failed{color:#842b22;background:#fbe8e6}.status-approved{color:#27552b;background:#e6efe6}.status-declined,.status-cancelled{color:#585d59;background:#efefed}.booking-review-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.booking-review-grid{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);align-items:start;gap:1rem;margin-bottom:1rem;display:grid}.booking-review-summary__heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.booking-review-summary__heading h2{margin-top:.4rem}.admin-panel-intro{color:var(--muted);margin-top:-.25rem}.booking-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:1rem 0 0;display:grid}.booking-detail-list>div{border-top:1px solid var(--line);padding:.75rem 0}.booking-detail-list>div:nth-child(odd){padding-right:1rem}.booking-detail-list dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;font-size:.75rem;font-weight:800}.booking-detail-list dd{margin:0}.booking-detail-list__wide{grid-column:1/-1}.booking-price-table table{border-collapse:collapse;width:100%}.booking-price-table td,.booking-price-table th{border-bottom:1px solid var(--line);text-align:left;padding:.75rem 0}.booking-price-table td:last-child,.booking-price-table th:last-child{text-align:right;white-space:nowrap;padding-left:1rem}.booking-price-table td small{color:var(--muted);margin-top:.2rem;display:block}.booking-price-total th{padding-top:1rem;font-size:1.05rem}.booking-offer-editor{margin-bottom:1rem}.booking-offer-total{text-align:right;background:#f0f3ef;border-radius:.75rem;min-width:180px;padding:.75rem .9rem}.booking-offer-total span{color:var(--muted);font-size:.75rem;display:block}.booking-offer-total strong{margin-top:.15rem;font-size:1.25rem;display:block}.admin-form textarea{width:100%;font:inherit;resize:vertical;border:1px solid #aeb7b0;border-radius:.55rem;padding:.7rem .8rem}.admin-form textarea:focus{border-color:var(--accent);outline:3px solid #6f4e3740}.booking-offer-lines{gap:.75rem;display:grid}.booking-offer-line{border:1px solid var(--line);background:#fafaf7;border-radius:.75rem;grid-template-columns:minmax(180px,.9fr) minmax(260px,1.5fr) minmax(125px,.45fr) auto;align-items:end;gap:.65rem;padding:.8rem;display:grid}.booking-remove-line{min-height:46px}.booking-send-panel{background:#f0f3ef;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.booking-send-panel small{color:var(--muted);margin-top:.2rem;display:block}@media (width<=1050px){.booking-review-grid{grid-template-columns:1fr}.booking-offer-line{grid-template-columns:1fr 1fr}}@media (width<=680px){.booking-review-header,.booking-review-summary__heading,.booking-send-panel{flex-direction:column;align-items:stretch}.booking-detail-list,.booking-offer-line{grid-template-columns:1fr}.booking-detail-list>div:nth-child(odd){padding-right:0}.booking-offer-total{text-align:left}}.booking-contact-form{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.booking-contact-form__actions{align-items:center;gap:.85rem;margin-top:.65rem;display:flex}.booking-contact-form__actions small{color:var(--muted)}.booking-delete-panel{background:#fff9f8;border-color:#d7aaa5;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1rem;display:flex}.booking-delete-panel h2{margin:.25rem 0 .35rem}.booking-delete-panel p:last-child{margin-bottom:0}.booking-delete-form{justify-items:start;gap:.75rem;min-width:min(100%,350px);display:grid}.booking-delete-confirm{align-items:flex-start;gap:.55rem;font-weight:600;display:flex}.booking-delete-confirm input{margin-top:.2rem}@media (width<=680px){.booking-contact-form__actions,.booking-delete-panel{flex-direction:column;align-items:stretch}.booking-delete-form{width:100%;min-width:0}}.customer-booking-shell{gap:1rem;width:min(960px,100%);margin-inline:auto;display:grid}.customer-booking-header,.customer-booking-card{background:var(--panel-bg);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:1.1rem}.customer-booking-header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:clamp(1.25rem,4vw,2rem);display:flex}.customer-booking-header h1,.customer-booking-card h2{margin:.2rem 0 .65rem}.customer-booking-header p:last-child,.customer-booking-card p:last-child{margin-bottom:0}.customer-booking-status{color:#2e4b42;text-transform:capitalize;background:#e8ece7;border-radius:999px;flex:none;padding:.35rem .7rem;font-size:.78rem;font-weight:800;display:inline-flex}.customer-booking-status.status-accepted,.status-offer_accepted,.status-accepted{color:#27552b;background:#e6efe6}.customer-booking-status.status-declined,.customer-booking-status.status-expired,.customer-booking-status.status-superseded,.status-expired,.status-superseded{color:#7b2f2a;background:#f4e5e2}.customer-booking-message{border:1px solid var(--line);border-radius:.85rem;padding:.9rem 1rem;font-weight:700}.customer-booking-message.is-success{color:#27552b;background:#eef6ec;border-color:#b9d5b4}.customer-booking-message.is-error{color:#7b2f2a;background:#faece9;border-color:#e1b7b0}.customer-booking-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;display:grid}.customer-booking-card{padding:clamp(1.1rem,3vw,1.6rem)}.customer-booking-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.2rem;margin:1rem 0 0;display:grid}.customer-booking-details div{min-width:0}.customer-booking-details dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:800}.customer-booking-details dd{overflow-wrap:anywhere;margin:.2rem 0 0}.customer-booking-price-table{margin-top:.7rem;display:grid}.customer-booking-price-line{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding:.75rem 0;display:grid}.customer-booking-price-line small{color:var(--muted);margin-top:.15rem;display:block}.customer-booking-price-line>span{white-space:nowrap}.customer-booking-price-line.is-total{border-bottom:0;padding-top:1rem;font-size:1.15rem}.customer-booking-copy p{white-space:pre-line}.customer-booking-copy h2:not(:first-child){margin-top:1.5rem}.customer-booking-response{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.customer-booking-actions{flex:34rem;grid-template-columns:repeat(2,minmax(15rem,1fr));gap:.8rem;display:grid}.customer-booking-decision-form{background:#f7fbf6;border:1px solid #b9d5b4;border-radius:.85rem;flex-direction:column;align-items:flex-start;min-width:0;margin:0;padding:1rem;display:flex}.customer-booking-decision-form.is-decline{background:#fff9f8;border-color:#e1b7b0}.customer-booking-decision-form>p{color:var(--muted);flex:auto;margin:.35rem 0 .85rem;font-size:.9rem;line-height:1.45}.customer-booking-confirm-check{cursor:pointer;align-items:flex-start;gap:.55rem;margin-bottom:.85rem;font-weight:650;line-height:1.35;display:flex}.customer-booking-confirm-check input{width:1.15rem;height:1.15rem;accent-color:var(--accent);flex:none;margin:.1rem 0 0}.customer-booking-submit{background:var(--accent);color:#fff;cursor:pointer;min-height:44px;font:inherit;text-align:center;border:0;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:.65rem .9rem;font-weight:700;display:inline-flex}.customer-booking-submit:hover,.customer-booking-submit:focus-visible{background:var(--accent-dark);outline:2px solid var(--accent);outline-offset:2px}.customer-booking-decline{color:#7b2f2a;background:#fff;border:1px solid #c8958c}.customer-booking-decline:hover,.customer-booking-decline:focus-visible{color:#64231f;background:#faece9}.customer-booking-help{color:var(--muted);text-align:center;margin:0;padding:.25rem .25rem 1rem}.status-customer{color:#2f4f72;background:#e8eef6}.status-system{color:#444;background:#ececec}.status-administrator{color:#573d6d;background:#eee7f4}@media (width<=760px){.customer-booking-header,.customer-booking-response{flex-direction:column}.customer-booking-grid,.customer-booking-details{grid-template-columns:1fr}.customer-booking-actions{grid-template-columns:1fr;width:100%}.customer-booking-decision-form,.customer-booking-submit{width:100%}}.status-confirmed,.customer-booking-status.status-confirmed{color:#1f5a36;background:#dfeee4}.admin-filter-note{color:var(--muted);margin:-.35rem 0 1rem;font-size:.9rem}.customer-booking-message.is-preview{color:#294c61;background:#edf3f7;border-color:#b9cbd8;justify-content:space-between;gap:1rem;display:flex}.customer-booking-message.is-preview a{font-weight:800}.admin-calendar-controls{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.admin-calendar-filter,.admin-calendar-navigation,.admin-calendar-legend{flex-wrap:wrap;align-items:end;gap:.65rem;display:flex}.admin-calendar-filter label{min-width:min(18rem,100%);margin:0}.admin-calendar-legend{color:var(--muted);margin:0 0 1rem;font-size:.86rem}.admin-calendar-legend span{align-items:center;gap:.4rem;display:inline-flex}.admin-calendar-key{background:#e3e5e2;border:1px solid #17323a26;border-radius:.22rem;width:.85rem;height:.85rem}.admin-calendar-key.is-direct{background:#dceede}.admin-calendar-key.is-provisional{background:#e4edf8}.admin-calendar-key.is-airbnb{background:#f2e2d9}.admin-calendar-key.is-external{background:#ecebe7}.admin-calendar-stack{gap:1rem;display:grid}.admin-calendar-month h2{margin-top:0}.admin-calendar-weekdays,.admin-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.admin-calendar-weekdays{border:1px solid var(--line);background:#f1f3ef;border-bottom:0;border-radius:.75rem .75rem 0 0;overflow:hidden}.admin-calendar-weekdays span{border-right:1px solid var(--line);text-align:center;text-transform:uppercase;letter-spacing:.03em;padding:.55rem .4rem;font-size:.75rem;font-weight:800}.admin-calendar-weekdays span:last-child{border-right:0}.admin-calendar-grid{border-top:1px solid var(--line);border-left:1px solid var(--line)}.admin-calendar-spacer,.admin-calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-height:8rem;padding:.42rem}.admin-calendar-spacer{background:#f7f7f4}.admin-calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--accent)}.admin-calendar-day.has-events{background:#fcfcfa}.admin-calendar-day-number{color:var(--muted);margin-bottom:.35rem;font-size:.78rem;font-weight:800;display:block}.admin-calendar-events{gap:.25rem;display:grid}.admin-calendar-event{color:#274047;text-overflow:ellipsis;border:1px solid #0000;border-radius:.35rem;min-width:0;padding:.3rem .4rem;font-size:.68rem;font-weight:750;line-height:1.25;text-decoration:none;display:block;overflow:hidden}a.admin-calendar-event:hover,a.admin-calendar-event:focus-visible{border-color:currentColor;outline:none;text-decoration:underline}.admin-calendar-event.is-direct{color:#1f5a36;background:#dceede}.admin-calendar-event.is-provisional{color:#244f78;background:#e4edf8}.admin-calendar-event.is-airbnb{color:#75462f;background:#f2e2d9}.admin-calendar-event.is-external{color:#555b56;background:#ecebe7}@media (width<=900px){.admin-calendar-controls{flex-direction:column;align-items:stretch}.admin-calendar-day,.admin-calendar-spacer{min-height:6.5rem}.admin-calendar-event{font-size:.62rem}}@media (width<=650px){.customer-booking-message.is-preview{flex-direction:column}.admin-calendar-month{overflow-x:auto}.admin-calendar-weekdays,.admin-calendar-grid{min-width:760px}}.customer-booking-access-card{background:#f2f7fa;border-color:#b9cbd8;justify-content:space-between;align-items:center;gap:1.25rem;display:flex}.customer-booking-access-card h2{margin:.2rem 0 .55rem}.customer-booking-security-note,.customer-booking-price-note{color:var(--muted);font-size:.86rem}.customer-booking-access-actions{flex:none;grid-template-columns:repeat(2,minmax(10rem,auto));gap:.55rem;display:grid}.customer-booking-refresh{color:var(--accent-dark);border:1px solid var(--accent);background:#fff}.customer-booking-refresh:hover,.customer-booking-refresh:focus-visible{color:var(--accent-dark);background:#f7efe9}.customer-booking-copy-status{min-height:1.2em;color:var(--muted);text-align:center;grid-column:1/-1;font-size:.82rem}.customer-booking-status.status-pending,.status-not_requested{color:#2f4f72;background:#e8eef6}.booking-email-copy-option{align-items:flex-start;gap:.5rem;margin-top:.7rem;font-weight:700;display:flex}.booking-email-copy-option input{width:1.1rem;height:1.1rem;margin-top:.1rem}@media (width<=760px){.customer-booking-access-card{flex-direction:column;align-items:stretch}.customer-booking-access-actions{grid-template-columns:1fr}.customer-booking-copy-status{grid-column:auto}}.booking-messaging-page-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.booking-messaging-page-header p:last-child{margin-bottom:0}.booking-conversation{border:1px solid var(--line);background:var(--panel-bg);width:min(980px,100%);box-shadow:var(--shadow);border-radius:1.15rem;margin-inline:auto;overflow:hidden}.booking-conversation__header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;gap:1rem;padding:clamp(1.15rem,3vw,1.75rem);display:flex}.booking-conversation__header h1{margin:.15rem 0 .45rem}.booking-conversation__header p:last-child{color:var(--muted);margin-bottom:0}.booking-reservation-button{border:1px solid var(--accent);min-width:9.5rem;min-height:44px;color:var(--accent-dark);cursor:pointer;font:inherit;background:#fff;border-radius:999px;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .9rem;font-weight:800;display:inline-flex}.booking-reservation-button:hover,.booking-reservation-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;background:#f7efe9}.booking-conversation__notice{border:1px solid var(--line);border-radius:.75rem;margin:1rem 1rem 0;padding:.8rem .9rem;font-weight:700}.booking-conversation__notice.is-success{color:#27552b;background:#eef6ec;border-color:#b9d5b4}.booking-conversation__notice.is-error{color:#7b2f2a;background:#faece9;border-color:#e1b7b0}.booking-conversation__notice.is-update{color:#294c61;background:#edf3f7;border-color:#b9cbd8}.booking-conversation__notice.is-update button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;font-weight:800;text-decoration:underline}.booking-message-list{overscroll-behavior:contain;scroll-behavior:smooth;background:#f7f7f4;flex-direction:column;gap:.75rem;min-height:24rem;max-height:min(62vh,44rem);padding:1.25rem;display:flex;overflow-y:auto}.booking-message-empty{color:var(--muted);text-align:center;margin:auto;padding:2rem}.booking-message-empty p{margin:.4rem 0 0}.booking-message{background:#fff;border:1px solid #d9ddd8;border-radius:1rem 1rem 1rem .25rem;width:fit-content;max-width:min(78%,42rem);padding:.8rem .95rem;box-shadow:0 2px 8px #1628240f}.booking-message.is-self{background:#eaf3ee;border-color:#c6d9cf;border-radius:1rem 1rem .25rem;align-self:flex-end}.booking-message.is-other{align-self:flex-start}.booking-message.is-bot{color:#294c61;text-align:center;background:#edf3f7;border-color:#cbd6df;border-radius:.8rem;align-self:center;max-width:min(92%,46rem)}.booking-message.is-new{animation:1.3s ease-out booking-message-new}@keyframes booking-message-new{0%{box-shadow:0 0 0 4px #9b5b3633}to{box-shadow:0 2px 8px #1628240f}}.booking-message__meta{flex-wrap:wrap;align-items:baseline;gap:.4rem;margin-bottom:.35rem;font-size:.78rem;display:flex}.booking-message__meta time{color:var(--muted);margin-left:auto;font-size:.72rem}.booking-message.is-bot .booking-message__meta{justify-content:center}.booking-message.is-bot .booking-message__meta time{margin-left:0}.booking-message__new{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.1rem .4rem;font-size:.65rem;font-weight:800}.booking-message>p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5}.booking-message__delivery{color:var(--muted);margin-top:.5rem;font-size:.7rem;display:block}.booking-message__delivery.status-failed{color:#842b22}.booking-message-composer{border-top:1px solid var(--line);background:#fff;gap:.65rem;padding:1rem 1.25rem 1.15rem;display:grid}.booking-message-composer>label{font-weight:800}.booking-message-composer textarea{width:100%;min-height:6.5rem;font:inherit;resize:vertical;border:1px solid #aeb7b0;border-radius:.8rem;padding:.8rem .9rem}.booking-message-composer textarea:focus{border-color:var(--accent);outline:3px solid #6f4e3733}.booking-message-composer__footer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.booking-message-notification{align-items:flex-start;gap:.5rem;font-size:.86rem;font-weight:700;display:flex}.booking-message-notification.is-disabled{color:var(--muted)}.booking-message-notification input{width:1.05rem;height:1.05rem;margin-top:.1rem}.booking-message-send{background:var(--accent);color:#fff;cursor:pointer;min-height:44px;font:inherit;border:0;border-radius:999px;padding:.65rem 1.15rem;font-weight:800}.booking-message-send:hover,.booking-message-send:focus-visible{background:var(--accent-dark);outline:2px solid var(--accent);outline-offset:2px}.booking-message-composer>small{color:var(--muted)}.booking-drawer-backdrop{z-index:80;visibility:hidden;opacity:0;background:#1120246b;transition:opacity .18s,visibility .18s;position:fixed;inset:0}.booking-drawer-backdrop.is-open{visibility:visible;opacity:1}.booking-reservation-drawer{z-index:81;border-left:1px solid var(--line);background:#f7f7f4;flex-direction:column;width:min(43rem,100vw);height:100dvh;transition:transform .22s;display:flex;position:fixed;top:0;right:0;transform:translate(102%);box-shadow:-12px 0 36px #1120242e}.booking-reservation-drawer--admin{width:min(52rem,100vw)}.booking-reservation-drawer.is-open{transform:translate(0)}body.has-booking-drawer{overflow:hidden}.booking-reservation-drawer__header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.booking-reservation-drawer__header h2{margin:.15rem 0 0}.booking-drawer-close{border:1px solid var(--line);width:2.75rem;height:2.75rem;color:var(--text);cursor:pointer;font:inherit;background:#fff;border-radius:999px;place-items:center;font-size:1.55rem;line-height:1;display:inline-grid}.booking-drawer-close:hover,.booking-drawer-close:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.booking-reservation-drawer__body{gap:1rem;padding:1rem;display:grid;overflow-y:auto}.booking-drawer-section{border:1px solid var(--line);background:#fff;border-radius:.9rem;padding:1rem}.booking-drawer-section h3{margin:.15rem 0 .55rem}.booking-drawer-status{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.booking-drawer-status p:last-child{color:var(--muted);margin-bottom:0}.booking-drawer-section .booking-detail-list{margin-top:.45rem}.booking-drawer-section .customer-booking-details{margin-top:.65rem}.booking-drawer-section .customer-booking-response{display:block}.booking-drawer-section .customer-booking-actions{grid-template-columns:1fr}.booking-terms-copy{white-space:pre-wrap}.booking-administration{border:1px solid var(--line);background:var(--panel-bg);border-radius:.9rem;width:min(1100px,100%);margin:1rem auto 0}.booking-administration>summary{cursor:pointer;padding:1rem 1.15rem;font-weight:800}.booking-administration[open]>summary{border-bottom:1px solid var(--line)}.booking-administration__body{gap:1rem;padding:1rem;display:grid}.booking-administration__body .admin-panel{margin:0}@media (width<=760px){.booking-messaging-page-header,.booking-conversation__header,.booking-message-composer__footer,.booking-drawer-status{flex-direction:column;align-items:stretch}.booking-reservation-button,.booking-message-send{width:100%}.booking-message{max-width:90%}.booking-message-list{min-height:20rem;max-height:55vh;padding:.85rem}.booking-reservation-drawer,.booking-reservation-drawer--admin{width:100vw}}.admin-table-wrap tr.has-unread-messages td{background:#f3f7f2}.booking-unread-badge{background:var(--admin-accent,#41694e);color:#fff;white-space:nowrap;border-radius:999px;align-items:center;margin-left:.5rem;padding:.12rem .45rem;font-size:.72rem;font-weight:700;display:inline-flex}.customer-booking-payment-options{gap:1rem;margin-top:1rem;display:grid}.customer-booking-payment-option{border:1px solid var(--line,#d7d2c8);background:var(--surface,#fff);border-radius:.9rem;padding:1rem;position:relative}.customer-booking-payment-option.is-recommended{border-width:2px}.customer-booking-payment-option h4{margin:0 0 .35rem}.customer-booking-payment-option p{margin:0 0 .85rem}.customer-booking-payment-option small{margin-top:.65rem;display:block}.customer-booking-payment-badge{letter-spacing:.04em;text-transform:uppercase;background:#eef5ea;border-radius:999px;margin-bottom:.55rem;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.customer-booking-payment-option button[disabled]{cursor:not-allowed;opacity:.58}
