/* ═══════════════════════════════════════════════════════════════════════════
   FermesIntegree — Theme Override for Inspinia Admin Dashboard
   Charge APRÈS app.min.css — surcharge les CSS custom properties Inspinia/Bootstrap
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. PALETTE DE MARQUE + OVERRIDES BOOTSTRAP & INSPINIA ─────────────── */
:root {
    /* === Palette FermesIntegree === */
    --fi-green1:   #0f4a24;
    --fi-green2:   #1a7a3c;
    --fi-green3:   #25a352;
    --fi-glow:     #4ade80;
    --fi-gold:     #f59e0b;
    --fi-gold-lt:  #fbbf24;
    --fi-on-dark:  #f0fdf4;
    --fi-on-light: #1a2e22;
    --fi-muted:    #3d5c4e;
    --fi-glass:     rgba(255,255,255,.18);
    --fi-glass-hov: rgba(255,255,255,.30);
    --fi-glass-bdr: rgba(255,255,255,.38);
    --fi-card-bdr: #d1e8d9;
    --fi-blur: blur(22px);
    --fi-display: 'Cormorant Garamond', Georgia, serif;
    --fi-body:    'Outfit', system-ui, sans-serif;

    /* === Bootstrap 5 primary color overrides === */
    --bs-primary:                   #1a7a3c;
    --bs-primary-rgb:               26,122,60;
    --bs-primary-text-emphasis:     #0f4a24;
    --bs-primary-bg-subtle:         #dcfce7;
    --bs-primary-border-subtle:     #86efac;
    --bs-success:                   #25a352;
    --bs-success-rgb:               37,163,82;
    --bs-success-text-emphasis:     #0f4a24;
    --bs-success-bg-subtle:         #f0fdf4;
    --bs-link-color:                #1a7a3c;
    --bs-link-hover-color:          #0f4a24;
    --bs-link-color-rgb:            26,122,60;
    --bs-body-font-family:          'Outfit', system-ui, sans-serif;
    --bs-body-color:                #1a2e22;
    --bs-body-bg:                   #f7faf8;
    --bs-border-color:              #d1e8d9;
    --bs-border-radius:             10px;
    --bs-border-radius-lg:          14px;
    --bs-border-radius-sm:          7px;

    /* === Inspinia theme variables (prefix: --theme-) === */
    --theme-primary:                #1a7a3c;
    --theme-primary-rgb:            26,122,60;
    --theme-secondary:              #25a352;
    --theme-font-family-secondary:  'Outfit', system-ui, sans-serif;

    /* Chart colors — palette agricole */
    --theme-chart-primary:          #1a7a3c;
    --theme-chart-primary-rgb:      26,122,60;
    --theme-chart-secondary:        #4ade80;
    --theme-chart-secondary-rgb:    74,222,128;
    --theme-chart-alpha:            #f59e0b;
    --theme-chart-alpha-rgb:        245,158,11;
    --theme-chart-beta:             #ef4444;
    --theme-chart-gamma:            #8b5cf6;
    --theme-chart-delta:            #3b82f6;
    --theme-chart-zeta:             #ec4899;
}

/* ── 2. FONTS GLOBALES ──────────────────────────────────────────────────── */
body {
    font-family: 'Outfit', system-ui, sans-serif !important;
    background-color: #f7faf8 !important;
    color: #1a2e22 !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.card-title,
.modal-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
}

/* ── 3. SIDEBAR DARK — bleu foncé → vert forêt ──────────────────────────── */
html[data-menu-color='dark'] {
    --theme-sidenav-bg:                  #0f4a24;
    --theme-sidenav-border-color:        #0f4a24;
    --theme-sidenav-item-color:          rgba(255,255,255,.78);
    --theme-sidenav-item-hover-color:    #fff;
    --theme-sidenav-item-hover-bg:       rgba(255,255,255,.1);
    --theme-sidenav-item-active-color:   #fff;
    --theme-sidenav-item-active-bg:      rgba(74,222,128,.16);
}

html[data-menu-color='light'] {
    --theme-sidenav-bg:                  #ffffff;
    --theme-sidenav-border-color:        #d1e8d9;
    --theme-sidenav-item-color:          #3d5c4e;
    --theme-sidenav-item-hover-color:    #1a7a3c;
    --theme-sidenav-item-hover-bg:       #f0fdf4;
    --theme-sidenav-item-active-color:   #1a7a3c;
    --theme-sidenav-item-active-bg:      #dcfce7;
}

