/* Base */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; height: 100%; }
html { background: #0C1A2B; }
body { min-height: 100%; -webkit-font-smoothing: antialiased; overscroll-behavior-y: none; }
#root { min-height: 100vh; }
button { font: inherit; cursor: pointer; background: none; border: none; padding: 0; color: inherit; }
input, select, textarea { font: inherit; outline: none; }
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible { outline: 2px solid #FFC300; outline-offset: 2px; }
select { -webkit-appearance: none; appearance: none; }

/* Barre d'onglets : respect de la zone sûre iPhone */
@supports (padding: max(0px)) {
  .fixed.bottom-0 { padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
}

/* Sous-ensemble Tailwind utilisé par l'application */
.absolute{position:absolute}.relative{position:relative}.fixed{position:fixed}.sticky{position:sticky}
.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}
.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}
.flex{display:flex}.grid{display:grid}
.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.shrink-0{flex-shrink:0}
.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}
.justify-between{justify-content:space-between}.justify-center{justify-content:center}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}
.gap-y-1\.5{row-gap:.375rem}
.w-full{width:100%}.w-9{width:2.25rem}.h-9{height:2.25rem}
.min-h-full{min-height:100%}.min-w-0{min-width:0}
.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}
.px-1{padding-left:.25rem;padding-right:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}
.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}
.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}
.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-8{padding-bottom:2rem}
.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}
.mt-2{margin-top:.5rem}.ml-3{margin-left:.75rem}
.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.overflow-y-auto{overflow-y:auto;-webkit-overflow-scrolling:touch}
.overflow-x-auto::-webkit-scrollbar{display:none}
.text-left{text-align:left}.text-center{text-align:center}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.transition-colors{transition:background-color .15s,border-color .15s,color .15s}
.transition-opacity{transition:opacity .15s}
.active\:opacity-80:active{opacity:.8}

@media (prefers-reduced-motion: reduce) {
  * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
.hidden{display:none}
.relative img, .relative span { pointer-events: none; }
.h-8{height:2rem}.w-8{width:2rem}
.mt-3{margin-top:.75rem}
.pb-6{padding-bottom:1.5rem}
.mb-6{margin-bottom:1.5rem}
.gap-x-3{column-gap:.75rem}
.mb-1{margin-bottom:.25rem}
.rounded-3xl{border-radius:1.5rem}
.flex-wrap{flex-wrap:wrap}
.gap-1{gap:.25rem}
.mt-1{margin-top:.25rem}
.px-2\.5{padding-left:.625rem;padding-right:.625rem}
.mx-4{margin-left:1rem;margin-right:1rem}
.ml-2{margin-left:.5rem}
.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}
.mt-2\.5{margin-top:.625rem}
.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}
.gap-x-6{column-gap:1.5rem}
.gap-y-2\.5{row-gap:.625rem}
.mt-4{margin-top:1rem}
.p-5{padding:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.full-screen-page{min-height:100vh;min-height:100dvh}
