.clinic-range-panel{position:fixed;inset:auto;margin:0;z-index:1200;background:var(--ui-surface,#fff);color:var(--ink,#172436);border:1px solid var(--line,#dde5ec);border-radius:12px;box-shadow:0 16px 48px #152b3b26;overflow:auto;font-size:14px;line-height:1.4;overscroll-behavior:contain}
.clinic-range-body{display:grid;grid-template-columns:150px minmax(0,1fr)}
.clinic-range-presets{padding:14px 10px;background:var(--ui-surface-soft,#f7f9fa);border-right:1px solid var(--line,#dde5ec);display:flex;flex-direction:column;gap:4px}
.clinic-range-preset{background:transparent;border:0;color:var(--ink,#172436);border-radius:6px;padding:10px 12px;text-align:left;font:inherit;font-weight:500;cursor:pointer}
.clinic-range-preset:hover{background:var(--ui-surface-hover,#eaf1f0)}.clinic-range-preset.is-active{color:var(--ui-accent,#176456);background:var(--ui-accent-soft,#deefea);font-weight:700}
.clinic-range-main{padding:18px;min-width:0}.clinic-range-endpoints{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.clinic-range-endpoint{border:1px solid var(--line,#dde5ec);border-radius:7px;padding:7px 10px;min-width:0;display:grid;gap:3px}.clinic-range-endpoint>span{font-size:11px;font-weight:600;color:var(--ui-text-muted,#63768d)}
.clinic-range-endpoint.is-selecting{border-color:var(--ui-accent,#176456);box-shadow:0 0 0 1px var(--ui-accent,#176456)}
.clinic-range-panel .clinic-range-input{font:inherit;font-size:13px;font-weight:600;color:var(--ui-text,#172436);border:0;border-radius:0;min-height:22px;height:22px;width:100%;min-width:0;padding:0;background:transparent;box-shadow:none}
.clinic-range-panel .clinic-range-input:focus{outline:none;box-shadow:none;border:0}
.clinic-range-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.clinic-range-nav,.clinic-range-heading{border:0;background:transparent;color:var(--ui-text,#172436);border-radius:6px;cursor:pointer;font:inherit;height:34px}.clinic-range-nav{width:34px;font-size:26px;line-height:1}.clinic-range-heading{font-weight:700;padding:4px 12px}
.clinic-range-nav:hover,.clinic-range-heading:hover{background:var(--ui-surface-hover,#edf4f2)}
.clinic-range-weekdays,.clinic-range-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.clinic-range-weekdays{text-align:center;color:var(--ui-text-muted,#6c7e94);font-size:11px;font-weight:600;margin-bottom:5px}.clinic-range-weekdays>span{padding:7px 0}
.clinic-range-day{border:0;background:transparent;color:var(--ui-text,#172436);font:inherit;font-size:13px;aspect-ratio:1/1;min-height:34px;padding:0;cursor:pointer;position:relative;border-radius:0;margin:2px 0}
.clinic-range-day:hover{background:var(--ui-accent-soft,#e1efe9)}.clinic-range-day.is-outside-month{color:#99a5b4}.clinic-range-day.is-between{background:var(--ui-accent-soft,#e7f2ee);color:var(--ui-accent,#176456)}
.clinic-range-day.is-start,.clinic-range-day.is-end{background:var(--ui-accent,#176456);color:var(--ui-on-accent,white);font-weight:700}.clinic-range-day.is-start{border-radius:7px 0 0 7px}.clinic-range-day.is-end{border-radius:0 7px 7px 0}.clinic-range-day.is-start.is-end{border-radius:7px}
.clinic-range-day.is-preview.is-between{background:var(--ui-accent-soft,#eef6f2)}.clinic-range-day.is-today:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:currentColor;bottom:4px;left:calc(50% - 1.5px)}
.clinic-range-panel button:focus-visible{outline:2px solid var(--ui-accent,#176456);outline-offset:2px;z-index:1}.clinic-range-notice{font-size:11px;color:var(--ui-text-muted,#63768d);margin:12px 0 0;min-height:32px}
.clinic-range-footer{border-top:1px solid var(--line,#dde5ec);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.clinic-range-footer>small{font-size:10px;color:var(--ui-text-muted,#63768d);max-width:160px}.clinic-range-actions{display:flex;gap:8px;flex-shrink:0}.clinic-range-actions .btn{font-size:12px;min-height:34px;padding:7px 12px;white-space:nowrap}
[data-ui-preview] .clinic-range-panel{--line:var(--ui-border);--ink:var(--ui-text);font-family:var(--ui-font)}
[data-ui-preview] .clinic-range-day.is-outside-month:not(.is-start,.is-end){color:var(--ui-text-muted)}
.clinic-range-months{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:12px 0 22px}.clinic-range-month{background:transparent;border:1px solid var(--ui-border,#dde5ec);border-radius:7px;padding:12px 4px;font:inherit;font-size:12px;color:var(--ui-text,#172436);cursor:pointer}.clinic-range-month:hover,.clinic-range-month.is-active{color:var(--ui-accent,#176456);background:var(--ui-accent-soft,#e7f2ee);border-color:var(--ui-accent,#176456)}
[data-ui-preview] .planning-filters :is(.field,.clinic-field):has([data-date-range]) { flex:2 1 260px; min-width:min(100%,260px); }
[data-ui-preview] .planning-filters [data-date-range-toggle] { width:100%; justify-content:flex-start; min-height:44px; padding:10px 12px; }
[data-ui-preview] .planning-filters [data-date-range-label] { flex:1; white-space:nowrap; text-overflow:clip; overflow:visible; font-size:13px; }
[data-ui-preview] .clinic-range-panel :is(.clinic-range-preset,.clinic-range-nav,.clinic-range-heading,.clinic-range-day,.clinic-range-month,.btn) { min-height:44px; }
[data-ui-preview] .clinic-range-nav { width:44px; }
.date-control.is-open>[data-date-range-toggle]{border-color:var(--ui-accent,#176456);color:var(--ui-accent,#176456)}.date-control [data-date-range-label]{white-space:nowrap}
@media(max-width:580px){.clinic-range-body{grid-template-columns:1fr}.clinic-range-presets{display:grid;grid-template-columns:repeat(4,1fr);padding:10px;gap:3px;border-right:0;border-bottom:1px solid var(--ui-border,#dde5ec)}.clinic-range-preset{text-align:center;font-size:11px;padding:9px 2px}.clinic-range-main{padding:14px 18px 8px}.clinic-range-endpoints{margin-bottom:10px}.clinic-range-day{min-height:32px;aspect-ratio:1.15/1}.clinic-range-notice{margin-top:8px;min-height:28px}.clinic-range-footer{padding:10px;gap:6px}.clinic-range-footer>small{max-width:110px;font-size:9px}.clinic-range-actions{gap:5px}.clinic-range-actions .btn{padding:7px 10px}.date-control>[data-date-range-toggle]{font-size:12px;padding:8px 10px;gap:6px}}
/* Shared preview layout: fixed date/navigation/actions, independently scrollable calendar and presets. */
[data-ui-preview] .clinic-range-panel{display:flex;flex-direction:column;overflow:hidden}
[data-ui-preview] .clinic-range-body{flex:1 1 auto;min-height:0}
[data-ui-preview] .clinic-range-presets{min-height:0;overflow:auto}
[data-ui-preview] .clinic-range-main{display:flex;flex-direction:column;min-height:0}
[data-ui-preview] .clinic-range-panel :is(.clinic-range-endpoints,.clinic-range-navigation,.clinic-range-notice,.clinic-range-footer){flex-shrink:0}
[data-ui-preview] .clinic-range-calendar{flex:1 1 auto;min-height:0;overflow:auto;padding:6px;overscroll-behavior:contain;scroll-padding:6px}
[data-ui-preview] .clinic-range-calendar .clinic-range-notice{margin:8px 0 0;min-height:0;padding:4px 0}
[data-ui-preview] .clinic-range-actions{margin-left:auto}
[data-ui-preview] .clinic-range-footer>small{min-width:0}
[data-ui-preview] .clinic-range-panel.is-compact .clinic-range-main{padding:0 10px}
[data-ui-preview] .clinic-range-panel.is-compact .clinic-range-endpoints{margin-bottom:2px}
[data-ui-preview] .clinic-range-panel.is-compact .clinic-range-endpoint{position:relative;display:block;padding:0}
[data-ui-preview] .clinic-range-panel.is-compact .clinic-range-endpoint>span{position:absolute;top:3px;left:8px;font-size:10px;line-height:11px;pointer-events:none}
/* Composite date label/input keeps a 48px touch target while overriding the global standalone field padding. */
[data-ui-preview] .clinic-range-panel.is-compact .clinic-range-input{height:48px!important;min-height:48px!important;padding:18px 8px 8px!important}
[data-ui-preview] .clinic-range-panel.is-compact .clinic-range-navigation{margin-bottom:2px}
[data-ui-preview] .clinic-range-panel.is-compact .clinic-range-footer{padding:4px 10px}
[data-ui-preview] .clinic-range-panel.is-compact .clinic-range-weekdays{margin-bottom:0}
[data-ui-preview] .clinic-range-panel.is-compact .clinic-range-weekdays>span{padding:0}
[data-ui-preview] .clinic-range-panel.is-compact .clinic-range-day{margin:0}
[data-ui-preview] .clinic-range-panel.is-compact .clinic-range-footer>small,[data-ui-preview] .clinic-range-footer:has([data-date-clear])>small{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;min-height:0}
@media(max-width:580px){[data-ui-preview] .clinic-range-body{display:flex;flex-direction:column}[data-ui-preview] .clinic-range-presets{display:flex;flex-direction:row;flex:0 0 auto;padding:6px 8px;gap:4px}[data-ui-preview] .clinic-range-preset{flex:0 0 auto;white-space:nowrap;padding:8px 12px}[data-ui-preview] .clinic-range-main{flex:1 1 auto;padding:12px 10px 8px}}
