/* Calendar dates use the native Passport range language and web surface tokens. */
:root { --date-picker-ready:1; }
.date-control { position:relative; min-width:0; }
.date-control > .date-control-native { position:absolute; width:1px; height:1px; padding:0; margin:0; border:0; opacity:0; clip-path:inset(50%); pointer-events:none; }
.date-control-trigger.input { width:100%; min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:start; cursor:pointer; font:inherit; color:var(--ink); }
.date-control-trigger > span { min-width:0; overflow-wrap:anywhere; }
.date-control-trigger svg { width:20px; height:20px; flex:none; color:var(--muted); }
.date-control-trigger:disabled { cursor:not-allowed; opacity:.55; }
.date-picker-dialog.modal { width:calc(100% - 32px); max-width:400px; max-height:calc(100dvh - 32px); overflow:auto; border-radius:22px; color:var(--ink); background:var(--paper); padding:0; margin:auto; }
.date-picker-dialog::backdrop { background:rgba(18,22,31,.48); backdrop-filter:blur(4px); }
.date-picker-card { padding:22px; }
.date-picker-card h2 { font-family:var(--display,'Instrument Serif',Georgia,serif); font-size:26px; font-weight:400; line-height:1.2; margin:0 0 14px; overflow-wrap:anywhere; }
.date-picker-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--paper-2); padding:12px 14px; border:1px solid var(--line); border-radius:12px; font-size:13px; min-height:48px; }
.date-picker-range-arrow { flex:none; color:var(--muted); }
[dir=rtl] .date-picker-range-arrow { transform:scaleX(-1); }
.date-picker-toolbar { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:6px; margin:18px 0 10px; }
.date-picker-dialog button { -webkit-tap-highlight-color:transparent; color:var(--ink); font:inherit; cursor:pointer; }
.date-picker-dialog button:disabled { cursor:default; opacity:.38; }
.date-picker-nav { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:var(--card); }
.date-picker-nav svg { width:20px; height:20px; }
[dir=rtl] .date-picker-nav svg { transform:scaleX(-1); }
.date-picker-period { min-height:44px; border:0; background:transparent; font-weight:600!important; font-size:16px!important; text-align:center; }
.date-picker-period:disabled { opacity:1!important; }
.date-picker-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.date-picker-week > [role=columnheader] { display:grid; place-items:center; min-height:30px; font-size:12px; color:var(--muted); }
.date-picker-day { position:relative; display:grid; place-items:center; min-width:0; min-height:44px; padding:0; margin:0; border:0; background:none; font-size:14px!important; isolation:isolate; }
.date-picker-day > span { display:grid; place-items:center; width:38px; height:38px; border:1px solid transparent; border-radius:50%; }
.date-picker-day.in-range::before { content:''; position:absolute; inset:3px 0; background:color-mix(in srgb,var(--terracotta) 12%,transparent); z-index:-1; }
.date-picker-day.range-start::before { inset-inline-start:50%; }
.date-picker-day.range-end::before { inset-inline-end:50%; }
.date-picker-day.range-start.range-end::before { display:none; }
.date-picker-day.today > span { border-color:var(--terracotta-ink); }
.date-picker-day.selected > span { color:#fff; background:#C2410C; border-color:#C2410C; font-weight:600; }
.date-picker-day:not(:disabled):not(.selected):hover > span { background:var(--paper-2); border-color:var(--line-2); }
.date-picker-period-row { display:grid; gap:8px; margin-bottom:8px; }
.date-picker-months .date-picker-period-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
.date-picker-years .date-picker-period-row { grid-template-columns:repeat(4,minmax(0,1fr)); }
.date-picker-period-row button { border:1px solid var(--line); background:var(--card); border-radius:10px; min-height:48px; padding:8px 4px; font-size:14px; }
.date-picker-period-row button:not(:disabled):hover { background:var(--terracotta-soft); }
.date-picker-actions { display:flex; justify-content:flex-end; gap:8px; border-top:1px solid var(--line); margin-top:18px; padding-top:16px; flex-wrap:wrap; }
.date-picker-actions button { min-height:44px; padding:10px 14px; border:1px solid var(--line); border-radius:10px; font-size:13px; font-weight:600; background:var(--card); }
.date-picker-actions .date-picker-clear { margin-inline-end:auto; background:transparent; border-color:transparent; color:var(--muted); }
.date-picker-actions .date-picker-apply { background:#C2410C; color:#fff; border-color:#C2410C; }
.date-picker-error { font-size:13px; color:var(--rose); margin:12px 0 0; }
.date-picker-dialog button:focus-visible,.date-control-trigger:focus-visible { outline:2px solid var(--terracotta-ink); outline-offset:2px; }
.date-picker-day:focus-visible { outline:0; }
.date-picker-day:focus-visible > span { outline:2px solid var(--terracotta-ink); outline-offset:1px; }
@media(max-width:380px) { .date-picker-card { padding:18px 12px; } .date-picker-day > span { width:36px; height:36px; } .date-picker-summary { padding:10px; font-size:12px; } }
@media(forced-colors:active) { .date-picker-day.selected > span { background:Highlight; color:HighlightText; } .date-picker-day.in-range::before { border-block:1px solid Highlight; } }
