.date-field{min-width:0}
.date-field label{font-weight:500;color:var(--muted);font-size:12px}
.date-field input,.date-range-trigger{margin-top:7px}
.date-range-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:48px;padding:11px 12px;background:#fff;border:1px solid #bdc9cc;color:var(--ink);font-size:15px;font-weight:500;text-align:left}
.date-range-trigger span{font-variant-numeric:tabular-nums;white-space:nowrap}
.date-range-trigger svg{width:20px;height:20px;flex:0 0 20px}
.date-range-trigger[aria-expanded=true]{border-color:#1764d4;box-shadow:0 0 0 2px #1764d422}
.date-range-help{font-size:12px;color:#53656a;margin:12px 0 0}
.date-range-dialog{width:min(480px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);border-radius:18px;border-color:#d7e1ed}
.date-range-dialog::backdrop{background:#10272c80}
body:has(.date-range-dialog[open]){overflow:hidden}
.range-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--line);flex:0 0 auto}
.range-heading .eyebrow{font-size:10px;margin-bottom:5px}
.range-heading h2{font-size:23px;margin:0;line-height:1.2}
.range-scroll{padding:16px 20px 8px;overflow-y:auto;overscroll-behavior:contain;min-height:0}
.range-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.range-steps button{min-width:0;min-height:68px;padding:10px 12px;border:1px solid #c7d3de;background:#f6f8fa;color:#435968;text-align:left}
.range-steps button span{display:block;font-size:11px;font-weight:650;margin-bottom:4px}
.range-steps button strong{display:block;font-size:16px;font-variant-numeric:tabular-nums}
.range-steps button.is-active{background:#edf4ff;border:2px solid #1764d4;padding:9px 11px;color:#164b94}
.range-instruction{font-size:12px;line-height:1.45;color:#526571;margin:12px 0;min-height:35px}
.range-month-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.range-month-nav h3{font-size:18px;font-weight:750;margin:0;text-align:center;flex:1;line-height:1.3}
.range-month-nav .icon-button{background:#f2f5f9;color:#244961;font-size:30px;min-width:44px}
.range-calendar{width:100%;font-variant-numeric:tabular-nums}
.range-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:4px}
.range-week>[role=columnheader]{font-size:11px;font-weight:650;text-align:center;text-transform:uppercase;color:#566b7a;padding:6px 0 8px}
.range-date-cell{display:flex;align-items:center;justify-content:center;min-height:48px}
.range-date-cell.is-selected{background:#e6efff}
.range-date-cell.is-start{border-radius:28px 0 0 28px}
.range-date-cell.is-end{border-radius:0 28px 28px 0}
.range-date-cell.is-start.is-end{border-radius:28px}
.range-day{padding:0;width:100%;max-width:48px;min-height:48px;height:48px;background:transparent;color:#1c3e62;font-size:16px;font-weight:600;border-radius:50%;line-height:1}
.range-day:hover:not(:disabled):not(.is-endpoint){background:#d7e5fd}
.range-day.is-endpoint{background:#1764d4;color:#fff;font-weight:800}
.range-day.is-endpoint:hover{background:#104fb0}
.range-day[aria-current=date]:not(.is-endpoint){box-shadow:inset 0 0 0 1px #688fb7}
.range-day:disabled{opacity:.38;cursor:not-allowed;background:transparent;color:#435868}
.range-day:focus-visible{outline:3px solid #b37a18;outline-offset:-2px}
.range-hours-note{font-size:11px;color:#566976;line-height:1.45;margin:12px 0 2px}
.range-footer{flex:0 0 auto;background:#fff;border-top:1px solid var(--line);padding:12px 20px 16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}
.range-footer p{font-size:12px;font-weight:650;line-height:1.45;color:#244c80;margin:0 0 12px;min-height:18px;overflow-wrap:anywhere}
.range-actions{display:grid;grid-template-columns:auto auto;gap:8px}
.range-actions button{font-size:13px;min-height:44px;padding:10px 12px;line-height:1.35}
.range-reset{background:#f2f5f9;color:#475f72}
.range-day.is-holiday{box-shadow:inset 0 -3px #bd861b}
.range-actions .range-confirm{grid-column:1/-1;background:#1764d4;color:#fff;min-height:48px;font-size:14px}
.range-actions .range-confirm:hover:not(:disabled){background:#104fb0}
.range-actions .range-confirm:disabled{cursor:not-allowed}
.range-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:640px){.date-range-trigger{font-size:16px}}
@media(max-width:380px){.range-heading{padding:14px 12px 12px}.range-heading h2{font-size:21px}.range-scroll{padding:12px 10px 8px}.range-footer{padding-inline:12px}.range-day,.range-date-cell{height:44px;min-height:44px}.range-steps button{padding:10px 8px}.range-steps button.is-active{padding:9px 7px}.range-steps button strong{font-size:15px}}
@media(max-width:340px){.date-range-dialog{width:calc(100vw - 8px)}.range-scroll{padding-inline:1px;scrollbar-width:none}.range-scroll::-webkit-scrollbar{display:none}.range-steps,.range-instruction,.range-hours-note{margin-inline:10px}.range-month-nav{margin-inline:8px}.range-week{margin-bottom:2px}}
@media(max-height:650px){.date-range-dialog{max-height:calc(100dvh - 12px)}.range-heading{padding-block:10px}.range-heading .eyebrow{display:none}.range-steps button{min-height:58px}.range-instruction{margin-block:8px}.range-footer{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.range-footer p{margin-bottom:6px}.range-actions{grid-template-columns:auto auto minmax(0,1fr)}.range-actions .range-confirm{grid-column:auto;font-size:12px}.range-actions button{font-size:12px;padding:8px}}
@media(prefers-reduced-motion:reduce){.date-range-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
