:root{--c-153e30:#153e30;--c-163f34:#163f34;--c-203e35:#203e35;--c-234c42:#234c42;--c-235c49:#235c49;--c-245e4c:#245e4c;--c-245e4f:#245e4f;--c-256450:#256450;--c-2a5948:#2a5948;--c-527363:#527363;--c-65736d:#65736d;--c-6a7b70:#6a7b70;--c-749a7b:#749a7b;--c-82af91:#82af91;--c-84b592:#84b592;--c-85958a:#85958a;--c-87948c:#87948c;--c-b4d8bd:#b4d8bd;--c-bacfc0:#bacfc0;--c-cbd9ce:#cbd9ce;--c-ccd3d8:#ccd3d8;--c-cce2d2:#cce2d2;--c-d5dfd6:#d5dfd6;--c-d5dfd9:#d5dfd9;--c-d9eade:#d9eade;--c-d9eee3:#d9eee3;--c-dce4dc:#dce4dc;--c-dce6df:#dce6df;--c-dce8e0:#dce8e0;--c-dde5dd:#dde5dd;--c-e0e7df:#e0e7df;--c-e0e8e1:#e0e8e1;--c-e0f1e2:#e0f1e2;--c-e1ebe5:#e1ebe5;--c-e5ede6:#e5ede6;--c-e5eee8:#e5eee8;--c-e5efe4:#e5efe4;--c-e6eee6:#e6eee6;--c-e7efe9:#e7efe9;--c-edf0ee:#edf0ee;--c-edf3eb:#edf3eb;--c-eef2ed:#eef2ed;--c-f3f8f3:#f3f8f3;--c-f4f6f0:#f4f6f0;--c-f4f7f3:#f4f7f3;--c-f7f9f5:#f7f9f5;--c-fafbf8:#fafbf8;--surface:#fff;--on-accent:#fff;--accent:#235c49;font-size:16px;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--c-f4f6f0);color:var(--c-203e35);font:0.9375rem/1.5 system-ui,sans-serif}a{color:var(--c-235c49)}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:var(--c-163f34);color:var(--c-e1ebe5);padding:30px 22px}aside a{color:var(--c-dce8e0);text-decoration:none;display:block;padding:10px;margin:6px 0;border-radius:6px}aside a:hover{background:var(--c-2a5948)}nav{margin-top:30px}.brand{font-size:1.4375rem;font-weight:700}.brand small{display:block;font-size:0.6875rem;letter-spacing:2px;font-weight:400;margin-top:8px}.main{padding:0 35px 40px;max-width:1500px}.top{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--c-dce4dc);gap:15px}.top form{display:inline-block}.page-head{margin:30px 0 22px}h1{font-size:1.875rem;letter-spacing:-1px;margin:0 0 8px}h2{font-size:1.1875rem;margin:0 0 16px}.eyebrow{font-size:0.6875rem;letter-spacing:2px;text-transform:uppercase;color:#ad8646;margin-bottom:8px}.muted,.subtle{color:var(--c-6a7b70)}.subtle{font-size:0.75rem}.panel,.card{background:var(--surface);border:1px solid var(--c-dde5dd);border-radius:12px;padding:23px;margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metric{font-size:1.875rem;font-weight:650}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.notice{background:var(--c-e6eee6);border-left:3px solid var(--c-749a7b);padding:14px 18px;margin:20px 0;border-radius:5px}.warning{background:#fff4de;border-color:#b99855}.error{background:#ffece5;padding:15px;color:#853d2b}.success{background:var(--c-e0f1e2);padding:12px}.actions{display:flex;gap:12px;align-items:center;margin-top:20px}label{display:block;font-size:0.8125rem;font-weight:600;margin:14px 0 5px}input,select{width:100%;padding:10px 12px;border:1px solid var(--c-cbd9ce);border-radius:6px;font:inherit;color:inherit;background:var(--surface)}input:focus,select:focus{outline:2px solid var(--c-82af91)}input[type=checkbox]{width:auto;margin-right:8px}button,.button{display:inline-block;background:var(--accent);color:var(--on-accent);border:0;border-radius:6px;padding:10px 17px;font:600 0.8125rem system-ui;cursor:pointer;text-decoration:none}.secondary{background:var(--c-e5ede6);color:var(--c-235c49)}table{border-collapse:collapse;width:100%;font-size:0.875rem}td,th{padding:13px 12px;border-bottom:1px solid var(--c-e0e7df);text-align:left}th{background:var(--c-f7f9f5);font-size:0.6875rem;text-transform:uppercase;letter-spacing:.6px;color:var(--c-6a7b70)}.table-wrap{overflow-x:auto}.badge{background:var(--c-e5efe4);padding:4px 9px;font-size:0.6875rem;border-radius:20px}.login-wrap{max-width:460px;margin:70px auto;padding:0 18px}.phase{font-size:0.75rem;color:var(--c-bacfc0);margin-top:45px}.details{font-size:0.75rem;max-width:400px;overflow-wrap:anywhere}fieldset{border:0;padding:0;margin:0}fieldset:disabled{opacity:.8}@media(max-width:900px){.shell{grid-template-columns:190px 1fr}.main{padding:0 20px 30px}.grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}}@media(max-width:650px){.shell{display:block}aside{padding:18px}nav{display:flex;overflow:auto;margin-top:15px;gap:8px}aside a{white-space:nowrap;padding:6px}.phase{display:none}.main{padding:0 15px 25px}.top{align-items:flex-start;font-size:0.75rem}.cards{grid-template-columns:1fr}.panel{padding:18px}h1{font-size:1.5625rem}}
dialog{border:1px solid var(--c-cbd9ce);border-radius:12px;padding:24px;max-width:480px;width:calc(100% - 32px);color:var(--c-203e35)}dialog::backdrop{background:rgb(0 0 0 / .4)}dialog p{white-space:pre-wrap;overflow-wrap:anywhere}button:disabled{opacity:.6;cursor:wait}

.holiday-list td{white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.channel-choice{display:inline-block;margin-right:20px}legend{font-weight:600;margin-top:18px}

[hidden]{display:none!important}

.rule-toggle{display:flex;align-items:center;gap:10px;cursor:pointer}.rule-toggle input{position:absolute;width:1px;height:1px;opacity:0}.switch-track{position:relative;width:42px;height:24px;background:var(--c-87948c);border-radius:20px;flex:none}.switch-track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:var(--surface);border-radius:50%;transition:transform .15s}.rule-toggle input:checked + .switch-track{background:var(--c-235c49)}.rule-toggle input:checked + .switch-track::after{transform:translateX(18px)}.rule-toggle input:focus-visible + .switch-track{outline:3px solid var(--c-82af91);outline-offset:2px}
textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--c-ccd3d8);border-radius:6px;font:inherit} .manual{max-width:950px}.manual pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f6f8;padding:12px}.manual-step{margin-left:16px} details{margin:12px 0} summary{cursor:pointer;font-weight:600}
.dynamic-base-warning{border-left:4px solid #b65a00;background:#fff4df;color:#6c3500}
#calendar-editor{width:min(600px,90vw);max-height:85vh;overflow:auto} #calendar-editor label{display:block;margin:10px 0}

.inactive-feature{opacity:.45;cursor:pointer}.mode-options{display:flex;gap:1rem;flex-wrap:wrap}.mode-choice{border:1px solid var(--c-d5dfd9);padding:1rem;border-radius:8px}.mode-choice:has(input:disabled){opacity:.5}.decision-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.decision-grid input{max-width:12rem}.readonly-table input{background:var(--c-edf0ee);color:var(--c-65736d)}.info-button{display:inline-block;background:transparent;color:var(--c-256450);padding:0 .25rem;border:0;font-size:1rem}.decision-details summary{cursor:pointer;font-weight:600}@media(max-width:1000px){.decision-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.decision-grid{grid-template-columns:1fr}}
.decision-grid label>span{display:block;min-height:3rem}.decision-grid input{display:block}

#checkpoint-editor,#checkpoint-delete{width:min(560px,calc(100% - 32px));max-width:560px;max-height:90vh;overflow:auto}#checkpoint-editor .grid{gap:12px}#checkpoint-editor .actions,#checkpoint-delete .actions{margin-top:16px}

.checkpoint-title{display:flex;align-items:center;gap:8px;margin-bottom:16px}.checkpoint-title h2{margin:0}

#rule-editor{width:min(760px,calc(100% - 32px));max-width:760px;max-height:90vh;overflow:auto}#rule-delete{width:min(560px,calc(100% - 32px));max-width:560px}.rule-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rule-value-grid label{min-width:0}.rule-fields [data-rule-field="weekdays"]>label{display:inline-block;margin-right:12px}.table-wrap .actions{flex-wrap:wrap;margin:0;gap:6px}@media(max-width:700px){.rule-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Override editors keep room selection compact even for large properties. */
#override-editor {width:min(760px,calc(100vw - 40px));max-height:90vh;overflow:auto;}
.override-room-list {max-height:220px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:12px 0;}
.override-room-list p {grid-column:1/-1;}
@media(max-width:600px){.override-room-list{grid-template-columns:1fr;}}

/* Spacious dialogs; fewer columns on narrower viewports rather than cramped labels. */
dialog,#rule-editor,#checkpoint-editor,#override-editor{width:min(1200px,calc(100vw - 40px));max-width:calc(100vw - 40px);max-height:90vh;overflow:auto;box-sizing:border-box;}
dialog .rule-value-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
dialog label{white-space:nowrap;}
dialog input:not([type=checkbox]),dialog select{width:100%;min-width:0;}
dialog label{display:block;}
dialog label>input:not([type=checkbox]),dialog label>select{display:block;margin-top:6px;}
@media(max-width:1150px){dialog .rule-value-grid{grid-template-columns:repeat(2,minmax(0,1fr));}dialog label{white-space:normal;}}
@media(max-width:700px){dialog .rule-value-grid,dialog .grid{grid-template-columns:1fr;}dialog label{white-space:normal;}}

.service-catalogue table{min-width:750px;}
.selection-list{max-height:280px;overflow:auto;border:1px solid var(--c-dde5dd);border-radius:6px;padding:10px 16px;margin:12px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.section-heading h2{margin:0}.platform-shell>.main>h2{margin-top:28px}.platform-shell h3{font-size:1rem}.platform-shell form>details{margin:20px 0}

/* Platform pages share the property workspace layout and compact actions. */
.platform-host{margin:0;padding:0;max-width:none}.platform-shell .main{width:100%;min-width:0}.platform-shell>.main>.actions{margin-bottom:20px;flex-wrap:wrap}.platform-shell .top>div{min-width:0;overflow-wrap:anywhere}.platform-owner-fields>label{max-width:650px}.platform-shell .panel .grid{align-items:start}.platform-shell h1{overflow-wrap:anywhere}

@media(max-width:650px){.compact-records thead{display:none}.compact-records tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;padding:16px 0;border-bottom:1px solid var(--c-e0e7df)}.compact-records td{border:0;padding:4px 0;min-width:0;overflow-wrap:anywhere}.compact-records td:first-child,.compact-records td:last-child{grid-column:1/-1}.compact-records td[data-label]::before{content:attr(data-label) " · ";font-size:0.6875rem;color:var(--c-6a7b70)}.compact-records .actions{display:flex;flex-wrap:wrap;gap:8px}.compact-records .button{white-space:nowrap}.section-heading .button{margin-bottom:14px}}

.backup-storage{overflow-wrap:anywhere}

.diff-value{overflow-wrap:anywhere;white-space:pre-wrap;max-width:32rem}

.property-logo{display:block;max-width:100%;width:auto;max-height:100px;object-fit:contain;margin-bottom:12px}.logo-preview{max-width:240px;max-height:160px;object-fit:contain;background:var(--c-eef2ed);border:1px solid var(--c-d5dfd6);padding:8px}.logo-preview[hidden]{display:none}.logo-editor{margin:20px 0}.brand{overflow-wrap:anywhere}.logo-editor input[type=file]{max-width:100%}
.booking-stay{padding:1rem 0;border-bottom:1px solid var(--c-dce6df)}.availability-grid th,.availability-grid td{min-width:105px;vertical-align:top}.availability-grid th:first-child{min-width:150px}.availability-free{background:var(--c-f3f8f3)}.availability-held{background:#fff0cf}.availability-confirmed{background:var(--c-d9eee3)}.availability-blocked,.availability-inactive{background:#eee8e4}.availability-grid td a{display:block;font-size:.85rem}.booking-stay details{margin:.7rem 0}
.main{min-width:0}.availability-grid td a{overflow-wrap:anywhere}

nav .nav-group{margin:6px 0}nav .nav-group summary{padding:10px;border-radius:6px;color:var(--c-dce8e0);font-size:0.875rem;cursor:pointer}nav .nav-group summary:hover,nav .nav-group summary:focus-visible{background:var(--c-2a5948)}nav .nav-group-links{margin-left:10px;padding-left:8px;border-left:1px solid var(--c-527363)}nav .nav-group-links a{font-size:0.875rem}@media(max-width:650px){aside nav{display:block;overflow:visible}aside nav>a{display:inline-block;margin-right:8px}nav .nav-group summary{padding:6px}nav .nav-group-links a{white-space:normal}}

.booking-progress{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none;margin:20px 0}.booking-progress li{padding:8px 12px;background:var(--c-e5ede6);border-radius:20px;font-size:0.8125rem}.booking-progress li[aria-current]{background:var(--c-235c49);color:var(--on-accent)}.booking-search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,2fr)) repeat(3,minmax(0,1fr));gap:16px}.booking-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.booking-option{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--c-cbd9ce);border-radius:10px;padding:16px;margin:0;background:var(--c-f7f9f5);font-weight:400}.booking-option:has(input:checked){border-color:var(--c-235c49);background:var(--c-e5efe4)}.booking-option input{flex-shrink:0;margin-top:5px}.booking-total{font-size:1.25rem;font-weight:650;color:var(--c-235c49)}.booking-service{border-bottom:1px solid var(--c-dce4dc);padding:12px 0}.booking-ledger-actions{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:1000px){.booking-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.booking-search-grid,.booking-options{grid-template-columns:1fr}.booking-progress li{font-size:0.75rem}.booking-details-form .actions{flex-wrap:wrap}}

