/* Rafinex360 1.64.0 — Mode d'affichage : Compact | Standard | Confortable (Plus › Apparence).
   html[data-density="compact"|"confort"] posé par js/look.js avant le premier affichage ; « standard » = aucun attribut
   (affichage inchangé). Purement visuel : les données, les calculs et les rapports PDF/Excel ne changent pas.
   Chargé en dernier dans app.html pour primer sur les thèmes Nuit et Clair.
   Tablette (641–1366 px) : en Compact et Standard, les listes de cartes (pompes, états, historiques, rapports) passent en
   colonnes pour ne plus occuper tout l'écran. */

/* ═════════════ COMPACT : plus d'informations à l'écran ═════════════ */
html[data-density="compact"] .content{padding-top:10px;padding-left:10px;padding-right:10px}
html[data-density="compact"] .view{gap:8px}
html[data-density="compact"] .card{padding:10px 12px}
html[data-density="compact"] .card-header{margin-bottom:6px}
html[data-density="compact"] .card-title{font-size:12.5px}
html[data-density="compact"] .card-p,
html[data-density="compact"] .kpi-sub{font-size:11.5px;line-height:1.35}
html[data-density="compact"] .section-label{margin-top:4px;font-size:12.5px}
html[data-density="compact"] .kpis{gap:6px}
html[data-density="compact"] .kpi{padding:9px 10px 8px}
html[data-density="compact"] .metrics{gap:5px}
html[data-density="compact"] .metric{padding:5px 7px}
html[data-density="compact"] .alert{padding:7px 9px;font-size:12px;line-height:1.35;row-gap:5px;gap:8px}
html[data-density="compact"] .row-item{padding:6px 0;gap:8px}
html[data-density="compact"] .empty{padding:10px 8px;font-size:12px}
html[data-density="compact"] .fields{gap:7px}
html[data-density="compact"] .field{gap:3px}
html[data-density="compact"] .tag{font-size:10.5px;padding:1px 7px}
html[data-density="compact"] .btn-row{gap:6px}
html[data-density="compact"] table td,
html[data-density="compact"] table th{padding-top:4px;padding-bottom:4px}
html[data-density="compact"] .hist{font-size:10px;line-height:1.35}
html[data-density="compact"] details>summary{padding-top:6px;padding-bottom:6px}
/* Pompes (Opérations › Pompes) : cartes resserrées, circuit animé réduit */
html[data-density="compact"] .pm-grid{gap:6px}
html[data-density="compact"] .pm-card{padding:7px 9px;gap:4px}
html[data-density="compact"] .pm-h b{font-size:13.5px}
html[data-density="compact"] .pm-st{font-size:11px;padding:2px 7px}
html[data-density="compact"] .pm-why{display:none}
html[data-density="compact"] .pm-et,
html[data-density="compact"] .pm-al,
html[data-density="compact"] .pm-insp{font-size:11.5px;padding:4px 7px;line-height:1.3}
html[data-density="compact"] .pm-dl{font-size:12px;gap:1px 8px}
html[data-density="compact"] .pm-f small{font-size:10.5px}
html[data-density="compact"] .pm-flow{transform:scale(.8);transform-origin:left center;margin:-6px 0 -8px}
/* Fiches d'incident, réceptions, rapports : en-têtes et corps resserrés */
html[data-density="compact"] .inc-card>.kpi-sub{padding:0 10px 8px}

/* ═════════════ CONFORTABLE : lecture facile, cibles larges (gants, plein soleil) ═════════════ */
html[data-density="confort"] .view{gap:20px}
html[data-density="confort"] .card{padding:20px}
html[data-density="confort"] .card-header{margin-bottom:14px}
html[data-density="confort"] .card-title{font-size:15px}
html[data-density="confort"] .card-p,
html[data-density="confort"] .kpi-sub{font-size:14px;line-height:1.55}
html[data-density="confort"] .kpis{gap:14px}
html[data-density="confort"] .kpi{padding:18px 16px 16px}
html[data-density="confort"] .alert{padding:14px 16px;font-size:14px;line-height:1.55}
html[data-density="confort"] .row-item{padding:16px 0}
html[data-density="confort"] .fields{gap:14px}
html[data-density="confort"] .btn{min-height:48px}
html[data-density="confort"] .btn.sm{min-height:42px}
html[data-density="confort"] .tag{font-size:12.5px;padding:3px 10px}
html[data-density="confort"] table td,
html[data-density="confort"] table th{padding-top:11px;padding-bottom:11px}
html[data-density="confort"] .hist{font-size:12px;line-height:1.6}
html[data-density="confort"] .pm-grid{gap:12px}
html[data-density="confort"] .pm-card{padding:14px 16px;gap:8px}
html[data-density="confort"] .pm-h b{font-size:17px}
html[data-density="confort"] .pm-why,
html[data-density="confort"] .pm-al,
html[data-density="confort"] .pm-et{font-size:14px}
html[data-density="confort"] .pm-dl{font-size:14.5px}

