/* Responsive flow et général */

/* --- Responsive --- */
@media (max-width: 768px) {
    .flow-section {
        content-visibility: visible;
        contain-intrinsic-size: none;
    }

    .flow-section,
    .flow-candidates-section,
    .flow-card,
    .flow-card-detail {
        max-width: 100%;
    }

    .flow-section {
        gap: var(--spacing-sm);
    }

    .flow-card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-sm);
    }

    .flow-card-left,
    .flow-card-right,
    .flow-card-kpis,
    .flow-candidate-info,
    .flow-section-fields,
    .flow-section-fields > .flow-detail-group,
    .flow-section-block,
    .flow-detail-finance,
    .flow-detail-actions,
    .flow-detail-meta {
        min-width: 0;
        max-width: 100%;
    }

    .flow-card-right {
        flex-wrap: wrap;
        width: 100%;
        justify-content: space-between;
        align-items: flex-start;
        gap: var(--spacing-xs);
    }

    .flow-subtabs,
    .flow-toolbar,
    .flow-toolbar-left,
    .flow-filter-select,
    .flow-card-detail,
    .flow-section-block,
    .flow-quick-actions,
    .flow-detail-finance,
    .flow-detail-actions,
    .flow-detail-meta {
        width: 100%;
        max-width: 100%;
    }

    .flow-toolbar-left {
        min-width: 0;
    }

    .flow-subtabs,
    .flow-filter-pills,
    .flow-stats-grid {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
    }

    .flow-stats-grid {
        gap: var(--spacing-sm);
    }

    .flow-subtab {
        flex: 0 1 calc((100% - var(--spacing-sm)) / 2);
        width: calc((100% - var(--spacing-sm)) / 2);
        max-width: calc((100% - var(--spacing-sm)) / 2);
        min-width: 0;
    }

    .flow-filter-pill,
    .flow-stat-card {
        min-width: 0;
    }

    .flow-filter-pill {
        flex: 0 1 calc((100% - var(--spacing-xs)) / 2);
        width: calc((100% - var(--spacing-xs)) / 2);
        max-width: calc((100% - var(--spacing-xs)) / 2);
        justify-content: space-between;
    }

    .flow-stat-card {
        flex: 0 1 calc((100% - var(--spacing-sm)) / 2);
        width: calc((100% - var(--spacing-sm)) / 2);
        max-width: calc((100% - var(--spacing-sm)) / 2);
    }

    .flow-stats-grid [data-flow-stat-card="profit"] {
        flex-basis: 100%;
        width: 100%;
        max-width: 100%;
    }

    .flow-filter-select {
        width: 100%;
    }

    .flow-toolbar-label {
        white-space: normal;
    }

    .flow-card-kpis {
        flex-wrap: wrap;
        gap: var(--spacing-sm);
    }

    .flow-card-kpi {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .flow-card-title {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .flow-candidate-card {
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .flow-candidate-actions {
        width: 100%;
        justify-content: stretch;
        display: grid;
        grid-template-columns: 1fr;
    }

    .flow-candidate-card .flow-btn,
    .flow-detail-actions .flow-btn {
        width: 100%;
        justify-content: center;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .flow-detail-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .flow-card-detail,
    .flow-section-block,
    .flow-business-kpis {
        padding-left: var(--spacing-sm);
        padding-right: var(--spacing-sm);
    }

    .flow-bkpi-header {
        flex-wrap: wrap;
    }

    .flow-bkpi-table-wrap {
        margin: 0 calc(var(--spacing-2xs) * -1);
        padding: 0 var(--spacing-2xs);
    }

    .flow-detail-actions .flow-btn,
    .flow-quick-chip,
    .flow-section-header,
    .flow-detail-label,
    .flow-finance-row span,
    .flow-detail-meta span {
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .flow-section-fields {
        grid-template-columns: 1fr;
    }

    .flow-bkpi-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .flow-bkpi-table {
        font-size: var(--text-2xs);
        min-width: 420px;
    }

    .flow-bkpi-cat-name {
        max-width: 100px;
    }

    .flow-bkpi-week {
        flex-wrap: wrap;
        gap: var(--spacing-2xs);
    }

    .flow-business-kpis {
        max-width: 100%;
    }
}

@media (max-width: 520px) {
    .flow-bkpi-grid {
        grid-template-columns: 1fr;
    }

    .flow-card-right,
    .flow-card-kpis {
        width: 100%;
    }

    .flow-stat-card {
        padding: 0.75rem;
    }
}

@media (max-width: 380px) {
    .flow-subtab,
    .flow-filter-pill,
    .flow-stat-card {
        flex-basis: 100%;
        width: 100%;
        max-width: 100%;
    }

    .flow-stats-grid [data-flow-stat-card="profit"] {
        flex-basis: 100%;
    }
}

.stats-chart-card {
    position: relative;
    min-height: 280px;
    border: 1px solid var(--gray-200);
    background: linear-gradient(170deg, rgba(30, 41, 59, 0.8) 0%, rgba(15, 23, 42, 0.72) 100%);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-md);
    box-shadow: var(--shadow-sm);
}

.stats-chart-card-donut {
    min-height: 320px;
}

.stats-chart-card-wide {
    min-height: 340px;
}

.stats-chart-card canvas {
    width: 100% !important;
    height: 100% !important;
}

.stats-kpi-list {
    display: grid;
    gap: var(--spacing-sm);
}

.stats-kpi-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    width: fit-content;
    padding: 0.5rem 0.75rem;
    border-radius: var(--border-radius-pill);
    border: 1px solid rgba(148, 163, 184, 0.25);
    background: rgba(15, 23, 42, 0.36);
    color: var(--gray-600);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
}

.stats-kpi-chip strong {
    color: var(--gray-800);
}

