.kpi-card {
    text-align: center;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
    border: none;
    transition: transform 0.3s;
}

.kpi-card:hover {
    transform: translateY(-5px);
}

.kpi-value {
    font-size: 2.5rem;
    font-weight: 700;
}

.kpi-label {
    font-size: 1rem;
    color: #6c757d;
}

.kpi-icon {
    font-size: 2rem;
    margin-bottom: 10px;
}

.card-interventions { border-left: 4px solid var(--info-color) !important; }
.card-pending { border-left: 4px solid var(--status-pending) !important; }
.card-progress { border-left: 4px solid var(--status-completed) !important; }
.card-validation { border-left: 4px solid var(--warning-color) !important; }
.card-late { border-left: 4px solid var(--danger-color) !important; }


.badge-status {
    padding: 5px 10px;
    border-radius: 20px;
    font-weight: 500;
    display: inline-block;
}

.badge-completed { background-color: #d5f5e3; color: #2ecc71; }
.badge-in_progress { background-color: #fdebd0; color: #f39c12; }
.badge-pending_processing { background-color: #cce5ff; color: #3498db; }
.badge-pending_validation { background-color: #e8daef; color: #8e44ad; }
.badge-created { background-color: #eaecee; color: #7f8c8d; }
.badge-late { background-color: #fadbd8; color: #e74c3c; }
.badge-archived { background-color: #f5f5f5; color: #95a5a6; }

.chart-container {
    position: relative;
}

canvas.status-chart {
    width: 250px !important;
    height: 250px !important;
}

.progress {
    height: 10px;
    border-radius: 5px;
}

/* Styles pour le tableau des derniers relevés d'infrastructure */
.tabulator {
    border-radius: 8px;
    overflow: hidden;
    border: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.tabulator-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
}

.tabulator-header .tabulator-col {
    background-color: #f8f9fa;
    border-right: 1px solid #e9ecef;
    padding: 10px;
}

.tabulator-row {
    border-bottom: 1px solid #e9ecef;
}

.tabulator-row.tabulator-row-even {
    background-color: #f8f9fa;
}

.tabulator-row.tabulator-row-odd {
    background-color: #ffffff;
}

.tabulator-row:hover {
    background-color: #e9f5fe !important;
}

.tabulator-row .tabulator-cell {
    padding: 10px;
    border-right: 1px solid #e9ecef;
}

/* Styles pour les badges de statut dans le tableau */
.tabulator .badge-status {
    padding: 5px 10px;
    border-radius: 20px;
    font-weight: 500;
    display: inline-block;
    font-size: 0.85rem;
    white-space: nowrap;
}