.menu-picker [hidden] { display: none !important; }
.menu-picker-field { position: relative; }
.menu-picker-field input { font: inherit; font-size: 1rem; padding: .7rem .85rem; border: 1px solid #75787b; border-radius: .5rem; background: #fff; color: #212529; }
.menu-picker-field input::placeholder { color: #585956; opacity: 1; }
.menu-picker--ready input { padding-right: 3.2rem; }
.menu-picker-open { position: absolute; inset: 3px 3px 3px auto; width: 44px; display: grid; place-items: center; border: 0; border-radius: .35rem; background: #fff8db; color: #596218; cursor: pointer; }
.menu-picker .menu-picker-format, .menu-picker .menu-picker-status { margin: .4rem 0 0; font: 400 .78rem/1.5 Inter, ui-sans-serif, system-ui, sans-serif; color: #585956; }
.menu-picker .menu-picker-status { font-weight: 650; }
.menu-picker .menu-picker-status--filled { color: #596218; }
.menu-date-form, .menu-tools { align-items: start; }
.menu-date-form > .button { margin-top: 1.9rem; }
.menu-tools > .button { margin-top: 1.85rem; }
.menu-picker-dialog { box-sizing: border-box; width: 25rem; max-width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); padding: 1.15rem; margin: auto; border: 1px solid #d9d9d6; border-top: 5px solid #e9ad33; border-radius: 1rem; background: #fff; color: #212529; box-shadow: 0 1rem 4rem #0004; overflow: auto; overscroll-behavior: contain; }
.menu-picker-dialog:not([open]) { display: none; }
.menu-picker-dialog::backdrop { background: #21252999; }
.menu-picker-dialog button, .menu-picker-dialog select { box-sizing: border-box; font: 650 .95rem/1.3 Inter, ui-sans-serif, system-ui, sans-serif; cursor: pointer; color: #212529; }
.menu-picker-dialog button:disabled { cursor: default; opacity: .4; }
.menu-picker-dialog :is(button,select):focus-visible, .menu-picker-open:focus-visible { outline: 3px solid #212529; outline-offset: 2px; box-shadow: 0 0 0 4px #fff; }
.menu-picker-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.menu-picker-top h2 { font-size: 1.45rem; line-height: 1.3; margin: 0; }
.menu-picker-dialog .menu-picker-close { font-size: 1.7rem; width: 44px; height: 44px; flex-shrink: 0; border: 1px solid #d9d9d6; border-radius: 50%; background: #fff; }
.menu-picker-dialog .menu-picker-caption { font-size: .88rem; line-height: 1.5; margin: .45rem 0 1rem; color: #585956; }
.menu-picker-nav { display: grid; grid-template-columns: 40px minmax(0,1.4fr) minmax(0,1fr) 40px; align-items: center; gap: .35rem; }
.menu-picker-nav > div { min-width: 0; }
.menu-picker-nav select { width: 100%; min-width: 0; height: 44px; padding: .3rem; border: 1px solid #75787b; border-radius: .4rem; background: #fff; }
.menu-picker-nav button { height: 44px; border: 1px solid #d9d9d6; border-radius: .4rem; background: #f7f7ed; font-size: 1.6rem; }
.menu-picker-dialog .menu-picker-month-label { font: 700 .88rem/1.5 Inter, ui-sans-serif, system-ui, sans-serif; margin: .75rem 0 .3rem; text-transform: capitalize; }
.menu-picker-dialog .menu-picker-grid { table-layout: fixed; width: 100%; border: 0; border-collapse: separate; border-spacing: 3px; margin: 0; background: transparent; }
.menu-picker-grid th, .menu-picker-grid td { border: 0; padding: 0; background: transparent; text-align: center; }
.menu-picker-grid th { font: 650 .75rem/1.5 Inter, ui-sans-serif, system-ui, sans-serif; color: #585956; height: 28px; }
.menu-picker-grid .menu-picker-day { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; width: 100%; min-width: 0; height: 47px; padding: 2px; border: 1px solid #d9d9d6; border-radius: .4rem; background: #f5f5f3; color: #585956; font-size: .9rem; }
.menu-picker-day small { font: 750 .65rem/1 Inter, ui-sans-serif, system-ui, sans-serif; }
.menu-picker-grid .menu-picker-day--filled { background: #f8edb7; color: #424b11; border-color: #acb26c; }
.menu-picker-grid .menu-picker-day[aria-current="date"] { border-bottom: 3px solid #212529; }
.menu-picker-grid [aria-selected="true"] .menu-picker-day { background: #596218; color: #fff; border-color: #596218; }
.menu-picker-grid .menu-picker-day:hover { outline: 2px solid #596218; outline-offset: -2px; }
.menu-picker-legend { display: flex; flex-wrap: wrap; gap: .5rem 1rem; list-style: none; padding: 0; margin: .9rem 0 .6rem; }
.menu-picker-legend li { display: flex; align-items: center; gap: .4rem; font-size: .8rem; line-height: 1.5; }
.menu-picker-key { display: inline-grid; place-items: center; width: 23px; height: 23px; border: 1px solid #d9d9d6; border-radius: .25rem; background: #f5f5f3; color: #585956; font-weight: 700; }
.menu-picker-key--filled { background: #f8edb7; color: #424b11; border-color: #acb26c; }
.menu-picker-dialog .menu-picker-count { font-size: .82rem; margin: 0 0 .5rem; }
.menu-picker-dialog .menu-picker-keyboard { font-size: .75rem; line-height: 1.5; color: #585956; margin: 0; }
.menu-picker-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem; margin-top: .7rem; padding-top: .5rem; border-top: 1px solid #d9d9d6; }
.menu-picker-bottom button { min-height: 44px; padding: .5rem .15rem; border: 0; background: #fff; color: #596218; text-decoration: underline; text-underline-offset: .2em; font-size: .8rem; }
@media(max-width:40rem) { .menu-date-form > .button, .menu-tools > .button { margin-top: 0; } }
@media(max-width:23rem) { .menu-picker-dialog { padding: .75rem; } .menu-picker-nav { grid-template-columns: 32px minmax(0,1.4fr) minmax(0,1fr) 32px; gap: .25rem; } .menu-picker-nav select { font-size: .85rem; } }
html[data-contrast="high"] :is(.menu-picker-dialog,.menu-picker-field input,.menu-picker-dialog button,.menu-picker-key,.menu-picker-dialog select) { border-color: #000; color: #000; }
html[data-contrast="high"] :is(.menu-picker-dialog p,.menu-picker-dialog th,.menu-picker .menu-picker-status,.menu-picker .menu-picker-format) { color: #000; }
html[data-contrast="high"] .menu-picker-grid [aria-selected="true"] .menu-picker-day { background: #000; color: #fff; }
@media(forced-colors:active) { .menu-picker-grid .menu-picker-day--filled { border: 2px solid ButtonText; } .menu-picker-grid [aria-selected="true"] .menu-picker-day { outline: 3px solid Highlight; } }
@media print { .menu-picker-dialog { display: none !important; } }
