*{box-sizing:border-box}body{margin:0;background:#f5f6f3;color:#243b34;font:16px/1.55 system-ui,sans-serif}aside{width:240px;background:#183e34;color:#fff;position:fixed;inset:0 auto 0 0;padding:32px 24px;display:flex;flex-direction:column}.brand{font-size:25px;letter-spacing:-1px;font-weight:750;color:white;text-decoration:none}.brand span{color:#b6d9b4}.badge,.eyebrow{font-size:11px;letter-spacing:1.4px;font-weight:700}.badge{display:inline-block;background:#e5efe3;color:#35643e;padding:6px 10px;border-radius:6px}aside .badge{background:#285144;color:#bed9cd;letter-spacing:1px}nav{margin-top:38px;display:grid;gap:8px}nav a{color:#e0eee7;text-decoration:none;padding:12px;border-radius:8px}nav a:hover{background:#2c5549}.account{margin-top:auto}.account small{display:block;color:#b6d0c5;margin:5px 0 15px}main{margin-left:240px;padding:0 48px 32px;max-width:1500px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;border-bottom:1px solid #dce3dd;margin-bottom:42px}header span{font-size:11px;letter-spacing:2px;color:#6e8076}header strong{font-size:14px}h1{font-size:42px;line-height:1.15;letter-spacing:-1.4px;margin:15px 0}h2{font-size:21px;line-height:1.35}p{color:#6b7e73}section{background:#fff;border:1px solid #e1e7df;padding:28px;border-radius:16px;margin:20px 0;box-shadow:0 4px 20px #1c3f3104}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.grid section{margin-top:12px}.login{max-width:560px;margin:40px auto}.login h1{font-size:36px}label{display:grid;gap:6px;font-size:14px;font-weight:600;margin:18px 0}input,select{width:100%;padding:12px;border:1px solid #bdcbbf;border-radius:7px;background:white;color:#243b34;font:inherit}input:focus,select:focus{outline:2px solid #75a183;outline-offset:2px}button,.button{display:inline-block;border:0;border-radius:8px;background:#285e46;color:#fff;padding:12px 18px;font:600 14px system-ui;cursor:pointer;text-decoration:none}.secondary{background:#2d594a}.muted{color:#819086}.badge.muted{background:#eef0ec}.error,.success{padding:14px;border-radius:8px}.error{background:#fae6e2;color:#8c3428}.success{background:#e0f1e2;color:#285c32}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th,td{padding:13px 12px;border-bottom:1px solid #e5ebe5}th{color:#6b7e73;font-size:12px}.table{overflow:auto}small,footer{color:#849187;font-size:12px}footer{margin-top:40px}@media(max-width:800px){aside{position:static;width:100%;padding:20px}nav{display:flex;flex-wrap:wrap;margin:10px 0;gap:0}.account{display:flex;gap:15px;align-items:center}.account small{margin:0}.account form{margin-left:auto}main{margin:0;padding:0 20px 24px}header{margin-bottom:25px;padding:20px 0}header span{display:none}.grid{grid-template-columns:1fr;gap:0}h1{font-size:32px}section{padding:20px}.login{margin-top:20px}}

.inline-form{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:16px}.inline-form label{flex:1;min-width:180px;margin-bottom:0}.inline-form button{margin-bottom:0}.check{display:flex;align-items:center}.check input{width:auto}summary{cursor:pointer;padding:12px 0;font-weight:600}
.page-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.page-actions>div:first-child{flex:1}.danger{background:#943e32}.reservation-status{display:inline-block;padding:4px 8px;border-radius:5px;font-size:12px;font-weight:650}.provisional{background:#fff0b8;color:#6b4b04}.confirmed{background:#dceee0;color:#214c33}.cancelled{background:#eceeec;color:#58645c}.blocked{background:repeating-linear-gradient(135deg,#e2e5e3,#e2e5e3 8px,#d5dad7 8px,#d5dad7 10px);color:#3d4a41}.calendar-scroll{overflow:auto;max-height:650px;border:1px solid #d8e1d9;border-radius:8px}.calendar{table-layout:fixed;width:1860px}.calendar caption{text-align:left;padding:10px}.calendar th,.calendar td{border-right:1px solid #e0e6e0;padding:7px}.calendar thead th{position:sticky;top:0;background:#f0f4ee;z-index:2;text-align:center}.calendar th:first-child{width:170px;position:sticky;left:0;z-index:1;background:#fff}.calendar thead th:first-child{z-index:3}.calendar th small{display:block;font-weight:400}.calendar .category-row th{background:#e9efe7}.calendar .today{background:#fff1bd}.calendar .weekend{background:#f4f5f1}.calendar .calendar-cell{padding:4px}.stay{display:flex;flex-direction:column;overflow:hidden;border-radius:6px;min-height:76px;padding:8px;text-decoration:none;font-size:12px}.stay strong,.stay span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.free-day{display:block;text-align:center;padding:20px 0;color:#637b69;text-decoration:none;border-radius:5px}.free-day:hover,.free-day:focus{background:#e1eddf}.legend{display:flex;gap:8px;flex-wrap:wrap}
textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid #bdcbbf;border-radius:7px;color:#243b34;background:white;font:inherit}textarea:focus{outline:2px solid #75a183;outline-offset:2px}.policy-text{white-space:pre-wrap;overflow-wrap:anywhere}.quote-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#f0f5ee;padding:16px;border-radius:10px}.back-form{margin-top:14px}aside{overflow-y:auto}nav{margin-top:18px;gap:2px}nav a{padding:8px 12px}.account{padding-top:16px}@media(max-width:800px){.quote-comparison{grid-template-columns:1fr}}
.stay.in_house,.reservation-status.in_house{background:#dceafa;color:#23476f}.stay.departed,.reservation-status.departed{background:#e7eae8;color:#53605a}
.reservation-tooltip{position:fixed;z-index:1000;box-sizing:border-box;width:360px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;background:#fff;color:#243b34;border:1px solid #b8cdbb;border-radius:12px;padding:18px;box-shadow:0 10px 35px #183e3430;pointer-events:none;font-size:14px}.reservation-tooltip[hidden]{display:none}.reservation-tooltip>strong{font-size:17px;display:block}.tooltip-code{display:block;color:#65796b;font-size:12px;margin:3px 0 14px}.reservation-tooltip dl{display:grid;grid-template-columns:1fr 1.2fr;gap:7px 12px;margin:0 0 14px}.reservation-tooltip dt{color:#6b7e73}.reservation-tooltip dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.reception-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:24px 0 8px;border-bottom:1px solid #d7e1d6;padding-bottom:10px}.reception-tabs a{display:flex;align-items:center;gap:8px;padding:10px 15px;border-radius:8px;text-decoration:none;color:#536c5d;background:#eaf0e7;font-size:14px;font-weight:650}.reception-tabs a:hover{background:#dce8d9}.reception-tabs a.selected{background:#285e46;color:white}.reception-tabs span{font-size:12px;background:#ffffff55;padding:1px 7px;border-radius:12px}.reception-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}.summary-card{display:flex;flex-direction:column;gap:10px;padding:22px;background:#fff;border:1px solid #dce5d9;border-radius:14px;text-decoration:none;color:#365444}.summary-card strong{font-size:36px;line-height:1}.summary-card small{font-size:13px}.summary-card:hover{border-color:#77a082}.reception-date{padding:18px 24px}.reception-date p{font-size:13px;margin-bottom:0}.reception-notice{padding:14px 18px;background:#fff0d4;border-radius:8px}@media(max-width:1100px){.reception-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.reception-tabs{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding-bottom:12px}.reception-tabs a{flex:none}.reception-summary{gap:10px}.summary-card{padding:16px}.summary-card span{font-size:13px}}
.finance-totals{display:flex;flex-wrap:wrap;gap:20px;padding:16px;background:#edf3ea;border-radius:10px}.finance-totals>div{flex:1;min-width:150px}.finance-totals small,.finance-totals strong{display:block}.finance-totals strong{font-size:22px;margin-top:5px}details>form{padding:8px 0 18px}details+details{border-top:1px solid #e4eae1}
.reservation-tooltip{pointer-events:auto}
.guest-picker>label{margin-bottom:6px}.guest-picker>button{margin-top:10px}.guest-picker>small{display:block;margin-top:6px;color:#35643e}.quick-guest-dialog{box-sizing:border-box;width:600px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:auto;padding:28px;border:1px solid #d0ddcd;border-radius:16px;color:#243b34;background:#fff;box-shadow:0 20px 80px #14332744}.quick-guest-dialog::backdrop{background:#142b23a6}.quick-guest-dialog fieldset{border:0;margin:0;padding:0;min-width:0}.quick-guest-dialog .page-actions>h2{flex:1;margin:0}.quick-guest-dialog .dialog-close{padding:8px 12px}.quick-guest-dialog [hidden]{display:none}.quick-guest-dialog button:disabled{opacity:.6;cursor:wait}body:has(.quick-guest-dialog[open]){overflow:hidden}@media(max-width:600px){.quick-guest-dialog{padding:20px}}
.booking-calendar{margin:20px 0;padding:22px;border:1px solid #c6d9c6;border-radius:12px;background:#fafcf8}.booking-calendar-heading,.booking-calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.booking-calendar-heading h3{margin:0}.booking-calendar-heading p{margin:4px 0;font-size:13px}.booking-calendar-controls{justify-content:center;margin:18px 0}.booking-calendar-controls label{margin:0;display:flex;gap:10px;align-items:center}.booking-calendar-controls input{width:190px}.booking-calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.booking-month{table-layout:fixed;text-align:center;border-collapse:separate;border-spacing:3px}.booking-month caption{font-size:17px;font-weight:700;padding:4px 0 14px;text-transform:capitalize}.booking-month th,.booking-month td{padding:0;border:0}.booking-month th{font-size:12px;padding:5px 0}.booking-day{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:53px;padding:5px 0;background:#fff;color:#2e4b38;border:1px solid #d7e2d4;border-radius:6px;font-size:14px;gap:2px}.booking-day small{font-size:9px;line-height:1.2;color:inherit;min-height:11px}.booking-day:hover:not(:disabled){border-color:#2d8150;background:#e7f4e5}.booking-day:focus-visible{outline:3px solid #376949;outline-offset:2px}.booking-day:disabled{cursor:not-allowed;color:#929b91;background:#f1f3ef}.booking-day.date-occupied{background:#f9e5dc;color:#9c5840}.booking-day.date-blocked{background:repeating-linear-gradient(135deg,#e4e7e3,#e4e7e3 5px,#d6dbd4 5px,#d6dbd4 7px);color:#6b7569}.booking-day.date-selected{background:#d2edda;border-color:#86bd96;color:#204f2d}.booking-day.date-start,.booking-day.date-end{background:#2e7a49;border-color:#2e7a49;color:#fff}.booking-day.date-preview{background:#e0f3e4;border-color:#8abf99;color:#235e35}.booking-day.date-today span{text-decoration:underline;font-weight:800}.booking-calendar-summary{padding:12px 15px;border-radius:8px;background:#e0f0e1;color:#2c5a37;font-weight:650}.booking-calendar-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#667c6a}.booking-calendar-legend span{display:flex;align-items:center;gap:5px}.booking-calendar-legend i{width:12px;height:12px;display:inline-block;border-radius:3px}.date-legend-selected{background:#6ab17c}.date-legend-occupied{background:#eab9a4}.date-legend-blocked{background:#bfc8bb}#booking-calendar-message{font-size:13px}@media(max-width:1100px){.booking-calendar-months{grid-template-columns:1fr;gap:22px}}@media(max-width:600px){.booking-calendar{padding:14px}.booking-calendar-controls{gap:8px}.booking-calendar-controls label{font-size:12px;gap:6px}.booking-calendar-controls input{width:160px}.booking-day{min-height:49px}.booking-day small{font-size:8px}}
.booking-calendar{box-sizing:border-box;max-width:400px;margin:12px 0;padding:12px;border-radius:10px}.booking-calendar-heading{gap:8px}.booking-calendar-heading h3{font-size:15px}.booking-calendar-heading button{padding:6px 10px;font-size:12px}#booking-calendar-instruction{font-size:12px;margin:7px 0}.booking-calendar-controls{margin:8px 0;gap:8px;flex-wrap:nowrap}.booking-calendar-controls button{padding:7px 12px}.booking-calendar-controls label{flex:1;display:block}.booking-calendar-controls input{box-sizing:border-box;width:100%;padding:7px;font-size:13px}.booking-calendar-months{grid-template-columns:1fr;gap:0}.booking-month{border-spacing:2px}.booking-month caption{font-size:13px;padding:3px 0 5px}.booking-month th{font-size:10px;padding:3px 0}.booking-day{min-height:36px;padding:3px 0;font-size:12px;gap:1px;border-radius:4px}.booking-day small{font-size:8px;min-height:9px}.booking-calendar-legend{gap:10px;font-size:10px;margin:6px 0}.booking-calendar-legend i{width:9px;height:9px}.booking-calendar-summary{font-size:12px;padding:8px 10px;margin:8px 0}.booking-calendar-help summary{font-size:11px;padding:3px 0;color:#6b7e73;font-weight:500}.booking-calendar-help small{display:block;margin-top:5px}.booking-calendar-help{margin-top:2px}#booking-calendar-message{font-size:12px;margin:7px 0}.booking-calendar [hidden]{display:none}@media(max-width:600px){.booking-calendar{max-width:100%;padding:10px}.booking-day{min-height:40px}.booking-calendar-controls input{width:100%}}
.br-date-field{display:flex;position:relative;align-items:stretch;width:100%;min-width:0}.br-date-field .br-date-visible{flex:1;min-width:0;width:100%;border-radius:7px 0 0 7px}.br-date-field .br-date-picker{flex:0 0 38px;padding:0;border:1px solid #bdcbbf;border-left:0;border-radius:0 7px 7px 0;background:#e9f0e6;color:#356044;font-size:21px}.br-date-field .br-date-picker:hover{background:#dbe8d7}.br-date-field input.br-date-native{position:absolute;right:0;top:0;width:38px;height:100%;margin:0;padding:0;opacity:0;pointer-events:none;border:0}.br-date-field .br-date-picker:focus-visible{outline:2px solid #75a183;outline-offset:2px}
.calendar-page-title h1{font-size:30px;margin:8px 0}.calendar-page-title p{font-size:13px;margin:6px 0}.calendar-card{padding:16px}.calendar-tools{gap:10px}.calendar-tools>.button,.calendar-tools button{padding:8px 12px;font-size:12px}.calendar-tools .inline-form{margin:0 0 0 auto;gap:8px}.calendar-tools .inline-form label{margin:0;min-width:180px;font-size:11px}.calendar-tools input{padding:7px;font-size:12px}.calendar-legend-line{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0}.calendar-legend-line .legend{margin:0;gap:5px}.calendar-legend-line .reservation-status{font-size:10px;padding:3px 6px}.calendar-help{font-size:12px}.calendar-help summary{padding:3px 0;font-size:11px}.calendar-help[open]{flex-basis:100%}.calendar-help p{margin:6px 0}.calendar-timeline{width:100%;min-width:0;max-width:100%}.calendar-timeline th:first-child{width:var(--calendar-room-width,170px)}.calendar-timeline th,.calendar-timeline td{padding:4px;font-size:12px}.calendar-timeline caption{font-size:11px;padding:6px 8px}.calendar-timeline thead th{font-size:11px}.calendar-timeline .category-row th{padding:4px 8px;font-size:11px}.calendar-timeline th small{font-size:10px;line-height:1.4}.day-halves{display:flex;justify-content:space-around;gap:4px;margin-top:3px;font-size:8px;color:#80917f;font-weight:400}.calendar-timeline td.timeline-cell{padding:0;vertical-align:top}.room-timeline{position:relative;min-height:56px}.timeline-days{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));min-height:56px;height:100%;position:absolute;inset:0}.timeline-day{position:relative;border-right:1px solid #e0e6e0;min-height:56px}.timeline-day:after{content:'';position:absolute;top:0;bottom:0;left:50%;border-left:1px dotted #cdd9ca;pointer-events:none}.timeline-day.free-day{padding:0;display:flex;align-items:center;justify-content:center;font-size:14px;border-radius:0;color:#9eaf9b}.timeline-day.free-day:hover{color:#285e46}.calendar .timeline-event{position:relative;display:flex;justify-content:center;min-height:0;height:42px;padding:4px 7px;border:1px solid #ffffff99;border-radius:6px;font-size:11px;line-height:1.35;z-index:2;text-decoration:none;margin:0;box-shadow:0 1px 2px #183e3412;overflow:hidden}.calendar .timeline-event strong{font-size:12px}.calendar .timeline-event span{font-size:10px}.timeline-enhanced .timeline-event{position:absolute}.timeline-event:focus-visible{outline:2px solid #183e34;outline-offset:1px;z-index:4}.timeline-event:hover{filter:brightness(.97);z-index:3}.calendar .timeline-event.continues-before{border-top-left-radius:0;border-bottom-left-radius:0}.calendar .timeline-event.continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.calendar-scroll{max-height:560px}@media(max-width:700px){.calendar-card{padding:10px}.calendar-tools .inline-form{margin-left:0;width:100%}.calendar-tools .inline-form label{flex:1}.calendar-page-title h1{font-size:26px}}
.reservation-context-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid #e1e8df}.reservation-context-actions button,.reservation-context-actions .button{font-size:12px;padding:8px 12px}.reservation-tooltip:focus{outline:2px solid #75a183;outline-offset:2px}
.calendar-card{min-width:0}.calendar-scroll{overflow:visible;max-height:none;height:auto;width:100%}.calendar-timeline{table-layout:fixed}.calendar [hidden]{display:none!important}.calendar-timeline thead th{overflow-wrap:anywhere}.room-timeline,.timeline-days,.timeline-day{min-height:84px}.calendar .timeline-event{height:76px;padding:8px;font-size:12px}.calendar .timeline-event strong{font-size:12px}.calendar .timeline-event span{font-size:11px}.calendar .timeline-event .timeline-status{font-size:10px;opacity:.85}
.sidebar-nav{display:flex;flex-direction:column;gap:3px;margin:20px 0 12px;flex-shrink:0}.sidebar-caption{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#a9c8b7;padding:0 12px 7px}.sidebar-nav .sidebar-link{display:block;color:#dfede4;text-decoration:none;padding:9px 12px;font-size:14px;border-radius:7px;border-left:3px solid transparent}.sidebar-nav .sidebar-link:hover{background:#2c5549}.sidebar-nav .sidebar-link.is-active{background:#2d5c48;color:#fff;border-left-color:#b6d9b4;font-weight:650}.sidebar-settings{margin-top:12px;border-top:1px solid #ffffff26;padding-top:5px}.sidebar-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;padding:11px 12px;font-size:14px;color:#e0eee7;font-weight:650;cursor:pointer;border-radius:7px}.sidebar-settings>summary::-webkit-details-marker{display:none}.sidebar-settings>summary::after{content:'⌄';transition:transform .15s}.sidebar-settings[open]>summary::after{transform:rotate(180deg)}.sidebar-settings>summary:hover{background:#2c5549}.sidebar-settings-content{display:grid;gap:14px;padding:10px 0 8px 8px}.sidebar-subcategory{display:grid;gap:2px;border-left:1px solid #ffffff26;padding-left:7px}.sidebar-subtitle{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#a9c8b7;padding:0 12px 4px}.sidebar-nav .sidebar-subcategory .sidebar-link{font-size:13px;padding:7px 10px}.sidebar-nav a:focus-visible,.sidebar-settings>summary:focus-visible{outline:2px solid #b6d9b4;outline-offset:2px}@media(max-width:800px){.sidebar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:12px 0}.sidebar-caption,.sidebar-settings{grid-column:1/-1}.sidebar-settings-content{grid-template-columns:repeat(3,minmax(0,1fr));padding-left:0}.sidebar-settings{margin-top:6px}}@media(max-width:500px){.sidebar-settings-content{grid-template-columns:1fr}}
.sidebar-subcategory{background:#204b3e;border-left:0;border-radius:8px;padding:6px}.sidebar-subtitle{background:#365f4e;color:#e0eee5;padding:6px 8px;border-radius:5px;margin-bottom:3px;font-weight:700}
main{padding-left:28px;padding-right:28px}header{padding:18px 0;margin-bottom:24px}h1{font-size:30px;letter-spacing:-.8px;margin:10px 0}h2{font-size:19px;margin:0 0 10px}h3{font-size:16px}section{padding:18px;margin:14px 0;border-radius:10px;box-shadow:none}.grid{gap:14px}label{font-size:13px;margin:10px 0;gap:5px}input:not([type="checkbox"]):not([type="hidden"]):not(.br-date-native),select,textarea{padding:8px 10px;font-size:13px;line-height:1.4}button:not(.booking-day):not(.help-trigger):not(.br-date-picker),.button{padding:8px 12px;font-size:13px;min-height:32px;border-radius:6px}.page-actions{gap:10px}.inline-form{gap:10px;margin-bottom:10px}.inline-form label{min-width:150px}.reception-date{padding:12px 16px}.reception-date p,.compact-note{font-size:12px;margin:6px 0;color:#7a8b7e}.reception-tabs{margin:16px 0 8px;padding-bottom:8px;gap:5px}.reception-tabs a{font-size:12px;padding:8px 11px}.summary-card{padding:16px;gap:7px}.summary-card strong{font-size:30px}.summary-card small{font-size:12px}.filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:8px 14px}.filter-bar>.grid{display:contents}.filter-bar>label,.filter-bar>.grid>label{flex:1 1 150px;min-width:130px;max-width:220px}.filter-bar>button{margin-bottom:10px}.finance-totals{gap:14px;padding:12px}.finance-totals strong{font-size:20px}.calendar-tools .inline-form label{min-width:145px}.secondary-help{margin:8px 0}
.help-inline{display:inline-flex;vertical-align:middle;margin-left:5px;line-height:1}.help-trigger{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;min-width:19px;padding:0;border:1px solid #a7bcaa;border-radius:50%;background:#edf3e9;color:#55725c;font:700 12px/1 system-ui,sans-serif;cursor:help;vertical-align:middle}.help-trigger:hover,.help-trigger:focus-visible{background:#dcebd8;border-color:#6c9875;color:#285e46;outline:2px solid #b7d1b8;outline-offset:2px}.contextual-help{position:fixed;z-index:2000;box-sizing:border-box;width:350px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;background:#fff;border:1px solid #c4d5bf;border-radius:10px;padding:16px;box-shadow:0 10px 35px #183e3430;color:#314b38;font-size:13px;line-height:1.5}.contextual-help[hidden]{display:none}.contextual-help h3{margin:0 24px 10px 0;font-size:14px}.contextual-help p{font-size:13px;color:#667b6a;margin:6px 0}.contextual-help .help-close{position:absolute;top:4px;right:6px;width:28px;height:28px;padding:0!important;min-height:28px!important;background:transparent;color:#708674;font-size:20px!important}.contextual-help:focus{outline:2px solid #9fbe9e;outline-offset:2px}h1>.help-inline,h2>.help-inline,h3>.help-inline{position:relative;top:-1px}.help-copy a{color:#285e46}@media(max-width:800px){main{padding-left:16px;padding-right:16px}header{margin-bottom:16px;padding:14px 0}section{padding:14px}.filter-bar>label,.filter-bar>.grid>label{max-width:none}.filter-bar>button{flex:0 0 auto}}
.calendar .timeline-event{border-top-width:6px}.calendar .timeline-event.provisional{border-top-color:#ac7c12}.calendar .timeline-event.confirmed{border-top-color:#28733e}.calendar .timeline-event.in_house{border-top-color:#2456a5}.calendar .timeline-event.departed{border-top-color:#6c7971}.calendar .timeline-event.blocked{border-top-color:#778176}

.calendar-scroll{overflow-x:auto;max-height:none;scrollbar-width:auto}.calendar-timeline{max-width:none;min-width:100%}.room-timeline,.timeline-days,.timeline-day{min-height:64px}.calendar .timeline-event{height:56px;padding:4px 7px}.calendar .timeline-event .timeline-status{font-size:11px;opacity:1}.room-toggle{padding:2px 4px!important;min-height:22px!important;background:transparent;color:#506f5d;margin-left:4px}.rooms-hidden .room-label{display:none}.rooms-hidden tbody tr:not(.category-row)>th{font-size:0}.rooms-hidden tbody tr:not(.category-row)>th>*{display:none}

.report-period{font-size:12px;margin:6px 0}.report-summary .finance-totals{margin:0}.report-money{white-space:nowrap;font-variant-numeric:tabular-nums}.report-table th{white-space:nowrap}.report-table td{vertical-align:top}

.cleaning-row .cleaning-status{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:5px;font-size:12px;font-weight:650;white-space:nowrap}.cleaning-row .cleaning-status:before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:currentColor}.cleaning-clean .cleaning-status{background:#edf3ee;color:#54715c}.cleaning-dirty>td{background:#fff1f1}.cleaning-dirty .cleaning-room{box-shadow:inset 4px 0 #c83232;color:#8c2020;font-weight:700}.cleaning-dirty .cleaning-status{background:#f9d6d6;color:#982525}.cleaning-cleaning>td{background:#fff9eb}.cleaning-cleaning .cleaning-room{box-shadow:inset 4px 0 #c38a19;font-weight:650}.cleaning-cleaning .cleaning-status{background:#ffedbd;color:#79560f}

.cleaning-update-form{display:flex;align-items:flex-end;gap:7px;flex-wrap:nowrap}.cleaning-update-form label{margin:0;min-width:130px}.cleaning-update-form .cleaning-update-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;padding:6px}.cleaning-update-form select{min-height:34px}

.calendar-timeline th.calendar-room-dirty{background:#fff1f1;color:#8c2020;box-shadow:inset 4px 0 #c83232}.calendar-timeline th.calendar-room-dirty small{color:#982525;font-weight:650}
.calendar .room-cleaning-trigger{display:inline;padding:1px 0;min-height:0;background:transparent;color:inherit;border-radius:2px;font:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.calendar .room-cleaning-trigger:hover{filter:brightness(.8)}.calendar .room-cleaning-trigger:focus-visible{outline:2px solid currentColor;outline-offset:2px}.calendar-cleaning-dialog{width:380px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:auto;border:1px solid #d0ddcd;border-radius:12px;padding:20px;color:#243b34;background:#fff;box-shadow:0 20px 80px #14332744}.calendar-cleaning-dialog::backdrop{background:#142b23a6}.calendar-cleaning-dialog h2{margin-top:0}body:has(.calendar-cleaning-dialog[open]){overflow:hidden}
.sidebar-toggle{position:absolute;top:7px;right:7px;display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;min-height:29px!important;padding:4px!important;border:1px solid #ffffff30;border-radius:5px;background:#285144;color:#d8eadd;z-index:1}.sidebar-toggle:hover{background:#365f4e}.sidebar-toggle:focus-visible{outline:2px solid #b6d9b4;outline-offset:2px}.sidebar-collapsed aside{width:44px;padding:0;z-index:20}.sidebar-collapsed aside>:not(.sidebar-toggle){display:none}.sidebar-collapsed main{margin-left:44px;max-width:none}.sidebar-collapsed .sidebar-toggle svg{transform:rotate(180deg)}@media(max-width:800px){aside:has(.sidebar-toggle){position:relative}.sidebar-collapsed aside{position:fixed;inset:0 auto 0 0;width:44px}.sidebar-collapsed main{margin-left:44px}}
.calendar-timeline{border-collapse:separate;border-spacing:0;isolation:isolate}
.calendar-timeline caption{padding:0;background:#e6eee3;border-bottom:1px solid #b9cdb6}
.calendar-period{display:block;position:sticky;left:0;width:var(--calendar-viewport-width,100%);max-width:100%;padding:12px 16px;text-align:center;color:#214c33;font-size:16px;font-weight:750;letter-spacing:.3px}
.calendar-timeline thead th:first-child{position:sticky;left:0;z-index:8;background:#e9f0e5;border-bottom:2px solid #b9cdb6;box-shadow:3px 0 5px #183e3414}
.calendar-timeline tbody th.calendar-room,.calendar-timeline .category-row th.calendar-category{position:sticky;left:0;z-index:6;box-shadow:3px 0 5px #183e3414}
.calendar-timeline tbody th.calendar-room{background:#fff}
.calendar-timeline tbody th.calendar-room-dirty{background:#fff1f1;box-shadow:inset 4px 0 #c83232,3px 0 5px #183e3414}
.calendar-timeline .category-row th.calendar-category{background:#dce8d6;color:#294d35;font-weight:750;overflow-wrap:anywhere;text-align:left}
.calendar-timeline .calendar-category-fill{background:#dce8d6;border-bottom:1px solid #c7d7c0}
.reception-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.reception-summary .summary-card>span{white-space:nowrap;font-size:13px;line-height:1.4}
.reservation-contact-row{align-items:start}
.reservation-contact-row .guest-picker,.reservation-contact-row .company-picker{min-width:0;margin:10px 0}
.reservation-field-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;margin-bottom:5px}
.reservation-field-heading>label{margin:0;line-height:1.4}
.reservation-field-heading #open-quick-guest{margin:0;white-space:nowrap;min-height:28px;padding:5px 8px;font-size:11px}
.booking-calendar-dual{max-width:620px;padding:10px;margin:8px 0}
.booking-calendar-dual .booking-calendar-heading{flex-wrap:nowrap;gap:8px}
.booking-calendar-dual .booking-calendar-heading h3{font-size:13px;margin:0}
.booking-calendar-dual .booking-calendar-heading>button{min-height:26px;padding:4px 8px;font-size:11px}
.booking-calendar-dual .booking-calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.booking-calendar-panel{min-width:0;padding:7px;border:1px solid #dce6d6;border-radius:7px;background:#fff}
.booking-calendar-panel h4{font-size:12px;line-height:1.3;margin:0 0 5px;color:#285e46}
.booking-calendar-dual .booking-calendar-controls{margin:4px 0;gap:4px}
.booking-calendar-dual .booking-calendar-controls>button{min-height:26px;padding:3px 7px;font-size:11px}
.booking-calendar-dual .booking-calendar-controls label{margin:0;min-width:0}
.booking-calendar-dual .booking-calendar-controls input{padding:4px 6px;font-size:11px}
.booking-calendar-dual .booking-month{border-spacing:2px}
.booking-calendar-dual .booking-month caption{font-size:11px;padding:2px 0 3px}
.booking-calendar-dual .booking-month th{font-size:9px;padding:2px 0}
.booking-calendar-dual .booking-day{min-height:28px;height:28px;padding:2px;font-size:11px;border-radius:4px;line-height:1}
.booking-calendar-dual .booking-calendar-summary{margin:7px 0 0;padding:6px 8px;font-size:11px}
.booking-calendar-dual #booking-calendar-instruction,.booking-calendar-dual #booking-calendar-message{font-size:11px;margin:6px 0}
.booking-calendar-dual .booking-calendar-help{margin-top:5px}
@media(max-width:620px){.booking-calendar-dual{max-width:100%}.booking-calendar-dual .booking-calendar-months{grid-template-columns:1fr}.booking-calendar-dual .booking-day{min-height:30px;height:30px}}
.communication-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.communication-columns>section{min-width:0}
.communication-preview textarea{background:#f7faf4}
.communication-variables{display:flex;flex-wrap:wrap;gap:7px}
.communication-variables code{font-size:12px;background:#eef3e9;padding:3px 6px;border-radius:4px}
.support-timeline{display:grid;gap:10px;max-height:640px;overflow:auto;padding:3px}
.support-message{padding:12px 14px;border:1px solid #dbe4d5;border-radius:8px;background:#fafcf8;overflow-wrap:anywhere}
.support-message>div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:5px 12px}
.support-message strong{font-size:12px}.support-message small{font-size:10px}
.support-message p{white-space:pre-wrap;font-size:13px;line-height:1.6;color:#425a48;margin:8px 0 0}
.support-message-system{background:#f2f3ed;border-style:dashed}.support-message-assistant_local{background:#edf4e8;border-left:3px solid #69914f}.support-message-staff_reply_local{background:#eef3fa;border-left:3px solid #5581b0}.support-message-note{background:#fff9e7}
@media(max-width:950px){.communication-columns{grid-template-columns:1fr}}
.calendar .timeline-open{display:block;min-width:0;color:inherit;text-decoration:none}
.calendar .timeline-open::after{content:'';position:absolute;inset:0;z-index:0}
.calendar .timeline-status{display:flex;align-items:center;min-width:0;white-space:nowrap;pointer-events:none}
.calendar .timeline-stay-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.calendar.calendar-timeline .timeline-event .calendar-status-trigger{position:relative;z-index:1;pointer-events:auto;flex:none;min-height:0;margin:0;padding:0;border:0;border-radius:2px;background:transparent;color:inherit;font:inherit;line-height:1.35;white-space:nowrap;text-decoration:underline dotted;text-underline-offset:2px;cursor:pointer}
.calendar .calendar-status-trigger:hover{text-decoration-style:solid}
.calendar .calendar-status-trigger:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.calendar .timeline-event:focus-within{outline:2px solid #285e46;outline-offset:1px;z-index:4}
.calendar .nights-moon{display:inline-block;vertical-align:-2px;margin:0 2px;flex:none}
.calendar-status-dialog{width:560px}.calendar-status-dialog .finance-totals{gap:10px;margin:12px 0}.calendar-status-dialog .finance-totals>div{min-width:110px}.calendar-status-dialog .finance-totals strong{font-size:17px}.calendar-status-dialog [hidden]{display:none!important}
.calendar .timeline-event.blocked,.calendar-legend-line .reservation-status.blocked{background:#111;color:#fff;border-color:#111}
.calendar .timeline-event.blocked{border-top-color:#000}
.ops-api-result{white-space:pre-wrap;overflow-wrap:anywhere;max-height:360px;overflow:auto;padding:12px;background:#f0f4ed;border-radius:7px;font-size:12px}
