:root { --civic-blue: #0b5cad; }
body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; background: #f6f8fb; }
.app-header .navbar { background: var(--civic-blue); }
.hero { background: #fff; border: 1px solid #dbe4ef; border-radius: 1rem; }
.btn-action { min-height: 48px; min-width: 48px; font-size: 1.05rem; }
.card { border-radius: 0.9rem; }
label.form-label { font-weight: 600; }
input, select, textarea { font-size: 1rem; }
/* Accessibilité clavier : focus toujours visible. */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 2px;
}
/* Bouton DÉTRESSE : maintien ~1 s, tactile sans zoom intempestif. */
.distress-hold { touch-action: manipulation; user-select: none; -webkit-user-select: none; }
.distress-hold:disabled { opacity: 0.85; }
.distress-progress {
  height: 8px;
  background: #e9ecef;
  border-radius: 4px;
  overflow: hidden;
}
.distress-progress-bar {
  height: 100%;
  width: 0%;
  background: #dc3545;
  border-radius: 4px;
}
/* Navigation : liens lisibles, contraste sur fond bleu. */
.navbar .nav-link { font-weight: 600; min-height: 44px; display: inline-flex; align-items: center; }
.navbar .nav-link:hover, .navbar .nav-link:focus { text-decoration: underline; }
@media (max-width: 576px) {
  .hero { padding: 1rem; }
  .display-1, .h2 { font-size: 1.5rem; }
}
