/* =========================================================
   ROB FILTER SYSTEM — CANONICAL FINISH (v1)
   Purpose: Perfect alignment, consistent sizing, clean UX
   ========================================================= */

.filter-panel {
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.07);
    border-radius: 14px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04);
}

.filter-accent {
    width: 3px;
    height: 18px;
    border-radius: 2px;
    background: #ffc107;
    margin-right: 10px;
    flex-shrink: 0;
}

/* Optional active state */
.filter-accent.active {
    background: #ffc107;
}


.filter-panel .d-flex.align-items-center {
    align-items: center;
}

.filter-label,
.filter-panel .form-label {
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    margin-bottom: 4px;
    white-space: nowrap;
}

.filter-panel .form-control,
.filter-panel .form-select {
    height: 36px;
    padding: 6px 10px;
    font-size: 0.875rem;
    line-height: 1.2;
    border-radius: 0.375rem;
}

.filter-panel input[type="date"] {
    padding-right: 6px;
}

.filter-panel .btn {
    height: 36px;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}


.filter-panel .btn i {
    font-size: 0.8rem;
}


.filter-panel .row {
    align-items: flex-end;
}


.filter-panel .form-control:focus,
.filter-panel .form-select:focus {
    box-shadow: 0 0 0 0.15rem rgba(37, 99, 235, 0.15);
}


@media (max-width: 576px) {
    .filter-panel {
        padding: 0.75rem !important;
    }

    .filter-panel .btn {
        font-size: 0.8rem;
    }
}