/* ═════════════ TABLETTE (641 à 1366 px) ═════════════ */
@media (min-width:641px) and (max-width:1366px){
  /* Pompes : colonnes automatiques au lieu d'une carte pleine largeur */
  html:not([data-density="confort"]) .pm-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
  html[data-density="compact"] .pm-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
  html[data-density="confort"] .pm-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
  /* Indicateurs : 4 par ligne (3 en confortable) */
  html:not([data-density="confort"]) .kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
  html[data-density="confort"] .kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  html[data-density="compact"] .metrics{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
  /* Historiques et rapports (quarts clôturés, incidents, inspections) : 2 colonnes en Compact */
  html[data-density="compact"] :is(#qzRepList,#basHist,#effHist,#hList,#anomList,#drList,#bOpsList){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-items:start}
  html[data-density="compact"] :is(#qzRepList,#basHist,#effHist,#hList,#anomList,#drList,#bOpsList)>*{margin:0!important;min-width:0}
  html[data-density="compact"] :is(#qzRepList,#basHist,#effHist,#hList,#anomList,#drList,#bOpsList)>.empty{grid-column:1/-1}
  /* Formulaires : 3 champs par ligne en Compact */
  html[data-density="compact"] .fields{grid-template-columns:repeat(3,minmax(0,1fr))}
  html[data-density="compact"] .fields>.full{grid-column:1/-1}
  /* Largeur de lecture : la vue ne s'étire plus sur toute la tablette en Confortable */
  html[data-density="confort"] .view{max-width:980px;margin-left:auto;margin-right:auto;width:100%}
}
/* Tablette paysage (rail à gauche) : cartes de pompes un peu plus larges pour garder le nom lisible */
@media (min-width:1024px) and (max-width:1366px){html[data-density="compact"] .pm-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}}
/* Dialogues : jamais 3 colonnes (formulaire étroit) */
@media (min-width:641px){html[data-density="compact"] dialog .fields{grid-template-columns:1fr 1fr}}
html[data-density="compact"] #drDlg .fields{grid-template-columns:1fr}

/* Réglage lui-même : trois choix sur une ligne */
#lookDensity{grid-template-columns:repeat(3,minmax(0,1fr))}
.look-dens-note{margin-top:6px}
/* Compact : libellés courts sur une ligne (pas de retour à la ligne des badges et liens) */
html[data-density="compact"] .pm-h b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-density="compact"] .pm-st,
html[data-density="compact"] .pm-f .lnk{white-space:nowrap;flex-shrink:0}
html[data-density="compact"] .pm-f small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ═════════════ 1.64.0 : listes raccourcies (« Voir plus ») ═════════════ */
.rx-clip{display:none!important}
.rx-more{display:block;width:100%;margin:6px 0 2px;min-height:38px;grid-column:1/-1;justify-self:stretch}

/* ═════════════ 1.64.0 : Fabrication en deux temps ═════════════ */
#v-blend.fab-list .fab-z{display:none!important}
#v-blend.fab-saved .fab-in{display:none!important}
.fab-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fab-h>div{display:flex;flex-direction:column;min-width:0;flex:1}
.fab-h b{font-size:15px;color:var(--text)}
.fab-h small,.fab-cur small,.fab-sum small{font-size:12px;color:var(--text-mute)}
.fab-h .btn.primary{flex-shrink:0}
.fab-cur,.fab-sum{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--bg-raised,rgba(255,255,255,.04));border:1px solid var(--border-subtle)}
.fab-sum{margin-top:0}
.fab-cur>div,.fab-sum>div{display:flex;flex-direction:column;min-width:0}
.fab-cur span,.fab-sum span{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}
.fab-cur b,.fab-sum b{font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fab-cur .btn,.fab-sum .btn{flex-shrink:0}

/* ═════════════ 1.64.0 : Stock MMT compact ═════════════ */
.mm-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:6px}
.mm-k{padding:7px 8px;border-radius:10px;gap:1px;min-width:0}
.mm-k span{font-size:9.5px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-k b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-k small{font-size:10px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mm-last{grid-column:1/-1;font-size:12px;color:var(--text-mute);padding:2px 2px 0}
.mm-last span{color:var(--text-dim)}
.mm-last b{color:var(--text)}
.mm-last.bad b{color:var(--red)}
.mm-today{padding:8px 10px;margin:0 0 8px;border-radius:12px}
.mm-today h4{margin:0 0 4px;font-size:12.5px;align-items:baseline}
.mm-today h4 small{font-size:10.5px}
.mm-tg{gap:4px}
.mm-tg span{font-size:9.5px}
.mm-tg b,.mm-tg .rest b{font-size:14px}
.mm-tg small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-add-h{display:block;font-size:11px;color:var(--text-mute);font-weight:500}
#mmAdd{margin-bottom:8px}
.mm-dbox>summary{cursor:pointer}
.mm-more{margin-top:8px}
@media (max-width:420px){
  /* téléphone : 2 × 2 cases d'une ligne (libellé à gauche, valeur à droite) */
  .mm-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .mm-k{flex-direction:row;align-items:baseline;justify-content:space-between;gap:6px;padding:6px 8px}
  .mm-k small{display:none}
  .mm-k span{flex-shrink:1}
  .mm-k b{font-size:13.5px;flex-shrink:0}
  .mm-tg{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:4px}
  .mm-tg b,.mm-tg .rest b{font-size:12.5px}
  .db-mmt-g b{font-size:13px}
  #mmSuppliers .mm-sup{overflow-x:auto;font-size:11px}
  #mmSuppliers .mm-srow{min-width:470px}
}

/* ═════════════ 1.64.0 : bilan MMT sur l'accueil ═════════════ */
.db-mmt{padding:10px 12px;cursor:pointer}
.db-mmt-h{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.db-mmt-h b{font-size:14px;color:var(--text)}
.db-mmt-h small{flex:1;font-size:11px;color:var(--text-mute);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.db-mmt-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.db-mmt-g>div{display:flex;flex-direction:column;min-width:0}
.db-mmt-g span{font-size:9.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim)}
.db-mmt-g b{font-size:14.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-mmt-g small{font-size:10px;color:var(--text-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-mmt-g .in b{color:var(--green)}
.db-mmt-g .out b{color:var(--cyan)}
.db-mmt-g .bad b{color:var(--red)}
