/* Searchable entity filters preserve native selects when JavaScript is absent. */
.searchable-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.filters .searchable-field { min-width: 145px; max-width: 300px; flex: 1 1 170px; }
.filters .searchable-field > .searchable-label { display: block; min-width: 0; max-width: none; flex: none; margin: 0; }
.searchable-select { position: relative; display: flex; align-items: center; width: 100%; min-width: 0; }
.searchable-select > input { padding-right: 76px; text-overflow: ellipsis; }
.searchable-select > button { position: absolute; inset-block: 1px; min-height: 0; min-width: 36px; padding: 0 8px; border: 0; border-radius: 3px; color: #244d66; background: transparent; box-shadow: none; line-height: 1; }
.searchable-select > button:hover { background: #eaf1f4; color: #15334f; }
.searchable-select > button:focus-visible { outline: 2px solid #167147; outline-offset: -3px; }
.searchable-select > .searchable-toggle { right: 1px; display: grid; place-items: center; color: var(--text, #243746); }
.searchable-select > .searchable-toggle:hover { background: transparent; color: var(--text, #243746); }
.searchable-toggle > svg { display: block; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .12s ease; }
.searchable-toggle[aria-expanded=true] > svg { transform: rotate(180deg); }
.searchable-clear { right: 37px; font-size: 23px; }
.searchable-popup { position: fixed; z-index: 180; inset: auto; margin: 0; padding: 0; overflow: hidden; border: 1px solid #879eae; border-radius: 5px; background: #fff; color: #243746; box-shadow: 0 6px 22px #15334f26; font: 15px/1.45 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.searchable-options { list-style: none; overflow-y: auto; overscroll-behavior: contain; margin: 0; padding: 5px; }
.searchable-options > [role=option] { min-height: 40px; padding: 9px 11px; border-radius: 3px; overflow-wrap: anywhere; cursor: pointer; }
.searchable-options > [role=option]:hover, .searchable-options > .is-active { color: #104c2e; background: #e4f1e9; outline: 2px solid #2f7952; outline-offset: -2px; }
.searchable-options > .is-selected { font-weight: 650; }
.searchable-status { margin: 0; padding: 9px 13px; border-top: 1px solid #d5dfe5; color: #526474; font-size: 13px; }
@media (max-width: 800px) { .filters .searchable-field { max-width: none; min-width: 0; flex: 1 1 calc(50% - 16px); } }
@media (max-width: 600px) { .filters .searchable-field { flex-basis: 100%; } }
@media print { .searchable-popup, .searchable-select > button { display: none !important; } }
