﻿.perf-shell {
    padding: 12px;
}

.perf-head {
    margin-bottom: 12px;
}

.perf-title {
    font-weight: 900;
    margin: 0;
}

.perf-sub {
    color: rgba(0,0,0,.55);
    font-size: 13px;
    margin-top: 4px;
}

.perf-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    padding: 12px;
    box-shadow: 0 10px 24px rgba(0,0,0,.05);
    margin-bottom: 12px;
}

    .perf-filters .pf label {
        display: block;
        font-size: 12px;
        font-weight: 800;
        color: rgba(0,0,0,.6);
        margin-bottom: 6px;
    }

    .perf-filters .actions {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }

.kpi-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.kpi {
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 10px 24px rgba(0,0,0,.05);
}

    .kpi .k {
        font-size: 12px;
        font-weight: 800;
        color: rgba(0,0,0,.6);
    }

    .kpi .v {
        margin-top: 6px;
        font-size: 22px;
        font-weight: 900;
    }

    .kpi .s {
        margin-top: 4px;
        font-size: 12px;
        color: rgba(0,0,0,.55);
    }

@media (max-width: 1100px) {
    .perf-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .perf-filters {
        grid-template-columns: 1fr;
    }

    .kpi-grid {
        grid-template-columns: 1fr;
    }
}
