/* Extend Blue Moose's blue, cream and lime palette into the booking workflow. */
.booking-section{padding:80px 5%;text-align:left}.booking-intro{display:flex;align-items:end;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-bottom:36px}.booking-intro>.eyebrow{width:100%}.booking-section .booking-intro h2{font-size:clamp(3.2rem,5.5vw,5.5rem);line-height:1.02;margin:0}.booking-intro>p:last-child{font-size:1rem;line-height:1.7;margin:0}.booking-workspace{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;max-width:1280px;margin:auto}.calendar-panel,.request-panel{background:var(--paper);color:var(--ink);padding:32px;text-align:left}.booking-workspace h3{font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1.2}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.month-actions{display:flex;gap:8px}.month-actions button,.text-button{font:inherit;color:var(--ink);background:transparent;border:1px solid var(--line);cursor:pointer;min-height:44px;padding:10px 14px}.month-actions button{min-width:44px}.month-actions button:disabled{opacity:.35;cursor:default}.booking-section #calendar-status{font-size:.875rem;line-height:1.5;min-height:44px;margin:18px 0;color:var(--muted)}.calendar-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:3px;text-align:center}.calendar-table th{font-size:.875rem;font-weight:500;color:var(--muted);padding:8px 0}.calendar-table td{padding:0;height:52px}.calendar-day{border:1px solid var(--line);border-radius:0;background:#fff;font:inherit;color:var(--ink);width:100%;min-height:48px;cursor:pointer}.calendar-day:hover:not(:disabled){border-color:var(--ink);background:#edf2e0}.calendar-day:disabled{background:#e9edeb;color:#8c9695;text-decoration:line-through;border-color:transparent;cursor:default}.calendar-day.in-range{background:#e1eb91;border-color:#c0cd77}.calendar-day.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.calendar-key{display:flex;gap:16px;flex-wrap:wrap;font-size:.875rem;margin:20px 0}.calendar-key>span{display:flex;gap:7px;align-items:center}.calendar-key i{width:13px;height:13px;display:inline-block;border:1px solid #bbc7c7}.key-open{background:white}.key-busy{background:#cbd2cf}.key-selected{background:var(--ink)}.booking-section .calendar-footnote{font-size:.875rem;line-height:1.6;color:var(--muted);margin:18px 0 0}.request-panel h3{margin-bottom:12px}.booking-section .form-intro{font-size:1rem;line-height:1.6;margin:0 0 22px;color:var(--muted)}fieldset{padding:0;border:0;margin:0;min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:.875rem;font-weight:500;margin-bottom:16px;line-height:1.5}input,select,textarea{display:block;width:100%;min-width:0;background:white;color:var(--ink);font:inherit;font-size:1rem;border:1px solid #aebfbe;border-radius:0;padding:12px;margin-top:7px;min-height:46px}textarea{resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #285b78;outline-offset:2px}input:disabled,select:disabled,textarea:disabled{background:#edf0ec;color:#778481}.optional{font-weight:400;color:var(--muted)}.booking-section .trip-summary{font-size:.875rem;line-height:1.5;margin:0 0 22px;padding:12px;background:#e8eddf}.check-label{display:flex;align-items:start;gap:10px;font-weight:400}.check-label input{width:18px;min-height:18px;flex:0 0 18px;margin-top:3px;accent-color:var(--ink)}.check-label a{text-decoration:underline}.request-panel .button{width:100%;cursor:pointer}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.booking-section .form-fineprint{font-size:.875rem;line-height:1.6;color:var(--muted);margin:14px 0 0}.booking-section #request-message{font-size:1rem;margin:16px 0 0;line-height:1.6}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.success-link{text-decoration:underline;font-weight:600}.owner-shell,.simple-page{max-width:1180px;padding:36px 5% 80px;margin:auto}.owner-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:20px 0 36px}.owner-top h1,.simple-page h1{font:400 clamp(2.8rem,5vw,4rem)/1.05 var(--serif)}.owner-shell p,.simple-page p{line-height:1.7}.owner-subtitle{color:var(--muted);margin-top:12px}.owner-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.owner-card{padding:28px;background:white;border:1px solid var(--line);margin-bottom:24px}.owner-card h2,.simple-page h2{font:400 1.9rem var(--serif);margin-bottom:18px}.owner-card h3{font-size:1.1rem;margin:0 0 12px}.owner-card p{margin-bottom:14px}.owner-card button{cursor:pointer}.owner-card .button{gap:12px}.owner-card .text-button{margin:4px 8px 4px 0}.owner-card .check-label{margin-top:18px}.owner-card small{font-size:.875rem;line-height:1.6;color:var(--muted)}.owner-card input[readonly]{font-size:.875rem}.owner-card ol{padding-left:22px;line-height:1.7}.owner-card ol li{margin-bottom:10px}.notice{padding:14px 18px;background:#e9eedc;border-left:3px solid var(--ink);line-height:1.6;margin:16px 0}.notice.error{background:#fbebe4;border-color:#91472d}.sync-stat{font-size:.875rem;color:var(--muted)}.owner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:30px 0 18px;flex-wrap:wrap}.owner-toolbar h2{font:400 2.4rem var(--serif)}.owner-toolbar select{width:auto;margin:0}.reservation-card{padding:24px;background:white;border:1px solid var(--line);margin:16px 0}.reservation-card header{display:flex;align-items:start;justify-content:space-between;gap:16px}.reservation-card h3{font-size:1.15rem;margin:0 0 8px}.reservation-card p{margin:8px 0;overflow-wrap:anywhere;white-space:pre-wrap}.reservation-card a{text-decoration:underline}.reservation-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.reservation-actions button{font:inherit;min-height:44px;padding:10px 16px;border:1px solid var(--ink);background:var(--ink);color:white;cursor:pointer}.reservation-actions button.secondary{color:var(--ink);background:white}.badge{display:inline-block;font-size:.875rem;background:#e9eedc;padding:6px 10px;white-space:nowrap}.badge.conflict{background:#f6ddd5}.owner-shell [role=status]{min-height:24px;margin-bottom:20px}.simple-page{max-width:780px}.simple-page h1{margin:36px 0}.simple-page h2{margin-top:32px}.simple-page a{text-decoration:underline}.simple-page .button{text-decoration:none;margin-top:24px}.simple-page .wordmark{text-decoration:none}.simple-page p{margin-bottom:16px}.empty-requests{padding:36px;border:1px dashed #adbfbc;text-align:center;color:var(--muted)}
@media(max-width:860px){.booking-workspace,.owner-grid{grid-template-columns:1fr}.booking-section{padding:55px 5%}.calendar-panel,.request-panel{padding:24px}.owner-card{padding:22px}.booking-intro>p:last-child{width:100%}.booking-intro{gap:20px}.calendar-table td{height:48px}}
@media(max-width:400px){.calendar-panel,.request-panel{padding:18px 14px}.calendar-table{border-spacing:2px}.calendar-day{min-height:44px}.calendar-key{gap:10px;font-size:.8rem}.form-row{gap:10px}.calendar-heading h3{font-size:1.7rem}}
