/* GLSelect — shared searchable dropdown (self-hosted; replaces CDN TomSelect) */
.gls-wrapper { position: relative; }
.gls-control {
  display: flex; align-items: center; gap: 4px;
  padding: 6px 10px;
  border: 1.5px solid #e5e7eb; border-radius: 8px;
  background: #f9fafb; cursor: pointer; user-select: none;
  min-height: 36px; transition: border-color .15s, box-shadow .15s;
}
.gls-control:hover { border-color: #93c5fd; background: #fff; }
.gls-control.gls-open {
  border-color: #3b82f6; background: #fff;
  box-shadow: 0 0 0 3px rgba(59,130,246,.12);
  border-radius: 8px 8px 0 0;
}
.gls-value { flex:1; font-size:.875rem; color:#111827; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gls-placeholder { color:#9ca3af; }
.gls-clear { background:none; border:none; color:#9ca3af; font-size:1.1rem; line-height:1; padding:0 2px; cursor:pointer; flex-shrink:0; }
.gls-clear:hover { color:#ef4444; }
.gls-arrow { color:#9ca3af; font-size:.7rem; flex-shrink:0; transition:transform .15s; }
.gls-control.gls-open .gls-arrow { transform:rotate(180deg); }
.gls-dropdown {
  position: absolute; left:0; right:0; top:100%; z-index:9999;
  background:#fff; border:1.5px solid #3b82f6; border-top:none;
  border-radius:0 0 8px 8px; box-shadow:0 8px 24px rgba(0,0,0,.13);
}
.gls-search {
  width:100%; box-sizing:border-box;
  padding:7px 10px; border:none; border-bottom:1px solid #e5e7eb;
  outline:none; font-size:.875rem; background:#f9fafb;
}
.gls-list { max-height:200px; overflow-y:auto; }
.gls-option { padding:8px 12px; font-size:.875rem; cursor:pointer; color:#374151; }
.gls-option:hover { background:#f3f4f6; }
.gls-option.gls-selected { background:#eff6ff; color:#2563eb; font-weight:600; }
.gls-option.gls-empty { color:#9ca3af; font-style:italic; }

/* ── Multi customer filter (.mcf) ── visually identical to the dashboard assignee dropdown.
   Button reuses Bootstrap .form-select.form-select-sm so it matches the sibling filter boxes. */
.mcf{position:relative;display:inline-block;vertical-align:middle}
.mcf-btn{width:auto;min-width:160px}
.mcf-panel{position:absolute;z-index:1090;top:calc(100% + 4px);left:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:.35rem;min-width:230px;max-height:320px;overflow-y:auto;display:none}
.mcf-panel.open{display:block}
.mcf-actions{display:flex;align-items:center;gap:.25rem;padding:3px 7px 6px;font-size:.78rem;color:#6b7280}
.mcf-head{position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid #f1f5f9;margin-bottom:3px}
.mcf-search{padding:2px 6px 5px}
.mcf-search input{width:100%;font-size:.78rem;border:1px solid #e5e7eb;border-radius:6px;padding:4px 8px;outline:none}
.mcf-search input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.mcf-item{display:flex;align-items:center;gap:.5rem;padding:4px 7px;border-radius:5px;cursor:pointer;font-size:.8rem;white-space:nowrap;color:#374151}
.mcf-item:hover{background:#f3f4f6}
.mcf-item input{width:14px;height:14px;accent-color:#6366f1;flex-shrink:0}
