/* Shared searchable multi-select dropdown for queue/extension report filters.
   Class names are prefixed msf- to avoid clashing with page-local styles.
   Uses var(...) with fallbacks since not every report page defines the same
   set of CSS custom properties (--line/--text/--muted/--blue/--red). */
.msf{position:relative}
.msf-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line,#e5e7eb);border-radius:10px;background:#fff;cursor:pointer;font-size:14px;font-family:inherit;text-align:left}
.msf-btn:focus{outline:2px solid var(--blue,#2563eb);outline-offset:1px}
.msf-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text,#0f172a)}
.msf-label.placeholder{color:var(--muted,#64748b)}
.msf-arrow{font-size:10px;color:var(--muted,#64748b);flex-shrink:0;transition:transform .15s}
.msf-btn.open .msf-arrow{transform:rotate(180deg)}
.msf-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;width:max-content;max-width:340px;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:150;display:none;overflow:hidden}
.msf-dropdown.open{display:block}
.msf-actions{display:flex;gap:0;border-bottom:1px solid var(--line,#e5e7eb)}
.msf-action{flex:1;padding:7px;font-size:12px;font-weight:700;border:none;background:none;cursor:pointer;color:var(--blue,#2563eb)}
.msf-action:hover{background:#f0f6ff}
.msf-search{width:100%;border:none;border-bottom:1px solid var(--line,#e5e7eb);padding:8px 14px;font:inherit;font-size:13px;outline:none;border-radius:0;background:#fafbfc;box-sizing:border-box}
.msf-search:focus{background:#f0f6ff}
.msf-options{max-height:220px;overflow-y:auto}
.msf-option{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;border-bottom:1px solid #f1f5f9}
.msf-option:last-child{border-bottom:0}
.msf-option:hover{background:#f8fafc}
.msf-option input{width:14px;height:14px;flex-shrink:0;cursor:pointer;accent-color:var(--blue,#2563eb)}
.msf-option-num{font-size:12px;font-weight:800;color:var(--muted,#64748b);min-width:44px;flex-shrink:0}
.msf-option-name{font-size:13px;font-weight:600;color:var(--text,#0f172a)}
