/* Shared library adapters: keep the existing Vista Rinse palette and typography. */
.ts-wrapper,.vr-calendar-picker,.vr-pond-shell{--ui-paper:var(--c-panel,var(--surface,#fff));--ui-ink:var(--c-ink,var(--ink,#09213c));--ui-line:var(--c-line,var(--line,#c8d9ea));--ui-soft:var(--c-soft,var(--soft,#f1f8ff));--ui-blue:var(--c-primary,var(--accent,#007fe5));font-family:inherit}
.ts-wrapper{min-width:0;width:100%;margin:0;align-self:stretch}
.ts-wrapper .ts-control{min-height:43px;gap:5px;border:1px solid var(--ui-line);border-radius:10px;padding:10px 12px;background:var(--ui-paper);color:var(--ui-ink);box-shadow:none;font:inherit;line-height:1.4;flex-wrap:wrap}
.ts-wrapper.single .ts-control>div{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.ts-wrapper .ts-control>input,.unified-admin .ts-wrapper .ts-control>input{min-height:20px!important;max-width:100%!important;min-width:30px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--ui-ink)!important;box-shadow:none!important;outline:0!important;font:inherit!important}
.ts-wrapper.focus .ts-control{border-color:var(--ui-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-blue) 18%,transparent)}
.ts-wrapper .ts-dropdown{z-index:4000;background:var(--ui-paper);color:var(--ui-ink);border:1px solid var(--ui-line);border-radius:10px;box-shadow:0 15px 38px #00192e26;font:inherit;overflow:hidden}
.ts-dropdown .ts-dropdown-content{max-height:min(260px,40dvh);overscroll-behavior:contain}
.ts-dropdown .option,.ts-dropdown .no-results{padding:10px 12px;white-space:normal;overflow-wrap:anywhere}
.ts-dropdown .active{background:var(--ui-soft);color:var(--ui-ink)}
.ts-wrapper.multi .ts-control>div{background:var(--ui-soft);color:var(--ui-ink);border:1px solid var(--ui-line);border-radius:5px;padding:3px 7px;box-shadow:none}
.ts-wrapper .remove{color:inherit}.ts-wrapper.disabled{opacity:.65}.ts-wrapper .clear-button{color:var(--ui-ink)}
.cal-search-select:has(.tomselected)>input[type=search]{display:none}
.vr-calendar-picker{z-index:5000!important;background:var(--ui-paper);color:var(--ui-ink);border:1px solid var(--ui-line);border-radius:14px;box-shadow:0 18px 48px #00192e30;max-height:calc(100dvh - 24px);overflow:auto}
.vr-calendar-picker .flatpickr-months,.vr-calendar-picker .flatpickr-month,.vr-calendar-picker .flatpickr-current-month,.vr-calendar-picker .flatpickr-weekdays,.vr-calendar-picker span.flatpickr-weekday{background:var(--ui-paper);color:var(--ui-ink);fill:var(--ui-ink)}
.vr-calendar-picker .flatpickr-current-month input.cur-year,.unified-admin .vr-calendar-picker input{min-height:0!important;border:0!important;padding:0!important;box-shadow:none!important;background:transparent!important;color:var(--ui-ink)!important;font:inherit}
.vr-calendar-picker .flatpickr-current-month .flatpickr-monthDropdown-months{min-height:0;width:auto;padding:0;border:0;background:var(--ui-paper);color:var(--ui-ink);font:inherit}
.vr-calendar-picker .flatpickr-months .flatpickr-month{height:38px}
.vr-calendar-picker .flatpickr-current-month{display:flex;align-items:center;justify-content:center;gap:4px;height:38px;padding:6px 0;font-size:15px;line-height:1.2}
.vr-calendar-picker .flatpickr-current-month .flatpickr-monthDropdown-months{display:inline-block!important;width:auto!important;max-width:145px;min-height:0!important;height:26px;padding:0 4px!important;margin:0!important;line-height:1.2!important}
.vr-calendar-picker .flatpickr-current-month .numInputWrapper{flex:0 0 64px;width:64px;min-width:0}
.vr-calendar-picker .flatpickr-current-month input.cur-year{height:26px;line-height:1.2!important}
.vr-calendar-picker .flatpickr-months :is(.flatpickr-prev-month,.flatpickr-next-month) svg{fill:var(--ui-ink)}
.vr-calendar-picker .flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:var(--ui-ink)}
.vr-calendar-picker .flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:var(--ui-ink)}
.vr-calendar-picker .flatpickr-day{color:var(--ui-ink);border-radius:8px}
.vr-calendar-picker .flatpickr-day:hover,.vr-calendar-picker .flatpickr-day:focus{background:var(--ui-soft);border-color:var(--ui-line)}
.vr-calendar-picker .flatpickr-day.selected{background:var(--ui-blue);border-color:var(--ui-blue);color:#fff}
.vr-calendar-picker .flatpickr-day.flatpickr-disabled{color:var(--ui-ink);opacity:.3}
.vr-calendar-picker .flatpickr-time input,.vr-calendar-picker .flatpickr-time .flatpickr-am-pm{color:var(--ui-ink);background:var(--ui-paper)}
.vr-pond-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
.vr-pond-shell{width:100%;min-width:0;margin:10px 0}
.vr-pond-shell .filepond--root{font:inherit;margin:0;min-width:0;color:var(--ui-ink)}
.vr-pond-shell .filepond--panel-root{background:var(--ui-soft);border:1px dashed var(--ui-line);border-radius:12px}
.vr-pond-shell .filepond--drop-label{color:var(--ui-ink);font-size:13px}
.vr-pond-shell .filepond--drop-label label{padding:14px!important;font:inherit;text-align:center;margin:0}
.vr-pond-shell .filepond--label-action{color:var(--ui-blue);text-decoration-color:var(--ui-blue)}
.vr-pond-shell .filepond--item-panel{background:#145485;border-radius:8px}
.vr-pond-shell .filepond--file-info,.vr-pond-shell .filepond--file-status{color:#fff}
.vr-pond-shell .filepond--file{padding:10px!important;color:#fff}
.vr-pond-shell .filepond--file-action-button,.unified-admin .vr-pond-shell button.filepond--file-action-button{padding:0!important;min-width:26px!important;min-height:26px!important;width:26px;height:26px;border:0!important;border-radius:50%!important;color:#fff;background:#052943!important;box-shadow:none!important}
.vr-pond-shell .filepond--file-action-button svg{width:100%;height:100%;fill:currentColor;stroke:none}
.vr-pond-shell .filepond--credits{color:var(--ui-ink);font-size:10px}
.vr-pond-notice{font-size:12px;color:var(--error,#b52236);margin:8px 0}
.vr-pond-enhanced .file-picker,.vr-pond-enhanced #client-upload-files{display:none}
.vr-photo-dialog{position:fixed;inset:0;margin:0;padding:0;border:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:transparent;overflow:hidden;color:#fff}
.vr-photo-dialog::backdrop{background:#061322e8;backdrop-filter:blur(8px)}
.vr-photo-dialog .pswp{--pswp-bg:#061322;--pswp-icon-color:#fff;font-family:inherit}
.vr-photo-dialog .pswp__button{min-width:50px;min-height:50px;padding:0;border:0;border-radius:0;background:transparent;color:#fff;box-shadow:none}
.vr-photo-dialog .pswp__button svg{width:32px;height:32px;fill:var(--pswp-icon-color);stroke:none}
.vr-photo-caption{position:absolute;left:80px;right:80px;bottom:18px;max-height:64px;overflow:auto;color:#fff;text-align:center;font-size:14px;line-height:1.5;pointer-events:auto}
.vr-pswp-comparison{height:100%;width:100%;display:flex;align-items:center;justify-content:center;padding:0 36px;box-sizing:border-box}
.vr-pswp-comparison .comparison{width:100%;max-width:1450px;max-height:none;background:#10263b;border:1px solid #ffffff30;border-radius:14px;overflow:hidden;color:#fff;--compare-position:50%}
.vr-pswp-comparison .comparison-stage{height:min(65dvh,780px);width:100%;aspect-ratio:auto;background:#061322;position:relative;touch-action:pan-y}
.vr-pswp-comparison .compare-panel{position:absolute;inset:0}
.vr-pswp-comparison .compare-panel img{width:100%;height:100%;object-fit:contain;object-position:center}
.vr-pswp-comparison .before-panel{clip-path:inset(0 calc(100% - var(--compare-position)) 0 0)}
.vr-pswp-comparison .comparison-controls{background:#10263b;color:#fff}
.vr-pswp-comparison .compare-mode{color:#fff;background:#173f60;border-color:#ffffff50}
.vr-pswp-comparison .is-side-by-side .comparison-stage{display:grid;grid-template-columns:1fr 1fr}
.vr-pswp-comparison .is-side-by-side .compare-panel{position:relative;inset:auto;clip-path:none}
.vr-pswp-comparison .is-side-by-side .compare-divider{display:none}
@media(max-width:600px){.vr-pswp-comparison{padding:0}.vr-pswp-comparison .comparison-stage{height:55dvh}.vr-photo-caption{left:16px;right:16px;font-size:12px}.ts-wrapper .ts-control{min-height:44px}}
@media(prefers-reduced-motion:no-preference){.ts-dropdown,.vr-calendar-picker.open{animation:vr-picker-enter .15s ease-out}@keyframes vr-picker-enter{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){.ts-wrapper *,.vr-calendar-picker,.vr-pond-shell *{animation:none!important;transition:none!important}}


/* Scheduled start dates are informative dots, never additional disabled days. */
.vr-calendar-picker .flatpickr-day.has-scheduled-work::after{content:"";position:absolute;left:50%;bottom:3px;width:5px;height:5px;border-radius:50%;transform:translateX(-50%);background:var(--ui-blue);pointer-events:none}
.vr-calendar-picker .flatpickr-day.selected.has-scheduled-work::after{background:#fff}
html[data-theme=dark] .vr-calendar-picker .flatpickr-day.selected.has-scheduled-work::after{background:#0c1521}
.unified-admin .vr-calendar-picker .flatpickr-day.flatpickr-disabled.has-scheduled-work{opacity:1;color:color-mix(in srgb,var(--ui-ink) 40%,var(--ui-paper))}
.unified-admin .cal-scheduled-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.unified-admin .cal-scheduled-legend[data-state=ready]::before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:var(--c-primary,#0879c5);flex:none}
.unified-admin .cal-scheduled-legend>span{flex:1 1 180px;min-width:0}

/* Status typography is independent of entered text and administrative title case. */
.badge,.record-status{ text-transform:uppercase!important }

/* Explicit appointment-date confirmation; button fills the padded calendar footer. */
.vr-calendar-picker.vr-confirm-calendar .vr-picker-confirm-footer{display:block;clear:both;width:100%;box-sizing:border-box;border-top:1px solid var(--ui-line);padding:16px;background:var(--ui-paper)}
.unified-admin .flatpickr-calendar.vr-confirm-calendar .vr-picker-confirm-button{display:flex;align-items:center;justify-content:center;width:100%;max-width:none;min-height:44px;box-sizing:border-box;margin:0;padding:11px 16px;border:1px solid transparent;border-radius:12px;background:#0869b5;color:#fff;font:inherit;font-weight:700;line-height:1.35;cursor:pointer}
.unified-admin .flatpickr-calendar.vr-confirm-calendar .vr-picker-confirm-button:hover{background:#07558f}
.unified-admin .flatpickr-calendar.vr-confirm-calendar .vr-picker-confirm-button:focus-visible{outline:2px solid var(--ui-blue);outline-offset:3px}
.vr-confirm-calendar .vr-picker-confirm-notice{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--ui-ink);white-space:normal;overflow-wrap:anywhere}
.vr-confirm-calendar .vr-picker-confirm-notice[hidden]{display:none}
.vr-confirm-calendar :is(.flatpickr-innerContainer,.flatpickr-days,.dayContainer){width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.vr-confirm-date-display{cursor:pointer}
