/* Styles GMAO Parc Auto (personnalisations Bootstrap) */
:root {
  /* Hauteur estimée de la navbar Bootstrap */
  --hauteur-navbar: 50px;
}

/* Réduction globale de l'interface */
html {
  font-size: 14px; /* Réduit la taille de base (16px -> 14px) */
}

body {
  background-color: #f8f9fa;
  font-size: 0.9rem; /* 12.6px effectif */
}

/* Condenser les espacements Bootstrap */
.container, .container-fluid {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.row {
  --bs-gutter-x: 1rem;
}

/* Cartes plus compactes */
.card {
  margin-bottom: 0.75rem !important;
}

.card-header {
  padding: 0.5rem 0.75rem;
  font-size: 0.95rem;
}

.card-body {
  padding: 0.75rem;
}

.card-footer {
  padding: 0.5rem 0.75rem;
}

/* Boutons plus petits */
.btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.85rem;
}

.btn-lg {
  padding: 0.4rem 0.8rem;
  font-size: 1rem;
}

.btn-sm {
  padding: 0.15rem 0.4rem;
  font-size: 0.75rem;
}

/* Formulaires plus compacts */
.form-control, .form-select {
  padding: 0.25rem 0.5rem;
  font-size: 0.85rem;
  min-height: calc(1.5em + 0.5rem + 2px);
}

.form-label {
  margin-bottom: 0.25rem;
  font-size: 0.85rem;
}

.input-group-text {
  padding: 0.25rem 0.5rem;
  font-size: 0.85rem;
}

/* Tableaux plus denses */
.table th, .table td {
  padding: 0.4rem 0.5rem;
  font-size: 0.85rem;
}

/* Navigation plus compacte */
.navbar {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  min-height: var(--hauteur-navbar);
}

.navbar-brand {
  font-size: 1.1rem;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
}

.nav-link {
  padding: 0.4rem 0.8rem !important;
  font-size: 0.9rem;
}

/* Titres réduits */
h1, .h1 { font-size: 1.5rem; }
h2, .h2 { font-size: 1.3rem; }
h3, .h3 { font-size: 1.15rem; }
h4, .h4 { font-size: 1rem; }
h5, .h5 { font-size: 0.95rem; }
h6, .h6 { font-size: 0.85rem; }

.entete {
  background: linear-gradient(90deg, #0d6efd 0%, #6610f2 100%);
  color: #fff;
  padding: 0.75rem !important;
}

.carte-accueil {
  border: 1px solid #e5e7eb;
}

.badge-statut {
  font-size: 0.85rem;
}

/* Overlay bloquant tant que l’utilisateur n’est pas connecté */
.filtre-bloquant {
  position: fixed;
  top: var(--hauteur-navbar, 56px);
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1000; /* Moins élevé que le dropdown Bootstrap (1021+) */
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(2px);
}

.filtre-carte {
  max-width: 520px;
  width: 92%;
}

.filtre-texte {
  color: #343a40;
}

/* Styles page de connexion */
.form-connexion .form-label {
  font-weight: 500;
}
.form-connexion .btn {
  width: 100%;
}
.champ-connexion input::placeholder {
  color: #adb5bd;
}