.date-picker{position:relative}
.date-picker > .form-control{padding-right:3.5rem;background-image:none}
.date-toggle{position:absolute;right:.3rem;top:.3rem;width:44px;height:44px;border:0;border-radius:.65rem;color:var(--navy);background:var(--cream)}
.date-toggle:hover{background:#ffe4cf}
.date-calendar{position:absolute;right:0;top:calc(100% + .5rem);z-index:1050;width:340px;max-width:calc(100vw - 2rem);padding:1rem;background:#fff;border:1px solid var(--line);border-radius:1.1rem;box-shadow:var(--shadow);color:var(--navy)}
.date-calendar[hidden]{display:none}
.date-calendar header{display:flex;align-items:center;gap:.4rem;margin-bottom:.8rem}
.date-calendar .form-select{padding:.5rem 1.8rem .5rem .6rem;font-size:.9rem;min-width:0}
.date-calendar .date-year{width:90px;flex-shrink:0}
.date-calendar button{border:0;border-radius:.6rem;background:transparent;color:var(--navy);min-height:40px}
.date-calendar header button{flex-shrink:0;width:28px;background:var(--cream)}
.date-week,.date-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}
.date-week{font-size:.75rem;font-weight:700;color:var(--muted);margin-bottom:.4rem}
.date-days button{font-size:.88rem;padding:0}
.date-calendar button:hover:not(:disabled){background:#ffe4cf}
.date-days button[aria-current=date]{box-shadow:inset 0 0 0 1px var(--orange)}
.date-days button[aria-pressed=true]{background:var(--orange);color:var(--navy);font-weight:800}
.date-calendar button:disabled{color:#adb3bd;cursor:not-allowed}
.date-calendar button:focus-visible,.date-toggle:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.date-calendar footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:.75rem;padding-top:.5rem;font-size:.85rem}
.date-calendar footer button{padding:.4rem .7rem}
@media(max-width:767.98px){
    .date-picker > .form-control{padding-right:1rem}
    .date-toggle,.date-calendar{display:none!important}
}
