/* ──────────────────────────────────────────────────────────────────────────
   Filtros multi-seleção (estilo Google Sheets)
   Botão com label + dropdown de checkboxes. Usa as variáveis de tema da plataforma.
   ────────────────────────────────────────────────────────────────────────── */
.msf-bar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 28px; }
.msf-filtro { position: relative; }

.msf-btn {
    display: flex; align-items: center; gap: 8px;
    padding: 7px 14px; border-radius: 20px;
    border: 1px solid var(--border); background: var(--bg-card);
    color: var(--text-secondary);
    font-size: 0.82rem; font-family: inherit; font-weight: 600;
    cursor: pointer; transition: all 0.2s; white-space: nowrap; max-width: 320px;
}
.msf-btn:hover { border-color: rgba(168,85,247,.4); }
.msf-btn .msf-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.msf-btn .msf-label strong { color: inherit; font-weight: 700; }
.msf-btn.ativo { background: rgba(168,85,247,.12); border-color: rgba(168,85,247,.4); color: #a855f7; }
.msf-btn.ativo .msf-label strong { color: #a855f7; }
.msf-seta { font-size: 0.6rem; transition: transform 0.2s; flex-shrink: 0; }
.msf-btn.aberto .msf-seta { transform: rotate(180deg); }

.msf-menu {
    display: none; position: absolute; top: calc(100% + 6px); left: 0;
    min-width: 220px; max-width: 320px;
    background: var(--bg-card); border: 1px solid var(--border);
    border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.25);
    z-index: 60; overflow: hidden;
}
.msf-menu.aberto { display: block; }

.msf-actions { display: flex; gap: 6px; padding: 8px 10px; border-bottom: 1px solid var(--border); }
.msf-act {
    flex: 1; padding: 5px 8px; border-radius: 6px;
    border: 1px solid var(--border); background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: 0.72rem; font-family: inherit; font-weight: 600;
    cursor: pointer; transition: all 0.15s;
}
.msf-act:hover { border-color: rgba(168,85,247,.4); color: #a855f7; }

.msf-list { max-height: 260px; overflow-y: auto; padding: 6px; }
.msf-opt {
    display: flex; align-items: center; gap: 8px;
    padding: 7px 9px; border-radius: 6px;
    font-size: 0.82rem; color: var(--text-secondary);
    cursor: pointer; transition: background 0.15s;
}
.msf-opt:hover { background: rgba(168,85,247,.08); color: var(--text-primary); }
.msf-opt input { accent-color: #a855f7; width: 15px; height: 15px; cursor: pointer; flex-shrink: 0; margin: 0; }
.msf-opt span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.msf-empty { padding: 10px; font-size: 0.78rem; color: var(--text-muted); text-align: center; }
