/* Écran « Interventions » : fiche tactile (tablette / téléphone) et rapport imprimable. */
.iv-wrap { display: flex; flex-direction: column; gap: 14px; }
.iv-form select, .iv-form input, .iv-form textarea { width: 100%; }
.iv-ligne { border: 1px solid var(--border); border-radius: 10px; padding: 12px; margin-bottom: 12px; background: var(--surface, transparent); }
.iv-ligne.fait { border-left: 4px solid var(--success, #2e9d5b); }
.iv-ligne-top { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.iv-fait { display: flex; align-items: center; gap: 12px; flex: 1; font-weight: 600; font-size: 15px; cursor: pointer; min-width: 0; }
.iv-fait input[type=checkbox] { width: 26px; height: 26px; flex: none; }
.iv-ligne.fait .iv-fait span { text-decoration: line-through; opacity: .75; }
.iv-ligne textarea, #iv-obs { width: 100%; min-height: 56px; resize: vertical; }
.iv-del { min-width: 36px; }
.iv-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; align-items: center; }
.iv-photo-btn { cursor: pointer; min-height: 40px; display: inline-flex; align-items: center; }
.iv-thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.iv-thumb { position: relative; display: inline-block; }
.iv-thumb img { width: 110px; height: 110px; object-fit: cover; border-radius: 8px; border: 1px solid var(--border); display: block; }
.iv-thumb-x { position: absolute; top: 3px; right: 3px; width: 26px; height: 26px; border-radius: 50%; border: 0; background: rgba(0, 0, 0, .65); color: #fff; font-size: 16px; line-height: 1; cursor: pointer; }
.iv-add { display: grid; grid-template-columns: 1fr 190px auto; gap: 8px; margin-top: 6px; }
.iv-signs { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.iv-sign-titre { font-weight: 600; margin-bottom: 6px; }
.iv-sign-nom { width: 100%; margin-bottom: 8px; }
.iv-pad { width: 100%; height: auto; aspect-ratio: 640 / 240; border: 2px dashed var(--muted, #888); border-radius: 10px; background: #fff; touch-action: none; display: block; cursor: crosshair; }
.iv-sign-img { max-width: 100%; max-height: 150px; background: #fff; border: 1px solid var(--border); border-radius: 8px; display: block; margin-bottom: 6px; }

@media (max-width: 760px) {
  .iv-add { grid-template-columns: 1fr; }
  .iv-signs { grid-template-columns: 1fr; }
  .iv-thumb img { width: 92px; height: 92px; }
  .iv-fait { font-size: 16px; flex: 1 1 100%; }
  .iv-ligne-top { flex-wrap: wrap; }
  .iv-wrap .btn, .iv-form select, .iv-form input { min-height: 44px; }
}

/* Rapport imprimable */
.iv-doc { max-width: 820px; margin: 0 auto; background: #fff; color: #111; padding: 28px 32px; border: 1px solid var(--border); border-radius: 8px; font-size: 13px; line-height: 1.45; }
.iv-doc-head { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 2px solid #1f3a5f; padding-bottom: 12px; margin-bottom: 14px; }
.iv-doc-logo { font-size: 26px; font-weight: 700; letter-spacing: -.03em; color: #1f3a5f; }
.iv-doc-logo em { color: #f2a900; font-style: normal; }
.iv-doc-sub { color: #666; font-size: 11px; }
.iv-doc-titre { text-align: right; }
.iv-doc-titre-lib { font-size: 18px; font-weight: 700; }
.iv-doc-num { font-family: var(--font-mono, monospace); font-size: 15px; }
.iv-doc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; margin-bottom: 8px; }
.iv-lbl { font-size: 10.5px; text-transform: uppercase; letter-spacing: .05em; color: #666; }
.iv-doc-h { font-size: 14px; margin: 16px 0 6px; border-bottom: 1px solid #ccc; padding-bottom: 3px; }
.iv-doc-table { width: 100%; border-collapse: collapse; }
.iv-doc-table th, .iv-doc-table td { border: 1px solid #bbb; padding: 5px 7px; text-align: left; vertical-align: top; }
.iv-doc-table th { background: #eef1f5; }
.iv-doc-photos { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.iv-doc-photos img { max-width: 170px; max-height: 130px; border: 1px solid #aaa; }
.iv-doc-signs { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 22px; page-break-inside: avoid; break-inside: avoid; }
.iv-doc-sign-cadre { border: 1px solid #888; min-height: 110px; padding: 6px; margin: 4px 0; }
.iv-doc-sign-cadre img { max-height: 100px; max-width: 100%; }

@media (max-width: 760px) {
  .iv-doc { padding: 16px; }
  .iv-doc-grid, .iv-doc-signs { grid-template-columns: 1fr; }
}
@media print {
  .iv-doc { border: 0; border-radius: 0; padding: 0; max-width: none; }
  .iv-doc-table tr { page-break-inside: avoid; break-inside: avoid; }
}
