/* Fix dropdown width to prevent resizing */
.form-select.fixed-width {
    min-width: 360px;
    max-width: 360px;
    width: 360px !important;
}

/* Filter dropdown button */
.filter-dropdown-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.filter-dropdown-btn .bi-funnel {
    font-size: 0.875rem;
}

/* ACTIVE/OPEN STATE: Use hover color to show it's active */
.filter-dropdown-btn:active,
.filter-dropdown-btn.show {
    background-color: var(--brand-primary-hover) !important;
    border-color: var(--brand-primary-hover) !important;
    color: var(--brand-primary-text) !important;
}

/* FOCUS STATE: Keep normal color (prevent sticking) but add shadow */
.filter-dropdown-btn:focus {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: var(--brand-primary-text) !important;
    box-shadow: var(--link-focus-shadow);
}

/* PRIORITY: If focused AND active/open, keep the active color */
.filter-dropdown-btn.show:focus,
.filter-dropdown-btn:active:focus {
    background-color: var(--brand-primary-hover) !important;
    border-color: var(--brand-primary-hover) !important;
}

/* Filter dropdown menu */
.filter-dropdown-menu {
    min-width: 320px;
    padding: 1rem;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.filter-dropdown-menu .filter-group {
    margin-bottom: 1rem;
}

.filter-dropdown-menu .filter-group:last-child {
    margin-bottom: 0;
}

.filter-dropdown-menu .filter-group label {
    display: block;
    margin-bottom: 0.375rem;
    font-weight: 500;
    font-size: 0.875rem;
}

.filter-dropdown-menu .form-control,
.filter-dropdown-menu .form-select {
    width: 100%;
    font-size: 0.875rem;
}

.filter-dropdown-menu .divider {
    height: 1px;
    background-color: var(--ui-border);
    margin: 1rem 0;
}

.filter-dropdown-menu .btn-reset {
    width: 100%;
    background-color: var(--brand-danger);
    color: var(--brand-danger-text) !important;
    border: none;
    font-size: 0.875rem;
    padding: 0.5rem;
    border-radius: var(--field-border-radius);
    text-align: center;
    display: block;
    text-decoration: none;
}

.filter-dropdown-menu .btn-reset:hover {
    background-color: var(--brand-danger-hover);
    color: var(--brand-danger-text) !important;
    text-decoration: none;
}

/* Filter notification badge */
.filter-badge {
    position: absolute;
    top: -4px;
    right: -8px;
    width: 18px;
    height: 18px;
    background: var(--brand-danger);
    color: white;
    border-radius: 50%;
    font-size: 0.65rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    z-index: 2;
}

/* Toolbar layout improvements */
.filter-toolbar {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.filter-toolbar .search-group {
    flex: 0 0 auto;
    min-width: 280px;
    max-width: 400px;
}

.filter-toolbar .workflow-group {
    flex: 0 0 auto;
}

.filter-toolbar .filter-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .filter-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-toolbar .search-group {
        width: 100%;
        max-width: 100%;
    }

    .filter-toolbar .filter-actions {
        width: 100%;
        justify-content: space-between;
        margin-left: 0;
    }

    .filter-dropdown-menu {
        min-width: 280px;
    }

    .form-select.fixed-width {
        min-width: 160px;
        max-width: 160px;
        width: 160px !important;
    }
}
