.booking-section{background:#f1f8fb;padding:72px 0}.booking-section h2{max-width:750px}.booking-lead{max-width:760px}.booking-card{background:white;border:1px solid #d6e4eb;border-radius:18px;padding:28px;margin-top:24px;box-shadow:0 12px 36px #14344408}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px}.booking-section label,.owner-main label{display:block;font-weight:700;margin:14px 0 7px}.booking-section input,.booking-section select,.booking-section textarea,.owner-main input,.owner-main select,.owner-main textarea{width:100%;min-height:46px;border:1px solid #bbcfda;background:white;border-radius:8px;padding:10px;font:inherit;color:#18313e}.booking-section input[type=checkbox],.owner-main input[type=checkbox]{width:auto;min-height:0}.calendar-toolbar{display:flex;align-items:center;gap:12px;margin:22px 0 16px}.calendar-toolbar select{margin:0;flex:1}.calendar-toolbar button{border:1px solid #bed4df;background:white;border-radius:8px;width:44px;height:44px;font-size:20px}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{font-size:.8rem;text-align:center;margin-bottom:8px;color:#526b79}.calendar-days button{min-height:44px;border:1px solid #cadde6;background:#edf8fc;color:#17495c;border-radius:8px;font:inherit;font-weight:700;cursor:pointer}.calendar-days button:disabled{background:#f7f8f8;color:#87959d;border-color:transparent;cursor:default}.calendar-days button[aria-pressed=true],.time-slots button[aria-pressed=true]{background:#087895;color:white;border-color:#087895;box-shadow:0 0 0 2px white,0 0 0 4px #087895}.time-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0}.time-slots button{padding:11px 6px;min-height:46px;border:1px solid #b6d2df;background:white;border-radius:8px;color:#17495c;font:inherit;font-size:.9rem;cursor:pointer}.booking-note{font-size:.87rem;color:#526b79;line-height:1.5}.booking-status{margin:16px 0;color:#17495c;font-weight:600}.booking-status.error{color:#b72a21}.booking-summary{padding:18px;border-radius:10px;background:#eaf6fa;margin-bottom:18px;border-left:4px solid #19b6d5}.booking-section [hidden],.owner-main [hidden]{display:none!important}.booking-section fieldset{border:0;margin:0;padding:0}.booking-section .booking-confirmed{padding:32px;background:#eff9f4;border:1px solid #bddfcc;border-radius:12px}.booking-confirmed h3{color:#215a40}.booking-confirmed p{overflow-wrap:anywhere}.booking-section .btn{margin-top:16px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.booking-fields .full{grid-column:1/-1}.owner-main{max-width:1100px;padding:36px 22px 80px;margin:auto}.owner-main h1{font-size:clamp(28px,5vw,46px);margin-top:28px}.owner-main h2{font-size:26px;margin:24px 0 12px}.owner-main section{padding:22px;border:1px solid #cddfe7;border-radius:12px;margin:24px 0;background:white}.owner-main{color:#18313e}.owner-main button{cursor:pointer}.owner-toolbar{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.owner-toolbar input{width:190px}.appointment{padding:18px 0;border-bottom:1px solid #d7e3e9}.appointment p{margin:5px 0;overflow-wrap:anywhere}.appointment h3{font-size:19px;margin:0 0 10px;color:#13546d}.appointment.cancelled{opacity:.65}.appointment details{margin-top:12px}.appointment button{margin-top:12px}.hours-row{display:grid;grid-template-columns:100px 1fr 1fr 80px;gap:10px;align-items:center;padding:8px 0}.hours-row label{margin:0;font-size:.9rem}.owner-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.owner-main .btn{border:0}.owner-main .notice{color:#526b79}.booking-section button:focus-visible,.owner-main button:focus-visible{outline:3px solid #087895;outline-offset:3px}@media(max-width:760px){.booking-section{padding:44px 0}.booking-layout,.owner-grid{grid-template-columns:1fr;gap:24px}.booking-card{padding:18px}.booking-fields{grid-template-columns:1fr}.booking-fields .full{grid-column:auto}.time-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.hours-row{grid-template-columns:66px 1fr 1fr 56px;gap:6px}.hours-row input{padding:5px;font-size:14px}.owner-main section{padding:16px}.calendar-days button{min-height:40px}.booking-section h2{font-size:32px}}

#refresh-availability{border:0;background:transparent;padding:8px 0;font:inherit;font-size:.88rem;text-decoration:underline;cursor:pointer}#time-heading{margin-top:20px}
