﻿/* ───── Filter layout ───── */

.list-filters {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.filter-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.filter-group-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--mud-palette-text-primary);
    width: 80px;
    flex-shrink: 0;
}

.filter-search-col {
    width: 220px;
    flex-shrink: 0;
}

.filter-selected-chips {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    flex: 1;
}

    .filter-selected-chips::-webkit-scrollbar {
        display: none;
    }

/* ───── Filter chips ─────
   Used both for filter selections (multiple chips, click to toggle) and as
   role/status pickers in dialogs (single-select). Selected state uses a soft
   black wash to match the Safer near-black primary, with the primary used for
   text and border. */

.filter-chip {
    height: 34px;
    font-size: 0.875rem;
    font-weight: 400;
    border-radius: 4px;
    background: var(--mud-palette-background-grey);
    color: var(--mud-palette-text-secondary);
    border: 0.5px solid var(--mud-palette-divider);
    cursor: pointer;
    transition: all 0.15s ease;
    padding: 0 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    width: 68px;
    flex-shrink: 0;
}

    .filter-chip.selected {
        background: rgba(17, 17, 17, 0.06);
        color: var(--mud-palette-primary);
        border-color: var(--mud-palette-primary);
        font-weight: 500;
    }

    .filter-chip.clear {
        color: var(--mud-palette-text-secondary);
    }

.filter-selected-chip {
    height: 34px;
    font-size: 0.875rem;
    font-weight: 400;
    border-radius: 4px;
    background: rgba(17, 17, 17, 0.06);
    color: var(--mud-palette-primary);
    border: 0.5px solid var(--mud-palette-primary);
    padding: 0 0.75rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    flex-shrink: 0;
}

.filter-selected-chip-remove {
    cursor: pointer;
    font-size: 0.75rem;
    opacity: 0.7;
    line-height: 1;
}

    .filter-selected-chip-remove:hover {
        opacity: 1;
    }

.filter-chip.disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

/* ───── Filter MudBlazor overrides (generic autocomplete) ───── */

.filter-autocomplete .mud-input-root,
.filter-autocomplete .mud-input,
.filter-autocomplete input {
    font-size: 0.875rem !important;
    height: 34px !important;
    min-height: 34px !important;
}

.filter-autocomplete .mud-input-outlined-border {
    border-radius: 4px !important;
}

.filter-autocomplete .mud-input-adornment {
    display: none !important;
}
