.health-editor,.health-profile,.health-request-panel,.health-documents{min-width:0;margin:24px 0;padding:20px;border:1px solid var(--line,#deddd5);border-radius:16px;background:#fff;color:var(--ink,#222)}
.health-editor legend{font-weight:600;padding:0 8px}.health-editor fieldset{min-width:0;border:1px solid var(--line,#ddd);border-radius:12px;padding:16px;margin:16px 0}
.health-editor label,.health-request-form>label{display:flex;flex-direction:column;gap:7px;min-width:0;margin:12px 0}.health-editor .health-check,.health-request-form .health-check{flex-direction:row;align-items:flex-start;gap:10px}
.health-check input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;margin:2px 0}.health-editor input,.health-editor select,.health-editor textarea,.health-request-form input,.health-request-form select,.health-request-form textarea,.health-treatment-filter select{box-sizing:border-box;width:100%;max-width:100%;font:inherit;padding:10px;border:1px solid var(--line,#ccc);border-radius:9px;background:#fff;color:inherit}
.health-editor .health-check input,.health-request-form .health-check input{width:20px}.health-editor textarea,.health-request-form textarea{min-height:85px;resize:vertical}.health-note{font-size:13px;color:var(--muted,#666);line-height:1.6}
.health-editor-list,.health-treatment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.health-treatment-row,.health-staff-row,.health-treatment-card,.health-professional{min-width:0;border:1px solid var(--line,#ddd);border-radius:12px;padding:16px}.health-treatment-card h4,.health-professional h4{margin:0 0 10px}.health-profile p,.health-treatment-card p,.health-professional p{white-space:pre-wrap;overflow-wrap:anywhere}.health-request-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.health-request-form>label:has(textarea),.health-request-form>.health-check,.health-request-form>[role=status]{grid-column:1/-1}.health-request-form>.button{justify-self:start}.health-treatment-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0;max-width:500px}.health-treatment-filter select{width:auto;flex:1;min-width:0}.health-documents a{display:block;margin:10px 0}
@media(max-width:800px){.health-editor-list,.health-treatment-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.health-editor,.health-profile,.health-request-panel,.health-documents{padding:14px}.health-request-form{grid-template-columns:minmax(0,1fr)}.health-request-form>label,.health-request-form>.button{grid-column:1}.health-treatment-filter{align-items:stretch;flex-direction:column}.health-treatment-filter select{width:100%}}

.health-files #catalog-slot-form,.health-files #catalog-slots,.health-files #catalog-timezone,.health-files h3:has(+ #catalog-timezone){display:none}

.health-editor-mount{grid-column:1/-1;min-width:0}

.health-editor h3{margin:28px 0 12px;font-size:20px}.health-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}.health-options .health-check{margin:6px 0;align-items:center}.health-options img{width:64px;height:48px;object-fit:cover;border-radius:8px}.health-schedule{display:grid;gap:8px}.health-day{display:grid;grid-template-columns:minmax(70px,1fr) repeat(3,minmax(0,1fr));gap:12px;align-items:center;padding:10px 12px;border-radius:10px;background:#f7f8f8}.health-day label{margin:0}.health-coordinate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.health-eyebrow{font-size:13px;font-weight:600;color:var(--muted,#666)}.health-profile h2{margin-top:8px}.health-profile h3{margin-top:26px}.health-public-schedule{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:480px}.health-public-schedule dt{font-weight:600}.health-public-schedule dd{margin:0}.health-treatment-photos{display:flex;gap:8px;overflow-x:auto;margin:0 0 16px;scroll-snap-type:x mandatory}.health-treatment-photos img{width:100%;max-width:100%;height:180px;flex:0 0 100%;object-fit:cover;border-radius:8px;scroll-snap-align:start}.health-more-treatments{margin-top:18px}.health-more-treatments summary{cursor:pointer;padding:14px 0;font-weight:600}.health-promotion{padding:16px;margin:16px 0;border:1px solid var(--line,#ddd);border-radius:12px}.health-promotion h4{margin:0}.health-editor button,.health-more-treatments summary{min-height:44px}.health-editor [hidden]{display:none!important}
@media(max-width:800px){.health-day{grid-template-columns:minmax(70px,1fr) minmax(0,1.5fr)}.health-options{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.health-coordinate-grid{grid-template-columns:minmax(0,1fr)}.health-day{gap:8px;padding:10px}.health-day input{padding:8px;min-width:0}.health-profile h2{font-size:24px;overflow-wrap:anywhere}}

.health-custom-row{display:flex;align-items:end;gap:12px}.health-custom-row label{flex:1}.health-upload-button{display:none}.health-media-editor .health-upload-button{display:inline-flex;margin:8px 12px 8px 0}.health-media-editor #catalog-photo,.health-media-editor #catalog-video,.health-media-editor #catalog-camera,.health-media-editor label:has(#catalog-photo),.health-media-editor label:has(#catalog-video),.health-media-editor>p:not(#catalog-media-count),.health-media-editor label:has(#catalog-consent){display:none}.health-media-editor #catalog-media{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.health-media-editor #catalog-media figure{position:relative;min-width:0;margin:0}.health-cover-caption{font-weight:600;padding:6px 0}.health-drag-handle{touch-action:none;min-height:44px;width:100%;cursor:grab;border:1px solid var(--line,#ddd);background:white;border-radius:8px;font:inherit}.health-treatment-upload img{width:64px;height:48px;object-fit:cover;border-radius:8px}.health-treatment-upload [hidden]{display:none!important}@media(max-width:800px){.health-media-editor #catalog-media{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.health-custom-row{align-items:stretch;flex-direction:column}.health-media-editor .health-upload-button{width:100%;justify-content:center}.health-drag-handle{font-size:13px}}
.health-media-editor #catalog-slot-form,.health-media-editor #catalog-slots,.health-media-editor #catalog-timezone,.health-media-editor h3:has(+ #catalog-timezone){display:none}

.dental-location-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dental-location-grid>p{grid-column:1/-1}.dental-location-grid label{display:flex;flex-direction:column;gap:7px;min-width:0}.dental-location-grid select{width:100%;min-width:0;font:inherit;padding:10px;border:1px solid var(--line,#ddd);border-radius:9px}.dental-map-section{grid-column:1/-1;min-width:0}.dental-map{height:260px;width:100%;border:1px solid var(--line,#ddd);border-radius:12px;overflow:hidden}.dental-map>p{padding:16px}.dental-day{border:1px solid var(--line,#ddd);border-radius:12px;padding:16px;margin:12px 0}.dental-day h4{margin:0 0 8px}.dental-interval{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dental-interval>button{grid-column:1/-1;justify-self:start}.dental-day>button{margin:8px 12px 8px 0}.dental-schedule{min-width:0}@media(max-width:800px){.dental-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.dental-location-grid{grid-template-columns:minmax(0,1fr)}.dental-day{padding:12px}.dental-day>button{display:block;width:100%;margin:8px 0}.dental-map{height:220px}}

.dental-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dental-day{margin:0;padding:12px;display:grid;grid-template-columns:minmax(70px,1fr) minmax(0,1.6fr);gap:6px 10px;align-items:center}.dental-day h4{margin:0}.health-editor .dental-day label{margin:3px 0;gap:4px}.dental-intervals{grid-column:1/-1}.dental-day>button,.dental-day>p{grid-column:1/-1;margin:0}.dental-day>p:empty{display:none}.dental-interval{gap:4px 10px}.dental-interval>button{margin:0}.dental-phone-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.dental-save-actions{display:flex;justify-content:flex-end;margin:20px 0 0;min-width:0}.dental-save-actions .button{flex:none;width:auto;min-width:120px;min-height:44px;height:auto;padding:12px 24px;align-self:center}.dental-save-actions .button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.dental-schedule{grid-template-columns:minmax(0,1fr)}.dental-phone-grid{grid-template-columns:minmax(0,1fr)}.dental-save-actions{justify-content:center}}

.dental-form [hidden],.dental-map-section .health-coordinate-grid[hidden]{display:none!important}

.health-treatment-upload{border:0;padding:0;margin:8px 0;min-width:0}.health-treatment-upload .health-options:empty,.health-treatment-upload>p:empty{display:none}.service-treatment-photo-button{width:auto!important;min-height:44px;padding:10px 18px;justify-self:start}.dental-save-actions{align-items:center;gap:16px;flex-wrap:wrap}.service-save-consent{display:flex;align-items:flex-start;gap:8px;flex:1 1 250px;max-width:520px;margin:0;font-size:12px;line-height:1.5;color:var(--muted,#666)}.service-save-consent input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:var(--accent,#704438)}.service-save-consent a{color:inherit;text-decoration:underline}.dental-save-actions .button{margin:0}@media(max-width:520px){.service-save-consent{flex-basis:100%;max-width:100%}.dental-save-actions{gap:12px}}

/* Compact service editors without changing text size or public listing cards. */
#catalog-form.dental-form{gap:12px 16px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
#catalog-form.dental-form>*,#catalog-form.dental-form>label{grid-column:1/-1;min-width:0}
#catalog-form.dental-form>label:has([name=preparation]),#catalog-form.dental-form>label:has([name=equipment]),#catalog-form.dental-form>label:has([name=included]),#catalog-form.dental-form>label:has([name=excluded]){grid-column:auto}
#catalog-form.dental-form label{gap:5px}
#catalog-form.dental-form textarea{height:76px;min-height:76px;padding:9px 12px;line-height:1.45;resize:vertical}
#catalog-form.dental-form textarea[name=description]{height:96px;min-height:96px}
#catalog-form.dental-form input:not([type=checkbox]):not([type=radio]),#catalog-form.dental-form select{min-height:44px;height:44px;padding:8px 10px}
#catalog-form.dental-form .health-editor{margin:8px 0;padding:14px}
#catalog-form.dental-form .health-editor fieldset{margin:10px 0;padding:12px}
#catalog-form.dental-form .health-editor label{margin:6px 0}
#catalog-form.dental-form .health-editor h3{margin:18px 0 8px}
#catalog-form.dental-form .health-editor-list{gap:10px}
#catalog-form.dental-form :is(.health-treatment-row,.health-staff-row){padding:12px}
#catalog-form.dental-form .health-note{margin:6px 0}
#catalog-form.dental-form .dental-map-section h3{margin:12px 0 8px}
#catalog-form.dental-form .dental-location-grid{gap:10px 12px}
#catalog-form.dental-form .dental-location-grid>p:empty{display:none}
#catalog-form.dental-form .dental-day{padding:10px;gap:4px 8px}
#catalog-form.dental-form .dental-day label{margin:2px 0}
@media(max-width:650px){#catalog-form.dental-form{grid-template-columns:minmax(0,1fr);gap:12px}#catalog-form.dental-form>label{grid-column:1/-1}#catalog-form.dental-form .health-editor{padding:12px}}

.service-create-dialog{width:min(520px,calc(100vw - 24px));box-sizing:border-box;padding:22px}.service-create-dialog h2{font-size:24px}.service-create-content{display:grid;gap:16px}.service-create-content label{display:grid;gap:8px;min-width:0}.service-create-content select{width:100%;min-width:0;min-height:46px;font:inherit;padding:10px;border:1px solid var(--line);border-radius:9px}.service-create-content>.button{justify-self:end;min-height:44px}.service-create-methods{display:flex;gap:12px;flex-wrap:wrap}.service-create-methods .button{min-height:44px;flex:1}.service-create-content>p{margin:0}.service-create-content button:disabled{opacity:.5;cursor:not-allowed}#service-categories .catalog-row-heading>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}#service-categories .guest-service-create{width:auto;height:auto;min-height:44px;padding:10px 16px;border-radius:10px;white-space:nowrap}@media(max-width:520px){.service-create-dialog{padding:16px}.service-create-dialog h2{font-size:22px}#service-categories .catalog-row-heading{flex-wrap:wrap;gap:12px}}

/* Search choices stay attached to their own field inside the service dialog. */
.service-place-picker{min-width:0}
.service-place-control{position:relative;min-width:0}
.service-place-picker input{width:100%;box-sizing:border-box}
.service-place-options{position:absolute;z-index:40;top:100%;left:0;right:0;max-height:240px;overflow-y:auto;overscroll-behavior:contain;background:#fff;color:#29231f;border:1px solid #b6a69b;border-radius:10px;box-shadow:0 8px 20px #0002;padding:4px;margin-top:3px}
.service-place-options[hidden]{display:none!important}
.service-place-options button{display:block;width:100%;text-align:left;background:#fff;color:#29231f;border:0;border-radius:6px;padding:10px 12px;font:inherit;white-space:normal;cursor:pointer}
.service-place-options button:hover,.service-place-options button[aria-selected=true]{background:#eee3dc}
.service-place-options small{display:block;padding:10px}
.service-experience-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.service-experience-parts small{grid-column:1/-1}

/* One weekly hours list: day checkbox, opening/closing fields and small icons. */
#catalog-form.dental-form .dental-schedule{display:block;max-width:850px}
#catalog-form.dental-form .dental-day{display:grid;grid-template-columns:130px minmax(0,1fr) 44px;align-items:start;gap:10px;margin:0;padding:10px 0;border:0;border-bottom:1px solid var(--line,#ddd);border-radius:0;background:transparent}
#catalog-form.dental-form .dental-day .dental-day-toggle{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0;min-height:44px;cursor:pointer;font-weight:500}
#catalog-form.dental-form .dental-day-toggle input[type=checkbox]{width:18px;height:18px;min-height:18px;padding:0;flex:0 0 18px;margin:0;accent-color:var(--clay,#7b3525)}
#catalog-form.dental-form .dental-day-closed{grid-column:2/-1;align-self:center;color:var(--muted,#666);padding:10px 0}
#catalog-form.dental-form .dental-intervals{grid-column:2;display:grid;gap:8px;min-width:0}
#catalog-form.dental-form .dental-interval{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) 44px;align-items:center;gap:8px;min-width:0}
#catalog-form.dental-form .dental-interval label{margin:0;gap:0}
#catalog-form.dental-form .dental-interval select{width:100%;min-width:0;font:inherit;background:#fff}
#catalog-form.dental-form .dental-schedule-icon{grid-column:auto;display:inline-flex;align-items:center;justify-content:center;min-width:44px;width:44px;min-height:44px;height:44px;margin:0;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--clay,#7b3525);font:inherit;font-size:24px;line-height:1;cursor:pointer}
#catalog-form.dental-form .dental-schedule-icon:hover{background:#f4ece7}
#catalog-form.dental-form .dental-schedule-icon:disabled{opacity:.35;cursor:default}
#catalog-form.dental-form .dental-copy-hours{margin:6px 0 0;max-width:850px}
#catalog-form.dental-form .dental-copy-hours summary{cursor:pointer;padding:10px 0;color:var(--clay,#7b3525);font-size:14px}
#catalog-form.dental-form .dental-copy-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
#catalog-form.dental-form .dental-copy-controls label{margin:0;min-width:180px}
#catalog-form.dental-form .dental-copy-hours p:empty{display:none}
@media(max-width:650px){#catalog-form.dental-form .dental-day{grid-template-columns:minmax(0,1fr) auto;gap:6px}#catalog-form.dental-form .dental-day-toggle{grid-column:1}#catalog-form.dental-form .dental-intervals{grid-column:1/-1;grid-row:2}#catalog-form.dental-form .dental-day>.dental-schedule-icon{grid-column:2;grid-row:1}#catalog-form.dental-form .dental-day-closed{grid-column:2;grid-row:1;padding:10px 0;white-space:nowrap}#catalog-form.dental-form .dental-interval{gap:5px}#catalog-form.dental-form .dental-copy-controls{align-items:stretch;flex-direction:column}}
