
  *{box-sizing:border-box}
  body{margin:0;font-family:'Segoe UI',system-ui,Arial,sans-serif;color:#1f2a37;background:#fff}
  .report{font-size:12px;line-height:1.45}
  h1{font-size:34px;margin:0 0 4px}
  h2{font-size:18px;margin:0 0 12px;color:#1b3a5b;border-bottom:2px solid #e7edf3;padding-bottom:6px}
  h3{font-size:13px;margin:0 0 8px;color:#33506e}
  section.block{padding:22px 26px;page-break-inside:avoid}
  /* Cover */
  .cover{height:1000px;padding:46px;display:flex;flex-direction:column;
    background:linear-gradient(160deg,#0f2f51 0%,#1b4f86 55%,#2f6db0 100%);color:#fff;page-break-after:always}
  .cover-top{display:flex;justify-content:space-between;align-items:center}
  .brand{font-weight:800;letter-spacing:2px;font-size:18px}
  .brand span{font-weight:400;opacity:.8;letter-spacing:0;margin-left:6px;font-size:13px}
  .cover-date{opacity:.85;font-size:13px}
  .cover-main{margin-top:auto;margin-bottom:auto}
  .cover-kind{text-transform:uppercase;letter-spacing:3px;opacity:.8;font-size:13px;margin-bottom:14px}
  .cover h1{font-size:52px;font-weight:800}
  .cover-loc{font-size:18px;opacity:.85;margin-bottom:30px}
  .cover-years{display:flex;align-items:center;gap:16px;margin:18px 0}
  .yr{font-size:30px;font-weight:800;padding:8px 22px;border-radius:12px;background:rgba(255,255,255,.12)}
  .yrB{background:rgba(255,255,255,.22)}
  .arrow{font-size:30px;opacity:.8}
  .cover-meta{display:flex;gap:28px;margin-top:24px;font-size:15px;opacity:.95}
  .cover-meta b{font-size:17px}
  .cover-foot{opacity:.7;font-size:12px}
  /* KPI */
  .kpis{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
  .kpi{flex:1;min-width:120px;background:#f5f8fb;border:1px solid #e7edf3;border-radius:10px;padding:14px 16px}
  .kpi-val{font-size:28px;font-weight:800}
  .kpi-lbl{font-size:11px;color:#6b7787;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
  .k-blue .kpi-val{color:#2f6db0}.k-orange .kpi-val{color:#e0683a}
  .k-green .kpi-val{color:#3f8b54}.k-red .kpi-val{color:#cf4040}
  /* Cards / charts */
  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .card{background:#fff;border:1px solid #e7edf3;border-radius:10px;padding:14px}
  .chart-box{width:100%}
  .chart-h{margin:0 0 8px;font-size:13px;color:#33506e;text-align:center}
  .donut-wrap{display:flex;flex-direction:column;align-items:center}
  .donut-wrap .svg-chart{max-width:230px}
  .donut-legend{margin-top:6px;font-size:11px;display:flex;flex-direction:column;gap:3px}
  .dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}
  .sev-card{margin-top:16px}
  .sev-rows{display:flex;flex-direction:column;gap:8px}
  .sev-row{display:flex;align-items:center;gap:10px}
  .sev-yr{font-weight:700;width:46px;color:#33506e}
  .sev-legend{margin-top:10px;display:flex;flex-wrap:wrap;gap:12px;font-size:11px}
  .leg-item .dot{margin-right:5px}
  /* Turbine */
  .turbine-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
  .turbine-head h2{border:0;margin:0}
  .turbine-meta{display:flex;gap:6px;flex-wrap:wrap}
  .mk{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;background:#eef2f7}
  .mk-blue{background:#e4eefa;color:#2f6db0}.mk-orange{background:#fdece4;color:#d2602f}
  .mk-green{background:#e6f3ea;color:#3f8b54}.mk-red{background:#fbe6e6;color:#cf4040}
  .warn{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;background:#fff4d6;color:#9a6b00}
  .turbine-dates{font-size:11px;color:#7a8696;margin:4px 0 10px;border-bottom:2px solid #e7edf3;padding-bottom:8px}
  .mode-tag{display:inline-block;font-size:9.5px;font-weight:700;padding:1px 6px;border-radius:10px;background:#e7edf3;color:#33506e;margin-left:2px}
  .cover-crossmode{margin-top:14px;font-size:13px;background:rgba(255,255,255,.14);border-radius:8px;padding:8px 12px;max-width:520px}
  /* Table */
  table.defect-table{width:100%;border-collapse:collapse;font-size:11px}
  .defect-table th{text-align:left;background:#f0f4f9;color:#33506e;padding:7px 8px;border-bottom:2px solid #dde6ef;font-size:10.5px}
  .defect-table td{padding:6px 8px;border-bottom:1px solid #eef2f6;vertical-align:middle}
  .defect-table tr:nth-child(even) td{background:#fafbfd}
  .defect-table td.num{white-space:nowrap}
  .delta{color:#8a93a3;margin-left:5px}
  .r-new td{background:#fdf4ef !important}
  .r-repaired td{background:#f1f8f3 !important}
  .empty{text-align:center;color:#9aa4b1;padding:14px}
  .sev{display:inline-block;color:#fff;font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:20px;white-space:nowrap}
  .trend{font-size:10px;font-weight:700;padding:2px 7px;border-radius:20px;white-space:nowrap}
  .trend.bad{background:#fbe6e6;color:#cf4040}
  .trend.good{background:#e6f3ea;color:#3f8b54}
  .trend.neutral{background:#eef2f7;color:#6b7787}
  .filter-note{font-size:11px;font-weight:600;color:#9a6b00;background:#fff4d6;padding:2px 9px;border-radius:20px;vertical-align:middle;margin-left:8px}
  .muted-sm{font-size:11px;color:#9aa4b1}
  .method ul{margin:0;padding-left:18px}
  .method li{margin-bottom:6px}
  .svg-chart{display:block}
  @media print{
    section.block{page-break-inside:avoid}
    .report .turbine{break-before:page;page-break-before:always}
  }
  
  .loc-turbine-head{display:flex;gap:16px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
  .loc-glyph{width:150px;flex:none}
  .loc-cross{width:210px;flex:none;text-align:center}
  .cross-cap{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#8a93a3;font-weight:700;margin-bottom:2px}
  .loc-turbine-info{flex:1;min-width:180px}
  .loc-turbine-info h2{border:0;margin:0 0 4px}
  .loc-sevs{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
  .loc-sev{display:flex;align-items:center;gap:6px;font-size:11px;color:#3a4654}
  .sev-chip{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border-radius:9px;color:#fff;font-weight:700;font-size:10px}
  .face-dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;vertical-align:middle}
  .face-dot.LE{background:#1b4f86}.face-dot.SS{background:#2f8f6b}.face-dot.PS{background:#c06a2f}.face-dot.TE{background:#7a6cae}
  .blade-block{margin:14px 0 6px;padding:12px;border:1px solid #e7edf3;border-radius:10px;background:#fff;page-break-inside:avoid}
  .blade-head{display:flex;justify-content:space-between;align-items:baseline}
  .blade-head h3{margin:0;color:#1b3a5b;font-size:14px}
  .blade-count{font-size:11px;font-weight:700;color:#2f6db0;background:#e4eefa;padding:2px 9px;border-radius:20px}
  .blade-plan-wrap{margin:8px 0 10px}
  .loc-table{font-size:10.5px}
  .loc-legend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px}
  .loc-notes{margin:0;padding-left:18px;font-size:12px}
  .loc-notes li{margin-bottom:5px}
  .blade-plan{display:block}
  /* Sommaire (PDF) */
  .toc-list{display:flex;flex-direction:column;gap:6px}
  .toc-item{display:flex;justify-content:space-between;align-items:center;gap:12px;
    padding:9px 14px;border:1px solid #e7edf3;border-radius:9px;text-decoration:none;color:#1f2a37;background:#fafbfd}
  .toc-name{font-weight:800;color:#1b3a5b;font-size:14px}
  .toc-meta{font-size:11px;color:#6b7787;display:flex;align-items:center;gap:8px}
  .toc-chip{color:#fff;font-weight:700;font-size:10px;padding:2px 8px;border-radius:20px}
  /* Le sommaire ne s'affiche qu'à l'impression (PDF), pas dans l'aperçu écran */
  .pdf-only{display:none}
  @media print {
    .pdf-only{display:block !important}
    .loc-report .loc-turbine{break-before:page;page-break-before:always}
    .loc-report .toc{break-after:page;page-break-after:always}
  }
  