.profile-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-summary dt{font-size:0.75rem;color:var(--c-6a7b70)}.profile-summary dd{margin:3px 0;overflow-wrap:anywhere}.profile-edit>summary{display:inline-block;background:var(--c-e5ede6);color:var(--c-235c49);border-radius:6px;padding:10px 17px}.booking-links{font-size:0.875rem}@media(max-width:650px){.profile-summary{grid-template-columns:1fr}}
.guest-document{max-width:950px;margin:35px auto;padding:30px;background:var(--surface);border:1px solid var(--c-dce4dc);border-radius:12px}.guest-document header{border-bottom:2px solid var(--c-235c49);margin-bottom:25px}.document-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:25px}.guest-document footer{border-top:1px solid var(--c-dce4dc);margin-top:25px;font-size:0.75rem;color:var(--c-6a7b70)}@media(max-width:650px){.guest-document{margin:10px;padding:18px}}@media print{body{background:var(--surface)}.document-actions{display:none!important}.guest-document{max-width:none;margin:0;padding:0;border:0}.guest-document table{font-size:0.6875rem}.guest-document .panel{break-inside:avoid}.guest-document tr{break-inside:avoid}}

.property-picker-host{max-width:900px;margin:48px auto;padding:0 24px 32px}.picker-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.picker-heading p{margin:0}.picker-count{background:var(--c-e5ede6);border-radius:20px;padding:7px 12px;white-space:nowrap;font-size:0.75rem;margin-top:26px}.picker-shortcuts{display:flex;flex-wrap:wrap;gap:12px 24px;margin:22px 0;font-size:0.8125rem}.picker-panel{padding:24px}.picker-search{display:flex;align-items:flex-end;gap:12px}.picker-search label{flex:1;margin:0}.picker-search input{margin-top:6px}.picker-search>a{padding-bottom:10px;font-size:0.8125rem}.picker-results{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:20px 0 12px;color:var(--c-6a7b70);font-size:0.75rem}.picker-results p{margin:0}.picker-list{max-height:440px;overflow-y:auto;border:1px solid var(--c-dce4dc);border-radius:8px}.picker-list .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.picker-columns{display:flex;justify-content:space-between;background:var(--c-f7f9f5);padding:10px 16px 10px 46px;font-size:0.625rem;text-transform:uppercase;letter-spacing:1px;color:var(--c-6a7b70)}.picker-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:12px 16px;border-top:1px solid var(--c-e0e7df);cursor:pointer;font-weight:400}.picker-row:hover{background:var(--c-f7f9f5)}.picker-row:has(input:checked){background:var(--c-e5efe4);box-shadow:inset 3px 0 var(--c-235c49)}.picker-row input[type=radio]{width:16px;height:16px;margin:0;accent-color:var(--c-235c49)}.picker-identity{min-width:0;overflow-wrap:anywhere}.picker-identity strong{display:block;font-size:0.875rem}.picker-identity small{display:block;color:var(--c-6a7b70);font-size:0.6875rem;margin-top:2px}.picker-currency{font-size:0.75rem;color:var(--c-6a7b70)}.picker-entry{display:flex;align-items:flex-end;gap:20px;border-top:1px solid var(--c-dce4dc);margin-top:20px;padding-top:18px}.picker-entry label{flex:1;margin:0}.picker-entry input{margin:6px 0}.picker-entry small{display:block;color:var(--c-6a7b70);font-weight:400}.picker-entry button{flex-shrink:0;margin-bottom:22px}.picker-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--c-dce4dc);padding-top:18px;margin-top:20px;font-size:0.75rem}.picker-page-disabled{color:var(--c-85958a);padding:10px 17px}.picker-empty{padding:28px 0 12px}.picker-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--c-6a7b70);font-size:0.75rem}@media(max-width:650px){.property-picker-host{margin:28px auto;padding:0 16px 24px}.picker-panel{padding:16px}.picker-heading{gap:8px}.picker-count{margin-top:24px;padding:6px 9px}.picker-heading h1{font-size:1.5rem}.picker-heading p{font-size:0.8125rem}.picker-search{flex-wrap:wrap;gap:8px}.picker-search label{flex-basis:100%}.picker-search>a{padding:8px}.picker-results{display:block}.picker-results small{display:block;margin-top:4px}.picker-entry{display:block}.picker-entry button{width:100%;margin:14px 0 0}.picker-list{max-height:360px}.picker-row{padding:11px 12px;gap:10px}.picker-columns{padding-left:40px}.picker-pagination .button,.picker-page-disabled{padding:9px 12px}}
.room-group-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.room-group-toolbar p{margin:0;font-size:0.8125rem}.room-group-toolbar>div{display:flex;gap:8px}.room-category-group{padding:0;overflow:hidden}.room-category-group>summary{padding:18px 22px;cursor:pointer;font-size:1.0625rem;font-weight:650;background:var(--c-f7f9f5)}.room-category-group>summary .badge{margin-left:12px;vertical-align:middle;font-weight:400}.room-category-group[open]>summary{border-bottom:1px solid var(--c-dce4dc)}.room-category-group .table-wrap{padding:0 10px 10px}.room-category-group summary:focus-visible{outline:2px solid var(--c-82af91);outline-offset:-3px}@media(max-width:650px){.room-category-group>summary{padding:16px;font-size:1rem}.room-category-group .table-wrap{padding:0 4px 6px}}

