/* ============================================================
   Combobox (select buscable) — escribir + desplegar
   ============================================================ */
.cbx{position:relative;display:block;width:100%}
.cbx-native{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;opacity:0;pointer-events:none}

/* en el inicio el <select> vive dentro de .control: anulamos su borde/caret */
.control.cbx-host{border:0!important;background:none!important;box-shadow:none!important;padding:0!important}
.control.cbx-host.has-caret::after{display:none}

.cbx-input{width:100%;padding:.72rem 2rem .72rem .85rem;border:1.5px solid var(--line);border-radius:10px;
  background:#fafbfc;font:inherit;font-size:.95rem;color:var(--ink);cursor:text;outline:none;
  text-overflow:ellipsis}
.cbx-input::placeholder{color:#9AA5B1}
.cbx.open .cbx-input,.cbx-input:focus{border-color:var(--cian);background:#fff;box-shadow:0 0 0 4px rgba(2,181,251,.12)}

.cbx-caret{position:absolute;right:.85rem;top:50%;width:8px;height:8px;margin-top:-6px;
  border-right:2px solid var(--gray);border-bottom:2px solid var(--gray);transform:rotate(45deg);cursor:pointer}
.cbx.open .cbx-caret{margin-top:-2px;transform:rotate(225deg)}

.cbx-pop{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:60;display:none;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  box-shadow:0 18px 40px -18px rgba(31,41,51,.4);max-height:280px;overflow:auto;padding:.35rem}
.cbx.open .cbx-pop{display:block}
.cbx-list{list-style:none;margin:0;padding:0}
.cbx-opt{padding:.55rem .7rem;border-radius:8px;cursor:pointer;font-size:.92rem;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cbx-opt:hover,.cbx-opt.active{background:rgba(2,181,251,.12);color:var(--cian-700)}
.cbx-opt.sel{font-weight:700}
.cbx-opt.cbx-clear{color:var(--ink-soft);border-bottom:1px solid var(--line-2);border-radius:0;margin-bottom:.2rem}
.cbx-empty{padding:.6rem .7rem;color:var(--ink-soft);font-size:.88rem}

/* dentro de la barra de filtros (páginas PHP) se comporta como los selects */
.filterbar .cbx{flex:0 1 210px;min-width:150px;width:auto}
