/* Theme: White, Red accent, Light */
:root {
  --color-red: #d32f2f;
  --color-red-dark: #b71c1c;
  --color-red-light: #ffebee;
  --bg-page: #f5f5f5;
  --bg-surface: #ffffff;
  --bg-surface-alt: #fafafa;
  --bg-stripe: #f9f9f9;
  --border: #e0e0e0;
  --text-main: #212121;
  --text-muted: #757575;
  --text-light: #e0e0e0;
}

body {
  background-color: var(--bg-page);
  color: var(--text-main);
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, sans-serif;
  letter-spacing: 0.01em;
}

.display-6 {
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--text-main);
  position: relative;
  padding-bottom: .25rem;
}
.display-6::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  background: linear-gradient(90deg, var(--color-red), var(--color-red-dark));
  border-radius: 2px;
}

/* Navbar — reste sombre (identité de marque).
   Le fond reprend celui du logo JPEG (rgb(19,19,19)) pour un raccord invisible. */
.navbar {
  background-color: #131313 !important;
  border-bottom: 2px solid var(--color-red-dark);
  box-shadow: 0 2px 12px rgba(0,0,0,.18);
}
.navbar .navbar-brand,
.navbar .nav-link,
.navbar .navbar-text { color: var(--text-light) !important; }
.navbar .nav-link:hover { color: var(--color-red) !important; }
.navbar .nav-link.active {
  color: var(--color-red) !important;
  border-bottom: 2px solid var(--color-red);
}
.navbar .navbar-brand { display: flex; align-items: center; gap: .5rem; }
.brand-logo {
  height: 32px;
  width: auto;
}

/* Links */
a { color: var(--color-red); text-decoration: none; }
a:hover { color: var(--color-red-dark); text-decoration: underline; }

/* Buttons */
.btn {
  border-radius: 8px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: .85rem;
  font-weight: 600;
}
.btn-primary {
  background-color: var(--color-red);
  border-color: var(--color-red-dark);
  color: #fff;
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--color-red-dark);
  border-color: #8b0000;
}
.btn-outline-light { border-color: rgba(255,255,255,.6); color: #fff; }
.btn-outline-light:hover { background-color: rgba(255,255,255,.15); color: #fff; }
.btn-outline-primary { border-color: var(--color-red); color: var(--color-red); }
.btn-outline-primary:hover { background-color: var(--color-red); color: #fff; }
.btn-outline-danger { border-color: #d32f2f; color: #d32f2f; }
.btn-outline-danger:hover { background-color: #d32f2f; color: #fff; }
.btn-outline-success { border-color: #388e3c; color: #388e3c; }
.btn-outline-success:hover { background-color: #388e3c; color: #fff; }
.btn-warning { background-color: #f9a825; border-color: #f57f17; color: #fff; }
.btn-warning:hover { background-color: #f57f17; color: #fff; }

/* Cards */
.card {
  background: var(--bg-surface);
  color: var(--text-main);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.07);
}
.card-header { background-color: var(--bg-surface-alt); border-bottom: 1px solid var(--border); }
.card-footer { background-color: var(--bg-surface-alt); border-top: 1px solid var(--border); }

/* Tables */
.table {
  color: var(--text-main);
  background-color: var(--bg-surface);
  border-color: var(--border);
}
.table thead th {
  background-color: #f0f0f0;
  color: var(--text-main);
  border-bottom: 2px solid var(--border);
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: .8rem;
  font-weight: 700;
}
.table td, .table th { border-color: var(--border); vertical-align: middle; }
.table-striped > tbody > tr:nth-of-type(odd) { background-color: var(--bg-stripe); }
.table-hover > tbody > tr:hover { background-color: #f5f5f5; }
.table-dark { background-color: #263238; color: #eceff1; }
.table-dark thead th { background-color: #1c2b30; color: #eceff1; border-bottom-color: #37474f; }
.table-dark td, .table-dark th { border-color: #37474f; }
.table-dark.table-striped > tbody > tr:nth-of-type(odd) { background-color: #2d3e44; }
.table-dark.table-hover > tbody > tr:hover { background-color: #314249; }

/* Forms */
label { color: var(--text-main); font-weight: 500; }
.form-control, .form-select {
  background-color: #fff;
  color: var(--text-main);
  border: 1px solid #ccc;
  border-radius: 8px;
}
.form-control::placeholder { color: var(--text-muted); }
.form-control:focus, .form-select:focus {
  background-color: #fff;
  color: var(--text-main);
  border-color: var(--color-red);
  box-shadow: 0 0 0 0.2rem rgba(211,47,47,.2);
}

/* Dropdown */
.dropdown-menu {
  background-color: #fff;
  color: var(--text-main);
  border: 1px solid var(--border);
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
  border-radius: 10px;
}
.dropdown-item { color: var(--text-main); }
.dropdown-item:hover, .dropdown-item:focus { background-color: #f5f5f5; color: var(--text-main); }
.dropdown-item.active, .dropdown-item:active { background-color: var(--color-red); color: #fff; }

/* Badges */
.badge { font-weight: 600; letter-spacing: .04em; }

/* Misc */
.text-muted { color: var(--text-muted) !important; }
.bg-dark { background-color: #131313 !important; }
hr { border-color: var(--border); opacity: .6; }

/* Stat tiles / metric cards */
.metric-value { font-size: 1.6rem; font-weight: 700; color: var(--text-main); }
.metric-label { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--text-muted); }

/* Table secondary (utilisateurs inactifs) */
.table-secondary { opacity: .6; }

/* Rounded tables */
.table-responsive {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border);
}
.table {
  margin-bottom: 0;
  border: none;
}
.table thead th:first-child { border-top-left-radius: 12px; }
.table thead th:last-child  { border-top-right-radius: 12px; }
.table tbody tr:last-child td:first-child { border-bottom-left-radius: 12px; }
.table tbody tr:last-child td:last-child  { border-bottom-right-radius: 12px; }
