:root {
  --sgdf-blue:  #1a3f7a;
  --sgdf-light: #e8f0fb;
}

.bg-sgdf        { background-color: var(--sgdf-blue) !important; }
.text-sgdf      { color: var(--sgdf-blue) !important; }
.btn-sgdf       { background-color: var(--sgdf-blue); color: #fff; border: none; }
.btn-sgdf:hover { background-color: #122d5a; color: #fff; }

body { background: #f4f6f9; }

.navbar-brand { font-size: 1.1rem; }
.nav-link.active { background: rgba(255,255,255,.15); border-radius: 6px; }

/* Cards stats */
.stat-card {
  border: none;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  transition: transform .15s;
}
.stat-card:hover { transform: translateY(-2px); }
.stat-card .stat-number { font-size: 2.2rem; font-weight: 700; line-height: 1; }
.stat-card .stat-label  { font-size: .85rem; color: #6c757d; }

/* Tables */
.table-responsive { border-radius: 8px; overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,.06); }
.table thead th  { background: var(--sgdf-blue); color: #fff; border: none; font-weight: 500; white-space: nowrap; }
.table tbody tr:hover { background: var(--sgdf-light); }

/* Form cards */
.card { border: none; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.card-header { background: var(--sgdf-blue); color: #fff; border-radius: 12px 12px 0 0 !important; }

/* Badge */
.badge { font-size: .8rem; }

/* Registration page */
.register-card { max-width: 680px; margin: 40px auto; }
.participant-row { border: 1px solid #dee2e6; border-radius: 8px; padding: 16px; margin-bottom: 12px; background: #fff; }
.participant-row.present  { border-color: #198754; background: #d1e7dd; }
.participant-row.absent   { border-color: #dc3545; background: #f8d7da; }

/* Éditeur de template */
#email_corps, #page_intro, #page_infos_pratiques { font-family: monospace; min-height: 160px; }
.variable-tag { cursor: pointer; }

@media (max-width: 768px) {
  .stat-card .stat-number { font-size: 1.6rem; }
}
