.scheduler-date-control { display: inline-flex; position: relative; gap: .4rem; width: 100%; max-width: 100%; align-items: center; }
.scheduler-date-control > input[data-scheduler-date] { flex: 1; min-width: 0; width: 9rem; }
.scheduler-date-control > .scheduler-date-picker-button { flex: none; padding: .55rem .65rem; font: inherit; font-size: .8rem; border: 1px solid var(--input-line, #8290a8); border-radius: .5rem; background: var(--surface, #fff); color: var(--ink, #202945); cursor: pointer; }
.scheduler-date-picker-button:focus-visible { outline: 2px solid var(--focus, #ee7623); outline-offset: 2px; }
.scheduler-date-picker-button:disabled { opacity: .5; cursor: default; }
.row > .scheduler-date-control { max-width: 16rem; }
html[data-color-mode="dark"] .scheduler-date-picker-button { background: #162235; color: #e5edf6; border-color: #52627a; }
@media print { .scheduler-date-picker-button { display: none; } }
.scheduler-calendar { position: fixed; z-index: 10000; box-sizing: border-box; padding: 12px; border: 1px solid var(--input-line, #8290a8); border-radius: 12px; background: var(--surface, #fff); color: var(--ink, #202945); box-shadow: 0 8px 32px rgba(0,0,0,.2); font: 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; max-height: calc(100vh - 16px); overflow: auto; }
.scheduler-calendar-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.scheduler-calendar-header strong { font-size: 15px; }
.scheduler-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; text-align: center; }
.scheduler-calendar-weekdays { margin-bottom: 5px; font-size: 12px; }
.scheduler-calendar button { box-sizing: border-box; padding: 6px; min-width: 0; min-height: 34px; margin: 0; font: inherit; border: 1px solid transparent; border-radius: 6px; background: transparent; color: inherit; cursor: pointer; }
.scheduler-calendar button:hover { background: rgba(110,130,155,.18); }
.scheduler-calendar button:focus-visible { outline: 2px solid var(--focus, #ee7623); outline-offset: -2px; }
.scheduler-calendar button:disabled { opacity: .4; cursor: default; }
.scheduler-calendar .scheduler-calendar-nav { min-width: 34px; font-size: 24px; line-height: 1; }
.scheduler-calendar-day[aria-current="date"] { border-color: currentColor; }
.scheduler-calendar .scheduler-calendar-day[aria-pressed="true"] { background: #214e80; color: #fff; }
.scheduler-calendar-footer { display: flex; justify-content: space-between; gap: 6px; padding-top: 8px; margin-top: 8px; border-top: 1px solid var(--input-line, #8290a8); }
html[data-color-mode="dark"] .scheduler-calendar { background: #162235; color: #e5edf6; border-color: #52627a; }
@media print { .scheduler-calendar { display: none; } }
