.birthday-date-control{min-width:0}.birthday-wheel-date{min-height:48px;display:flex;align-items:center;justify-content:center;padding:4px 12px;color:var(--muted);font-size:18px;font-weight:500;text-align:center}.birthday-wheel-date.has-date{color:var(--ink)}.birthday-wheel-date.is-invalid{color:var(--danger,#ee8992);font-size:15px}.birthday-wheels{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 8px}.birthday-wheels:before{content:"";position:absolute;top:76px;left:0;right:0;height:44px;border-radius:12px;background:var(--card-hover);pointer-events:none}.birthday-wheel-column{position:relative;min-width:0}.birthday-wheel-label{height:32px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.birthday-wheel{height:132px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;padding-block:44px;touch-action:pan-y;cursor:grab;border-radius:12px;outline-offset:2px}.birthday-wheel::-webkit-scrollbar{display:none}.birthday-wheel:active,.birthday-wheel.is-dragging{cursor:grabbing}.birthday-wheel:focus-visible{outline:2px solid var(--accent)}.birthday-wheel-item{height:44px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;color:var(--muted);font-size:20px;line-height:1;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.birthday-wheel-item.is-current{color:var(--ink);font-weight:600}.birthday-wheel-item.is-placeholder,.birthday-wheel-item.is-placeholder.is-current{color:var(--muted);font-weight:500}.birthday-wheels[aria-disabled=true]{opacity:.5;pointer-events:none}@media(hover:hover){.birthday-wheel-item:hover{background:var(--card-hover);border-radius:12px}}.birthday-picker{min-width:0}.birthday-input-row{display:flex;align-items:center;gap:4px;min-height:56px;padding:0 6px 0 16px;border-radius:18px;background:var(--card-hover)}.birthday-input-row:focus-within{outline:2px solid var(--accent);outline-offset:2px}.birthday-picker .birthday-input-row input{flex:1;min-width:0;width:100%;height:56px;margin:0;padding:0;border:0;border-radius:0;outline:0;box-shadow:none;background:transparent;color:var(--ink);font:inherit;font-size:17px;font-variant-numeric:tabular-nums}.birthday-picker .birthday-input-row input::placeholder{color:var(--muted);opacity:1}.birthday-picker .birthday-picker-icon,.birthday-calendar-popover .birthday-picker-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--muted)}.birthday-picker-icon:hover{background:var(--card-hover);color:var(--ink)}.birthday-picker .birthday-input-hint{min-height:20px;margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}.birthday-picker .birthday-input-hint:has(>.sr-only){position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.birthday-input-row.is-invalid{outline:1px solid var(--danger,#ee8992)}.birthday-picker .birthday-input-hint.is-invalid{color:var(--danger,#ee8992)}.birthday-picker .birthday-type-switch{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:8px auto 0;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:13px}.birthday-picker .birthday-type-switch:hover{background:var(--card-hover);color:var(--ink)}.birthday-calendar-popover{position:fixed;inset:auto;overflow:visible;margin:0;box-sizing:border-box;width:340px;max-width:calc(100vw - 16px);padding:8px;border:0;border-radius:18px;background:var(--card);color:var(--ink);box-shadow:0 12px 48px #00000073,0 2px 12px #00000038;font:inherit}.birthday-calendar-heading{display:grid;grid-template-columns:minmax(0,1fr) 100px 44px;align-items:center;gap:4px;margin-bottom:0}.birthday-calendar-popover .settings-select-trigger{height:44px;min-height:44px;padding:0 12px;border:0;border-radius:999px;background:transparent;font-size:14px}.birthday-calendar-popover .settings-select-trigger:hover{background:var(--card-hover)}.birthday-calendar-popover .settings-select-menu{max-height:220px;z-index:3}.birthday-calendar-popover .settings-select-option{min-height:44px;font-size:14px}.birthday-calendar-popover .rdp-month_grid{width:100%;border-collapse:collapse;table-layout:fixed}.birthday-calendar-popover .rdp-weekday{height:24px;padding:0;text-align:center;font-size:11px;font-weight:500;color:var(--muted)}.birthday-calendar-popover .rdp-day{height:44px;padding:0;text-align:center}.birthday-calendar-popover .rdp-day_button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:44px;min-height:44px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-variant-numeric:tabular-nums;cursor:pointer}.birthday-calendar-popover .rdp-day_button:hover:not(:disabled){background:var(--card-hover)}.birthday-calendar-popover .rdp-selected .rdp-day_button{background:var(--accent-solid);color:var(--accent-contrast);font-weight:650}.birthday-calendar-popover .rdp-day_button:disabled{opacity:.3;cursor:default}.birthday-calendar-popover .rdp-outside{opacity:.5}.birthday-calendar-popover button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
