:root {
  --ep-primary: #c9407e;
  --ep-primary-dark: #5f2a86;
  --ep-accent: #cf9a52;
  --ep-dark: #2a1f36;
  --ep-muted: #6c757d;
  --ep-bg: #f7f2f8;
}

body {
  background: var(--ep-bg);
  color: var(--ep-dark);
}

/* ---------- Rebranding des composants Bootstrap (palette magenta/violet) ---------- */
.btn-primary {
  --bs-btn-bg: var(--ep-primary);
  --bs-btn-border-color: var(--ep-primary);
  --bs-btn-hover-bg: var(--ep-primary-dark);
  --bs-btn-hover-border-color: var(--ep-primary-dark);
  --bs-btn-active-bg: var(--ep-primary-dark);
  --bs-btn-active-border-color: var(--ep-primary-dark);
  --bs-btn-focus-shadow-rgb: 201, 64, 126;
}
.btn-outline-primary {
  --bs-btn-color: var(--ep-primary);
  --bs-btn-border-color: var(--ep-primary);
  --bs-btn-hover-bg: var(--ep-primary);
  --bs-btn-hover-border-color: var(--ep-primary);
  --bs-btn-active-bg: var(--ep-primary);
  --bs-btn-active-border-color: var(--ep-primary);
}
a, .nav-link, .dropdown-item:active {
  color: var(--ep-primary);
}
.badge.bg-primary, .bg-primary { background-color: var(--ep-primary) !important; }
.badge.bg-dark { background-color: var(--ep-dark) !important; }
.form-check-input:checked {
  background-color: var(--ep-primary);
  border-color: var(--ep-primary);
}
.form-control:focus, .form-select:focus {
  border-color: var(--ep-primary);
  box-shadow: 0 0 0 .25rem rgba(201, 64, 126, .2);
}
.nav-link.active { font-weight: 600; }

.navbar {
  background: linear-gradient(135deg, var(--ep-primary), var(--ep-primary-dark));
}
.navbar .nav-link {
  color: rgba(255,255,255,.85);
}
.navbar .nav-link.active,
.navbar .nav-link:hover {
  color: #fff;
}
.navbar-brand { color: #fff !important; }

.card {
  border: none;
  border-radius: .6rem;
  box-shadow: 0 1px 3px rgba(0,0,0,.08);
}

.login-bg {
  min-height: 100vh;
  background: linear-gradient(135deg, var(--ep-primary), var(--ep-primary-dark));
}
.login-card { border-radius: .8rem; }

.materiel-card {
  transition: transform .1s ease, box-shadow .1s ease;
}
.materiel-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}

.identifiant-badge {
  font-family: 'Courier New', monospace;
  letter-spacing: .05em;
}

table.table-inventaire th {
  white-space: nowrap;
  background: #f3e9f0;
}

.qr-preview img, .qr-preview canvas {
  max-width: 100%;
}

/* ---------- Impression ---------- */
@media print {
  .no-print { display: none !important; }
  body { background: #fff !important; }
  .main-content { padding: 0 !important; margin: 0 !important; }
}
