.date-control { position: relative; }
.date-control .date-input { padding-right: 42px; }
.date-calendar-trigger { position:absolute; right:4px; top:4px; display:grid; place-items:center; width:32px; height:32px; border:0; border-radius:var(--prizm-radius-sm); background:transparent; color:var(--prizm-color-fg-muted); cursor:pointer; }
.date-calendar-trigger svg { width:19px; height:19px; }
.date-calendar-trigger:hover { background:var(--prizm-color-bg-muted); }
.date-calendar { position:fixed; inset:auto; margin:0; width:min(336px,calc(100vw - 16px)); padding:16px; border:1px solid var(--prizm-color-border); border-radius:var(--prizm-radius-lg); background:var(--prizm-color-surface); color:var(--prizm-color-fg); box-shadow:var(--prizm-shadow-md); font:14px/1.4 system-ui,sans-serif; }
.date-calendar-title { display:flex; justify-content:space-between; align-items:center; color:var(--prizm-color-fg-muted); margin-bottom:10px; }
.date-calendar-head { display:grid; grid-template-columns:28px 1fr 78px 28px; align-items:center; gap:4px; margin-bottom:12px; }
.date-calendar button, .date-calendar select { font:inherit; border:0; border-radius:var(--prizm-radius-sm); background:transparent; color:inherit; cursor:pointer; min-height:32px; }
.date-calendar select { width:100%; padding:2px; }
.date-calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.date-calendar-grid button { height:36px; }
.date-weekday { text-align:center; font-size:12px; color:var(--prizm-color-fg-muted); padding-bottom:8px; }
.date-calendar button:hover { background:var(--prizm-color-bg-muted); }
.date-calendar button[aria-pressed="true"] { background:var(--prizm-color-accent); color:var(--prizm-color-accent-fg); }
.date-calendar button[aria-current="date"] { box-shadow:inset 0 0 0 1px var(--prizm-color-accent); }
.date-calendar :is(button,select):focus-visible,.date-calendar-trigger:focus-visible { outline:2px solid var(--prizm-color-focus); outline-offset:2px; }
