.payment-paid{--payment-bg:#DDEFE3;--payment-ink:#23553A;--payment-edge:#49825D}.payment-partial{--payment-bg:#FAEAC6;--payment-ink:#73501B;--payment-edge:#B58029}.payment-unpaid{--payment-bg:#F7E0D8;--payment-ink:#8A3E2B;--payment-edge:#B9684D}.payment-unknown{--payment-bg:#EBEEED;--payment-ink:#515E59;--payment-edge:#86948D}.payment-blocked{--payment-bg:#ECEDEA;--payment-ink:#535A52;--payment-edge:#858B82}
.calendar-page{max-width:100%}.calendar-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.calendar-title h1 span{font-size:17px;color:var(--muted);font-weight:500}.calendar-title p{font-size:12px;color:var(--muted);margin-top:6px}.calendar-preview-label{font-size:11px;color:var(--brand);background:var(--brand-soft,#EAF2EC);border-radius:7px;padding:8px 12px;margin-bottom:12px}.calendar-navigation,.calendar-display,.calendar-date-switch{display:flex;align-items:center;gap:10px}.calendar-navigation{justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}.calendar-date-switch{gap:4px}.calendar-date-switch .icon-btn,.calendar-pager .icon-btn{width:40px;height:40px;min-width:40px}.calendar-date-switch strong{font-size:13px}.calendar-date-label{position:relative;cursor:pointer;padding:9px 5px}.calendar-date-label input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.calendar-date-label input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;opacity:0}.calendar-date-label:focus-within{outline:2px solid var(--brand);border-radius:6px}.calendar-display .segmented button{min-height:36px}.calendar-search-row{display:flex;gap:10px;margin-bottom:10px}.calendar-search{display:flex;align-items:center;gap:9px;flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:9px 12px}.calendar-search .icon{width:17px;height:17px;color:var(--muted)}.calendar-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:12px}.calendar-payment-legend{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:3px 2px 5px;scrollbar-width:thin}.payment-filter{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--payment-bg,var(--paper));color:var(--payment-ink,var(--ink));border-radius:8px;padding:9px 11px;font-size:11px;min-height:38px;white-space:nowrap;flex-shrink:0}.payment-filter.selected{outline:2px solid var(--brand);outline-offset:0}.payment-filter b{font-size:10px;font-weight:600}.calendar-controls{padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:9px;margin-top:8px}.calendar-controls .calendar-payment-legend{margin:8px 0}.calendar-context{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);min-height:35px;gap:10px}.calendar-context>.btn{min-height:32px;padding:4px}.calendar-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;min-height:44px}.calendar-pager>.flex{gap:4px;font-size:11px}.calendar-pager .icon-btn:disabled{opacity:.3;cursor:default}
.payment-calendar{--property-width:180px;--day-width:56px;max-height:65dvh;isolation:isolate;overscroll-behavior:contain;border-radius:10px}.calendar-dates,.calendar-property-row{display:grid;grid-template-columns:var(--property-width) repeat(var(--days),minmax(var(--day-width),1fr));min-width:calc(var(--property-width) + var(--days)*var(--day-width))}.calendar-dates{position:sticky;top:0;z-index:5;background:var(--paper)}.calendar-dates>.calendar-property{z-index:6}.calendar-dates .calendar-head{min-height:48px;padding:6px 2px;font-size:14px}.calendar-head span{font-size:9px;color:var(--muted)}.calendar-property-row{grid-template-rows:repeat(var(--lanes),66px)}.payment-calendar .calendar-property{padding:9px 12px;max-width:none;text-align:left;align-content:center;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);min-width:0}.calendar-property-row>.calendar-property{grid-column:1;grid-row:1 / span var(--lanes);box-shadow:3px 0 6px #23362e06}.calendar-property h3{font-size:12px;line-height:17px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.calendar-property small{display:block;font-size:10px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-property-row>.calendar-cell{min-height:0;z-index:0}.calendar-property-row>button.calendar-property:hover{background:var(--brand-soft,#EAF2EC)}.calendar-stay{position:relative;z-index:2;min-width:0;align-self:center;height:54px;margin:0 2px;padding:4px 6px;border:1px solid var(--payment-edge);border-left-width:3px;border-radius:7px;background:var(--payment-bg);color:var(--payment-ink);text-align:left;overflow:hidden;cursor:pointer}.calendar-stay:hover{filter:brightness(.97);box-shadow:0 2px 8px #23362e17}.calendar-stay:focus-visible,.calendar-property:focus-visible{z-index:4;outline:3px solid var(--brand);outline-offset:-2px}.calendar-stay>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;line-height:14px}.calendar-stay .stay-name{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:650;line-height:16px}.stay-name>span:nth-child(2){overflow:hidden;text-overflow:ellipsis}.stay-mark{font-size:14px;flex-shrink:0}.calendar-stay .stay-source{font-size:9px}.calendar-stay.is-request{border-style:dashed;border-width:2px}.calendar-stay.payment-blocked,.legend-blocked{background:repeating-linear-gradient(135deg,#ECEDEA,#ECEDEA 5px,#DBDFD8 5px,#DBDFD8 7px);color:#454E44}.calendar-stay.has-collision{outline:2px solid #785493;outline-offset:0}.collision-mark{display:inline-grid;place-items:center;border-radius:4px;background:#785493;color:white;min-width:14px;height:14px;margin-left:auto;font-size:10px}.calendar-stay.is-dimmed{background:var(--paper);border-color:var(--line);border-left-color:var(--payment-edge);color:var(--payment-ink)}.calendar-stay.is-dimmed.has-collision{outline-style:dotted}.calendar-stay.is-dimmed.payment-blocked{background:repeating-linear-gradient(135deg,#fff,#fff 5px,#e9ece7 5px,#e9ece7 7px)}.calendar-stay.continues-left{border-top-left-radius:0;border-bottom-left-radius:0;border-left-style:dotted}.calendar-stay.continues-right{border-top-right-radius:0;border-bottom-right-radius:0;border-right-style:dotted}.calendar-help{display:flex;gap:8px 15px;flex-wrap:wrap;margin:14px 0 10px;font-size:11px;color:var(--muted)}.calendar-help>span{display:inline-flex;align-items:center;gap:5px}.payment-key{background:var(--payment-bg);color:var(--payment-ink);padding:3px 7px;border-radius:4px}.legend-request,.legend-blocked{display:inline-block;width:18px;height:13px;border-radius:3px;border:1px solid #858B82}.legend-request{border:2px dashed #59675F}.collision-label{color:#785493;font-size:11px;font-weight:600}.request-label{font-size:11px;color:var(--muted);border-bottom:1px dashed currentColor}.calendar-footnote{font-size:11px;color:var(--muted);line-height:1.6}.calendar-list-meta{display:flex;align-items:flex-end;flex-direction:column;gap:5px}.calendar-list-row{text-align:left;gap:12px}.calendar-list-row .small{margin-top:4px}.payment-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:7px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--payment-bg);color:var(--payment-ink)}
.payment-detail{border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0}.payment-detail p{font-size:12px;line-height:1.6;margin-top:12px;color:var(--muted)}.payment-figures{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.payment-figures small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.payment-figures strong{font-size:17px}.payment-balance{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;display:flex;align-items:center;justify-content:space-between}.payment-balance strong{font-size:23px}.booking-intro h3{font-size:14px;margin-bottom:5px}.booking-intro p{font-size:12px;color:var(--muted);line-height:1.6}.booking-source-action{display:block;margin:14px 0}.booking-source-action .btn{width:100%;min-height:46px}.booking-source-action p{font-size:11px;color:var(--muted);line-height:1.6;margin-top:8px}.booking-reference{padding:10px;background:var(--bg);font-size:11px;line-height:1.6;overflow-wrap:anywhere;border-radius:8px;margin-top:10px}.booking-more{margin-top:16px;font-size:12px}.booking-more summary{padding:12px 0;cursor:pointer;color:var(--brand)}.booking-modal .modal-body{padding-top:16px}.identity-selected{max-width:420px;margin-bottom:24px}.identity-selected .palette-choice{width:100%;text-align:left}.identity-selected .palette-choice.selected{cursor:default}
@media(max-width:1100px){.payment-calendar{--property-width:155px}.calendar-display{gap:6px}.calendar-title p{max-width:340px}}
@media(max-width:680px){.main:has(.calendar-page){padding:15px 14px 24px}.calendar-title{align-items:flex-start;margin-bottom:10px}.calendar-title h1{font-size:23px}.calendar-title h1 span{font-size:14px}.calendar-title p{font-size:10px;max-width:240px;margin-top:4px}.calendar-title>.btn{font-size:10px;padding:7px 9px;max-width:116px;min-height:40px}.calendar-preview-label{font-size:10px;padding:6px 8px;margin-bottom:8px}.calendar-navigation{gap:6px;margin-bottom:8px}.calendar-display{width:100%;justify-content:space-between}.calendar-display .segmented button{padding:5px 9px;min-height:36px}.calendar-date-switch{justify-content:space-between;width:100%}.calendar-date-switch strong{font-size:12px}.calendar-date-switch .btn{padding:7px 10px;min-height:40px}.calendar-search-row{margin-bottom:6px;gap:6px}.calendar-search{padding:9px 10px;min-height:42px}.calendar-payment-legend{gap:7px}.payment-filter{padding:8px 9px;font-size:10px;min-height:42px}.calendar-context{font-size:10px;min-height:30px}.calendar-context>span:nth-child(2){display:none}.calendar-pager{font-size:11px;min-height:42px}.payment-calendar{--property-width:112px;--day-width:72px;max-height:59dvh}.payment-calendar .calendar-property{padding:8px}.calendar-property h3{font-size:11px;line-height:15px}.calendar-property small{font-size:9px}.calendar-property-row{grid-template-rows:repeat(var(--lanes),62px)}.calendar-stay{height:52px;padding:4px}.calendar-stay .stay-name{font-size:10px;gap:3px}.calendar-stay .stay-payment{font-size:9px}.calendar-stay .stay-source{font-size:9px}.calendar-help{font-size:10px;gap:7px}.calendar-footnote{font-size:10px}.calendar-list-row{padding:14px 12px}.calendar-list-row h3{font-size:12px}.calendar-list-row .payment-badge{font-size:10px}.calendar-list-row .muted{font-size:11px}.booking-modal.modal-overlay{padding:0;align-items:flex-end}.booking-modal .modal{width:100%;max-height:92dvh;border-radius:18px 18px 0 0}.booking-modal .modal-head{padding:13px 18px}.booking-modal .modal-head h2{font-size:17px}.booking-modal .modal-body{padding:16px 18px calc(20px + env(safe-area-inset-bottom))}.payment-detail{padding:13px;margin:12px 0}.payment-figures strong{font-size:16px}.payment-balance strong{font-size:22px}}
.calendar-focus-toggle{display:flex;justify-content:flex-end;margin-top:-30px;position:relative;pointer-events:none}.calendar-focus-toggle>.btn{pointer-events:auto;min-height:30px;padding:4px 0;font-size:11px}.calendar-context>span:nth-child(2){display:none}.calendar-page.is-focused{position:fixed;inset:0;z-index:25;background:var(--bg);padding:16px 24px;display:flex;flex-direction:column;overflow:auto}.calendar-page.is-focused .calendar-title,.calendar-page.is-focused .calendar-preview-label,.calendar-page.is-focused .calendar-display,.calendar-page.is-focused .calendar-context,.calendar-page.is-focused .calendar-footnote{display:none}.calendar-page.is-focused .calendar-navigation{margin-right:110px}.calendar-page.is-focused .calendar-focus-toggle{position:absolute;top:22px;right:24px;margin:0}.calendar-page.is-focused .payment-calendar{flex:1;min-height:120px;max-height:none}.calendar-page.is-focused .calendar-help{margin-bottom:0}.calendar-page.is-focused .calendar-pager:last-of-type{display:none}
@media(max-width:680px){.content:has(.calendar-preview-label)>.demo-bar{display:none}.calendar-preview-label{font-size:10px;white-space:nowrap}.calendar-title{margin-bottom:5px}.calendar-context{min-height:28px}.calendar-context>span{font-size:9px}.calendar-focus-toggle>.btn{font-size:10px;min-height:28px}.calendar-page.is-focused{padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.calendar-page.is-focused .calendar-navigation{margin-right:74px}.calendar-page.is-focused .calendar-date-switch>.btn{display:none}.calendar-page.is-focused .calendar-date-switch strong{font-size:11px}.calendar-page.is-focused .calendar-focus-toggle{top:15px;right:12px}.calendar-page.is-focused .calendar-help{display:none}.calendar-page.is-focused .calendar-pager{flex-shrink:0}.calendar-page.is-focused .calendar-search-row,.calendar-page.is-focused .calendar-payment-legend{flex-shrink:0}}
.calendar-focus-note{display:none}.calendar-page.is-focused .calendar-focus-note{display:block;font-size:10px;color:var(--muted);margin:0 0 5px 9px;flex-shrink:0}.calendar-page.is-focused .calendar-focus-toggle{top:41px}.shell:has(.is-focused)>.sidebar,.shell:has(.is-focused)>.mobile-nav,.content:has(.is-focused)>.topbar,.content:has(.is-focused)>.demo-bar{display:none}body:has(.is-focused){overflow:hidden}@media(max-width:680px){.calendar-page.is-focused .calendar-focus-toggle{top:33px}}
.calendar-page.is-focused .calendar-payment-legend,.calendar-page.is-focused .calendar-search-row,.calendar-page.is-focused .calendar-navigation,.calendar-page.is-focused .calendar-pager{flex-shrink:0}.calendar-page.is-focused .payment-calendar+.calendar-pager{display:none}@media(max-height:500px){.calendar-page.is-focused .calendar-help{display:none}.calendar-page.is-focused{padding:8px 16px}.calendar-page.is-focused .calendar-focus-toggle{top:32px;right:16px}}@media(max-width:380px){.payment-calendar{--property-width:104px;--day-width:60px}}@media(max-width:340px){.payment-calendar{--property-width:96px;--day-width:54px}.calendar-display .segmented button{padding:5px 7px;font-size:10px}.calendar-title>.btn{max-width:98px}}
.calendar-paging-label{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:3px 0}.calendar-paging-label select{color:var(--brand);border:1px solid var(--line);border-radius:7px;background:var(--paper);font-size:11px;padding:8px 7px;min-height:38px;cursor:pointer}.calendar-scroll-hint{color:var(--muted);font-size:11px;white-space:nowrap}@media(max-width:680px){.calendar-paging-label{display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-size:10px}.calendar-paging-label select{font-size:11px;padding:6px 7px;min-height:38px}.calendar-pager{padding:4px 0}}
.calendar-payment-legend{flex-wrap:wrap;overflow:visible}.calendar-controls>.filters{margin-bottom:9px}@media(max-width:1100px){.calendar-page>.calendar-payment-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.calendar-page>.calendar-payment-legend>.payment-filter{min-width:0;justify-content:space-between;padding:8px 9px;font-size:11px;gap:4px}}@media(max-width:680px){.calendar-page>.calendar-payment-legend>.payment-filter{font-size:10px;padding:8px;min-height:40px}.calendar-page>.calendar-payment-legend{gap:6px}.calendar-page.is-focused .calendar-paging-label{flex-direction:row;align-items:center;gap:8px}.calendar-page.is-focused .calendar-paging-label span{max-width:105px}}@media(max-height:500px) and (min-width:681px){.calendar-page.is-focused>.calendar-payment-legend{display:flex}.calendar-page.is-focused>.calendar-payment-legend>.payment-filter{flex:1}}
@media(min-width:341px) and (max-width:680px){.calendar-page>.calendar-payment-legend>.payment-filter{font-size:11px}}

.calendar-title-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.calendar-add-cell{position:relative;cursor:pointer;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;color:var(--brand)}.calendar-add-cell span{opacity:0;font-size:22px}.calendar-add-cell:hover,.calendar-add-cell:focus-visible{background:var(--brand-soft,#EAF2EC)}.calendar-add-cell:hover span,.calendar-add-cell:focus-visible span{opacity:1}.calendar-add-cell:focus-visible{z-index:3;outline:2px solid var(--brand);outline-offset:-2px}.manual-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.manual-booking-grid .field{min-width:0}.manual-booking-grid input{min-width:0;max-width:100%}@media(max-width:680px){.calendar-title-actions{max-width:125px}.calendar-title-actions>.btn{font-size:10px;padding:8px;min-height:38px}.manual-booking-grid{gap:0 8px}}

#manual-booking-form fieldset{border:0;padding:0;margin:12px 0}#manual-booking-form fieldset:disabled{opacity:.5}
