/* Application-wide form controls: polished selects and accessible switch toggles. */
select{appearance:none;-webkit-appearance:none;min-height:44px;padding:.72rem 2.75rem .72rem .85rem;border:1px solid #c7d5cf;border-radius:10px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m5.5 7.5 4.5 4.5 4.5-4.5' stroke='%23155e4b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;background-size:18px;color:var(--ink);font-weight:650;line-height:1.2;box-shadow:0 1px 2px rgba(17,54,43,.04);cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color .15s}
select:hover{border-color:#9cb9ad;background-color:#fbfdfc}
select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(21,94,75,.13),0 2px 6px rgba(17,54,43,.06)}
select:disabled{cursor:not-allowed;color:#89958f;background-color:#f1f4f2;opacity:.8}
select[multiple]{min-height:132px;padding:.55rem;background-image:none}
select[multiple] option{padding:.55rem .65rem;border-radius:6px;margin:2px 0}
select[multiple] option:checked{background:linear-gradient(var(--brand-soft),var(--brand-soft));color:var(--brand-dark);font-weight:800}
input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:48px!important;min-width:48px;height:27px;padding:0!important;border:1px solid #adbbb5;border-radius:999px;background:#d9e0dd;box-shadow:inset 0 1px 3px rgba(20,44,35,.15);cursor:pointer;position:relative;vertical-align:middle;transition:background-color .2s,border-color .2s,box-shadow .2s}
input[type="checkbox"]:before{content:"";position:absolute;width:21px;height:21px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(12,48,41,.28);transition:transform .2s cubic-bezier(.2,.8,.2,1)}
input[type="checkbox"]:hover{border-color:#7f9d91}
input[type="checkbox"]:checked{background:var(--brand);border-color:var(--brand)}
input[type="checkbox"]:checked:before{transform:translateX(21px)}
input[type="checkbox"]:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(21,94,75,.16)}
input[type="checkbox"]:disabled{cursor:not-allowed;opacity:.55}
.form-grid p:has(> input[type="checkbox"]),.native-form p:has(> input[type="checkbox"]){display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:.65rem .75rem;border:1px solid var(--line);border-radius:10px;background:#f8faf9}
.form-grid p:has(> input[type="checkbox"]) label,.native-form p:has(> input[type="checkbox"]) label{font-size:.82rem;color:var(--ink)}
.filter-bar select{background-color:#fbfdfc}
@media(prefers-reduced-motion:reduce){select,input[type="checkbox"],input[type="checkbox"]:before{transition:none}}
.custom-select-native{position:absolute!important;width:1px!important;height:1px!important;min-height:1px!important;margin:0!important;padding:0!important;opacity:0;pointer-events:none;overflow:hidden}
.custom-select{position:relative;width:100%;min-width:0}
.custom-select-trigger{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:.72rem .85rem;border:1px solid #c7d5cf;border-radius:10px;background:#fff;color:var(--ink);font-weight:650;line-height:1.2;text-align:left;box-shadow:0 1px 2px rgba(17,54,43,.04);cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color .15s}
.custom-select-trigger:hover{border-color:#9cb9ad;background:#fbfdfc;transform:none}
.custom-select-trigger:focus,.custom-select.is-open .custom-select-trigger{border-color:var(--brand);box-shadow:0 0 0 3px rgba(21,94,75,.13),0 2px 6px rgba(17,54,43,.06);outline:none}
.custom-select-trigger:disabled{cursor:not-allowed;color:#89958f;background:#f1f4f2;opacity:.8}
.custom-select-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.custom-select-chevron{width:9px;height:9px;flex:0 0 auto;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg) translateY(-2px);transition:transform .18s}
.custom-select.is-open .custom-select-chevron{transform:rotate(225deg) translate(-2px,-2px)}
.custom-select-menu{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 7px);padding:7px;border:1px solid #c9d8d1;border-radius:12px;background:rgba(255,255,255,.98);box-shadow:0 18px 42px rgba(18,63,52,.18),0 3px 10px rgba(18,63,52,.08);backdrop-filter:blur(12px)}
.custom-select-menu[hidden]{display:none}
.custom-select-search{margin:0 0 6px;min-height:40px;background:#f7faf8}
.custom-select-options{max-height:280px;overflow:auto;overscroll-behavior:contain;padding:1px}
.custom-select-option{width:100%;min-height:39px;display:flex;align-items:center;justify-content:space-between;padding:.6rem .7rem;border:0;border-radius:8px;background:transparent;color:var(--ink);font-weight:600;text-align:left;box-shadow:none;cursor:pointer}
.custom-select-option:hover,.custom-select-option:focus{background:var(--brand-soft);color:var(--brand-dark);outline:none;transform:none}
.custom-select-option.is-selected{background:#e1f0ea;color:var(--brand-dark);font-weight:800}
.custom-select-option.is-selected:after{content:"✓";color:var(--brand);font-weight:900}
.custom-select-option:disabled{color:#9aa59f;cursor:not-allowed}
.filter-bar .custom-select-trigger{background:#fbfdfc}
@media(max-width:700px){.custom-select-menu{position:fixed;left:12px;right:12px;top:auto;bottom:12px;max-height:min(70vh,520px);border-radius:16px;padding:10px;box-shadow:0 -10px 50px rgba(8,35,29,.25)}.custom-select-options{max-height:min(55vh,400px)}}
