/* Кастомные выпадающие списки и календарь. Нативные input/select остаются источником значений формы.
   Все цвета — из токенов темы (theme.css), поэтому светлая/тёмная тема работает без отдельных переопределений. */

.custom-picker,.custom-date{position:relative;isolation:isolate;width:100%;min-width:0}
.custom-picker.picker-open,.custom-date.picker-open{z-index:999}

/* Нативные элементы полностью убраны из потока — виден только кастомный триггер. */
.native-select-hidden,.native-date-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;padding:0!important;border:0!important}
select.native-select-hidden,.form-grid select.native-select-hidden,.select-wrap select.native-select-hidden,
#worker.native-select-hidden,#club.native-select-hidden,#discountProduct.native-select-hidden{
 display:none!important;appearance:none!important;-webkit-appearance:none!important;visibility:hidden!important;pointer-events:none!important;
 width:0!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background-image:none!important}

.picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:46px;padding:11px 14px;border:0;border-radius:14px;background:var(--field);color:var(--text);font-family:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer;box-shadow:var(--shadow-field)}
.picker-trigger:focus-visible,.picker-open>.picker-trigger{outline:2px solid var(--accent);outline-offset:2px}
.picker-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.picker-empty{opacity:.7}
.picker-chevron{flex:0 0 8px;width:8px;height:8px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg);transition:transform .15s}
.picker-open .picker-chevron{transform:rotate(225deg)}

.picker-menu,.date-popup{display:none;position:absolute;top:calc(100% + 7px);left:0;right:0;z-index:1000;max-height:256px;overflow:auto;overscroll-behavior:contain;padding:6px;border:1px solid var(--line);border-radius:16px;background:var(--surface-pop);color:var(--text);box-shadow:0 16px 42px rgba(0,0,0,.35)}
.picker-open>.picker-menu,.picker-open>.date-popup{display:block}

.picker-option{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:41px;margin:0;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--text);font-family:inherit;font-size:13px;font-weight:500;line-height:1.35;text-align:left;white-space:normal;cursor:pointer;box-shadow:none;-webkit-appearance:none;appearance:none}
.picker-option:hover,.picker-option:focus-visible{background:var(--soft-blue);outline:0}
.picker-option[aria-selected=true]{background:var(--soft-blue)}
.picker-option[aria-selected=true]::after{content:'✓';margin-left:auto;padding-left:10px;font-size:13px;color:var(--accent)}
.picker-option:disabled{opacity:.45;pointer-events:none}

/* Календарь */
.date-trigger{font-size:12px;min-height:35px;padding:7px 10px;white-space:nowrap}
.date-popup{left:auto;right:0;width:290px;min-width:280px;max-height:none;padding:12px}
.date-popup-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;text-transform:capitalize}
.date-popup-bar button{border:0;border-radius:50%;background:transparent;color:inherit;width:34px;height:34px;padding:0;font-size:22px;line-height:1;cursor:pointer}
.date-popup-bar button:hover{background:var(--btn-soft)}
.date-popup-bar button{display:grid;place-items:center;box-shadow:none}
.date-popup-bar button:disabled{opacity:.35;cursor:default}
.date-popup-bar .calendar-previous{transform:rotate(135deg);margin-left:3px}
.date-popup-bar .calendar-next{transform:rotate(-45deg);margin-right:3px}
.date-trigger:disabled{opacity:.5;cursor:default}
.compact-date .date-trigger .picker-value,.compact-date .date-trigger .picker-chevron{display:block!important}
.date-popup-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.date-popup-grid>span{font-size:11px;padding:7px 0;opacity:.6}
.date-popup-day{border:0;border-radius:50%;background:transparent;color:inherit;padding:9px 0;font-family:inherit;font-size:12px;cursor:pointer}
.date-popup-day:hover{background:var(--soft-blue)}
.date-popup-day.selected{background:var(--accent);color:var(--accent-text);font-weight:800}
.date-popup-day:disabled{opacity:.35;cursor:not-allowed}

@media(max-width:420px){.date-popup{width:min(290px,calc(100vw - 28px));max-width:calc(100vw - 28px)}}

/* Date popup above every report card, even across stacking contexts. */
body > .date-popup-portal{position:fixed!important;display:none!important;z-index:2147483000!important;right:auto!important;bottom:auto!important;max-width:calc(100vw - 24px)!important;box-sizing:border-box!important;isolation:isolate}
body > .date-popup-portal.is-portal-open{display:block!important}
