/* Кастомные выпадающие списки — оформление (логика в custom_selects.js).
   Нативный <select> остаётся в DOM (его читает весь существующий код),
   поверх рисуется свой триггер и меню. Размеры берутся из переменных,
   которые скрипт снимает с самого select ДО его скрытия — иначе
   компактные списки в таблицах раздувались бы до формы. */
.ct-select{display:inline-block;position:relative;min-width:0;width:100%;max-width:100%;vertical-align:middle}
.ct-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important;padding:0!important;margin:0!important}
.ct-select-trigger{display:flex!important;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:var(--ct-select-h,44px);font-size:var(--ct-select-font,inherit);padding:var(--ct-select-pad,11px 14px)!important;border:1px solid var(--stroke,#e2e8f0)!important;border-radius:var(--ct-select-radius,11px)!important;background:var(--card,#fff)!important;color:var(--ink,#0f172a)!important;text-align:left;font:inherit;cursor:pointer;box-shadow:none!important}
.ct-select-trigger span{min-width:0;overflow-wrap:anywhere}
.ct-select-trigger i{font-style:normal;font-size:21px;color:var(--ai,#2563eb)}
.ct-select-chevron{flex:none;width:16px;height:16px;color:var(--ai,#2563eb);transition:transform .15s ease}
.ct-select-trigger[aria-expanded=true] .ct-select-chevron{transform:rotate(180deg)}
.ct-select-trigger:hover,.ct-select-trigger[aria-expanded=true]{border-color:var(--ai,#2563eb)!important;background:var(--ai-dim,rgba(37,99,235,.10))!important}
.ct-select-trigger:focus-visible{outline:3px solid var(--ai,#2563eb);outline-offset:2px}
.ct-select-trigger:disabled{opacity:.55;cursor:wait}
.ct-select-menu{position:fixed;z-index:20000;box-sizing:border-box;overflow:auto;padding:6px;background:var(--card,#fff);color:var(--ink,#172033);border:1px solid var(--stroke,#dbe2ed);border-radius:14px;box-shadow:0 14px 40px rgba(15,23,42,.18)}
.ct-select-menu .ct-select-option{display:block;width:100%;box-sizing:border-box;padding:12px 34px 12px 12px;border:0;border-radius:9px;background:transparent;color:inherit;text-align:left;white-space:normal;overflow-wrap:anywhere;font:inherit;font-size:14px;cursor:pointer;position:relative}
.ct-select-option:hover,.ct-select-option:focus{background:var(--field,#f1f5f9);outline:none}
.ct-select-option[aria-selected=true]{background:var(--ai-dim,#edf1ff);color:var(--ai,#315bff);font-weight:700}
.ct-select-option[aria-selected=true]:after{content:'✓';position:absolute;right:12px;top:12px}
.ct-select-option:disabled{opacity:.45;cursor:not-allowed}
.ct-select-search{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid var(--stroke,#dbe2ed);border-radius:9px;margin-bottom:6px;font:inherit;background:var(--card,#fff);color:inherit}
.ct-select-empty{padding:12px;color:var(--muted,#64748b);font-size:13px}