html[data-menu-color='gray'] {
    --theme-sidenav-bg:                  #f0fdf4;
    --theme-sidenav-border-color:        #d1e8d9;
    --theme-sidenav-item-color:          #3d5c4e;
    --theme-sidenav-item-hover-color:    #1a7a3c;
    --theme-sidenav-item-hover-bg:       #dcfce7;
    --theme-sidenav-item-active-color:   #0f4a24;
    --theme-sidenav-item-active-bg:      #bbf7d0;
}

html[data-menu-color='gradient'] {
    --theme-sidenav-bg:                  linear-gradient(160deg, #0f4a24 0%, #1a7a3c 100%);
    --theme-sidenav-border-color:        transparent;
    --theme-sidenav-item-color:          rgba(255,255,255,.75);
    --theme-sidenav-item-hover-color:    #fff;
    --theme-sidenav-item-hover-bg:       rgba(255,255,255,.12);
    --theme-sidenav-item-active-color:   #4ade80;
    --theme-sidenav-item-active-bg:      rgba(74,222,128,.14);
}

/* Dark mode sidebar */
html[data-bs-theme='dark'][data-menu-color='dark'],
html[data-bs-theme='dark'][data-menu-color='gray'],
html[data-bs-theme='dark'][data-menu-color='light'] {
    --theme-sidenav-bg:                  #051a0f;
    --theme-sidenav-border-color:        #0a2e17;
    --theme-sidenav-item-color:          rgba(255,255,255,.65);
    --theme-sidenav-item-hover-color:    #fff;
    --theme-sidenav-item-hover-bg:       rgba(255,255,255,.1);
    --theme-sidenav-item-active-color:   #4ade80;
    --theme-sidenav-item-active-bg:      rgba(74,222,128,.12);
}

/* ── 4. TOPBAR ───────────────────────────────────────────────────────────── */
html[data-topbar-color='light'] {
    --theme-topbar-bg:                   #ffffff;
    --theme-topbar-item-color:           #1a2e22;
    --theme-topbar-item-hover-color:     #1a7a3c;
    --theme-topbar-search-bg:            #f0fdf4;
    --theme-topbar-search-border:        #d1e8d9;
}

html[data-topbar-color='gray'] {
    --theme-topbar-bg:                   #f0fdf4;
    --theme-topbar-item-color:           #1a2e22;
    --theme-topbar-item-hover-color:     #1a7a3c;
    --theme-topbar-search-bg:            #dcfce7;
    --theme-topbar-search-border:        #d1e8d9;
}

html[data-topbar-color='dark'] {
    --theme-topbar-bg:                   #0f4a24;
    --theme-topbar-item-color:           rgba(255,255,255,.85);
    --theme-topbar-item-hover-color:     #4ade80;
    --theme-topbar-search-bg:            rgba(255,255,255,.1);
    --theme-topbar-search-border:        rgba(255,255,255,.15);
}

html[data-topbar-color='gradient'] {
    --theme-topbar-bg:                   linear-gradient(90deg, #0f4a24, #1a7a3c);
    --theme-topbar-item-color:           rgba(255,255,255,.85);
    --theme-topbar-item-hover-color:     #4ade80;
    --theme-topbar-search-bg:            rgba(255,255,255,.1);
    --theme-topbar-search-border:        rgba(255,255,255,.15);
}

html[data-bs-theme='dark'][data-topbar-color='light'],
html[data-bs-theme='dark'][data-topbar-color='dark'],
html[data-bs-theme='dark'][data-topbar-color='gray'] {
    --theme-topbar-bg:                   #051a0f;
    --theme-topbar-item-color:           rgba(255,255,255,.75);
    --theme-topbar-item-hover-color:     #4ade80;
    --theme-topbar-search-bg:            rgba(255,255,255,.08);
    --theme-topbar-search-border:        rgba(255,255,255,.1);
}

/* ── 5. BUTTONS ──────────────────────────────────────────────────────────── */
.btn-primary {
    --bs-btn-bg:                  #1a7a3c;
    --bs-btn-border-color:        #1a7a3c;
    --bs-btn-color:               #fff;
    --bs-btn-hover-bg:            #0f4a24;
    --bs-btn-hover-border-color:  #0f4a24;
    --bs-btn-hover-color:         #fff;
    --bs-btn-active-bg:           #0f4a24;
    --bs-btn-active-border-color: #0f4a24;
    --bs-btn-focus-shadow-rgb:    26,122,60;
    background-color: #1a7a3c !important;
    border-color: #1a7a3c !important;
    color: #fff !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
    background-color: #0f4a24 !important;
    border-color: #0f4a24 !important;
    color: #fff !important;
}

.btn-outline-primary {
    --bs-btn-color:               #1a7a3c;
    --bs-btn-border-color:        #1a7a3c;
    --bs-btn-hover-bg:            #1a7a3c;
    --bs-btn-hover-border-color:  #1a7a3c;
    --bs-btn-active-bg:           #0f4a24;
    color: #1a7a3c !important;
    border-color: #1a7a3c !important;
}
.btn-outline-primary:hover { background-color: #1a7a3c !important; color: #fff !important; }

.btn-success {
    --bs-btn-bg:                  #25a352;
    --bs-btn-border-color:        #25a352;
    --bs-btn-color:               #fff;
    --bs-btn-hover-bg:            #1a7a3c;
    --bs-btn-hover-border-color:  #1a7a3c;
    --bs-btn-hover-color:         #fff;
    background-color: #25a352 !important;
    border-color: #25a352 !important;
    color: #fff !important;
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active { background-color: #1a7a3c !important; border-color: #1a7a3c !important; color: #fff !important; }

.btn-outline-success {
    color: #25a352 !important;
    border-color: #25a352 !important;
}
.btn-outline-success:hover { background-color: #25a352 !important; color: #fff !important; }

.btn-soft-primary {
    background-color: #dcfce7 !important;
    color: #1a7a3c !important;
    border-color: transparent !important;
}
.btn-soft-primary:hover { background-color: #bbf7d0 !important; color: #0f4a24 !important; }

.btn-soft-success {
    background-color: #f0fdf4 !important;
    color: #25a352 !important;
    border-color: transparent !important;
}
.btn-soft-success:hover { background-color: #dcfce7 !important; color: #1a7a3c !important; }

.btn-soft-danger {
    background-color: #fef2f2 !important;
    color: #dc2626 !important;
    border-color: transparent !important;
}
.btn-soft-danger:hover { background-color: #fee2e2 !important; color: #b91c1c !important; }

.btn-soft-warning {
    background-color: #fffbeb !important;
    color: #d97706 !important;
    border-color: transparent !important;
}
.btn-soft-warning:hover { background-color: #fef3c7 !important; color: #b45309 !important; }

/* Sidebar toggle button — icône blanche sur fond vert */
.sidenav-toggle-button.btn-primary {
    background-color: #1a7a3c !important;
    border-color:     #1a7a3c !important;
    color:            #fff !important;
}
.sidenav-toggle-button.btn-primary:hover {
    background-color: #0f4a24 !important;
    border-color:     #0f4a24 !important;
}

/* ── 6. LIENS ────────────────────────────────────────────────────────────── */
a { color: #1a7a3c; }
a:hover { color: #0f4a24; }

/* ── 7. COULEURS UTILITAIRES ─────────────────────────────────────────────── */
.text-primary  { color: #1a7a3c !important; }
.text-success  { color: #25a352 !important; }
.bg-primary    { background-color: #1a7a3c !important; }
.bg-success    { background-color: #25a352 !important; }
.bg-light      { background-color: #f0fdf4 !important; }
.border-primary { border-color: #1a7a3c !important; }
.border-success { border-color: #25a352 !important; }

/* ── 8. BADGES ───────────────────────────────────────────────────────────── */
.badge.text-bg-primary, .badge.bg-primary {
    background-color: #1a7a3c !important; color: #fff !important;
}
.badge.text-bg-success, .badge.bg-success {
    background-color: #25a352 !important; color: #fff !important;
}
.badge.text-bg-info, .badge.bg-info {
    background-color: #f59e0b !important; color: #1a2e22 !important;
}
.badge.text-bg-warning, .badge.bg-warning {
    background-color: #fbbf24 !important; color: #1a2e22 !important;
}
.badge.text-bg-danger, .badge.bg-danger {
    background-color: #ef4444 !important; color: #fff !important;
}
.badge.text-bg-secondary, .badge.bg-secondary {
    background-color: #3d5c4e !important; color: #fff !important;
}
span.badge.text-bg-primary { background-color: #1a7a3c !important; color: #fff !important; }
span.badge.text-bg-info    { background-color: #f59e0b !important; color: #1a2e22 !important; }

/* ── 9. FORMULAIRES ──────────────────────────────────────────────────────── */
.form-control:focus,
.form-select:focus {
    border-color: #25a352 !important;
    box-shadow: 0 0 0 0.25rem rgba(37,163,82,.2) !important;
    outline: none !important;
}

.form-check-input:checked {
    background-color: #1a7a3c !important;
    border-color: #1a7a3c !important;
}
.form-check-input:focus {
    box-shadow: 0 0 0 0.25rem rgba(26,122,60,.25) !important;
    border-color: #25a352 !important;
}

.input-group-text {
    background-color: #f0fdf4;
    border-color: #d1e8d9;
    color: #1a7a3c;
}

/* ── 10. NAVIGATION & ONGLETS ────────────────────────────────────────────── */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: #1a7a3c !important;
    color: #fff !important;
}
.nav-tabs .nav-link.active {
    color: #1a7a3c !important;
    border-color: #d1e8d9 #d1e8d9 #fff !important;
}
.nav-link { color: #1a7a3c; }
.nav-link:hover, .nav-link:focus { color: #0f4a24; }

/* ── 11. PAGINATION ──────────────────────────────────────────────────────── */
.page-link { color: #1a7a3c; border-color: #d1e8d9; }
.page-link:hover { color: #0f4a24; background-color: #f0fdf4; border-color: #d1e8d9; }
.page-item.active .page-link {
    background-color: #1a7a3c !important;
    border-color: #1a7a3c !important;
    color: #fff !important;
}
.page-item.disabled .page-link { color: #3d5c4e; border-color: #d1e8d9; }

/* ── 12. DROPDOWN ────────────────────────────────────────────────────────── */
.dropdown-menu {
    border-color: #d1e8d9 !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 32px rgba(15,74,36,.12), 0 2px 8px rgba(0,0,0,.06) !important;
    padding: .4rem !important;
}
.dropdown-item {
    border-radius: 8px !important;
    font-size: .9rem;
}
.dropdown-item.active,
.dropdown-item:active { background-color: #1a7a3c !important; color: #fff !important; }
.dropdown-item:hover,
.dropdown-item:focus  { background-color: #f0fdf4 !important; color: #0f4a24 !important; }
.dropdown-header      { color: #3d5c4e !important; font-size: .75rem; letter-spacing: .06em; padding: .35rem .75rem .2rem; }

/* ── 13. PROGRESS BARS ───────────────────────────────────────────────────── */
.progress-bar                { background-color: #1a7a3c !important; }
.progress-bar.bg-success     { background-color: #25a352 !important; }
.progress-bar.bg-primary     { background-color: #1a7a3c !important; }
.progress-bar.bg-info        { background-color: #f59e0b !important; }

/* ── 14. ALERTES ─────────────────────────────────────────────────────────── */
.alert-success {
    color: #0f4a24;
    background-color: #dcfce7;
    border-color: #86efac;
}
.alert-primary {
    color: #0f4a24;
    background-color: #f0fdf4;
    border-color: #4ade80;
}

/* ── 15. TABLES ──────────────────────────────────────────────────────────── */
.table-primary {
    --bs-table-bg:           rgba(26,122,60,.1);
    --bs-table-border-color: rgba(26,122,60,.2);
    --bs-table-color:        #0f4a24;
}
.table-success {
    --bs-table-bg:           rgba(37,163,82,.1);
    --bs-table-border-color: rgba(37,163,82,.2);
}

/* ── 16. SPINNERS ────────────────────────────────────────────────────────── */
.spinner-border.text-primary,
.spinner-grow.text-primary { color: #1a7a3c !important; }

/* ── 17. CARDS ───────────────────────────────────────────────────────────── */
.card { border-color: #d1e8d9 !important; border-radius: 16px !important; }
.card-header { font-family: 'Outfit', system-ui, sans-serif; }

/* ── 18. MODALS ──────────────────────────────────────────────────────────── */
.modal-content {
    border-radius: 20px !important;
    border-color: #d1e8d9 !important;
    overflow: hidden;
}
.modal-header {
    background:
        radial-gradient(ellipse at 15% 50%, rgba(26,122,60,.9) 0%, transparent 55%),
        radial-gradient(ellipse at 85% 30%, rgba(15,74,36,.8) 0%, transparent 50%),
        #0d3d1c !important;
    border-bottom-color: rgba(74,222,128,.2) !important;
    padding: 1.1rem 1.5rem;
}
.modal-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    color: #4ade80 !important;
    font-size: 1.35rem;
    letter-spacing: -.01em;
}
.modal-header .btn-close {
    filter: invert(1) brightness(2);
    opacity: .75;
}
.modal-header .btn-close:hover { opacity: 1; }

/* ── 19. TOPNAV (layout horizontal) ─────────────────────────────────────── */
.topnav-menu .nav-link.active,
.topnav-menu .nav-link:hover { color: #1a7a3c !important; }

/* ── 20. SIDE NAV — actif indicator override ─────────────────────────────── */
/* Barre active gauche verte */
.side-nav-item .side-nav-link.active::before,
.sidenav-menu .active > a::before {
    background: #4ade80 !important;
}

/* ── 21. SCROLLBAR PERSONNALISÉE ──────────────────────────────────────────── */
/* WebKit (Chrome, Edge, Safari) */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(15,74,36,.2); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #1a7a3c; }
/* Firefox (Gecko) */
html { scrollbar-color: rgba(15,74,36,.25) transparent; scrollbar-width: thin; }

/* ── 22. DARK MODE GLOBAL ────────────────────────────────────────────────── */
html[data-bs-theme='dark'] {
    --bs-body-bg:    #0a1f10;
    --bs-body-color: #d4e8d9;
    color-scheme: dark;
}
html[data-bs-theme='dark'] .card { background-color: #0f2a18 !important; border-color: #1a3d25 !important; }
html[data-bs-theme='dark'] .modal-content { background-color: #0f2a18 !important; border-color: #1a3d25 !important; }

/* ── 23. LOGO BRAND SIDEBAR ──────────────────────────────────────────────── */
/* Accent vert sous le logo */
.sidenav-menu .logo { border-bottom: 1px solid rgba(74,222,128,.15); }

/* ── 24. CUSTOMIZER (panneau de thème) ───────────────────────────────────── */
.customizer-setting { display: none !important; } /* cache le bouton customizer pour la prod */

/* ════════════════════════════════════════════════════════════════════════════
   25. SIDEBAR ACTIVE STATE — identique au design WebApp FermesIntégree
   ════════════════════════════════════════════════════════════════════════════

   WebApp reference (.fi-nav-link.active) :
     • background : rgba(74,222,128,.16)   ← géré par --theme-sidenav-item-active-bg
     • color      : #fff                   ← géré par --theme-sidenav-item-active-color
     • font-weight: 600                    ← ajouté ci-dessous
     • ::before   : barre verte 3px gauche ← ajouté ci-dessous
   ════════════════════════════════════════════════════════════════════════════ */

/* ── A. Lien actif top-level : font-weight semi-bold ─────────────────────── */
.side-nav > .side-nav-item.active > .side-nav-link,
.side-nav > .side-nav-item.active > a {
    font-weight: 600 !important;
}

/* ── B. Barre d'accent gauche (signature WebApp) ─────────────────────────── */
/*
   La .side-nav-link a position:relative (compilé depuis _sidenav.scss).
   Le .side-nav > .side-nav-item a padding: 0 10px.
   left: -10px annule ce padding → la barre touche le bord gauche du sidebar.
   border-radius: 0 3px 3px 0 → côté gauche plat, côté droit arrondi.
*/
/*.side-nav > .side-nav-item.active > .side-nav-link::before,
.side-nav > .side-nav-item.active > a::before {
    content: '';
    position: absolute;
    left: -10px;        
    top: 6px;
    bottom: 6px;
    width: 3px;
    background: #4ade80; 
    border-radius: 0 3px 3px 0;
    pointer-events: none;
}*/

/* ── C. Sous-menu actif — vert glow (comme .fi-nav-sub-link.active WebApp) ── */
.side-nav .sub-menu .side-nav-item.active > .side-nav-link,
.side-nav .sub-menu .side-nav-item.active > a {
    color: #4ade80 !important; /* --fi-glow */
    font-weight: 600 !important;
    background-color: rgba(74,222,128,.10) !important;
    border-radius: 8px;
    border-left: 3px solid var(--fi-glow) !important;
}

/* ── D. Lien parent d'un sous-menu actif (collapsed ouvert) ──────────────── */
.side-nav > .side-nav-item.active > .side-nav-link[data-bs-toggle="collapse"] {
    background-color: rgba(74,222,128,.10) !important;
    color: #fff !important;
    border-left: 3px solid var(--fi-glow);
}

/* ── E. Hover sur tous les liens sidebar (cohérence globale) ─────────────── */
.side-nav-link:hover,
.side-nav-link:focus {
    background-color: rgba(255,255,255,.09) !important;
    border-radius: 8px;
}

/* ── F. Icônes dans les liens actifs — passage en blanc/glow ─────────────── */
.side-nav > .side-nav-item.active > .side-nav-link .menu-icon i,
.side-nav > .side-nav-item.active > a .menu-icon i {
    color: #4ade80;
}

/* ── G. Texte section (side-nav-title) — vert muted ─────────────────────── */
.side-nav .side-nav-title {
    color: rgba(255,255,255,.42) !important;
    letter-spacing: .14em;
}

/* ── H. User panel en haut du sidebar ───────────────────────────────────── */
.sidenav-user {
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
}
.sidenav-user .sidenav-user-name { color: #fff !important; }
.sidenav-user .fs-12 { color: rgba(255,255,255,.62) !important; }

/* ════════════════════════════════════════════════════════════════════════════
   26. TYPOGRAPHIE — restriction du serif aux grands titres uniquement
   ════════════════════════════════════════════════════════════════════════════
   Cormorant Garamond est optimisé pour les grands corps (h1–h3).
   h4–h6 passent en Outfit pour une meilleure lisibilité à petite taille.
   ════════════════════════════════════════════════════════════════════════════ */
h4, h5, h6, .h4, .h5, .h6 {
    font-family: 'Outfit', system-ui, sans-serif !important;
    letter-spacing: -.01em;
}
h1, h2, h3, .h1, .h2, .h3 {
    letter-spacing: -.02em;
    line-height: 1.1;
}
/* Titres de cartes (généralement h5/h6) → Outfit */
.card-title, .modal-title { font-family: 'Outfit', system-ui, sans-serif !important; }
/* Overrides spécifiques pour les titres qui doivent rester serif */
.fi-sec-h,
.fi-h1,
.fi-plan-nm,
.fi-plan-pr,
.fi-cta-h { font-family: 'Cormorant Garamond', Georgia, serif !important; }

/* ════════════════════════════════════════════════════════════════════════════
   27. TOPBAR — barre de recherche + icônes + badges notification
   ════════════════════════════════════════════════════════════════════════════ */

/* Barre de recherche focus → vert FI */
.topbar-search:focus {
    border-color: #25a352 !important;
    box-shadow: 0 0 0 0.2rem rgba(37,163,82,.18) !important;
    background-color: #f0fdf4 !important;
}
.app-search-icon { color: #1a7a3c !important; }

/* Icônes action topbar (notifications, settings, etc.) */
.topbar-item .nav-link:hover,
.topbar-item a:hover { color: #1a7a3c !important; }

/* Badge notification circulaire sur les icônes */
.topbar-item .badge-notify,
.nav-icon-badge,
.noti-icon .badge {
    background-color: #4ade80 !important;
    color: #0f4a24 !important;
    font-weight: 700;
}

/* Bouton toggle horizontal nav (fond transparent → icône verte sur topbar clair) */
.topnav-toggle-button { color: #1a7a3c !important; }
/* Sur topbar sombre, l'icône doit être claire */
html[data-topbar-color='dark']     .topnav-toggle-button,
html[data-topbar-color='gradient'] .topnav-toggle-button { color: rgba(255,255,255,.85) !important; }

/* Avatar / initiales utilisateur dans la topbar */
.avatar-title.bg-primary { background-color: #1a7a3c !important; color: #fff !important; }
.avatar-title.bg-success  { background-color: #25a352 !important; color: #fff !important; }
.avatar-title.bg-info     { background-color: #f59e0b !important; color: #1a2e22 !important; }
.avatar-title.bg-warning  { background-color: #fbbf24 !important; color: #1a2e22 !important; }
.avatar-title.bg-danger   { background-color: #ef4444 !important; color: #fff !important; }

/* ════════════════════════════════════════════════════════════════════════════
   28. SIDEBAR LOGO — Fallback texte FI si pas d'image
   ════════════════════════════════════════════════════════════════════════════
   Si /images/logo.png est manquant, le <img> est invisible (broken).
   On ajoute un style pour que la zone logo reste propre et brandée.
   ════════════════════════════════════════════════════════════════════════════ */
.sidenav-menu .logo {
    display: flex;
    align-items: center;
    padding: 1rem 1rem .75rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
    min-height: 68px;
}
.sidenav-menu .logo img {
    border-radius: 10px;
}
/* Lorsque l'image est chargée, on conserve sa hauteur definie par le template */
.sidenav-menu .logo .logo-lg img { max-height: 36px; width: auto; }
.sidenav-menu .logo .logo-sm img { max-height: 28px; width: auto; }

/* ════════════════════════════════════════════════════════════════════════════
   29. COMPOSANTS UTILITAIRES — patterns du WebApp portés vers Inspinia
   ════════════════════════════════════════════════════════════════════════════ */

/* Glass card (glassmorphisme léger) */
.fi-glass-card {
    background: rgba(255,255,255,.78);
    border: 1px solid #d1e8d9 !important;
    border-radius: 22px !important;
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    box-shadow: 0 4px 24px rgba(15,74,36,.08), inset 0 1px 0 rgba(255,255,255,.9) !important;
    transition: all .3s ease;
}
.fi-glass-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 44px rgba(15,74,36,.14) !important;
    border-color: #86efac !important;
}

/* Dashboard module card (identique WebApp) */
.fi-dash-card {
    background: #fff;
    border: 1px solid #d1e8d9;
    border-radius: 20px;
    padding: 2rem 1.5rem 1.75rem;
    text-align: center;
    transition: all .3s ease;
    box-shadow: 0 2px 12px rgba(15,74,36,.07);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .6rem;
    text-decoration: none;
    color: inherit;
    height: 100%;
    position: relative;
    overflow: hidden;
}
.fi-dash-card::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, #25a352, transparent);
    opacity: 0;
    transition: opacity .3s;
}
.fi-dash-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 42px rgba(15,74,36,.14);
    border-color: #86efac;
    color: inherit;
}
.fi-dash-card:hover::after { opacity: 1; }

/* État vide (empty state) */
.fi-empty {
    text-align: center;
    padding: 5rem 2rem;
    color: #3d5c4e;
}
.fi-empty .fi-empty-ico { font-size: 4rem; margin-bottom: 1rem; opacity: .45; display: block; }
.fi-empty h5 { color: #1a2e22; font-weight: 600; margin-bottom: .5rem; font-family: 'Outfit', system-ui, sans-serif; }
.fi-empty p  { font-size: .9rem; max-width: 360px; margin: 0 auto; }

/* Page header FI */
.fi-page-header {
    background: linear-gradient(135deg, rgba(15,74,36,.04), rgba(26,122,60,.02));
    border-bottom: 1px solid #d1e8d9;
    padding: 1.5rem 0;
    margin-bottom: 2rem;
}
.fi-page-header h1,
.fi-page-header h2 {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 700;
    color: #0f4a24;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
}

/* ── 30. TABLES ─────────────────────────────────────────────────────────── */
.table > thead > tr > th {
    background-color: #f0fdf4 !important;
    color: #0f4a24 !important;
    border-bottom-color: #d1e8d9 !important;
    font-family: 'Outfit', system-ui, sans-serif;
    font-weight: 600;
    font-size: .82rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.table > tbody > tr > td          { border-color: #e8f5ec; }
.table > tbody > tr:hover > td    { background-color: #f7faf8 !important; }
.table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-accent-bg: #f7faf8; }

/* ── 31. ACCORDION ──────────────────────────────────────────────────────── */
.accordion-item { border-color: #d1e8d9 !important; border-radius: 12px !important; overflow: hidden; }
.accordion-item + .accordion-item { margin-top: .4rem; }
.accordion-button:not(.collapsed) {
    background-color: #f0fdf4 !important;
    color: #0f4a24 !important;
    box-shadow: inset 0 -1px 0 #d1e8d9 !important;
}
.accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(26,122,60,.2) !important; }

/* ── 32. LIST GROUP ─────────────────────────────────────────────────────── */
.list-group-item.active   { background-color: #1a7a3c !important; border-color: #1a7a3c !important; color: #fff !important; }
.list-group-item:hover:not(.active) { background-color: #f0fdf4 !important; }
.list-group-item          { border-color: #d1e8d9 !important; }

/* ── 33. BREADCRUMB ─────────────────────────────────────────────────────── */
.breadcrumb-item a                  { color: #1a7a3c !important; text-decoration: none; }
.breadcrumb-item a:hover            { color: #0f4a24 !important; }
.breadcrumb-item.active             { color: #3d5c4e !important; }
.breadcrumb-item + .breadcrumb-item::before { color: #86efac !important; }

/* ── 34. TOOLTIPS ───────────────────────────────────────────────────────── */
.tooltip .tooltip-inner {
    background-color: #0f4a24 !important;
    color: #f0fdf4 !important;
    border-radius: 8px !important;
    font-size: .8rem;
    padding: .35rem .65rem;
}
.tooltip.bs-tooltip-top    .tooltip-arrow::before { border-top-color:    #0f4a24 !important; }
.tooltip.bs-tooltip-bottom .tooltip-arrow::before { border-bottom-color: #0f4a24 !important; }
.tooltip.bs-tooltip-start  .tooltip-arrow::before { border-left-color:   #0f4a24 !important; }
.tooltip.bs-tooltip-end    .tooltip-arrow::before { border-right-color:  #0f4a24 !important; }

/* ── 35. TOASTS ─────────────────────────────────────────────────────────── */
.toast { border-color: #d1e8d9 !important; border-radius: 14px !important; overflow: hidden; }
.toast-header {
    background-color: #f0fdf4 !important;
    border-bottom-color: #d1e8d9 !important;
    color: #0f4a24 !important;
}

/* ── 36. POPOVER ────────────────────────────────────────────────────────── */
.popover {
    border-color: #d1e8d9 !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 32px rgba(15,74,36,.14) !important;
    overflow: hidden;
}
.popover-header {
    background:
        radial-gradient(ellipse at 15% 60%, rgba(26,122,60,.85) 0%, transparent 55%),
        #0d3d1c !important;
    border-bottom-color: rgba(74,222,128,.2) !important;
    color: #4ade80 !important;
    font-weight: 600;
}

/* ── 37. OFFCANVAS ──────────────────────────────────────────────────────── */
.offcanvas-header {
    background:
        radial-gradient(ellipse at 15% 50%, rgba(26,122,60,.9) 0%, transparent 55%),
        radial-gradient(ellipse at 85% 30%, rgba(15,74,36,.8) 0%, transparent 50%),
        #0d3d1c !important;
    border-bottom-color: rgba(74,222,128,.2) !important;
}
.offcanvas-title { color: #4ade80 !important; font-family: 'Cormorant Garamond', Georgia, serif !important; font-size: 1.25rem; }
.offcanvas-header .btn-close { filter: invert(1) brightness(2); opacity: .75; }
.offcanvas-header .btn-close:hover { opacity: 1; }
.offcanvas { border-color: #d1e8d9 !important; }

/* ── 38. PAGE HEADER FI (gradient de marque) ────────────────────────────── */
.fi-page-header {
    background:
        radial-gradient(ellipse at 5% 60%, rgba(26,122,60,.08) 0%, transparent 50%),
        radial-gradient(ellipse at 95% 20%, rgba(15,74,36,.06) 0%, transparent 45%),
        #f7faf8;
    border-bottom: 1px solid #d1e8d9;
    padding: 1.5rem 0;
    margin-bottom: 2rem;
}
.fi-page-header h1,
.fi-page-header h2 {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 700;
    color: #0f4a24;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
}

/* ── 39. CARD HEADER ACCENT (optionnel via classe) ──────────────────────── */
.card-header-fi {
    background:
        radial-gradient(ellipse at 10% 55%, rgba(26,122,60,.88) 0%, transparent 52%),
        radial-gradient(ellipse at 88% 25%, rgba(15,74,36,.75) 0%, transparent 48%),
        #0d3d1c !important;
    color: #4ade80 !important;
    border-bottom-color: rgba(74,222,128,.18) !important;
    border-radius: 16px 16px 0 0 !important;
    padding: .85rem 1.25rem;
}
.card-header-fi .card-title { color: #4ade80 !important; }
.card-header-fi .text-muted  { color: rgba(240,253,244,.55) !important; }

/* ════════════════════════════════════════════════════════════════════════════
   40. RESPONSIVE — corrections mobile pour l'admin
   ════════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {
    .card            { border-radius: 14px !important; }
    .dropdown-menu   { border-radius: 12px !important; }
    .table > thead > tr > th { font-size: .75rem; }
}
