.booking-main{max-width:1250px}.booking-notice{padding:22px 26px;background:#e9f5f1;border:1px solid #cde4dc;border-radius:18px;margin-bottom:28px}.booking-notice p{margin:8px 0 0;max-width:900px;line-height:1.6}.booking-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:18px}.booking-main label{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:14px}.booking-main input,.booking-main select{min-width:0;width:100%;padding:12px 14px;border:1px solid #cdd9d5;border-radius:10px;background:white;font:inherit;color:#203c35}.booking-main input[type=checkbox]{width:20px;min-width:20px;height:20px;accent-color:#087366}.request-panel{margin-bottom:30px}.availability-detail{margin-top:20px}.booking-main details{margin:18px 0;font-size:14px}.booking-main details p{line-height:1.6}.quote-panel{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:30px;padding-top:28px;border-top:1px solid #e1e9e5}.quote-panel p{line-height:1.6}.quote-panel .text-link{display:block;margin-top:20px}.booking-main .booking-consent{display:flex;flex-direction:row;align-items:flex-start;margin:20px 0;font-weight:400}.booking-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0 24px}.booking-tabs button{padding:12px 20px;border-radius:30px;border:1px solid #cdd9d5;background:white}.booking-tabs button[aria-pressed=true]{background:#153e35;color:white}.reservation-list{display:grid;gap:20px}.reservation-title{display:flex;justify-content:space-between;gap:20px}.reservation-title h2{margin-bottom:8px}.reservation-price{text-align:right;display:flex;flex-direction:column;gap:8px}.reservation-price strong{font-size:26px}.reservation-price small{color:#667b72;line-height:1.5}.booking-status{display:inline-flex;padding:7px 12px;font-size:12px;border-radius:30px;background:#edf0ee;font-weight:700}.booking-status.pending{background:#fff0c9;color:#715311}.booking-status.confirmed{background:#d9f0e6;color:#126147}.booking-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px}.booking-deadline{font-size:14px;color:#6e561e}.net-summary{background:#f1f6f3;padding:16px 20px;border-radius:12px;font-size:14px;line-height:1.7;margin:20px 0}.booking-overlay{position:fixed;inset:0;background:transparent;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;margin:0;z-index:1000;place-items:center;padding:20px;overflow:auto}.booking-overlay[open]{display:grid}.booking-overlay::backdrop{background:#14382d77}.action-dialog{max-width:560px;background:white;width:100%;box-shadow:0 20px 80px #0002}.calendar-toolbar{display:flex;justify-content:space-between;gap:30px;align-items:center;margin:26px 0}.calendar-toolbar>label{max-width:420px;flex:1}.calendar-month{display:flex;gap:18px;align-items:center}.calendar-month h2{min-width:160px;text-align:center;font-size:21px;text-transform:capitalize}.calendar-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;margin:16px 0}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.calendar-panel{padding:22px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.week-day{text-align:center;font-size:12px;padding:8px 0;color:#688074}.calendar-day{border:1px solid #dbe7e0;background:white;border-radius:10px;display:flex;flex-direction:column;gap:6px;min-height:88px;padding:10px 4px;text-align:center;align-items:center}.calendar-day b{font-size:16px}.calendar-day span{font-size:12px}.calendar-day small{font-size:10px}.calendar-day.blocked{background:repeating-linear-gradient(135deg,#edf0ed,#edf0ed 6px,#e5eae7 6px,#e5eae7 7px)}.calendar-day.reservation{background:#d8eee5;color:#075a43}.calendar-day.selected{outline:2px solid #087467;outline-offset:1px}.calendar-day:disabled{opacity:.4;cursor:default}.calendar-controls label{margin:16px 0}.calendar-controls .text-link{margin-top:16px}.calendar-controls hr{margin:26px 0;border:0;border-top:1px solid #dce5e0}.calendar-controls>.primary{width:100%}.booking-main button:disabled{cursor:wait;opacity:.55}.booking-main :focus-visible{outline:3px solid #e3a44e;outline-offset:3px}.booking-main .form-error button{margin-left:12px;text-decoration:underline}.owner-list-body .listing-calendar-link{display:block;margin-top:14px;color:#08695c;font-weight:700}.booking-main .owner-section{background:#fff}.booking-main .bill dd{white-space:nowrap}.real-booking-link{display:block;text-align:center;margin-bottom:12px}.booking-main small{line-height:1.5}
@media(max-width:900px){.calendar-layout{grid-template-columns:1fr}.calendar-controls{max-width:none}.calendar-controls .owner-fieldset{max-width:620px}.quote-panel{gap:24px}.owner-header{flex-wrap:wrap;gap:14px}.owner-header a:not(.logo-crop){font-size:13px}}
@media(max-width:600px){.booking-fields{grid-template-columns:1fr 1fr}.booking-fields label:last-child{grid-column:1/-1}.quote-panel{grid-template-columns:1fr}.reservation-title{flex-direction:column}.reservation-price{text-align:left}.booking-main .owner-section{padding:20px}.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-toolbar>label{max-width:none}.calendar-month{justify-content:space-between;gap:4px}.booking-main .calendar-panel{padding:10px}.calendar-grid{gap:3px}.calendar-day{min-height:72px;border-radius:6px;padding:8px 0;gap:5px}.calendar-day span{font-size:10px}.calendar-day small{font-size:9px}.booking-notice{padding:18px}.booking-tabs button{font-size:13px;padding:10px 12px}.booking-actions .primary,.booking-actions .secondary{flex:1;text-align:center}.booking-main h1{font-size:34px}.owner-header .logo-crop{margin-right:auto}}

.stay-rules{padding:18px;background:#f4f7f5;border-radius:12px;margin:20px 0}.stay-rules h3{margin:0 0 16px;font-size:17px}.stay-rules dl{display:grid;gap:12px}.stay-rules dl div{display:flex;justify-content:space-between;gap:20px}.stay-rules dd{margin:0;text-align:right;font-weight:600}.stay-rules p{overflow-wrap:anywhere}.request-panel>.text-link{display:inline-block;margin-bottom:15px}

.payment-mode{border:1px dashed #bb9543;background:#fff9eb;padding:20px;border-radius:14px;margin:22px 0}.payment-mode>strong{font-size:12px;letter-spacing:.12em;color:#705511}.payment-mode p{margin:10px 0}.payment-summary{display:flex;flex-wrap:wrap;align-items:center;gap:14px;border-top:1px solid #e1e9e5;padding-top:20px;margin-top:20px}.payment-summary small{width:100%;color:#566e62}.payment-summary strong{color:#126147}.payment-summary button:disabled{cursor:not-allowed}
