/* Produit BTP — feuille de style des écrans « suivi » (incidents, documents, habilitations, déplacements, rapports, données personnelles, conservation) (lot 1.114.0 « Revue BTP »).
   Chargée après app.css sur tous les produits : chaque règle vise des classes propres aux modules BTP (préfixe btp- ou nom du module), jamais
   un sélecteur générique. Les jetons (--ink, --muted, --accent, --danger…, --radius) viennent d'app.css.
   Chaque page de suivi porte la classe `btp-suivi` (y compris ses états « Chargement… » et « erreur ») en plus de sa classe propre (si-page, sdoc-page, sq-page, tv-page,
   sr-page, pv-page) : toutes les règles ci-dessous passent par elle, aucune ne touche le Standard. */

/* ---------- En-tête : titre à gauche, actions à droite (même facture que Chantiers) ---------- */
.btp-suivi .section-title{align-items:center;row-gap:10px}
.btp-suivi .btp-head-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
/* Cibles de 44 px à TOUTES les largeurs (tablette 1280 px CSS tactile de l’utilisateur ; même choix que btp-chantiers.css) */
.btp-suivi .section-title .btn,.btp-suivi .btp-head-actions .btn{min-height:44px}
.btp-suivi.si-page,.btp-suivi.sdoc-page,.btp-suivi.sq-page,.btp-suivi.tv-page,.btp-suivi.sr-page{max-width:none}
.btp-suivi .btp-intro{margin:0 0 10px}

/* ---------- Barres de filtres : pastilles pleines quand actives (comme `.site-filters` de Chantiers et `.rp-chip.on` du Standard) ---------- */
.btp-suivi .sp-bar{gap:8px;margin:6px 0 10px}
.btp-suivi .sp-bar .mini,.btp-suivi .btp-chips .mini{min-height:44px;padding:0 14px;display:inline-flex;align-items:center}
.btp-suivi .si-filters .mini.on,.btp-suivi .sq-filters .mini.on,.btp-suivi .tv-tabs .mini.on,.btp-suivi .btp-chips .mini.on{background:var(--action);color:var(--action-ink,#fff);border-color:var(--action);font-weight:600}
.btp-suivi .sq-filters{gap:8px}
.btp-suivi .sp-bar select{min-height:44px}
/* Champs de dates avec leur libellé (Du … au …) alignés sur une ligne, sans flotter */
.btp-suivi .btp-dates{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}
.btp-suivi .btp-dates label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-soft);font-weight:500}
.btp-suivi .btp-dates input[type="date"]{min-height:44px;padding:6px 8px;border:1px solid var(--rule);border-radius:var(--radius-sm,6px);background:var(--field-bg,var(--panel));color:var(--ink);font:inherit;max-width:100%}
.btp-suivi .btp-dates input[type="date"]:focus{border-color:var(--action);outline:none}
@media (max-width:560px){.btp-suivi .btp-dates{display:flex}.btp-suivi .btp-dates label{flex:1 1 100%;justify-content:space-between}.btp-suivi .btp-dates input[type="date"]{flex:1}}

/* ---------- Listes de cartes : grille comme la page Chantiers (`.dv-grid`), une colonne sur téléphone ---------- */
.btp-suivi .btp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;margin:10px 0}
.btp-suivi .btp-list>.dv-card{margin:0}
.btp-suivi .btp-list .dv-head{align-items:flex-start;justify-content:space-between}
.btp-suivi .btp-list .dv-head strong{min-width:0;overflow-wrap:anywhere}
@media (max-width:640px){.btp-suivi .btp-list{grid-template-columns:1fr}}
.btp-suivi .site-actions{margin:4px 0 0}
.btp-suivi .btp-more{display:flex;justify-content:center;margin:6px 0 12px}

/* ---------- État vide : icône + phrase + action (même facture que Chantiers ; le fond sombre vient d'app.css, lot 1.114.0 A) ---------- */
.btp-suivi .empty-state{gap:8px;padding:22px 16px;margin:12px 0}
.btp-suivi .empty-state .btn{margin-top:4px;min-height:44px}
/* Chargement discret ; erreur = phrase + « Réessayer » */
.btp-suivi .btp-state{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:6px 0}
.btp-suivi .btp-state p{margin:0}
.btp-suivi .btp-state .btn{min-height:44px}

