.admin-date { position:relative; display:flex; width:100%; align-items:stretch; }
.admin-date > input[type="date"] { min-width:0; flex:1; }
.admin-date__trigger { display:grid; width:2.75rem; flex:none; place-items:center; margin-inline-start:.35rem; border:1px solid var(--rule-strong); border-radius:var(--r-sm); background:var(--ink); color:var(--text-dim); cursor:pointer; }
.admin-date__trigger:hover,.admin-date__trigger[aria-expanded="true"] { border-color:var(--accent); color:var(--accent); }
.admin-date__trigger:focus-visible,.admin-date__nav:focus-visible,.admin-date__day:focus-visible,.admin-date__foot button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.admin-date__trigger svg { width:1.1rem; height:1.1rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.6; }
.admin-date__popover { position:fixed; inset:auto; z-index:10000; width:min(21rem,calc(100vw - 1.5rem)); margin:0; padding:.9rem; border:1px solid var(--rule-strong); border-radius:var(--r-sm); background:var(--ink-2); color:var(--text); box-shadow:0 16px 48px rgb(0 0 0 / 48%); font:inherit; }
.admin-date__popover[hidden] { display:none; }
.admin-date__head { display:grid; grid-template-columns:2.4rem 1fr 2.4rem; align-items:center; gap:.45rem; margin-block-end:.7rem; }
.admin-date__title { margin:0; text-align:center; text-transform:capitalize; font-size:1rem; font-weight:700; }
.admin-date__nav { width:2.4rem; height:2.4rem; border:1px solid transparent; border-radius:var(--r-sm); background:transparent; color:var(--text); font:inherit; font-size:1.4rem; cursor:pointer; }
.admin-date__nav:hover { border-color:var(--rule-strong); color:var(--accent); }
.admin-date__week,.admin-date__days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.2rem; }
.admin-date__week { margin-block-end:.3rem; }
.admin-date__week span { color:var(--text-dim); text-align:center; text-transform:uppercase; font-size:.65rem; font-weight:700; letter-spacing:.06em; }
.admin-date__day { display:grid; min-width:0; aspect-ratio:1; place-items:center; border:1px solid transparent; border-radius:var(--r-sm); background:transparent; color:var(--text); font:inherit; font-size:.86rem; cursor:pointer; }
.admin-date__day:hover:not(:disabled) { border-color:var(--rule-strong); background:color-mix(in srgb,var(--accent) 12%,var(--ink-2)); }
.admin-date__day.is-outside { color:var(--text-dim); opacity:.55; }
.admin-date__day.is-today { box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent); }
.admin-date__day[aria-selected="true"] { background:var(--accent); color:var(--on-accent); font-weight:800; }
.admin-date__day:disabled { color:var(--text-dim); cursor:not-allowed; opacity:.32; }
.admin-date__foot { display:flex; justify-content:space-between; gap:.5rem; margin-block-start:.65rem; padding-block-start:.6rem; border-top:1px solid var(--rule); }
.admin-date__foot button { min-height:2.3rem; padding:.3rem .7rem; border:1px solid transparent; border-radius:var(--r-sm); background:transparent; color:var(--text-dim); font:inherit; font-size:.8rem; cursor:pointer; }
.admin-date__foot button:hover { border-color:var(--rule-strong); color:var(--accent); }
@media(max-width:28rem) { .admin-date__popover { padding:.7rem; } .admin-date__day { font-size:.82rem; } }
@media(prefers-reduced-motion:reduce) { .admin-date__popover * { scroll-behavior:auto; } }
.admin-date__nav:disabled,.admin-date__foot button:disabled { cursor:not-allowed; opacity:.38; }
.admin-date > input[type="date"]::-webkit-calendar-picker-indicator { display:none; }
.admin-date { gap:0; }
.admin-date > input[type="date"] { padding-inline-end:3rem; }
.admin-date__trigger { position:absolute; inset-inline-end:.25rem; top:50%; width:2.25rem; height:2.25rem; margin:0; border:0; border-radius:50%; background:transparent; transform:translateY(-50%); }
.admin-date__trigger:hover,.admin-date__trigger[aria-expanded="true"] { border:0; background:color-mix(in srgb,var(--accent) 12%,transparent); }
.admin-date__trigger:focus-visible,.admin-date__nav:focus-visible,.admin-date__day:focus-visible,.admin-date__foot button:focus-visible { outline:none; box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent); }
.admin-date__popover { border-radius:12px; }
.admin-date__grid { display:grid; gap:.2rem; }
.admin-date__week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.2rem; }
.admin-date__days [role="row"] { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.2rem; }
.admin-date__days [role="gridcell"] { min-width:0; }
.admin-date__day { width:100%; border-radius:8px; }
.admin-date__day[aria-current="date"] { box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 65%,transparent); }
.admin-date__day[aria-selected="true"] { color:var(--on-accent,var(--ink)); }

.admin-date__days { display:grid; grid-template-columns:1fr; gap:.2rem; }
.admin-date__days [role="gridcell"][aria-selected="true"] > .admin-date__day { background:var(--accent); color:var(--ink); font-weight:800; box-shadow:none; }
.admin-date__title { text-transform:none; }
.admin-date__popover { max-height:calc(100dvh - 24px); overflow:auto; animation:admin-date-enter .16s ease-out; }
@keyframes admin-date-enter { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .admin-date__popover { animation:none; } }

.admin-date > input[type="date"] { min-height:var(--reg-control-height,54px); height:var(--reg-control-height,54px); }
.admin-date__head { grid-template-columns:2.4rem minmax(0,1fr) 2.4rem; }
.admin-date__jump { display:flex; min-width:0; align-items:center; justify-content:center; gap:.3rem; }
.admin-date__jump label { min-width:0; }
.admin-date__jump select { min-height:2.35rem; max-width:8.4rem; padding:.25rem .4rem; border:1px solid transparent; border-radius:8px; background:var(--ink); color:var(--text); font:inherit; font-size:.88rem; font-weight:700; text-align:center; }
.admin-date__jump select:hover,.admin-date__jump select:focus-visible { border-color:var(--rule-strong); }
.admin-date__jump select:focus-visible { outline:none; box-shadow:var(--control-focus-glow,0 0 14px 2px color-mix(in srgb,var(--accent) 14%,transparent)); }
.admin-date__jump select:disabled { color:var(--text-dim); opacity:.55; }
@media(max-width:28rem) { .admin-date__jump select { max-width:7rem; padding-inline:.25rem; } }
