/* ── Layout général ── */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: #f8f9fa;
}
main.container-fluid {
  flex: 1;
}
.footer {
  background: #fff;
  font-size: .85rem;
}

/* ── Navbar ── */
.navbar-brand { font-size: 1.25rem; letter-spacing: .5px; }

/* ── Cards ── */
.card { border-radius: .75rem; }
.card-header { border-radius: .75rem .75rem 0 0 !important; font-size: .95rem; }

/* ── Badges ── */
.badge { font-size: .75em; letter-spacing: .3px; }

/* ── KPI cards ── */
.card.bg-primary, .card.bg-success, .card.bg-info, .card.bg-danger {
  border-radius: .75rem;
}

/* ── Table ── */
.table th { font-weight: 600; font-size: .85rem; text-transform: uppercase;
            letter-spacing: .5px; color: #6c757d; }

/* ── Form ── */
.form-label { font-size: .9rem; }
.form-control:focus, .form-select:focus { border-color: #0d6efd; box-shadow: 0 0 0 .2rem rgba(13,110,253,.15); }

/* ── Login page ── */
body.bg-light .card { border-radius: 1rem; }

/* ── Responsive ── */
@media (max-width: 576px) {
  .container { padding-left: 1rem; padding-right: 1rem; }
}