/* ---------- Cibles tactiles : 44 px partout (téléphone, tablette tactile 1280 px CSS, ordinateur) ---------- */
.btp-suivi .mini,.btp-suivi .btn,.btp-suivi select,.btp-suivi input[type="date"],.btp-suivi input[type="search"],.btp-suivi input[type="text"],.btp-suivi .sq-chip{min-height:44px}
.btp-suivi .mini{padding:0 14px;display:inline-flex;align-items:center;justify-content:center}
@media (max-width:560px){.btp-suivi .section-title .btn{flex:1 1 100%}.btp-suivi .btp-head-actions{width:100%}.btp-suivi .btp-head-actions .btn{flex:1 1 40%}}

/* ---------- Habilitations : jetons de couleur en sombre ---------- */
.sq-expiring{border-left-color:var(--warn-ink,#d98a00)}
.btp-suivi .sq-summary b{font-variant-numeric:tabular-nums}

/* ---------- Déplacements ---------- */
.btp-suivi .tv-totals{margin:4px 0 10px}

/* ---------- Rapports : rubriques et tableau par salarié (lignes empilées sur téléphone) ---------- */
.btp-suivi .sr-period{align-items:center;gap:8px 12px}
.btp-suivi .sr-table th,.btp-suivi .sr-table td{padding:8px}
@media (max-width:760px){
  .btp-suivi .sr-table{display:table;overflow:visible}
  .btp-suivi .sr-table thead{display:none}
  .btp-suivi .sr-table tbody,.btp-suivi .sr-table tr{display:block}
  .btp-suivi .sr-table tr{padding:8px 0;border-bottom:1px solid var(--rule)}
  .btp-suivi .sr-table td{display:flex;justify-content:space-between;gap:12px;border:0;padding:3px 0}
  .btp-suivi .sr-table td::before{content:attr(data-label);color:var(--ink-soft)}
  .btp-suivi .sr-table td:first-child{font-weight:700}
  .btp-suivi .sr-table td:first-child::before{content:none}
}

/* ---------- Données personnelles : pastilles de politique lisibles (texte qui passe à la ligne, sans code technique) ---------- */
.btp-suivi .pv-pill{display:inline-block;white-space:normal;line-height:1.35;padding:4px 12px;border-radius:12px;max-width:100%}
.btp-suivi .pv-row .mini[disabled]{opacity:.55;cursor:not-allowed}
.btp-suivi .pv-hint{margin:4px 0 0;font-size:12.5px}

/* ---------- Impression des pages de suivi : en-tête commun, ni rail, ni barre haute, ni boutons, fond blanc ---------- */
.btp-print-head{display:none}
@media print{
  body:has(.btp-print-page) .topbar,body:has(.btp-print-page) .workspace-tabs,body:has(.btp-print-page) .mobile-bottom-nav,body:has(.btp-print-page) .toast,body:has(.btp-print-page) .veil,
  body:has(.btp-print-page) .sheet,body:has(.btp-print-page) .notif-panel,body:has(.btp-print-page) .account-panel,
  .btp-print-page .btn,.btp-print-page .mini,.btp-print-page .sp-bar,.btp-print-page .site-actions,.btp-print-page .btp-head-actions,.btp-print-page .btp-no-print,.btp-print-page .btp-more{display:none!important}
  body:has(.btp-print-page){background:#fff!important;color:#000}
  body:has(.btp-print-page) .app-shell{display:block}
  .btp-print-page{padding:0;max-width:none;color:#000}
  .btp-print-page .section-title h1{font-size:20px;margin:0 0 6px}
  .btp-print-head{display:block!important;margin:0 0 12px;padding:0 0 8px;border-bottom:1px solid #000;font-size:12px;color:#000}
  .btp-print-head b{font-size:15px}
  .btp-print-head span{display:inline-block;margin-right:14px}
  .btp-print-page .dv-card,.btp-print-page .sr-block,.btp-print-page .sr-site{box-shadow:none;border:1px solid #999;background:#fff;color:#000;break-inside:avoid;page-break-inside:avoid;margin:0 0 10px}
  .btp-print-page .btp-list{display:block}
  .btp-print-page .sr-fig{background:#fff;border-color:#999;color:#000}
  .btp-print-page .sr-fig small,.btp-print-page .muted{color:#333}
  .btp-print-page .sr-table th,.btp-print-page .sr-table td{border-bottom:1px solid #999;color:#000}
}
.btp-suivi #sr-print{display:inline-flex;align-items:center;justify-content:center;gap:8px}
