/* ===================================================
   AUDIT PARC AUTOCARS — STYLES MOBILE FIRST TACTILES
   Optimisé pour saisie rapide à une main sur parc (plein soleil)
   =================================================== */

:root {
  --primary-color: #0284c7;
  --primary-dark: #0369a1;
}

body {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Chips tactiles larges pour manipulation au pouce */
.touch-chip {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 0.75rem;
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  user-select: none;
  cursor: pointer;
  border: 1.5px solid #e2e8f0;
  background-color: #ffffff;
  color: #334155;
  text-align: center;
  padding: 0.5rem 0.75rem;
}

.touch-chip:active {
  transform: scale(0.97);
}

/* Couleurs actives spécifiques par catégorie */
.touch-chip.selected {
  border-color: #0284c7;
  background-color: #0284c7;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(2, 132, 199, 0.3);
}

/* Variant OUI / NON */
.touch-chip-yes.selected {
  border-color: #10b981;
  background-color: #10b981;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
}

.touch-chip-no.selected {
  border-color: #64748b;
  background-color: #64748b;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(100, 116, 139, 0.25);
}

/* Variant OK / KO / INCONNU */
.touch-chip-ok.selected {
  border-color: #10b981;
  background-color: #10b981;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
}

.touch-chip-ko.selected {
  border-color: #ef4444;
  background-color: #ef4444;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
}

.touch-chip-warn.selected {
  border-color: #f59e0b;
  background-color: #f59e0b;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
}

/* Variant État : Bon état / Abîmé / Cassé */
.touch-chip-good.selected {
  border-color: #10b981;
  background-color: #10b981;
  color: #ffffff;
}

.touch-chip-damaged.selected {
  border-color: #f59e0b;
  background-color: #f59e0b;
  color: #ffffff;
}

.touch-chip-broken.selected {
  border-color: #ef4444;
  background-color: #ef4444;
  color: #ffffff;
}

/* Conteneur de sous-questions avec transition fluide */
.subquestions-wrapper {
  overflow: hidden;
  transition: all 0.25s ease-out;
}

.subquestions-wrapper.hidden {
  display: none !important;
}

/* Input text et numeric tactiles */
.touch-input {
  min-height: 48px;
  font-size: 1.05rem;
  border-radius: 0.75rem;
  border: 1.5px solid #cbd5e1;
  padding: 0.6rem 1rem;
  background-color: #f8fafc;
  color: #0f172a;
  transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
  width: 100%;
}

.touch-input:focus {
  outline: none;
  border-color: #0284c7;
  background-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.2);
}

/* Badge de section */
.section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 9999px;
  font-size: 0.8rem;
  font-weight: 800;
  margin-right: 0.5rem;
}

/* Photo Preview */
.photo-preview-container {
  position: relative;
  border-radius: 0.75rem;
  overflow: hidden;
  border: 2px dashed #94a3b8;
  background-color: #f1f5f9;
  min-height: 140px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.photo-preview-container.has-photo {
  border-style: solid;
  border-color: #10b981;
}

/* Bouton principal collant en bas */
.sticky-footer-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-top: 1px solid #e2e8f0;
  padding: 0.75rem 1rem;
  z-index: 40;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.05);
}

/* Animations légères */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
  animation: fadeIn 0.25s ease-out forwards;
}

/* Masquage de la barre de défilement pour les carousels de filtres */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* ===================================================
   VERROUILLAGE & AUTHENTIFICATION (GATE SCREEN)
   =================================================== */
html:not(.is-authenticated) #app-container {
  display: none !important;
}

html.is-authenticated #gate-screen {
  display: none !important;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-6px); }
  40%, 80% { transform: translateX(6px); }
}

.shake-animation {
  animation: shake 0.35s ease-in-out;
}

