body {
  background-color: #f7f7f5;
}

.card {
  border: 1px solid #e2e2df;
}

.table-actions a, .table-actions form {
  display: inline-block;
  margin-right: 0.25rem;
}

.badge-statut {
  text-transform: capitalize;
}

.montant {
  font-variant-numeric: tabular-nums;
}

/* Mode sombre (Bootstrap 5.3 data-bs-theme) */
[data-bs-theme="dark"] body {
  background-color: #16181b;
}

[data-bs-theme="dark"] .card {
  border-color: #32383e;
}

[data-bs-theme="dark"] .table-responsive {
  border-radius: 0.375rem;
}

#boutonTheme svg {
  vertical-align: -0.15em;
}

/* Effet d'estompe a l'affichage de la fenetre de connexion */
.fondu-apparition {
  animation: fonduApparition 2s ease-in;
}

@keyframes fonduApparition {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ------------------------------------------------------------------ */
/* Couleurs de marque (logo CoverLys)                                  */
/* ------------------------------------------------------------------ */
:root {
  --marque-marine: #041e4f;
  --marque-bleu: #0d5ba8;
  --marque-bleu-clair: #4fb2e8;
  --marque-bleu-pale: #bfe3f7;
  --marque-or: #f7ac00;

  --bs-primary: var(--marque-marine);
  --bs-primary-rgb: 4, 30, 79;
  --bs-link-color: var(--marque-marine);
  --bs-link-color-rgb: 4, 30, 79;
  --bs-link-hover-color: var(--marque-bleu);
  --bs-link-hover-color-rgb: 13, 91, 168;
  --bs-focus-ring-color: rgba(4, 30, 79, 0.25);
}

[data-bs-theme="dark"] {
  /* Sur fond sombre, le bleu marine se confond avec l'arriere-plan :
     on utilise les tons plus clairs de la meme palette pour les liens
     et le texte "primary". */
  --bs-primary: var(--marque-bleu-clair);
  --bs-primary-rgb: 79, 178, 232;
  --bs-link-color: var(--marque-bleu-clair);
  --bs-link-color-rgb: 79, 178, 232;
  --bs-link-hover-color: var(--marque-bleu-pale);
  --bs-link-hover-color-rgb: 191, 227, 247;
  --bs-focus-ring-color: rgba(79, 178, 232, 0.35);
}

.navbar.bg-dark,
.bg-dark {
  background-color: var(--marque-marine) !important;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--marque-marine);
  --bs-btn-border-color: var(--marque-marine);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #31466f;
  --bs-btn-hover-border-color: #31466f;
  --bs-btn-focus-shadow-rgb: 4, 30, 79;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #031a43;
  --bs-btn-active-border-color: #031a43;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--marque-marine);
  --bs-btn-disabled-border-color: var(--marque-marine);
}

.btn-outline-primary {
  --bs-btn-color: var(--marque-marine);
  --bs-btn-border-color: var(--marque-marine);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--marque-marine);
  --bs-btn-hover-border-color: var(--marque-marine);
  --bs-btn-focus-shadow-rgb: 4, 30, 79;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--marque-marine);
  --bs-btn-active-border-color: var(--marque-marine);
  --bs-btn-disabled-color: var(--marque-marine);
  --bs-btn-disabled-border-color: var(--marque-marine);
}

[data-bs-theme="dark"] .btn-outline-primary {
  --bs-btn-color: var(--marque-bleu-clair);
  --bs-btn-border-color: var(--marque-bleu-clair);
  --bs-btn-hover-color: #16181b;
  --bs-btn-hover-bg: var(--marque-bleu-clair);
  --bs-btn-hover-border-color: var(--marque-bleu-clair);
  --bs-btn-active-color: #16181b;
  --bs-btn-active-bg: var(--marque-bleu-clair);
  --bs-btn-active-border-color: var(--marque-bleu-clair);
  --bs-btn-disabled-color: var(--marque-bleu-clair);
  --bs-btn-disabled-border-color: var(--marque-bleu-clair);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--marque-bleu-clair);
  box-shadow: 0 0 0 0.25rem rgba(4, 30, 79, 0.25);
}

.logo-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 50%;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0.3rem;
}

.logo-badge img {
  max-width: 100%;
  max-height: 100%;
}

/* ------------------------------------------------------------------ */
/* Page de connexion                                                   */
/* ------------------------------------------------------------------ */
.login-panel-marque {
  background: linear-gradient(160deg, var(--marque-marine) 0%, #0a2d6e 55%, var(--marque-bleu) 100%);
}

.login-logo-badge {
  background-color: #fff;
  border-radius: 0.75rem;
  padding: 1rem 1.25rem;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.2);
}

.login-logo-badge img {
  display: block;
  width: 100%;
  max-width: 220px;
  height: auto;
}

.login-tagline {
  letter-spacing: 0.02em;
}

