#bilan_complet table tr.niveau-1 td {
    background-color: #FFF;
}

#bilan_complet table tr.niveau-2 td {
    background-color: #BED7EE;
}

#bilan_complet table tr.niveau-3 td {
    background-color: #FFF;
}

#bilan_complet table tr.niveau-4 td {
    background-color: #FFF;
}

#bilan_complet table tr.niveau-0-spacing td {
    padding-top: 8px;
    padding-bottom: 20px;
    vertical-align: top !important;
}

#bilan_complet table tr.niveau-0-spacing td .d-flex {
    align-items: flex-start !important;
}

/* Design System Tokens - FinSightX */
:root {
  /* Colors */
  --color-primary: #0055A5;
  --color-primary-grad: linear-gradient(135deg, #0055A5, #004080);
  --color-primary-grad-hover: linear-gradient(135deg, #004080, #003366);
  --color-blue-bs: #0d6efd;

  /* Success gradients */
  --grad-success: linear-gradient(135deg, #28a745, #20c997);
  --grad-danger: linear-gradient(135deg, #dc3545, #c82333);
  --grad-danger-hover: linear-gradient(135deg, #c82333, #a71e2a);
  --grad-warning: linear-gradient(135deg, #ffc107, #e0a800);

  /* Backgrounds */
  --bg-body: #f8f9fa;
  --bg-surface: #ffffff;

  /* Text colors */
  --text-base: #212529;
  --text-muted: #6c757d;
  --text-secondary: #495057;

  /* Borders */
  --border-1: #dee2e6;
  --border-2: #e9ecef;
  --border-3: #f0f0f0;

  /* Border radius */
  --radius-xl: 2rem;
  --radius-lg: 1rem;
  --radius-md: 0.75rem;
  --radius-sm: 8px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0,0,0,.06);
  --shadow-md: 0 4px 12px rgba(0,0,0,.10);

  /* Spacing */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;
}

.activity-list {
    text-align: left;
}

.activity-list .activity-item {
    margin-bottom: 0.5rem;
    padding: 0.5rem;
    border: 1px solid var(--border-2);
    border-radius: var(--radius-md);
    cursor: pointer;
}

.activity-list .activity-item:hover {
    background-color: var(--gray-100);
}

.activity-list .activity-item input[type="radio"] {
    margin-right: 0.5rem;
}

.activity-list .activity-item label {
    cursor: pointer;
    display: inline-block;
}

.activity-list .nested-list {
    margin-left: 1.5rem;
    margin-top: 0.5rem;
}

.sub-activities-container {
    display: none; /* Hidden by default */
}

/* ======================= BILAN DIRIVAL STYLES ======================= */
/* Styles extraits de templates/analysis/bilan.html.twig pour une meilleure organisation */

.bilan-clickable-row {
    cursor: pointer;
    user-select: none;
}

.bilan-clickable-row:hover {
    background-color: #f8f9fa;
}

.bilan-collapse-icon {
    transition: transform 0.2s ease;
}

.bilan-collapse-icon.expanded {
    transform: rotate(90deg);
}

.bilan-level-1 {
    font-weight: bold;
}

.bilan-level-2 {
    background-color: #f8f9fa;
}

.bilan-level-3 {
    background-color: #f0f0f0;
}

.bilan-level-4 {
    background-color: #e8e8e8;
}

.bilan-modal-xl {
    max-width: 90%;
}

.bilan-year-column {
    min-width: 120px;
}

/* Fond gris pour les codes PCG spécifiques avec spécificité renforcée */
.container-fluid .card-surface .table tbody tr.item-row.bilan-gray-bg {
    background-color: #e8e8e8 !important;
}

.container-fluid .card-surface .table tbody tr.item-row.bilan-gray-bg:hover {
    background-color: #d0d0d0 !important;
    border-left: 4px solid #999 !important;
}

/* Surcharge spécifique pour les niveaux avec fond gris */
.container-fluid .card-surface .table tbody tr.bilan-level-2.bilan-gray-bg {
    background-color: #e8e8e8 !important;
}

.container-fluid .card-surface .table tbody tr.bilan-level-3.bilan-gray-bg {
    background-color: #e8e8e8 !important;
}

/* Styles pour les tableaux d'écritures dans les modales */
.bilan-ecritures-table tbody tr.ecriture-row {
    transition: background-color 0.2s ease;
}

.bilan-ecritures-table tbody tr.ecriture-row:hover {
    background-color: #f0f8ff !important;
}

.bilan-ecritures-table tbody tr.total-row:hover {
    background-color: #e8f4fd !important;
}

/* Hover effects avec la plus haute spécificité possible */
.container-fluid .card-surface .table tbody tr.bilan-item-row {
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.container-fluid .card-surface .table tbody tr.bilan-item-row:hover {
    background-color: #e3f2fd !important;
    box-shadow: inset 2px 0 0 #0055A5, 0 1px 3px rgba(0,0,0,0.1) !important;
}

/* Effet hover par niveau avec bordure colorée pour plus de visibilité */
.container-fluid .card-surface .table tbody tr.bilan-item-row.bilan-level-1:hover {
    background-color: #e1f5fe !important;
    border-left: 4px solid #0055A5 !important;
}

.container-fluid .card-surface .table tbody tr.bilan-item-row.bilan-level-2:hover {
    background-color: #f0f8ff !important;
    border-left: 4px solid #4CAF50 !important;
}

.container-fluid .card-surface .table tbody tr.bilan-item-row.bilan-level-3:hover {
    background-color: #f5f5f5 !important;
    border-left: 4px solid #FF9800 !important;
}

.container-fluid .card-surface .table tbody tr.bilan-item-row.bilan-level-4:hover {
    background-color: #f0f8ff !important;
    border-left: 4px solid #9C27B0 !important;
}

/* Hover sur les en-têtes de section */
.bilan-section-header:hover {
    background-color: #bbdefb !important;
    transition: background-color 0.2s ease;
}

/* Style pour les lignes de total */
.bilan-total-row:hover {
    background-color: #fff3e0 !important;
}

/* Style pour les boutons de section */
.bilan-section-header .bilan-clickable-row {
    padding: 5px 8px;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.bilan-section-header .bilan-clickable-row:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
}

.bilan-section-header .bilan-collapse-icon {
    font-size: 1.2em;
    transition: transform 0.3s ease;
}

/* CSS pour les lignes à 2 chiffres en bleu - spécificité maximale */
.container-fluid .card-surface .table tbody tr.bilan-item-row.bilan-blue-bg td {
    background-color: #A7C9EC !important;
}

.container-fluid .card-surface .table tbody tr.bilan-item-row.bilan-blue-bg:hover td {
    background-color: #95B8E0 !important;
}

.container-fluid .card-surface .table tbody tr.bilan-item-row.bilan-blue-bg:hover {
    border-left: 4px solid #0055A5 !important;
}

/* Rollover hover fonctionnel pour toutes les lignes */
.container-fluid .card-surface .table tbody tr.bilan-item-row:hover td {
    background-color: #f0f8ff !important;
    transition: background-color 0.2s ease !important;
}

/* ======================= END BILAN DIRIVAL STYLES ======================= */

/* ======================= BREADCRUMB STYLES ======================= */

/* Breadcrumb Container */
.breadcrumb-container {
    background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
    border: 1px solid var(--border-1);
    border-radius: var(--radius-lg);
    padding: 0.875rem 1.25rem;
    margin-bottom: 1.5rem;
    box-shadow: var(--shadow-sm);
}

/* Breadcrumb Base */
.breadcrumb-container .breadcrumb {
    margin-bottom: 0;
    padding: 0;
    background: transparent;
    font-size: 0.9rem;
}

/* Breadcrumb Items */
.breadcrumb-container .breadcrumb-item {
    display: inline-flex;
    align-items: center;
}

.breadcrumb-container .breadcrumb-item a {
    color: var(--text-muted);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-sm);
    transition: all 0.2s ease;
}

.breadcrumb-container .breadcrumb-item a:hover {
    color: var(--color-primary);
    background-color: var(--ec-blue-100, rgba(0, 85, 165, 0.1));
}

.breadcrumb-container .breadcrumb-item a i {
    margin-right: 0.375rem;
    font-size: 0.95em;
}

/* Active Item */
.breadcrumb-container .breadcrumb-item.active {
    color: var(--text-base);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.5rem;
}

.breadcrumb-container .breadcrumb-item.active i {
    margin-right: 0.375rem;
    color: var(--color-primary);
}

/* Separator */
.breadcrumb-container .breadcrumb-item + .breadcrumb-item::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 2px solid var(--text-muted);
    border-top: 2px solid var(--text-muted);
    transform: rotate(45deg);
    margin: 0 0.5rem;
    opacity: 0.5;
}

/* Home Icon Special */
.breadcrumb-container .breadcrumb-item:first-child a {
    padding-left: 0;
}

/* Responsive */
@media (max-width: 576px) {
    .breadcrumb-container {
        padding: 0.75rem 1rem;
    }

    .breadcrumb-container .breadcrumb {
        font-size: 0.85rem;
    }

    .breadcrumb-container .breadcrumb-item + .breadcrumb-item::before {
        margin: 0 0.375rem;
    }
}

/* ======================= END BREADCRUMB STYLES ======================= */