@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}

body {
  background: #F9FAFB; /* Fond neutre gris clair */
  color: #111827; /* Texte principal gris foncé */
}

a {
  text-decoration: none;
  color: #2563EB; /* Bleu vif pour les liens */
  font-size: 14px;
}

.top-container {
  background: #031224;
  border-radius: 0 0 30px 30px;
  padding-bottom: 10px;
}

.top-container .nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 2px solid #1e293b;
}

.top-container .nav .logo {
  display: flex;
  align-items: center;
  gap: 8px;
}

.top-container .nav .logo i {
  color: #fff;
  font-size: 24px;
}

.top-container .nav .logo a {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
}

.top-container .nav .nav-links {
  display: flex;
  gap: 20px;
}

.top-container .nav .nav-links a {
  color: #ccc;
  transition: 0.3s;
}

.top-container .nav .nav-links a:hover {
  color: #fff;
}

.top-container .nav .right-section {
  display: flex;
  align-items: center;
  gap: 10px;
}

.top-container .nav .right-section > i {
  color: #fff;
  background: #1e293b;
  padding: 10px;
  border-radius: 50%;
  cursor: pointer;
}

.top-container .nav .right-section .profile {
  display: flex;
  align-items: center;
  background: #1e293b;
  padding: 6px 12px;
  border-radius: 50px;
  gap: 10px;
}

.top-container .nav .right-section .profile img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #fff;
}

.bottom-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
  padding: 30px;
}

.card {
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.card h2 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 12px;
}

/* Badges harmonisés */
.badge {
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
}

.badge-success { background-color: #22C55E; } /* Vert émeraude */
.badge-warning { background-color: #F97316; } /* Orange chaud */
.badge-danger  { background-color: #DC2626; } /* Rouge vif */
.badge-info    { background-color: #2563EB; } /* Bleu vif */

/* Boutons harmonisés */
.btn {
  padding: 8px 16px;
  border-radius: 8px;
  font-weight: 600;
  transition: 0.3s;
}
.btn-primary {
  background-color: #FACC15; /* Jaune doré */
  color: #111827;
}
.btn-primary:hover {
  background-color: #EAB308; /* Jaune plus foncé */
}
.btn {
  background-color: #E5E7EB; /* Gris clair par défaut */
  color: #111827;
}
.btn:hover {
  background-color: #D1D5DB; /* Gris un peu plus foncé */
}

/* Sidebar (par défaut) */
aside {
  background-color: #FFFFFF;
  color: #111827;
}
aside a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
}
aside a:hover {
  background-color: #FACC15; /* Jaune doré au hover */
  color: #111827;
}

/* Responsive */
@media screen and (max-width: 768px) {
  .top-container .nav {
    flex-direction: column;
    gap: 15px;
  }
  .bottom-container {
    grid-template-columns: 1fr;
  }
}

/* === FORCE THEME: neutralise violet et impose palette projet === */

/* Sidebar links (menu) */
.sidebar, #sidebar, aside.sidebar {
  background: linear-gradient(180deg, #39aaba 0%, #2d8a98 100%);
  color: #ffffff;
}
.sidebar .menu-link,
#sidebar .menu-link,
aside.sidebar a,
aside#sidebar a {
  color: #ffffff !important;
  background: transparent !important;
  font-weight: 600;
  transition: color .18s ease, background-color .18s ease;
}
.sidebar .menu-link:hover,
#sidebar .menu-link:hover,
aside.sidebar a:hover,
aside#sidebar a:hover {
  color: #ffffff !important;
  background: rgba(255,255,255,0.15) !important;
}

/* Header / top navigation links */
header a,
header .nav a,
header a i,
header .nav a i,
.top-container .nav .nav-links a,
#mobile-menu a,
#mobile-menu a i,
nav#mobile-menu a {
  color: #ffffff !important;
  transition: color .18s ease, background-color .18s ease;
}
header a:hover,
.top-container .nav .nav-links a:hover,
#mobile-menu a:hover {
  color: #ffffff !important;
}

/* Logo text (navbar = blanc sur fond teal) */
header .font-bold,
header a .font-bold {
  color: #ffffff !important;
}
a .font-bold {
  color: inherit;
}
/* Exception : boutons CTA à fond blanc dans la navbar (texte teal lisible) */
header a.bg-white,
header a.bg-white .font-bold,
header a.bg-white i {
  color: #39aaba !important;
}

/* Neutraliser utilitaires violets courants (Tailwind / vendor) */
.bg-purple-700, .bg-violet-600, .text-violet-700, .text-purple-700,
.text-violet-500, .bg-violet-500 {
  background: none !important;
  color: inherit !important;
}

/* Si une animation/transition remplace la couleur, forcer la couleur finale */
.sidebar * { color: #ffffff !important; }
#sidebar, #sidebar * { color: #ffffff !important; }

/* Bouton mobile (burger) */
.menu-toggle, #menu-toggle {
  background: #FACC15 !important;
  color: #111827 !important;
  border: none !important;
}

/* Boutons primaires */
.btn-primary {
  background-color: #FACC15 !important;
  border-color: #EAB308 !important;
  color: #111827 !important;
}

/* Force couleur des liens du menu établissement */
#sidebar-menu a,
#sidebar-menu a:link,
#sidebar-menu a:visited,
#sidebar-menu a:active {
  color: #ffffff !important;            /* texte blanc (fond teal) */
  transition: color 200ms ease;
}

/* Hover / focus / active */
#sidebar-menu a:hover,
#sidebar-menu a:focus,
#sidebar-menu a.active {
  color: #fff !important;            /* texte blanc au survol */
  background-color: rgba(255,255,255,0.06) !important;
}
