/**
 * Page Comptabilité - Bento Grid Design System
 * Version: 2.0 (Mise à jour Design)
 * Date: 26 Janvier 2026
 * Description: Harmonisation avec le Design System Loyr (Palette Profile Bento)
 * Référence: DESIGN_SPECS_PROFILE_BENTO.md
 */

/* ============================================
   VARIABLES CSS - DESIGN SYSTEM LOYR
   ============================================ */
:root {
  /* Couleurs principales Loyr (Identiques à Profile Bento) */
  --accounting-lime: #A8E34F;           /* Vert clair principal - accents, boutons CTA */
  --accounting-lime-light: #E8FFB7;     /* Vert très clair - backgrounds subtils */
  --accounting-lime-dark: #7FC73E;      /* Vert foncé lime - hover states */
  
  --accounting-green: #00D97A;          /* Vert secondaire - badges de succès */
  --accounting-green-dark: #00A85E;     /* Vert foncé - hover secondaire */
  
  --accounting-forest: #0A1A16;         /* Vert très foncé - texte principal */
  --accounting-forest-light: #0f2621;   /* Vert foncé léger - backgrounds sombres */
  --accounting-forest-dark: #061110;    /* Vert noir - footer, header scrolled */
  
  /* Gris (backgrounds et textes) */
  --accounting-gray-50: #F9FAFB;        /* Background page principale */
  --accounting-gray-100: #F3F4F6;       /* Background cards secondaires */
  --accounting-gray-200: #E5E7EB;       /* Borders cards */
  --accounting-gray-300: #D1D5DB;       /* Borders inputs */
  --accounting-gray-400: #9CA3AF;       /* Icônes désactivées */
  --accounting-gray-500: #6B7280;       /* Texte secondaire */
  --accounting-gray-600: #4B5563;       /* Texte gris foncé */
  --accounting-gray-700: #374151;       /* Texte important */
  --accounting-gray-800: #1F2937;       /* Texte très foncé */
  --accounting-gray-900: #111827;       /* Titres principaux */
  
  /* États */
  --accounting-success: #10B981;        /* Succès, validation */
  --accounting-warning: #F59E0B;        /* Avertissements */
  --accounting-danger: #EF4444;         /* Erreurs, suppressions */
  --accounting-info: #3B82F6;           /* Informations, badges */
}

/* ============================================
   LAYOUT PRINCIPAL
   ============================================ */
#accountingView {
  min-height: 100vh;
  background: var(--accounting-gray-50);
  padding: 2rem 0;
}

/* ============================================
   STATISTIQUES CARDS (KPIs)
   ============================================ */
.accounting-stat-card {
  background: white;
  border-radius: 16px;
  padding: 1.5rem;
  border: 1px solid var(--accounting-gray-200);
  box-shadow: 0 2px 8px rgba(10, 26, 22, 0.08);
  transition: all 0.3s ease;
  animation: accounting-fade-in 0.4s ease-out;
}

.accounting-stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 20px -6px rgba(0, 0, 0, 0.15);
}

.accounting-stat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  margin-bottom: 1rem;
}

.accounting-stat-value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--accounting-gray-800);
  margin-bottom: 0.25rem;
}

.accounting-stat-label {
  font-size: 0.875rem;
  color: var(--accounting-gray-600);
  margin-bottom: 0.75rem;
}

.accounting-stat-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 500;
}

/* ============================================
   FILTRES & ACTIONS CARD
   ============================================ */
.accounting-actions-card {
  background: white;
  border-radius: 16px;
  padding: 1.5rem;
  border: 1px solid var(--accounting-gray-200);
  box-shadow: 0 2px 8px rgba(10, 26, 22, 0.08);
  animation: accounting-fade-in 0.4s ease-out 0.1s both;
}

.accounting-filters {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media (min-width: 768px) {
  .accounting-filters {
    flex-direction: row;
    align-items: center;
  }
}

.accounting-search-wrapper {
  position: relative;
  flex: 1;
}

.accounting-search-icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--accounting-gray-400);
  pointer-events: none;
}

.accounting-search-input {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 2.75rem;
  border: 1px solid var(--accounting-gray-300);
  border-radius: 12px;
  font-size: 0.875rem;
  transition: all 0.2s ease;
  outline: none;
  background: white;
}

.accounting-search-input:focus {
  border-color: var(--accounting-lime);
  box-shadow: 0 0 0 3px rgba(168, 227, 79, 0.1);
}

.accounting-filter-select {
  padding: 0.75rem 1rem;
  border: 1px solid var(--accounting-gray-300);
  border-radius: 12px;
  font-size: 0.875rem;
  background: white;
  color: var(--accounting-gray-700);
  cursor: pointer;
  transition: all 0.2s ease;
  outline: none;
}

