.booking-page{background:#f8f5ed;color:#29331e}.booking-header{max-width:1100px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid #b29b6040}.booking-header img{object-fit:contain}.booking-header a{min-height:44px;display:flex;align-items:center}.booking-shell{max-width:900px;padding:50px 24px;margin:auto;min-height:70vh}.booking-shell h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.15;margin:12px 0 22px}.booking-shell p{line-height:1.7;margin:16px 0}.booking-shell fieldset{border:1px solid #b29b6060;border-radius:18px;padding:24px;margin:28px 0;background:#fffdf7}.booking-shell legend{padding:0 10px;font-size:1.3rem}.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.booking-fields label,.live-form label{display:grid;gap:8px;min-width:0}.booking-fields input,.booking-fields select,.live-form input,.live-form select,.live-form textarea{width:100%;min-width:0;min-height:48px;padding:12px;background:#fffef9;border:1px solid #b7b39e;border-radius:8px;color:#29331e;font:inherit}.booking-shell button{margin:8px 8px 8px 0;min-height:48px}.booking-shell button:disabled{opacity:.55;cursor:wait}.booking-shell [role=status]{padding:12px;border-left:3px solid #b29b60;overflow-wrap:anywhere}.booking-shell [role=status]:empty{display:none}#booking-review,#booking-success{padding:24px;border:1px solid #b29b60;border-radius:16px;background:#eef0e6;margin-top:28px}.session-list{padding-left:24px;line-height:2}.booking-footer{padding:28px;text-align:center}.live-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.live-form textarea{min-height:100px}.live-form .wide{grid-column:1/-1}.live-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.live-actions button,.live-form button{min-height:44px;padding:10px 16px}.occupancy-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.occupancy-list article{padding:16px;background:#f5f3e9;border-radius:12px}.admin-loading .dashboard-main,.admin-loading .dashboard-sidebar{visibility:hidden}.admin-access-message{padding:20px;position:fixed;inset:0;background:#f8f5ed;z-index:100;overflow:auto}.live-error{color:#8a2828;white-space:pre-wrap}.live-form input[type=checkbox]{width:24px;min-height:24px}.live-form input[type=color]{padding:0}.live-card{padding:20px;border:1px solid #d9d5bf;border-radius:12px;margin:16px 0}.live-card p{overflow-wrap:anywhere}.live-form button{align-self:end}.live-form input:focus-visible,.booking-fields :focus-visible{outline:3px solid #b29b60;outline-offset:2px}#appointment-detail{overflow-wrap:anywhere}#module-view{min-width:0}.status-expired,.status-rejected{background:#f4e1d5;color:#7d321c}@media(max-width:600px){.booking-fields,.live-form{grid-template-columns:1fr}.booking-header{flex-wrap:wrap;padding:12px 18px}.booking-header a{font-size:.85rem}.booking-shell{padding:30px 16px}.booking-shell fieldset{padding:18px 14px}.booking-shell .button{width:100%;justify-content:center}#booking-review,#booking-success{padding:18px}.live-form .wide{grid-column:auto}}
.addon-services{border:1px solid #d9d5bf;border-radius:12px;padding:16px;min-width:0}.addon-services legend{padding:0 8px;font-weight:600}.addon-services p{margin:8px 0}.addon-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:300px;overflow-y:auto;padding:4px}.live-form .addon-service-options label{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px;border-radius:8px;background:#f7f5ed;cursor:pointer}.addon-service-options input[type=checkbox]{flex:0 0 24px;accent-color:#46532b}.addon-service-options span{overflow-wrap:anywhere}.addon-service-options label:has(input:checked){background:#e6ebd9}.addon-services .live-actions{margin:8px 0 12px}@media(max-width:600px){.addon-service-options{grid-template-columns:1fr}}
.catalogue-dialog{width:min(920px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;border:1px solid #b29b60;border-radius:20px;padding:28px;background:#fffdf7;color:#29331e}.catalogue-dialog::backdrop{background:#20261bb3;backdrop-filter:blur(4px)}.catalogue-dialog .dialog-heading{gap:20px}.catalogue-dialog .dialog-heading h2{font-size:1.7rem;margin:0}.catalogue-dialog .dialog-heading>button{font-size:1.6rem;background:transparent;border:0;min-width:44px;min-height:44px}.catalogue-description{display:block;max-width:280px;margin-top:8px;line-height:1.5;color:#62634e}.catalogue-prices{margin:0;padding-left:18px;line-height:1.7;min-width:150px}.catalogue-prices small{display:block;color:#62634e}.catalogue-row-actions{display:flex;gap:8px;flex-wrap:wrap}.catalogue-row-actions button,.catalogue-fieldset button{min-height:44px;padding:9px 14px;border:1px solid #b7b39e;border-radius:8px;background:#fffdf7;color:#29331e;font:inherit}.catalogue-row-actions button:last-child{color:#8a2828}.catalogue-fieldset{border:1px solid #d9d5bf;border-radius:12px;min-width:0;padding:16px}.catalogue-fieldset legend{padding:0 8px;font-weight:600}.catalogue-fieldset p{font-size:.9rem;line-height:1.6;margin-bottom:16px}.catalogue-duration{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;padding:16px 0;border-bottom:1px solid #e7e2d1}.catalogue-duration:last-child{border:0}.live-form .catalogue-check{display:flex;align-items:center;gap:10px;min-height:44px}.catalogue-check input[type=checkbox]{flex:0 0 24px;accent-color:#46532b}.catalogue-rate{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #e7e2d1}.catalogue-dialog input:disabled,.catalogue-dialog select:disabled{opacity:.5}.catalogue-dialog .catalogue-error:empty{display:none}.catalogue-dialog .addon-service-options{margin-top:8px}.catalogue-dialog .addon-service-options label{padding:8px}.catalogue-dialog [data-close-catalogue]{cursor:pointer}@media(max-width:760px){.catalogue-rate{grid-template-columns:1fr 1fr}.catalogue-rate>label:first-child{grid-column:1/-1}.catalogue-duration{grid-template-columns:1fr 1fr}.catalogue-duration>.catalogue-check{grid-column:1/-1}}@media(max-width:600px){.catalogue-dialog{padding:18px;width:calc(100% - 20px)}.catalogue-dialog .live-form{grid-template-columns:minmax(0,1fr)}.catalogue-dialog .dialog-heading h2{font-size:1.4rem}.catalogue-row-actions{min-width:90px}}
.module-panel .data-table{font-size:13px;line-height:1.5}.module-panel .data-table th{white-space:nowrap}.module-panel .data-table td:first-child{min-width:150px}
.dashboard-columns{grid-template-columns:minmax(0,1fr);margin-top:18px}
.dashboard-page .button,.dashboard-page .live-actions>button,.dashboard-page .live-form>button{border-radius:8px;text-transform:none}.staff-booking-review{padding:20px 28px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.staff-booking-review>p{margin:12px 0}.staff-review-contact{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px 16px;padding:16px;border:1px solid #d9d2ba;border-radius:10px;background:#f8f5ec;margin-bottom:20px}.staff-review-contact dt{color:#73725f}.staff-review-contact dd{margin:0;overflow-wrap:anywhere}.staff-review-actions{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 28px;border-top:1px solid #d8c99c66;background:#f8f2e4}.staff-review-actions .button{min-height:44px;font-size:13px}#staff-review-error{margin:0 28px 16px;font-size:13px;overflow-wrap:anywhere}#staff-review-error:empty{display:none}#appointment-form>.button{margin-bottom:24px}@media(max-width:600px){.staff-booking-review{padding:18px}.staff-review-contact{grid-template-columns:1fr;gap:4px}.staff-review-contact dd{margin-bottom:8px}.staff-review-actions{padding:16px 18px;flex-direction:column-reverse;align-items:stretch}.staff-review-actions .button{width:100%;justify-content:center}#staff-review-error{margin-inline:18px}}
.appointments-module .appointment-search{margin:6px 0 24px;max-width:560px}.appointments-module .appointment-search>label{display:block;margin-bottom:9px;color:#465035;font-size:13px;font-weight:600}.appointments-module .appointment-search-field{position:relative}.appointments-module #live-search{display:block;width:100%;min-width:0;min-height:50px;padding:12px 56px 12px 46px;border:1px solid #cec4a9;border-radius:10px;background:#fffdf7;color:#29331e;font:13px var(--sans);box-shadow:inset 0 1px 2px #5a451608;transition:border-color .15s,box-shadow .15s;appearance:none;-webkit-appearance:none}.appointments-module #live-search::placeholder{color:#8d8978}.appointments-module #live-search:focus{outline:0;border-color:#ae8c43;box-shadow:0 0 0 3px #b3985826}.appointments-module #live-search::-webkit-search-cancel-button{appearance:none;-webkit-appearance:none}.appointments-module .appointment-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:19px;height:19px;fill:none;stroke:#8c7546;stroke-width:1.7;stroke-linecap:round;pointer-events:none}.appointments-module .appointment-search-clear{position:absolute;right:4px;top:3px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:#746743;font-size:23px;cursor:pointer}.appointments-module .appointment-search-clear[hidden]{display:none}.appointments-module .appointment-search-clear:hover{background:#eee7d6}.appointments-module #appointment-search-status{margin:9px 0 0;color:#7b7865;font-size:12px}.appointments-module #booking-results>.empty-state{padding:30px 20px;border:1px dashed #d8cfb7;border-radius:12px;background:#fffdf540;line-height:1.7}@media(max-width:600px){.appointments-module .appointment-search{max-width:none}.appointments-module #live-search{font-size:12px}}
.reports-module .report-intro{max-width:620px;margin-top:10px;color:#77745f;font-size:13px;line-height:1.6}.report-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.report-card{display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-width:0;padding:20px;border:1px solid #d9d0b7;border-radius:12px;background:#fffdf780}.report-card.is-selected{border-color:#ad9459;box-shadow:0 0 0 1px #ad945938;background:#f3f2e5}.report-card h3{margin:0 0 10px;font:20px/1.3 var(--serif);color:#344128}.report-card p{margin:0;color:#7a755e;font-size:13px}.report-card-actions{display:flex;flex-wrap:wrap;gap:8px}.report-card-actions button{min-height:44px;padding:10px 12px;border:1px solid #b9a674;border-radius:8px;background:#fffdf7;color:#465035;font:12px var(--sans);cursor:pointer}.report-card-actions [data-download-report]{background:#354325;border-color:#6d7447;color:#fff9e9}.report-card-actions button:hover{filter:brightness(.96)}.report-card-actions button:disabled{opacity:.55;cursor:wait}.report-preview{margin-top:24px;padding-top:22px;border-top:1px solid #d9d0b7}.report-preview>.module-toolbar h3{font:23px var(--serif)}.reports-module #report-export-status{color:#59613f;font-size:13px;line-height:1.6}.reports-module #report-export-status:empty{display:none}.report-preview td{vertical-align:top}.reports-module .button:disabled{opacity:.6;cursor:wait}@media(max-width:1100px){.report-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.report-cards{grid-template-columns:minmax(0,1fr);gap:12px}.report-card{padding:16px}.reports-module>.module-toolbar>.button{width:100%;justify-content:center}.report-card-actions button{flex:1}.report-preview>.module-toolbar{align-items:center}}
.profile-settings{max-width:820px}.profile-summary{display:flex;align-items:center;gap:20px;margin:24px 0 28px}.profile-avatar{display:grid;place-items:center;flex:0 0 72px;width:72px;height:72px;border:1px solid #b79d57;border-radius:50%;background:linear-gradient(135deg,#637043,#303e23);color:#fff9e9;font:28px var(--serif)}.profile-summary h3{margin:0 0 8px;font:25px/1.25 var(--serif);overflow-wrap:anywhere}.profile-summary p{color:#77735f;font-size:13px;overflow-wrap:anywhere}.profile-panel{padding:24px;border:1px solid #d9d0b7;border-radius:12px;background:#fffdf780;margin-bottom:22px;min-width:0}.profile-panel>h3{margin:0 0 12px;font:21px var(--serif)}.profile-hint{color:#77745f;font-size:13px;line-height:1.7}.profile-panel .live-form{margin-bottom:0}.profile-panel .live-actions{align-items:center;margin:0}.profile-panel [role=alert]:empty,.profile-panel [role=status]:empty{display:none}#profile-save-status{margin:0;color:#52613b;font-size:13px}.profile-recovery-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:#80642b;font-size:13px;text-decoration:underline}@media(max-width:600px){.profile-summary{gap:14px}.profile-avatar{width:60px;height:60px;flex-basis:60px;font-size:23px}.profile-summary h3{font-size:22px}.profile-panel{padding:18px}.profile-panel .live-actions{align-items:stretch;flex-direction:column}.profile-panel .live-actions .button{width:100%;justify-content:center}}
.dashboard-page .heading-group>div{min-width:0}.dashboard-page #page-title{overflow-wrap:anywhere}

.catalogue-photo label{display:grid;gap:8px}.catalogue-photo label small{font-size:12px;font-weight:400;color:#77745f}.catalogue-photo input[type=file]{padding:10px;max-width:100%;font-size:13px;cursor:pointer}.catalogue-photo input[type=file]::file-selector-button{margin-right:12px;padding:8px 12px;border:1px solid #b9a674;border-radius:6px;background:#f1ecdf;color:#465035;font:inherit;cursor:pointer}.catalogue-photo-preview{display:block;width:100%;max-width:300px;max-height:200px;margin-top:16px;object-fit:contain;border:1px solid #d9d0b7;border-radius:8px;background:#f4f0e6}.catalogue-photo-preview[hidden],.catalogue-photo [hidden]{display:none}.catalogue-photo #catalogue-photo-status{font-size:12px;line-height:1.6;overflow-wrap:anywhere;color:#77745f;margin:10px 0}.catalogue-photo [data-remove-photo]{min-height:44px;padding:8px 12px;border:1px solid #cbb98b;border-radius:6px;background:#fffdf7;color:#695631;cursor:pointer}
