.calendar-field{position:relative;display:flex;align-items:center;width:100%;min-width:0}
.calendar-field input{width:100%;min-width:0;padding-right:50px}
.calendar-field__toggle{position:absolute;right:7px;top:50%;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--pink-strong,var(--accent-dark,#62162c));transform:translateY(-50%);transition:background .16s ease,color .16s ease}
.calendar-field__toggle:hover{background:var(--pink-faint,var(--pale,#f2e8df))}
.calendar-field__toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.calendar-picker{position:fixed;z-index:1000;display:grid;gap:12px;max-height:min(390px,calc(100dvh - 24px));overflow:auto;padding:14px;border:1px solid var(--line,#e3d8cf);border-radius:18px;background:var(--surface,var(--paper,#fffefa));box-shadow:0 18px 48px rgba(44,32,35,.18);color:var(--ink,var(--text,#2c2023));font:500 14px/1.35 var(--ui,var(--font-ui,'DM Sans',sans-serif));text-align:center}
.calendar-picker[hidden]{display:none}
.calendar-picker__header{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:6px}
.calendar-picker__month{margin:0;color:var(--ink,var(--text,#2c2023));font:600 16px/1.2 var(--ui,var(--font-ui,'DM Sans',sans-serif));text-transform:capitalize}
.calendar-picker__nav{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--pink-strong,var(--accent-dark,#62162c))}
.calendar-picker__nav:hover:not(:disabled){background:var(--pink-faint,var(--pale,#f2e8df))}
.calendar-picker__nav:disabled{opacity:.3;cursor:default}
.calendar-picker__nav svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.calendar-picker__weekdays,.calendar-picker__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.calendar-picker__weekdays{color:var(--muted,#73676b);font-size:11px;font-weight:700}
.calendar-picker__weekdays span{display:grid;place-items:center;min-height:26px}
.calendar-picker__day{display:grid;place-items:center;min-width:0;min-height:38px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--ink,var(--text,#2c2023));font:500 13px/1 var(--ui,var(--font-ui,'DM Sans',sans-serif));font-variant-numeric:tabular-nums;transition:background .14s ease,color .14s ease,border-color .14s ease}
.calendar-picker__day:hover:not(:disabled){border-color:var(--pink,var(--accent,#86213e));background:var(--pink-faint,var(--pale,#f2e8df))}
.calendar-picker__day.is-outside{color:var(--muted,#73676b);opacity:.55}
.calendar-picker__day.is-selected{border-color:var(--pink-strong,var(--accent-dark,#62162c));background:var(--pink-strong,var(--accent-dark,#62162c));color:var(--surface,var(--paper,#fffefa));font-weight:700}
.calendar-picker__day:disabled{color:var(--muted,#73676b);opacity:.3;cursor:default}
.calendar-picker__footer{display:flex;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid var(--line,#e3d8cf)}
.calendar-picker__footer button{padding:7px 8px;border:0;border-radius:9px;background:transparent;color:var(--pink-strong,var(--accent-dark,#62162c));font:600 12px var(--ui,var(--font-ui,'DM Sans',sans-serif))}
.calendar-picker__footer button:hover:not(:disabled){background:var(--pink-faint,var(--pale,#f2e8df))}
.calendar-picker__footer button:disabled{opacity:.4;cursor:default}
@media(max-width:360px){.calendar-picker{padding:11px}.calendar-picker__days{gap:1px}.calendar-picker__day{min-height:35px}}
@media(prefers-reduced-motion:reduce){.calendar-picker__day,.calendar-field__toggle{transition:none}}