.accounting-filter-select:focus {
  border-color: var(--accounting-lime);
  box-shadow: 0 0 0 3px rgba(168, 227, 79, 0.1);
}

/* ============================================
   BOUTONS
   ============================================ */
.accounting-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: 12px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  outline: none;
  white-space: nowrap;
}

.accounting-btn-primary {
  background: var(--accounting-lime);
  color: var(--accounting-forest);
}

.accounting-btn-primary:hover {
  background: var(--accounting-lime-dark);
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(168, 227, 79, 0.4);
}

.accounting-btn-secondary {
  background: white;
  color: var(--accounting-gray-700);
  border: 1px solid var(--accounting-gray-300);
}

.accounting-btn-secondary:hover {
  background: var(--accounting-gray-50);
  border-color: var(--accounting-gray-400);
}

/* ============================================
   GRILLE DE CARDS
   ============================================ */
.accounting-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.5rem;
  animation: accounting-fade-in 0.4s ease-out 0.2s both;
}

@media (min-width: 768px) {
  .accounting-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .accounting-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* ============================================
   DATA CARDS
   ============================================ */
.accounting-card {
  background: white;
  border-radius: 16px;
  border: 1px solid var(--accounting-gray-200);
  box-shadow: 0 2px 8px rgba(10, 26, 22, 0.08);
  transition: all 0.3s ease;
  overflow: hidden;
}

.accounting-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 20px -6px rgba(0, 0, 0, 0.15);
  border-color: var(--accounting-lime);
}

.accounting-card-header {
  padding: 1.25rem;
  border-bottom: 1px solid var(--accounting-gray-100);
}

.accounting-card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--accounting-forest);
  margin-bottom: 0.5rem;
}

.accounting-card-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.accounting-card-body {
  padding: 1.25rem;
}

.accounting-card-info {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.accounting-info-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: var(--accounting-gray-600);
}

.accounting-info-row i {
  width: 1rem;
  color: var(--accounting-gray-400);
  flex-shrink: 0;
}

.accounting-card-footer {
  padding: 1rem 1.25rem;
  background: var(--accounting-gray-50);
  display: flex;
  gap: 0.5rem;
}

/* ============================================
   BADGES
   ============================================ */
.accounting-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}

.accounting-badge-success {
  background: #D1FAE5;
  color: #065F46;
}

.accounting-badge-warning {
  background: #FEF3C7;
  color: #92400E;
}

.accounting-badge-danger {
  background: #FEE2E2;
  color: #991B1B;
}

.accounting-badge-info {
  background: #DBEAFE;
  color: #1E40AF;
}

.accounting-badge-neutral {
  background: var(--accounting-gray-100);
  color: var(--accounting-gray-700);
}

/* ============================================
   BOUTONS D'ACTION
   ============================================ */
.accounting-btn-action {
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  border: 1px solid var(--accounting-gray-300);
  background: white;
  color: var(--accounting-gray-700);
  cursor: pointer;
  transition: all 0.2s ease;
}

.accounting-btn-action:hover {
  background: var(--accounting-gray-50);
  border-color: var(--accounting-gray-400);
}

.accounting-btn-action-primary {
  flex: 1;
  background: var(--accounting-lime);
  color: var(--accounting-forest);
  border-color: var(--accounting-lime);
}

.accounting-btn-action-primary:hover {
  background: var(--accounting-lime-dark);
  border-color: var(--accounting-lime-dark);
}

/* ============================================
   ANIMATIONS
   ============================================ */
@keyframes accounting-fade-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ============================================
   RESPONSIVE
   ============================================ */

/* Mobile */
@media (max-width: 767px) {
  #accountingView {
    padding: 1rem 0;
  }
  
  .accounting-stat-card,
  .accounting-actions-card {
    padding: 1rem;
  }
  
  .accounting-card-header,
  .accounting-card-body,
  .accounting-card-footer {
    padding: 1rem;
  }
  
  .accounting-btn {
    justify-content: center;
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1023px) {
  .accounting-grid {
    gap: 1.25rem;
  }
}

/* ============================================
   STYLES SPÉCIFIQUES À ACCOUNTING
   Ajoutez vos styles personnalisés ci-dessous
   ============================================ */

/* Exemple : style pour un avatar ou une image */
/*
.accounting-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--accounting-gray-200);
  display: flex;
  align-items: center;
  justify-content: center;
}

.accounting-avatar i {
  font-size: 1.5rem;
  color: var(--accounting-gray-500);
}
*/
/
