/* Fiches Client, Actif et ticket SAV, pipeline des sections associées : composants propres (cartes mobiles, redevance, structure d'actif repliable,
   pastilles d'état modifiables, chrono SLA en mobile). Aucune valeur en dur : variables du thème (app.css). */
.fc-sous { color: var(--muted); font-size: 12px; }
.fc-ligne { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
.fc-modele { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s-3); margin: 0 0 var(--s-3); }
.fc-modele .lbl { margin: 0; }
.fc-modele select { width: auto; min-width: 200px; max-width: 100%; }

/* Liste d'éléments en cartes (remplace un tableau sous 600 px) */
.fc-cartes { display: none; }
.fc-carte { display: flex; flex-direction: column; gap: var(--s-1); padding: var(--s-3) var(--s-4); border-bottom: 1px solid var(--border); color: inherit; text-decoration: none; }
.fc-carte:last-child { border-bottom: 0; }
.fc-carte:hover { background: var(--surface2); }

/* Actif : redevance en une ligne */
.ac-redev { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--s-2) var(--s-3); }
.ac-redev-v { font-size: 20px; font-weight: 650; font-variant-numeric: tabular-nums; }

/* Actif : structure, un bloc repliable par bâtiment */
.ac-bats { display: flex; flex-direction: column; }
.ac-bat { border-bottom: 1px solid var(--border); }
.ac-bat:last-child { border-bottom: 0; }
.ac-bat-h { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s-1) var(--s-3); padding: var(--s-2) var(--s-4); background: var(--surface2); cursor: pointer; list-style: none; }
.ac-bat-h::-webkit-details-marker { display: none; }
.ac-bat-nom { font-size: 14px; }
.ac-bat-res { margin-left: auto; font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.ac-bat-menu { margin-left: auto; }
.ac-bat-res:not(:empty) + .ac-bat-menu { margin-left: 0; }
.ac-caret { display: inline-block; width: 12px; color: var(--accent); transition: transform var(--t-base); }
.ac-bat:not([open]) .ac-caret { transform: rotate(-90deg); }
.ac-struct td { font-size: 12px; }
.ac-actcell { white-space: nowrap; width: 1%; }
.ac-bat > .table-scroll { border-top: 0; }
/* Structure : prévu non encore posé (discret, en pointillé), en-têtes de famille, barre des vues, carte d'étage (mobile) */
.ac-prevu { color: var(--muted); border: 1px dotted var(--muted); border-radius: var(--r-sm); padding: 0 var(--s-1); white-space: nowrap; }
.ac-struct th.ac-fam { text-align: center; color: var(--muted); border-bottom: 1px dotted var(--border); }
.ac-vues { align-items: center; padding: var(--s-2) var(--s-4); border-bottom: 1px solid var(--border); }
.ac-vues-barre { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s-2); flex: 1; min-width: 0; }
.ac-fam-h { display: flex; align-items: center; padding: var(--s-2) var(--s-3); background: var(--surface2); border-bottom: 1px solid var(--border); }
.ac-vues-barre .stk-vue-sel { min-width: 0; flex: 0 1 18rem; }
.ac-colonnes { margin-left: auto; }
.ac-opt { margin-top: var(--s-3); }
.ac-carte-h { display: flex; align-items: baseline; gap: var(--s-2); }
.ac-carte-menu { margin-left: auto; }
.ac-pieces { display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-3); font-size: 12px; font-variant-numeric: tabular-nums; }

/* Ticket SAV : état modifiable en pastille, compteur, tickets à traiter, statistiques repliées, interventions et rapports dans une seule section */
.sav-chip { --sc: var(--border); display: inline-flex; align-items: center; min-height: 28px; padding: 2px var(--s-3); border: 1px solid var(--sc); border-radius: 999px; background: color-mix(in oklab, var(--sc) 14%, transparent); color: var(--sc); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.sav-chip:hover { background: color-mix(in oklab, var(--sc) 26%, transparent); }
.sav-count { margin: 0 0 var(--s-2); font-size: 12px; color: var(--muted); }
.sav-stats { margin-top: var(--s-4); }
.sav-stats > summary { cursor: pointer; font-weight: 600; padding: var(--s-2) 0; }
.sav-stats > .bento { margin-top: var(--s-2); }
.sav-prio { display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: var(--s-1) var(--s-3); }
.iv-remp { display: flex; flex-wrap: wrap; gap: var(--s-1); margin-top: var(--s-1); }
.iv-annulee { opacity: .6; }
.fc-acts { display: inline-flex; align-items: center; gap: var(--s-2); margin-left: auto; }
.panel-head .fc-acts .btn { margin-left: 0; }
.sla-head { display: flex; align-items: center; gap: var(--s-3); min-width: 0; }
.frise .fr-day { font-size: 10.5px; }

@media (max-width: 600px) {
  .bento.fc-chiffres > * { grid-column: span 6 !important; }      /* petites cartes chiffrées : deux par ligne */
  .bento.fc-chiffres > :last-child:nth-child(odd) { grid-column: span 12 !important; }
  .fc-tableau { display: none; }
  .fc-cartes { display: block; }
  .ac-vues { padding: var(--s-2) var(--s-3); }
  .ac-bat-res { margin-left: 0; flex-basis: 100%; order: 3; }      /* résumé sous le nom, le « ⋯ » reste sur la ligne du nom */
  .ac-bat-menu, .ac-bat-res:not(:empty) + .ac-bat-menu { order: 2; margin-left: auto; }
  /* Chrono SLA : titre et résumé sur deux lignes, étiquettes de la frise sur trois niveaux, légende sur deux colonnes */
  .sla-panel .panel-head { flex-wrap: wrap; row-gap: var(--s-1); }
  .sla-head { flex-basis: 100%; }
  .sla-panel .panel-meta { white-space: normal; }
  .frise { height: 150px; }
  .frise .fr-lbl { white-space: normal; width: max-content; max-width: 48%; font-size: 11px; line-height: 1.25; }
  .frise .fr-lbl-dl { max-width: 62%; }
  .frise .fr-lbl-obs, .frise .fr-lbl-seul { top: 104px !important; }
  .frise .fr-lbl-seul { max-width: 94%; }
  .frise .fr-lbl-fin { top: 128px !important; }
  .frise .fr-day { font-size: 11px; }
  .frise-leg { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-1) var(--s-3); }
}
.fc-ajout { margin-top: var(--s-3); }
