/* ═══════════════════════════════════════════════════════════
   SIPLAN – Référentiel Sécurité Incendie ERP
   Charte graphique alignée sur site.siplan.fr
   Fonts : Roboto (corps), Oswald (titres)
   Couleurs : #af0d1c (primaire), #1d1d1b (foncé), #f9f9f9 (fond)
   ═══════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; }

body {
    font-family: 'Roboto', 'Segoe UI', system-ui, sans-serif;
    margin: 0;
    background: #f9f9f9;
    color: #111111;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow: hidden;
    height: 100vh;
}

/* ── Titres Oswald (majuscules, comme site.siplan.fr) ── */
h1, h2, h3, .heading {
    font-family: 'Oswald', 'Segoe UI', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* ── Lisibilité corps ── */
p, li, span, td {
    line-height: 1.6;
}

/* ── Tableaux : meilleure lisibilité ── */
.tbl-wrap td, .tbl-wrap th {
    font-size: 12px;
}

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #d4d4d4; border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: #af0d1c; }
.hide-sb::-webkit-scrollbar { display: none; }
.hide-sb { scrollbar-width: none; }

/* ── Gradient SIPLAN ── */
.brand-grad {
    background: linear-gradient(135deg, #af0d1c 0%, #8a0a16 100%);
}

/* ── Transitions minimales ── */
@keyframes fadeIn  { from { opacity: 0 } to { opacity: 1 } }
@keyframes slideIn { from { transform: translateX(-100%) } to { transform: translateX(0) } }
.fade-in  { animation: fadeIn .12s ease-out both; }
.slide-in { animation: slideIn .18s ease-out both; }

button, a {
    transition: background .1s ease, color .1s ease, border-color .1s ease;
}

/* ── Table sticky ── */
.tbl-wrap { position: relative; height: 100%; overflow: auto; }
.tbl-wrap thead th { position: sticky; top: 0; z-index: 20; }
.tbl-wrap thead th:first-child { left: 0; z-index: 30; }
.tbl-wrap tbody td:first-child { position: sticky; left: 0; z-index: 10; }

/* ── Cell ── */
.cell-hover { cursor: pointer; }

/* ── Row stripe ── */
.row-alt:nth-child(even) td { background-color: rgba(249,249,249,.6); }
.row-alt:nth-child(even) td:first-child { background-color: rgba(249,249,249,.95); }