aside nav a.nav-current{background:var(--c-d9eade);color:var(--c-153e30);font-weight:700;box-shadow:inset 4px 0 var(--c-84b592)}aside nav a.nav-current:hover{background:var(--c-cce2d2)}aside nav a.nav-current:focus-visible{outline:2px solid var(--c-b4d8bd);outline-offset:2px}.rooms-page-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.rooms-page-head>button{flex-shrink:0}.rooms-page-head p{margin-bottom:0}@media(max-width:650px){.rooms-page-head{align-items:flex-start;flex-wrap:wrap}}

.availability-category{margin-top:16px;padding:16px}.availability-category>summary{cursor:pointer;font-size:1rem}.availability-counts{display:inline-flex;flex-wrap:wrap;gap:8px;margin-left:14px;font-size:0.75rem}.availability-counts>span{background:var(--c-e5ede6);border-radius:14px;padding:4px 8px}.availability-category .booking-options{margin-top:16px}.unavailable-rooms{margin-top:14px;font-size:0.8125rem;color:var(--c-6a7b70)}@media(max-width:650px){.availability-counts{display:flex;margin:10px 0}.availability-category{padding:12px}}

.search-channel{max-width:450px;margin-top:18px}.search-channel small{display:block;color:var(--c-6a7b70);font-weight:400;margin-top:5px}.booking-day{border:1px solid var(--c-dce4dc);border-radius:9px;margin:16px 0;overflow:hidden}.booking-day>summary{padding:14px 16px;background:var(--c-edf3eb);cursor:pointer}.booking-day>summary>span{float:right;font-size:0.8125rem;font-weight:600}.daily-room-grid,.unavailable-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}.daily-room,.unavailable-room{min-width:0;border:1px solid var(--c-d5dfd6);border-radius:8px;padding:16px;background:var(--c-fafbf8)}.daily-room h3,.unavailable-room h3{margin:0 0 6px;font-size:0.9375rem}.night-breakdown{font-size:0.8125rem;margin:14px 0}.night-breakdown>div{display:flex;justify-content:space-between;gap:16px;margin:7px 0}.night-breakdown dt{color:var(--c-6a7b70)}.night-breakdown dd{margin:0;text-align:right;white-space:nowrap}.night-override{border-top:1px solid var(--c-dce4dc);padding-top:12px;font-size:0.8125rem}.night-override>summary{cursor:pointer;font-weight:600}.night-override small{display:block;font-weight:400;color:var(--c-6a7b70)}.night-final{font-size:0.875rem;margin:14px 0 0}.night-final small{font-size:0.75rem;color:var(--c-6a7b70)}.unavailable-room-grid{padding:14px 0 0}.room-alert-held{background:#fff2dc;border-color:#dfb66b}.room-alert-blocked{background:#fff0ed;border-color:#d7988e}.room-status-alert{padding:10px;border-radius:6px;margin-top:8px;font-size:0.8125rem;overflow-wrap:anywhere}.room-status-alert p{margin:5px 0}.status-held{color:#754400;background:#ffebc5}.status-blocked{color:#8c3029;background:#ffe0da}.room-status-alert .button{margin-top:8px}.unavailable-room .subtle{margin-bottom:0}@media(max-width:700px){.daily-room-grid,.unavailable-room-grid{grid-template-columns:1fr}.daily-room-grid{padding:12px}.booking-day>summary>span{float:none;display:block;margin:5px 0 0 16px}.night-breakdown>div{gap:8px}.night-breakdown dd{white-space:normal}}

tr[id^="block-"]:target{background:#fff0ed;outline:2px solid #d7988e;outline-offset:-2px}
.price-calculation{margin:.7rem 0}.price-calculation>summary{cursor:pointer;font-weight:600;color:var(--green,var(--c-245e4c))}.price-calculation .night-breakdown dd{overflow-wrap:anywhere}.review-night-calculation{border-top:1px solid var(--c-e0e8e1);margin-top:1rem;padding-top:.5rem}
.booking-guest-results{display:grid;gap:.5rem;margin:.5rem 0}.booking-guest-results button{text-align:left;white-space:normal;overflow-wrap:anywhere}[data-booking-guest-contact] [hidden]{display:none!important}[data-saved-contact-field]{background:var(--c-f4f7f3)}
[data-hold-only][hidden]{display:none!important}
.confirmation-guest-message{break-inside:avoid}.confirmation-guest-message h4{margin-bottom:.25rem}.confirmation-guest-message p{white-space:pre-wrap;overflow-wrap:anywhere}.confirmation-message-row{margin-top:1rem}.confirmation-message-row textarea{width:100%}

button:disabled,input[type=submit]:disabled{opacity:.5;cursor:default}
.confirmation-title > summary{background:var(--c-e7efe9);padding:12px;border-radius:6px;cursor:pointer}
[data-drag-handle]{cursor:grab;padding:4px 10px;display:inline-block}

.booking-overview td{vertical-align:top;overflow-wrap:anywhere}.booking-overview td:nth-child(3){max-width:240px}.booking-hold-deadline{font-size:0.75rem}.booking-date-range{font-size:0.8125rem}

.booking-list-group{padding:0;overflow:hidden}.booking-list-group>summary{padding:18px 22px;cursor:pointer;background:var(--c-f7f9f5)}.booking-list-group>summary .badge{margin-left:10px}.booking-needs-review{border-color:#b64343}.booking-needs-review>summary{background:#fbe8e6;color:#8b2525}.booking-group-help{padding:0 22px}.booking-list-group .table-wrap{padding:0 12px 12px}.booking-list-group>p.subtle{padding:0 22px}.booking-review-flag{color:#942c2c;font-size:0.75rem}.booking-arrival-warning{background:#fbe8e6;border:1px solid #b64343;border-radius:8px;padding:14px 18px;margin:14px 0;color:#8b2525}.booking-arrival-warning p{margin:6px 0 0;font-size:0.8125rem}

.booking-past-filters{padding:0 22px 20px}.booking-past-filters .actions{flex-wrap:wrap}

.capacity-error{background:#fbe8e6!important;color:#8b2525;border:1px solid #b64343;padding:16px;border-radius:8px}.regional-date-control{display:flex;position:relative;gap:5px;align-items:center}.regional-date-text{min-width:0;flex:1}.regional-date-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0;left:0;bottom:0;padding:0;border:0}.date-picker-button{padding:10px 12px}#sold-services{scroll-margin-top:20px}#sold-services td button{margin:3px}

.booking-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.booking-tabs button{flex:1;min-width:130px;background:var(--c-e5eee8);color:var(--c-234c42);text-align:left}.booking-tabs [aria-selected=true]{background:var(--c-245e4f);color:var(--on-accent)}.booking-tabs small,.booking-summary-cards summary small{display:block;margin-top:.4rem}.booking-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin-bottom:1rem}.booking-summary-cards .card{min-width:0;padding:1rem;overflow-wrap:anywhere}.booking-summary-cards summary{cursor:pointer}.needs-review{border:2px solid #ad2636!important;background:#fff0f0!important;color:#86212e!important}.wizard-navigation{margin:1rem 0}[data-booking-panel][hidden]{display:none!important}

.needs-acknowledgement{border:2px solid #bf8d2a!important;background:#fff5df!important;color:#674a13!important}

.booking-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}[data-running-booking-total]{font-size:1.1875rem;font-weight:650}.option-night-prices{display:block;margin-top:10px;font-size:0.75rem}.option-night-prices>span{display:block;padding:4px 0;border-top:1px solid var(--c-dce4dc)}.booking-option:has(input:disabled){opacity:.65}.nightly-visible-price{float:right;margin-left:12px}.property-print-header{display:none}.property-print-header img{max-width:140px;max-height:70px;object-fit:contain}.cancel-form-changes{margin-left:10px}.message-undo-notice{padding:10px;background:#fff4de}.amendment-room-options{padding:12px;border:1px solid var(--c-dce4dc);margin:8px 0;border-radius:6px}.amendment-room-options .room-choice{display:block;margin:8px 0}
@media print{.property-print-header{display:flex;align-items:center;gap:20px;margin-bottom:20px;break-inside:avoid}.shell{display:block}aside,.top,.main>.actions,.document-actions,button,.actions{display:none!important}.main{max-width:none;padding:0}.property-print-header img,.guest-document header img{max-width:140px;max-height:70px;object-fit:contain}.booking-tabs,.wizard-navigation{display:none!important}}

@page{margin:12mm}@media print{h2,h3,h4{break-after:avoid-page}.cancellation-terms,.confirmation-guest-message{break-inside:avoid}}

.room-block-choices{max-height:280px;overflow:auto;display:grid;gap:.5rem}.room-block-choices label{display:flex;align-items:center;gap:.5rem}.room-block-choices input{width:auto}

#block-add{width:min(760px,calc(100vw - 32px));max-width:calc(100vw - 32px)}#block-add form,#block-add fieldset,#block-add label{min-width:0}#block-add label{white-space:normal}#block-add .block-date-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}#block-add fieldset{margin-top:20px}#block-add label>textarea{display:block;margin-top:6px}#block-add .actions{flex-wrap:wrap}@media(max-width:550px){#block-add .block-date-fields{grid-template-columns:1fr}}

.advance-pdf-warning{color:#b42318!important;border:1px solid #b42318;padding:12px;font-weight:700;break-inside:avoid}.advance-overdue-row{background:#fff0f0;color:#8b2525}@media print{.advance-pdf-warning{color:#b42318!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.estimate-outdated{opacity:.5}[data-enquiry-room-options] label{white-space:normal}[data-enquiry-estimate-result] .panel{padding:16px}[data-enquiry-estimate-result] h3{overflow-wrap:anywhere}

.personalisation-host{max-width:850px;margin:35px auto;padding:0 18px 30px}.personalisation-host .page-head{margin-top:0}.personalisation-host input[type=color]{width:100px;height:48px;padding:4px}.appearance-modes{display:flex;gap:30px}.appearance-modes label{display:flex;align-items:center;gap:8px}.appearance-modes input{width:auto}.appearance-range-labels{display:flex;justify-content:space-between;gap:10px;font-size:.75rem}.appearance-actions{flex-wrap:wrap}.appearance-preview{margin-top:25px}.appearance-preview h2{margin-bottom:8px}input[type=range]{padding:8px 0;accent-color:var(--c-235c49)}input[type=checkbox],input[type=radio]{accent-color:var(--c-235c49)}.warning,.notice.warning,.message-undo-notice{color:#674a13}dialog{background:var(--surface)}textarea{background:var(--surface);color:inherit}button:disabled{cursor:default}
@media(max-width:650px){.personalisation-host{margin-top:24px}.appearance-range-labels{font-size:.6875rem}.appearance-actions{align-items:stretch}.appearance-actions button{flex:1 1 140px}}
@media print{:root{--c-153e30:#153e30!important;--c-163f34:#163f34!important;--c-203e35:#203e35!important;--c-234c42:#234c42!important;--c-235c49:#235c49!important;--c-245e4c:#245e4c!important;--c-245e4f:#245e4f!important;--c-256450:#256450!important;--c-2a5948:#2a5948!important;--c-527363:#527363!important;--c-65736d:#65736d!important;--c-6a7b70:#6a7b70!important;--c-749a7b:#749a7b!important;--c-82af91:#82af91!important;--c-84b592:#84b592!important;--c-85958a:#85958a!important;--c-87948c:#87948c!important;--c-b4d8bd:#b4d8bd!important;--c-bacfc0:#bacfc0!important;--c-cbd9ce:#cbd9ce!important;--c-ccd3d8:#ccd3d8!important;--c-cce2d2:#cce2d2!important;--c-d5dfd6:#d5dfd6!important;--c-d5dfd9:#d5dfd9!important;--c-d9eade:#d9eade!important;--c-d9eee3:#d9eee3!important;--c-dce4dc:#dce4dc!important;--c-dce6df:#dce6df!important;--c-dce8e0:#dce8e0!important;--c-dde5dd:#dde5dd!important;--c-e0e7df:#e0e7df!important;--c-e0e8e1:#e0e8e1!important;--c-e0f1e2:#e0f1e2!important;--c-e1ebe5:#e1ebe5!important;--c-e5ede6:#e5ede6!important;--c-e5eee8:#e5eee8!important;--c-e5efe4:#e5efe4!important;--c-e6eee6:#e6eee6!important;--c-e7efe9:#e7efe9!important;--c-edf0ee:#edf0ee!important;--c-edf3eb:#edf3eb!important;--c-eef2ed:#eef2ed!important;--c-f3f8f3:#f3f8f3!important;--c-f4f6f0:#f4f6f0!important;--c-f4f7f3:#f4f7f3!important;--c-f7f9f5:#f7f9f5!important;--c-fafbf8:#fafbf8!important;--surface:#fff!important;--on-accent:#fff!important;font-size:16px!important;color-scheme:light!important}body{background:#fff!important;color:#203e35!important}.personalisation-host{display:none}}

 .booking-tabs [aria-selected=true],.rule-toggle input:checked + .switch-track{background:var(--accent);color:var(--on-accent)}
@media print{:root{--accent:#235c49!important}}

.manual pre{background:var(--c-f7f9f5)}.availability-held,.availability-blocked,.availability-inactive{color:#674a13}.availability-held a,.availability-blocked a,.availability-inactive a,.warning a{color:inherit}.room-alert-held,.room-alert-held .subtle{color:#754400}.room-alert-blocked,.room-alert-blocked .subtle{color:#8c3029}

.dashboard-day-options{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}.dashboard-day-options a[aria-current=true]{background:var(--accent);color:var(--on-accent)}

.held-rooms-attention{background:#fff0f0;border:2px solid #b64343;color:#8b2525}#holiday-advance-help{display:block;margin-top:8px;font-weight:400}

.guest-property-header{display:flex;align-items:flex-start;gap:24px}.guest-document-logo{width:180px;max-width:28%;max-height:130px;object-fit:contain;flex:none}.guest-property-details{min-width:0;flex:1}.guest-property-details p{margin:8px 0;overflow-wrap:anywhere}.guest-policy-message p{white-space:pre-wrap}.room-occupancy-terms{border-bottom:1px solid var(--c-dce4dc);padding-bottom:8px;margin-bottom:14px}.guest-policy-message h4,.room-occupancy-terms h4{margin-bottom:6px}
@media(max-width:550px){.guest-property-header{flex-direction:column;gap:12px}.guest-document-logo{max-width:100%;width:160px}}
@media print{.guest-property-header{flex-direction:row;gap:20px}.guest-document-logo{width:130px;max-width:28%;max-height:90px}.guest-policy-message,.room-occupancy-terms{break-inside:avoid}}
.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.settings-tabs button{flex:1;min-width:140px;text-align:left;background:var(--c-e5eee8);color:var(--c-234c42)}.settings-tabs [aria-selected=true]{background:var(--accent);color:var(--on-accent)}.settings-tabs small{display:block;font-size:.6875rem;margin-top:4px;min-height:1em}.settings-tabs button:focus-visible{outline:3px solid var(--c-82af91);outline-offset:2px}[data-settings-ready] [data-settings-panel]:not([data-settings-panel="restaurant"]):not([data-settings-panel="store"])>details>summary{display:none}[data-settings-ready] [data-settings-panel]>details{margin-top:0}.settings-tabs+section{margin-top:0}@media(max-width:650px){.settings-tabs button{min-width:120px}.settings-tabs{gap:6px}}@media print{.settings-tabs{display:none}}

.guest-property-identity{flex:0 0 220px;min-width:0;max-width:42%;overflow-wrap:anywhere}.guest-property-identity h1{font-size:1.5rem;margin:10px 0 0;letter-spacing:0}.guest-property-identity .guest-document-logo{display:block;max-width:100%}.guest-property-details{text-align:right}
@media(max-width:550px){.guest-property-identity{flex:auto;max-width:100%;width:100%}.guest-property-details{width:100%}}
@media print{.guest-property-identity{flex:0 0 180px;max-width:40%}.guest-property-identity h1{font-size:1.125rem}.guest-property-details{width:auto}}

.availability-grid .calendar-enquiry{display:block;width:100%;background:transparent;color:inherit;border:0;padding:0;text-align:left;font-size:.85rem;font-weight:400;line-height:1.5;cursor:pointer}.availability-grid .calendar-enquiry:hover{text-decoration:underline}.availability-grid .calendar-enquiry:focus-visible{outline:2px solid currentColor;outline-offset:4px}

.daily-price-periods{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.daily-price-periods a{flex:1 1 180px;text-align:left}.daily-price-periods small{display:block;margin-top:.5rem;font-weight:400}.daily-price-category{margin:1rem 0}.daily-price-category summary{padding:.75rem 0;font-weight:600}.daily-price-category td{min-width:180px;vertical-align:top}.daily-price-category td:last-child{min-width:260px}

.daily-channel-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0;border-bottom:1px solid var(--c-dce4dc);padding-bottom:.75rem}.daily-channel-tabs [aria-current=page]{font-weight:700;outline:2px solid currentColor;outline-offset:2px}

.daily-price-filters .actions{flex-wrap:wrap}.daily-price-filters .grid>*{min-width:0}

.daily-channel-tabs{gap:0;padding-bottom:0;scroll-margin-top:1rem}.daily-channel-tab{display:block;padding:.75rem 1.25rem;border:1px solid transparent;border-bottom:3px solid transparent;text-decoration:none;border-radius:8px 8px 0 0}.daily-channel-tabs .daily-channel-tab[aria-current=page]{background:var(--surface);color:var(--accent);border-color:var(--c-dce4dc);border-bottom-color:var(--accent);outline:none}.daily-channel-tab:hover{background:var(--c-e5ede6)}.daily-channel-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.operation-navigation{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.attention-text{color:#b42318}[data-operation-tabs] .settings-tabbar{margin:1rem 0}[data-operation-tabs] .actions{flex-wrap:wrap}[data-operation-tabs] fieldset{border-bottom:1px solid var(--c-dce4dc);margin:1rem 0;padding-bottom:1rem}[data-operation-tabs] legend{font-weight:600}[data-operation-tabs] .grid>*{min-width:0}

.availability-occupied{background:var(--c-e5ede6)}

.operation-navigation .reception-missed-tab{background:#fff0ed;color:#9b211b;border:1px solid #dca49c}.operation-navigation .reception-missed-tab[aria-current="page"]{background:#9b211b;color:#fff;border-color:#9b211b}.reception-missed-row td{border-bottom-color:#dca49c}.reception-missed-row td:nth-child(4){background:#fff0ed;color:#9b211b;font-weight:600}

.billing-issuer{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:18px 0}.identity-capture{padding:12px;border:1px solid var(--c-dce4dc);border-radius:8px;margin:12px 0}@media print{.no-print{display:none!important}.billing-issuer{display:flex;flex-direction:column;align-items:flex-start}}

@media(max-width:650px){.actions{flex-wrap:wrap}.actions>*{max-width:100%}}[data-operation-tabs] fieldset{min-width:0}.identity-capture input[type=file]{min-width:0;max-width:100%}

.receipt-capture{min-width:0;margin:1rem 0;border:1px solid var(--c-dde5dd);border-radius:8px;padding:1rem}.receipt-capture .actions{flex-wrap:wrap}.receipt-capture legend{font-weight:600}.receipt-capture p{overflow-wrap:anywhere}

.sale-pick{border-bottom:1px solid var(--c-dde5dd);padding:1rem 0}.sale-pick input[type=number]{max-width:180px}[data-settings-panel] fieldset{min-width:0}.operation-navigation a{white-space:normal}

.sale-line{display:grid;grid-template-columns:minmax(180px,2fr) 90px minmax(120px,1fr) minmax(130px,1fr) minmax(130px,auto);gap:14px;align-items:center}.sale-line label{margin:0}.sale-line small{display:block;font-size:.75rem}.sale-line .sale-name small{margin-left:22px}.sale-line input[type=number]{width:100%;max-width:150px}.sale-line [hidden]{display:none!important}.sale-line output{font-weight:600}@media(max-width:800px){.sale-line{grid-template-columns:minmax(120px,2fr) 65px minmax(95px,1fr) minmax(95px,1fr)}.sale-line>[data-sale-custom]{grid-column:1/-1;justify-self:start}}@media(max-width:500px){.sale-line{grid-template-columns:1fr 1fr}.sale-line .sale-name{grid-column:1/-1}}

.booking-page-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.booking-page-tabs [aria-current=page]{background:var(--accent);color:var(--on-accent)}[data-booking-section][hidden]{display:none!important}

.room-upload-controls{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.room-upload-controls>label{flex:1 1 300px;margin:0;min-width:0}.room-upload-controls>button{flex:0 0 auto}.room-upload-controls input[type=file]{width:100%;max-width:100%;box-sizing:border-box}[data-room-import-result]{scroll-margin-top:20px}@media(max-width:550px){.room-upload-controls>button{width:100%}}

.season-calendar td{height:70px;min-width:65px}.season-calendar .season-peak{background:#fff0cf;color:#684700}.season-calendar .season-off_peak{background:#dceffc;color:#164366}.season-calendar .season-normal{background:var(--c-f7f9f5)}

.pricing-calendar-tabs a{display:inline-block;padding:.65rem 1rem;text-decoration:none;border-bottom:3px solid transparent;color:var(--c-234c42)}.pricing-calendar-tabs a[aria-current="page"]{border-bottom-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:700}

.season-percentages-readonly input{background:var(--c-edf0ee);color:var(--c-65736d);opacity:1;cursor:default}

.rule-price-category{padding:0;overflow:hidden}
.rule-price-category>summary{display:flex;align-items:center;gap:10px;padding:18px 22px;cursor:pointer;background:var(--c-f7f9f5);font-size:1.0625rem;list-style:none}
.rule-price-category>summary::-webkit-details-marker{display:none}
.rule-category-arrow{display:inline-block;flex:none;font-size:.8em;transition:transform .12s ease}
.rule-price-category[open]>summary .rule-category-arrow{transform:rotate(90deg)}
.rule-price-category[open]>summary{border-bottom:1px solid var(--c-dce4dc)}
.rule-price-category>summary .badge{flex:none;font-size:.75rem;font-weight:400}
.rule-price-category>summary strong{min-width:0;overflow-wrap:anywhere}
.rule-price-category>summary:focus-visible{outline:2px solid var(--c-82af91);outline-offset:-3px}
.rule-category-content{padding:0 22px 18px}.category-rule-price{margin:16px 0;font-size:.875rem}
@media(max-width:650px){.rule-price-category>summary{padding:16px;font-size:1rem;flex-wrap:wrap}.rule-category-content{padding:0 16px 16px}}

input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#b42318;outline:1px solid #b42318}

/* Keep bill correction amounts readable inside the existing mobile table scroller. */
.bill-edit-table{min-width:40rem}.bill-edit-table input[type=number]{min-width:6rem}

.property-print-header>.guest-property-header{width:100%}
@media print{.property-print-header .guest-document-logo{max-height:90px}.guest-property-header{break-inside:avoid}}

/* Primary actions retain their contrast inside warning notices. */
.warning a.button:not(.secondary){color:var(--on-accent)}
@media print{.guest-document .no-print{display:none!important}}

.balance-due{font-size:1.2rem;font-weight:700;line-height:1.45}
@media screen{.balance-due,.balance-due strong{color:#b42318}html[data-appearance-mode="dark"] .balance-due,html[data-appearance-mode="dark"] .balance-due strong{color:#ffb4ab}}

.classification-fields{min-width:0;align-self:start}.classification-fields label{min-width:0;display:block}.classification-fields textarea{display:block;min-height:4.5em;height:4.5em;max-width:100%;resize:vertical}.restaurant-receipt{max-width:720px;margin:24px auto}.food-support{break-before:page}.food-support h2{margin-top:0}@media print{.restaurant-receipt{max-width:none;margin:0}.food-support{page-break-before:always}}
