*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#eaf0f5;color:#142033}.topbar{display:flex;justify-content:space-between;align-items:center;padding:11px 24px;background:#071827;color:#fff;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:11px}.brand img,.report-head img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}.brand small{display:block;color:#9db1c5;margin-top:3px}.container{max-width:1260px;margin:22px auto;padding:0 15px}.hero{display:flex;justify-content:space-between;gap:22px;align-items:center;background:linear-gradient(135deg,#102b45,#075985);color:#fff;border-radius:20px;padding:25px;margin-bottom:18px}.hero h1{margin:5px 0 8px;font-size:31px}.hero p{margin:0;color:#d6e5ef;max-width:760px}.eyebrow{font-size:11px;letter-spacing:1.8px;color:#67e8f9;font-weight:900}.simulation-badge{max-width:290px;border:1px solid #fbbf24;background:#2e270d;padding:14px;border-radius:14px}.simulation-badge b{display:block;color:#fbbf24;font-size:15px}.simulation-badge span{font-size:11px}.card,.panel{background:#fff;border:1px solid #d7e0e8;border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(10,31,51,.07)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.full{grid-column:1/-1}.section-title{display:flex;gap:12px;align-items:center;border-bottom:1px solid #e5ebf1;padding:3px 0 10px}.section-title b{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#0369a1;color:#fff}.section-title h2{margin:0;font-size:18px}.section-title p{margin:2px 0 0;color:#64748b;font-size:12px}label{display:block;font-weight:800;font-size:12px;margin-bottom:6px}input,textarea,select{width:100%;border:1px solid #c8d4df;border-radius:10px;padding:11px 12px;font-size:14px;background:#fff}input[type=range]{padding:4px 0}output{font-size:12px;font-weight:800;color:#0369a1}.advanced{border:1px dashed #a9b8c6;border-radius:12px;padding:10px 12px;background:#f8fafc}.advanced summary{cursor:pointer;font-weight:800;color:#0c4a6e}.advanced-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}.btn{display:inline-block;border:0;border-radius:10px;padding:11px 16px;font-weight:900;text-decoration:none;cursor:pointer}.primary{background:#0369a1;color:#fff}.ghost{background:#17344e;color:#fff}.actions{display:flex;justify-content:flex-end}.report{margin-top:22px;position:relative;overflow:hidden;border-top:6px solid #0f766e}.report.watch{border-top-color:#d97706}.report.critical{border-top-color:#991b1b}.watermark{position:absolute;right:-58px;top:70px;transform:rotate(35deg);font-size:16px;font-weight:900;letter-spacing:2px;color:rgba(190,24,93,.12);border:3px solid rgba(190,24,93,.12);padding:8px 72px}.report-head{display:flex;align-items:center;gap:13px;border-bottom:2px solid #dce5ed;padding-bottom:13px}.report-head h2{margin:0}.report-head p{margin:4px 0 0;color:#64748b;font-size:11px}.report-id{margin-left:auto;text-align:right}.report-id span{display:block;font-size:10px;color:#64748b;letter-spacing:1px}.report-id small{display:block;color:#64748b}.result-banner{margin:15px 0;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#ecfdf5,#cffafe);border:1px solid #99f6e4;border-radius:15px;padding:17px}.watch .result-banner{background:#fff7ed;border-color:#fed7aa}.critical .result-banner{background:#fff1f2;border-color:#fecdd3}.result-banner span{font-size:11px;color:#64748b}.result-banner h2{margin:3px 0;font-size:22px}.result-banner p{margin:0;font-size:12px}.score{text-align:center;border-left:1px solid #b8d8d2;padding-left:22px}.score b{display:block;font-size:38px}.score span{font-size:10px}.sample-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}.sample-strip div{background:#f6f9fb;border:1px solid #e2e8f0;border-radius:10px;padding:9px}.sample-strip span,.tech-table span{display:block;color:#64748b;font-size:10px}.sample-strip b{font-size:13px}.dashboard-grid,.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.panel{box-shadow:none}.panel h3{margin:0 0 13px;font-size:15px}.panel h4{font-size:12px;margin-bottom:5px}.radar-wrap{display:flex;justify-content:center;position:relative}.radar{width:255px;height:255px}.radar .grid polygon,.radar .grid line{fill:none;stroke:#cbd5e1;stroke-width:1}.radar-data{fill:rgba(14,116,144,.28);stroke:#0e7490;stroke-width:3}.radar-labels{position:absolute;inset:0;font-size:9px;font-weight:800;color:#475569}.radar-labels span{position:absolute}.radar-labels span:nth-child(1){top:0;left:46%}.radar-labels span:nth-child(2){top:31%;right:0}.radar-labels span:nth-child(3){bottom:2%;right:8%}.radar-labels span:nth-child(4){bottom:2%;left:5%}.radar-labels span:nth-child(5){top:31%;left:0}.meter{margin-bottom:12px}.meter>div{display:flex;justify-content:space-between;font-size:11px;font-weight:800}.meter i{display:block;height:9px;border-radius:9px;background:#e5edf3;overflow:hidden;margin:5px 0}.meter em{display:block;height:100%;background:linear-gradient(90deg,#0ea5e9,#0f766e);border-radius:9px}.meter small{color:#64748b}.tech-table{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tech-table div{background:#f5f8fb;border:1px solid #e2e8f0;border-radius:9px;padding:9px}.tech-table b{font-size:14px}.tech-table small{display:block;color:#0284c7;font-weight:900;font-size:9px;margin-top:3px}.solution-visual{margin-top:14px}.solution-title{font-weight:900;text-align:center;color:#0c4a6e;margin-bottom:12px}.process-diagram{display:flex;align-items:center;justify-content:center;gap:20px;background:#f8fafc;border-radius:13px;padding:17px}.step{text-align:center;width:150px}.step b{display:block;font-size:12px}.step small{font-size:9px;color:#64748b}.arrow{font-size:28px;color:#0284c7}.jar{width:82px;height:105px;margin:0 auto 8px;border:4px solid #334155;border-top:0;border-radius:0 0 22px 22px;background:linear-gradient(#a855f7,#581c87);position:relative;overflow:hidden}.jar i{position:absolute;inset:12px 7px;background:radial-gradient(circle,#2e1065 0 7px,transparent 8px);background-size:22px 22px}.jar.good{background:linear-gradient(#5eead4,#0f766e)}.jar.watch{background:linear-gradient(#fde68a,#d97706)}.jar.critical{background:linear-gradient(#fb7185,#7f1d1d)}.machine{width:100px;height:78px;margin:15px auto 20px;border:4px solid #334155;border-radius:12px;background:#dbeafe;display:flex;align-items:center;justify-content:center;gap:6px}.machine i{width:14px;height:42px;background:#0284c7;border-radius:10px;animation:pulse 1.4s infinite alternate}.machine i:nth-child(2){height:58px}.machine i:nth-child(3){height:34px}@keyframes pulse{to{transform:scaleY(.65)}}.phase-chart{height:180px;display:flex;gap:18px;align-items:flex-end;justify-content:center;margin-top:16px;padding:10px;border-left:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1}.phase-chart div{width:28%;min-height:15px;border-radius:8px 8px 0 0;position:relative;background:linear-gradient(#fb7185,#be123c)}.phase-chart div:nth-child(2){background:linear-gradient(#fbbf24,#d97706)}.phase-chart div:nth-child(3){background:linear-gradient(#5eead4,#0f766e)}.phase-chart span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:9px;width:115px;text-align:center;font-weight:800}.decision{margin-top:13px;padding:11px;border-left:4px solid #0f766e;background:#f0fdfa}.decision span{display:block;font-size:10px;color:#64748b}.protocol{padding-left:20px;margin:0}.protocol li{margin-bottom:9px;padding-left:4px}.mini-note{font-size:10px;color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:9px}.alerts{margin-top:14px}.alert-row{display:flex;gap:9px;align-items:center;padding:8px;border-bottom:1px solid #edf1f5}.alert-row b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#fff1f2;color:#dc2626}.signature{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:28px 0;text-align:center}.disclaimer{background:#fff8e6;border:1px solid #f4ce71;padding:11px;border-radius:10px;font-size:10px;color:#604900}.print-actions{margin:18px 0}@media(max-width:900px){.advanced-grid{grid-template-columns:repeat(2,1fr)}.tech-table{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.hero,.result-banner{display:block}.simulation-badge{margin-top:14px;max-width:none}.form-grid,.dashboard-grid,.report-grid{grid-template-columns:1fr}.sample-strip{grid-template-columns:repeat(2,1fr)}.process-diagram{flex-direction:column}.arrow{transform:rotate(90deg)}.report-id{margin:9px 0 0;text-align:left}.report-head{flex-wrap:wrap}.score{border-left:0;border-top:1px solid #ddd;padding:10px 0 0;margin-top:10px}.advanced-grid{grid-template-columns:1fr}.tech-table{grid-template-columns:1fr 1fr}}@media print{body{background:#fff}.topbar,.hero,.form-grid,.print-actions{display:none!important}.container{max-width:none;margin:0;padding:0}.report{border-left:0;border-right:0;border-bottom:0;box-shadow:none;margin:0;padding:8px}.panel{break-inside:avoid}.meter em,.result-banner,.jar,.machine,.phase-chart div,.radar-data{print-color-adjust:exact;-webkit-print-color-adjust:exact}.watermark{display:block}}
.chemistry-panel{margin-top:14px}.chemical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.chemical-grid div{background:linear-gradient(145deg,#f8fafc,#eef6fb);border:1px solid #dbe7ef;border-radius:10px;padding:10px}.chemical-grid span{display:block;color:#64748b;font-size:10px}.chemical-grid b{display:block;font-size:14px;margin-top:3px}.chemical-grid small{color:#7c3aed;font-weight:900;font-size:9px}.solution-options{margin-top:14px;background:linear-gradient(145deg,#fff,#f8fbff)}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.option-grid article{position:relative;border:1px solid #dbe5ee;border-radius:14px;padding:15px;background:#fff;overflow:hidden}.option-grid article>span{font-size:9px;font-weight:900;color:#7c3aed;letter-spacing:1px}.option-grid h4{font-size:15px;margin:4px 0 7px}.option-grid p,.option-grid li{font-size:11px;line-height:1.45;color:#475569}.option-icon{position:absolute;right:12px;top:10px;font-size:30px;opacity:.25}.support-visual{min-height:115px;border-radius:12px;background:#eef6ff;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:12px;position:relative;overflow:hidden}.support-visual.bottle i{width:55px;height:78px;border:4px solid #334155;border-radius:8px 8px 16px 16px;background:linear-gradient(#fb7185,#7f1d1d)}.support-visual.bottle b{font-size:22px;color:#7f1d1d}.support-visual.bottle small{position:absolute;bottom:9px;color:#64748b}.support-visual.cardboard{flex-wrap:wrap;padding:13px}.support-visual.cardboard div{width:130px;height:58px;border:3px dashed #8b5e34;border-radius:6px;background:#d8b98a;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#4b2e16;transform:rotate(-2deg)}.support-visual.cardboard div:nth-child(2){transform:rotate(2deg)}.support-visual.cardboard b{font-size:21px}.support-visual.cardboard small{font-size:8px}.support-visual.cardboard em{width:100%;text-align:center;font-size:9px;color:#6b4b2a;font-weight:900}.solution-warning{margin-top:12px;padding:10px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;font-size:10px;color:#7c2d12}@media(max-width:900px){.chemical-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.option-grid,.chemical-grid{grid-template-columns:1fr}}


.process-name{margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(15,23,42,.05);display:flex;flex-direction:column;gap:4px}
.process-name b{font-size:14px;color:#0f172a}.process-name span{font-size:12px;color:#475569}
.timeline-24{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px;position:relative}
.timeline-24:before{content:"";position:absolute;left:8%;right:8%;top:17px;height:3px;background:linear-gradient(90deg,#94a3b8,#0ea5e9,#14b8a6);border-radius:999px;z-index:0}
.timeline-24 span{position:relative;z-index:1;text-align:center;font-weight:800;font-size:12px;color:#0f172a}
.timeline-24 span:before{content:"";display:block;width:14px;height:14px;border:4px solid #fff;background:#0ea5e9;border-radius:50%;margin:10px auto 6px;box-shadow:0 0 0 1px #cbd5e1}
.timeline-24 small{display:block;font-weight:600;color:#64748b;line-height:1.25}
.extract-card{position:relative;overflow:hidden;min-height:120px;border:2px solid #334155!important;background:linear-gradient(135deg,#f8fafc,#dbeafe)!important;color:#0f172a!important;display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:center!important;padding:14px!important}
.extract-card span{font-size:10px;letter-spacing:.12em;color:#475569}.extract-card b{font-size:28px!important}.extract-card small{font-size:11px!important}.diffusion-layer{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 12px,rgba(14,165,233,.10) 12px 16px);animation:diffuse 3s linear infinite}
.extract-vessel{min-height:120px!important;background:linear-gradient(180deg,#e0f2fe,#ecfeff)!important;position:relative;overflow:hidden;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:12px!important}
.extract-vessel i{position:absolute;left:16%;right:16%;bottom:16%;height:42%;background:linear-gradient(180deg,rgba(14,165,233,.35),rgba(20,184,166,.72));border-radius:0 0 16px 16px;animation:liquidPulse 2.6s ease-in-out infinite}
.extract-vessel b,.extract-vessel small{position:relative;z-index:2}.equipment-result{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:center;margin-top:14px;padding:14px;border:1px solid #cbd5e1;border-radius:14px;background:linear-gradient(135deg,#f8fafc,#ecfeff)}
.equipment-result p{margin:5px 0 0;color:#475569}.equipment-icon{height:74px;border-radius:16px;background:#0f172a;position:relative;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:inset 0 0 0 5px #334155}.equipment-icon i{width:12px;height:34px;border-radius:8px;background:#22d3ee;box-shadow:0 0 12px rgba(34,211,238,.65)}
@keyframes diffuse{from{transform:translateX(-16px)}to{transform:translateX(16px)}}
@keyframes liquidPulse{0%,100%{transform:scaleY(.92);opacity:.8}50%{transform:scaleY(1.08);opacity:1}}
@media(max-width:720px){.timeline-24{grid-template-columns:1fr}.timeline-24:before{display:none}.timeline-24 span{display:grid;grid-template-columns:52px 1fr;align-items:center;text-align:left}.timeline-24 span:before{display:none}.equipment-result{grid-template-columns:1fr}.equipment-icon{width:84px}}

/* V6 — seconde proposition végétale simulée */
.solution-card.phyto{background:linear-gradient(145deg,#ffffff,#f0fdf4);border-color:#bbf7d0}
.solution-card.phyto>span{color:#15803d}.phyto-visual{min-height:190px;margin-top:12px;padding:18px;border-radius:16px;background:linear-gradient(135deg,#ecfdf5,#dcfce7);display:grid;grid-template-columns:1fr 38px 1fr 38px 1.25fr;align-items:center;gap:8px;border:1px solid #bbf7d0}
.leaf-stage,.micro-drop,.glass-stack{text-align:center}.leaf-stage span,.micro-drop span,.glass-stack span{display:block;font-size:10px;color:#3f6212;margin-top:7px;font-weight:800}.leaf{width:112px;height:72px;margin:auto;background:linear-gradient(135deg,#4ade80,#15803d);border-radius:100% 0 100% 0;transform:rotate(-12deg);position:relative;box-shadow:0 12px 25px rgba(21,128,61,.22)}
.leaf:after{content:"";position:absolute;left:50%;top:7px;bottom:7px;width:3px;background:#dcfce7;transform:rotate(21deg);border-radius:4px}.leaf i,.leaf b{position:absolute;height:2px;background:#bbf7d0;width:35px;top:29px;left:21px;transform:rotate(30deg)}.leaf b{top:45px;left:48px;transform:rotate(-24deg)}
.micro-arrow{text-align:center;font-size:30px;color:#16a34a;font-weight:900}.micro-drop i{display:block;width:66px;height:84px;margin:0 auto 9px;background:linear-gradient(#86efac,#15803d);border-radius:50% 50% 55% 55% / 65% 65% 35% 35%;transform:rotate(45deg);box-shadow:0 10px 25px rgba(21,128,61,.25)}.micro-drop b{font-size:20px;color:#166534}
.glass-stack{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.glass-stack i{width:44px;height:61px;border:3px solid #38bdf8;border-radius:5px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(186,230,253,.55));position:relative;box-shadow:3px 4px 0 rgba(14,165,233,.12)}.glass-stack i:after{content:"";position:absolute;left:5px;right:5px;top:8px;height:2px;background:#e0f2fe;transform:rotate(-24deg)}.glass-stack small{position:absolute;inset:auto 0 5px;font-size:8px;color:#0369a1}.glass-stack b,.glass-stack span{width:100%}.glass-stack b{font-size:15px;color:#0369a1;margin-top:4px}.phyto-name{background:#f0fdf4;border:1px solid #bbf7d0}.phyto-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.phyto-metrics div{text-align:center;padding:10px;border-radius:11px;background:#f0fdf4;border:1px solid #bbf7d0}.phyto-metrics b{display:block;font-size:18px;color:#15803d}.phyto-metrics span{font-size:9px;color:#3f6212;font-weight:800}
@media(max-width:900px){.phyto-visual{grid-template-columns:1fr}.micro-arrow{transform:rotate(90deg)}.phyto-metrics{grid-template-columns:repeat(2,1fr)}}
@media print{.phyto-visual,.phyto-metrics div,.solution-card.phyto{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.language-switcher{display:inline-flex;gap:4px;padding:4px;background:#eef2f7;border:1px solid #dce3eb;border-radius:10px;vertical-align:middle}.language-switcher a{min-width:34px;padding:7px 8px;border-radius:7px;text-align:center;text-decoration:none;font-size:12px;font-weight:800;color:#425466}.language-switcher a:hover,.language-switcher a.active{background:#123a52;color:#fff}.top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.login-lang{max-width:720px;margin:18px auto -8px;padding:0 18px;display:flex;justify-content:flex-end}@media(max-width:640px){.topbar{align-items:flex-start}.top-actions{justify-content:flex-end}.language-switcher a{min-width:30px;padding:6px}.brand small{font-size:10px}}


/* Rapport A4 calqué sur le modèle RESULTAT ANALISE */
@page{size:A4 portrait;margin:8mm 7mm 9mm}
@media print{
  html,body{width:210mm!important;background:#fff!important;font-family:Arial,Helvetica,sans-serif!important;color:#142033!important}
  body{font-size:9.2pt!important}
  .topbar,.hero,.form-grid,.print-actions{display:none!important}
  .container{width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
  .report{display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
  .report-head{height:26mm;display:grid!important;grid-template-columns:1fr 1fr;align-items:start;gap:5mm;padding:4mm 2mm 3mm!important;border-top:3mm solid #9f1f25;border-bottom:1px solid #d9e0e7;position:relative}
  .report-head img{max-height:15mm!important;max-width:28mm!important}
  .report-head h2{font-size:17pt!important;margin:0 0 1mm!important;line-height:1.05!important}
  .report-head p{font-size:7.5pt!important;margin:0!important}
  .report-id{text-align:left!important;margin:0!important;padding:0!important;border:0!important}
  .report-id span{font-size:7pt!important;letter-spacing:.12em!important}
  .report-id b{font-size:12.5pt!important;display:block!important;margin-top:1mm!important}
  .report-id small{font-size:8pt!important}
  .result-banner{margin:5mm 0 4mm!important;padding:6mm 5mm!important;min-height:42mm!important;border:1px solid #f1cbd0!important;border-radius:5mm!important;background:#fff3f4!important;display:grid!important;grid-template-columns:1fr 34mm!important;gap:4mm!important;align-items:center!important;break-inside:avoid!important}
  .result-banner h2{font-size:17pt!important;line-height:1.15!important;margin:2mm 0!important}
  .result-banner p,.result-banner span{font-size:8pt!important}
  .score{border:0!important;text-align:center!important;padding:0!important}
  .score b{font-size:28pt!important}.score span{font-size:7.5pt!important}
  .sample-strip{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2.5mm!important;margin:0 0 4mm!important}
  .sample-strip>div{padding:3mm!important;min-height:14mm!important;border:1px solid #dbe2e8!important;border-radius:3mm!important;background:#fff!important}
  .sample-strip span{font-size:7pt!important}.sample-strip b{font-size:10pt!important}
  .panel{margin:0 0 4mm!important;padding:5mm!important;border:1px solid #d6dfe7!important;border-radius:5mm!important;background:#fff!important;box-shadow:none!important;break-inside:avoid!important}
  .panel h3{font-size:12pt!important;margin:0 0 4mm!important}.panel h4{font-size:9pt!important}
  .dashboard-grid{display:block!important}.dashboard-grid>.panel:first-child{min-height:76mm!important}
  .radar-wrap{height:60mm!important}.radar{height:48mm!important;max-width:80mm!important;margin:auto!important;display:block!important}
  .radar-labels{font-size:6.5pt!important}
  .dashboard-grid>.panel:nth-child(2){page-break-before:always!important}
  .meter{margin:0 0 5mm!important}.meter div{font-size:8pt!important}.meter i{height:3mm!important}.meter small{font-size:7.5pt!important}
  .tech-table{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2.5mm!important}
  .tech-table>div{padding:3mm!important;min-height:14mm!important;border-radius:3mm!important}
  .tech-table span{font-size:7pt!important}.tech-table b{font-size:10pt!important}.tech-table small{font-size:6.5pt!important}
  .chemistry-panel{page-break-before:always!important}
  .chemical-grid{display:grid!important;grid-template-columns:1fr!important;gap:2.5mm!important}
  .chemical-grid>div{padding:3mm!important;min-height:15mm!important;border-radius:3mm!important}
  .chemical-grid span{font-size:7pt!important}.chemical-grid b{font-size:10pt!important}.chemical-grid small{font-size:6.5pt!important}
  .solution-options{page-break-before:always!important}
  .option-grid{display:block!important}.solution-card{margin-bottom:4mm!important;padding:5mm!important;break-inside:avoid!important}
  .option-grid h4{font-size:11pt!important}.option-grid p,.option-grid li{font-size:8pt!important;line-height:1.35!important}
  .support-visual{min-height:42mm!important}.timeline-24 small{font-size:6.5pt!important}.equipment-result{padding:3mm!important}
  .solution-visual{page-break-before:always!important;min-height:245mm!important}
  .process-diagram{display:flex!important;flex-direction:column!important;gap:3mm!important;align-items:center!important}
  .process-diagram .arrow{transform:rotate(90deg)!important;margin:0!important}
  .process-diagram .step{width:70%!important;text-align:center!important}
  .phase-chart{page-break-before:always!important;height:55mm!important}
  .report-grid{display:block!important}.report-grid>.panel{margin-bottom:4mm!important}
  .alerts{page-break-before:always!important}
  .signature{display:grid!important;grid-template-columns:1fr 1fr!important;gap:20mm!important;margin-top:8mm!important;text-align:center!important}
  .watermark{display:block!important;position:fixed!important;right:7mm!important;top:75mm!important;transform:rotate(90deg)!important;border:2px solid #315f38!important;color:#315f38!important;background:rgba(255,255,255,.86)!important;padding:2mm 4mm!important;font-size:13pt!important;font-weight:900!important;z-index:20!important}
  .meter em,.result-banner,.jar,.machine,.phase-chart div,.radar-data,.solution-card,.chemical-grid div,.tech-table div{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}

/* Professional vector illustrations for the corrective-process diagram */
.process-svg{width:126px;height:104px;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:linear-gradient(145deg,#fff,#eef6fb);border:1px solid #d8e3ec;box-shadow:0 8px 18px rgba(15,23,42,.08)}
.process-svg svg{width:116px;height:96px;display:block}
.sample-svg{background:linear-gradient(145deg,#faf5ff,#f3e8ff)}
.analyzer-svg{background:linear-gradient(145deg,#f0f9ff,#e0f2fe)}
.validated-svg{background:linear-gradient(145deg,#f0fdf4,#dcfce7)}
.validated-svg.watch{background:linear-gradient(145deg,#fffbeb,#fef3c7)}
.validated-svg.critical{background:linear-gradient(145deg,#fff1f2,#ffe4e6)}
@media print{.process-svg,.process-svg svg{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.process-svg{box-shadow:none}}


/* V8 — dates fixes, suppression de la page vide et retrait de la zone de signature */
.report-id small{margin-top:2px;line-height:1.25}
.report-id small strong{font-weight:800;color:#334155}
@media print{
  .report-head{height:auto!important;min-height:28mm!important;grid-template-columns:1fr 72mm!important}
  .report-id small{display:block!important;font-size:7.4pt!important;margin-top:1.2mm!important;white-space:normal!important}
  .chemistry-panel{page-break-before:auto!important;break-before:auto!important;padding:4mm!important}
  .chemical-grid{grid-template-columns:1fr 1fr!important;gap:2mm!important}
  .chemical-grid>div{min-height:11mm!important;padding:2.2mm 2.7mm!important;break-inside:avoid!important}
  .chemical-grid span{font-size:6.5pt!important}.chemical-grid b{font-size:8.5pt!important}.chemical-grid small{font-size:6pt!important}
  .chemistry-panel .mini-note{margin:2mm 0 0!important;padding:2mm!important;font-size:6.5pt!important}
  .signature{display:none!important}
}

/* V9 - Rapport fixe sur 7 pages A4, cartes colorées par groupe */
@media print{
  /* Palette visuelle par groupe */
  .result-banner{background:linear-gradient(135deg,#fff4f5,#ffe4e6)!important;border-color:#f5b8bf!important}
  .sample-strip>div{background:linear-gradient(145deg,#f8fbff,#eef6ff)!important;border-color:#cfe0f3!important}
  .dashboard-grid>.panel:first-child{background:linear-gradient(145deg,#fbf7ff,#f3e8ff)!important;border-color:#dcc7f3!important}
  .dashboard-grid>.panel:nth-child(2){background:linear-gradient(145deg,#f0fdfa,#dcfce7)!important;border-color:#b7ead7!important}
  .tech-table>div{background:linear-gradient(145deg,#fffaf0,#fef3c7)!important;border:1px solid #f3d48b!important}
  .chemistry-panel{background:linear-gradient(145deg,#f7fbff,#eaf5ff)!important;border-color:#cbdff2!important}
  .chemical-grid>div{background:linear-gradient(145deg,#ffffff,#edf7ff)!important;border:1px solid #c9deef!important}
  .solution-card.emr{background:linear-gradient(145deg,#fffaf5,#ffedd5)!important;border-color:#fed7aa!important}
  .solution-card.phyto{background:linear-gradient(145deg,#f7fff9,#dcfce7)!important;border-color:#bbf7d0!important}
  .solution-visual{background:linear-gradient(145deg,#faf7ff,#f3e8ff)!important;border-color:#dec8f1!important}
  .report-grid>.panel:first-child{background:linear-gradient(145deg,#fff8f8,#ffe4e6)!important;border-color:#fecdd3!important}
  .report-grid>.panel:last-child{background:linear-gradient(145deg,#fffdf5,#fef3c7)!important;border-color:#fde68a!important}
  .alerts{background:linear-gradient(145deg,#fff8f1,#ffedd5)!important;border-color:#fed7aa!important}
  .disclaimer{background:#f8fafc!important;border-color:#cbd5e1!important}

  /* PAGE 1 : en-tête, conclusion, échantillon, radar */
  .dashboard-grid>.panel:first-child{page-break-before:auto!important;min-height:68mm!important;margin-bottom:0!important}
  .radar-wrap{height:53mm!important}.radar{height:43mm!important}
  .result-banner{min-height:37mm!important;padding:4.5mm!important;margin:4mm 0 3mm!important}
  .sample-strip{gap:2mm!important;margin-bottom:3mm!important}
  .sample-strip>div{min-height:11mm!important;padding:2.4mm!important}

  /* PAGE 2 : indices + profils physico-chimique et chimique */
  .dashboard-grid>.panel:nth-child(2){page-break-before:always!important;padding:4mm!important;margin-bottom:3mm!important}
  .meter{margin-bottom:3mm!important}.meter i{height:2.5mm!important}
  .tech-table{gap:1.6mm!important}.tech-table>div{min-height:10mm!important;padding:2mm!important}
  .panel:has(.tech-table){padding:3.5mm!important;margin-bottom:3mm!important}
  .chemistry-panel{page-break-before:auto!important;padding:3.5mm!important;margin-bottom:0!important}
  .chemical-grid{grid-template-columns:repeat(3,1fr)!important;gap:1.5mm!important}
  .chemical-grid>div{min-height:9.5mm!important;padding:1.8mm 2mm!important}
  .chemistry-panel .mini-note{margin-top:1.5mm!important}

  /* PAGE 3 et 4 : une solution par page */
  .solution-options{page-break-before:always!important;padding:4mm!important;margin:0!important}
  .option-grid{display:block!important}
  .solution-card{min-height:235mm!important;margin:0!important;padding:5mm!important;page-break-after:always!important;break-after:page!important}
  .solution-card:last-child{page-break-after:auto!important;break-after:auto!important}
  .solution-card+.solution-card{page-break-before:always!important;break-before:page!important}
  .support-visual{min-height:54mm!important}
  .phyto-visual{min-height:80mm!important}
  .option-grid p,.option-grid li{font-size:8.2pt!important;line-height:1.32!important}

  /* PAGE 5 : schéma et graphique des phases */
  .solution-visual{page-break-before:always!important;min-height:0!important;height:auto!important;padding:5mm!important;margin:0!important}
  .process-diagram{flex-direction:row!important;gap:3mm!important;align-items:center!important}
  .process-diagram .arrow{transform:none!important;margin:0!important}
  .process-diagram .step{width:30%!important}
  .process-svg{width:36mm!important;height:29mm!important}.process-svg svg{width:32mm!important;height:26mm!important}
  .phase-chart{page-break-before:auto!important;height:63mm!important;margin-top:7mm!important}

  /* PAGE 6 : diagnostic + protocole */
  .report-grid{page-break-before:always!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:4mm!important}
  .report-grid>.panel{min-height:225mm!important;margin:0!important;padding:5mm!important}
  .report-grid p,.report-grid li{font-size:8.3pt!important;line-height:1.42!important}

  /* PAGE 7 : alertes, observations et note finale */
  .alerts{page-break-before:always!important;min-height:118mm!important;margin:0 0 4mm!important;padding:5mm!important}
  .alert-row{padding:3mm!important;font-size:8.5pt!important}
  .alerts~.panel{background:linear-gradient(145deg,#f7fbff,#eaf5ff)!important;border-color:#cbdff2!important;min-height:55mm!important}
  .disclaimer{min-height:28mm!important;padding:5mm!important;font-size:8pt!important}

  /* Éviter les pages parasites */
  .watermark{position:fixed!important}
  .panel,.solution-card,.result-banner,.sample-strip{orphans:3;widows:3}
}


/* V10 - Rapport ultra-compact, sans grands espaces blancs */
@media print{
  @page{size:A4 portrait;margin:6mm 6mm 7mm!important}
  html,body{width:auto!important;height:auto!important;font-size:7.8pt!important}
  .report{overflow:visible!important}
  .report-head{min-height:21mm!important;height:auto!important;padding:2.5mm 2mm!important;grid-template-columns:1fr 67mm!important;gap:3mm!important}
  .report-head h2{font-size:15pt!important;margin-bottom:.6mm!important}
  .report-head p{font-size:7pt!important}
  .report-id b{font-size:10.5pt!important}.report-id small{font-size:6.6pt!important;margin-top:.6mm!important}
  .watermark{top:70mm!important;font-size:10pt!important;padding:1.5mm 3mm!important}

  .result-banner{min-height:0!important;margin:2.5mm 0!important;padding:3mm 3.5mm!important;border-radius:3mm!important;grid-template-columns:1fr 27mm!important}
  .result-banner h2{font-size:14pt!important;margin:1mm 0!important}.score b{font-size:22pt!important}
  .sample-strip{grid-template-columns:repeat(5,1fr)!important;gap:1.3mm!important;margin-bottom:2.2mm!important}
  .sample-strip>div{min-height:0!important;padding:1.7mm!important;border-radius:2mm!important}.sample-strip b{font-size:8.2pt!important}.sample-strip span{font-size:6pt!important}

  .panel{min-height:0!important;height:auto!important;margin:0 0 2.2mm!important;padding:3mm!important;border-radius:3mm!important;break-inside:auto!important;page-break-inside:auto!important}
  .panel h3{font-size:10.2pt!important;margin:0 0 2mm!important}.panel h4{font-size:8pt!important;margin:2mm 0 1mm!important}
  .dashboard-grid{display:grid!important;grid-template-columns:72mm 1fr!important;gap:2.2mm!important;align-items:start!important}
  .dashboard-grid>.panel:first-child,.dashboard-grid>.panel:nth-child(2){page-break-before:auto!important;break-before:auto!important;min-height:0!important;margin:0!important;padding:3mm!important}
  .radar-wrap{height:48mm!important}.radar{height:40mm!important;max-width:60mm!important}.radar-labels{font-size:5.7pt!important}
  .meter{margin:0 0 1.7mm!important}.meter>div{font-size:6.8pt!important}.meter i{height:2mm!important;margin:.8mm 0!important}.meter small{font-size:6.1pt!important}

  .panel:has(.tech-table){padding:2.5mm!important;margin-top:2.2mm!important}
  .tech-table{grid-template-columns:repeat(4,1fr)!important;gap:1.2mm!important}
  .tech-table>div{min-height:0!important;padding:1.5mm!important;border-radius:2mm!important}.tech-table span{font-size:5.8pt!important}.tech-table b{font-size:7.7pt!important}.tech-table small{font-size:5.4pt!important}
  .chemistry-panel{page-break-before:auto!important;break-before:auto!important;padding:2.5mm!important;margin-bottom:2.2mm!important}
  .chemical-grid{grid-template-columns:repeat(4,1fr)!important;gap:1.1mm!important}
  .chemical-grid>div{min-height:0!important;padding:1.4mm!important;border-radius:2mm!important}.chemical-grid span{font-size:5.6pt!important}.chemical-grid b{font-size:7.3pt!important}.chemical-grid small{font-size:5.2pt!important}
  .chemistry-panel .mini-note{margin:1mm 0 0!important;padding:1.2mm!important;font-size:5.8pt!important}

  .solution-options{page-break-before:auto!important;break-before:auto!important;padding:2.7mm!important;margin-bottom:2.2mm!important}
  .option-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2mm!important}
  .solution-card,.solution-card+.solution-card{min-height:0!important;height:auto!important;margin:0!important;padding:2.7mm!important;page-break-before:auto!important;page-break-after:auto!important;break-before:auto!important;break-after:auto!important;break-inside:avoid!important}
  .option-grid h4{font-size:9pt!important;margin:1mm 0!important}.option-grid p,.option-grid li{font-size:6.4pt!important;line-height:1.22!important}.option-grid ol{margin:1.5mm 0 0!important;padding-left:4mm!important}.option-grid li{margin-bottom:.8mm!important}
  .support-visual,.phyto-visual{min-height:0!important;height:auto!important;max-height:42mm!important;overflow:hidden!important}.equipment-result{padding:1.5mm!important}.timeline-24{margin-top:1mm!important}

  .solution-visual{page-break-before:auto!important;break-before:auto!important;min-height:0!important;height:auto!important;padding:2.7mm!important;margin-bottom:2.2mm!important}
  .process-diagram{flex-direction:row!important;gap:2mm!important;padding:2.5mm!important}.process-diagram .step{width:31%!important}.process-diagram .arrow{transform:none!important;font-size:16pt!important}
  .process-svg{width:28mm!important;height:23mm!important;margin-bottom:1mm!important}.process-svg svg{width:25mm!important;height:21mm!important}.step b{font-size:7.5pt!important}.step small{font-size:5.5pt!important}
  .phase-chart{page-break-before:auto!important;height:42mm!important;margin-top:2.5mm!important;padding:2mm!important}.phase-chart span{font-size:5.7pt!important;width:82px!important}

  .report-grid{page-break-before:auto!important;break-before:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:2.2mm!important}
  .report-grid>.panel{min-height:0!important;height:auto!important;margin:0 0 2.2mm!important;padding:2.7mm!important}.report-grid p,.report-grid li{font-size:6.4pt!important;line-height:1.26!important}.protocol{padding-left:4mm!important}.protocol li{margin-bottom:1mm!important}
  .decision{margin-top:1.5mm!important;padding:1.5mm!important}

  .alerts{page-break-before:auto!important;break-before:auto!important;min-height:0!important;margin:0 0 2.2mm!important;padding:2.7mm!important}
  .alert-row{padding:1.4mm!important;font-size:6.6pt!important}.alert-row b{width:5mm!important;height:5mm!important}
  .alerts~.panel{min-height:0!important;height:auto!important}
  .disclaimer{min-height:0!important;padding:2mm!important;font-size:6.2pt!important;margin-top:0!important}

  /* Ne jamais créer une page uniquement pour un bloc court. */
  .dashboard-grid,.tech-table,.chemical-grid,.option-grid,.solution-visual,.report-grid,.alerts{page-break-before:auto!important;break-before:auto!important}
  .signature{display:none!important}
}


/* V11 — double filigrane CERTIFIED sur toutes les pages imprimées */
.watermark-diagonal,
.watermark-vertical{
  display:none;
  pointer-events:none;
  user-select:none;
}

@media print{
  /* Grand filigrane vert centré, incliné à 45 degrés. La position fixed
     permet sa répétition automatique sur chaque page imprimée/PDF. */
  .watermark.watermark-diagonal{
    display:block!important;
    position:fixed!important;
    top:50%!important;
    left:50%!important;
    right:auto!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:rgba(22,163,74,.10)!important;
    opacity:1!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:78pt!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:5mm!important;
    white-space:nowrap!important;
    transform:translate(-50%,-50%) rotate(-45deg)!important;
    transform-origin:center center!important;
    z-index:9998!important;
    box-shadow:none!important;
    text-shadow:none!important;
  }

  /* Deuxième marquage vertical sur le bord droit de chaque page. */
  .watermark.watermark-vertical{
    display:block!important;
    position:fixed!important;
    top:50%!important;
    right:-18mm!important;
    left:auto!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:rgba(22,163,74,.22)!important;
    opacity:1!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:20pt!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:3mm!important;
    white-space:nowrap!important;
    transform:translateY(-50%) rotate(90deg)!important;
    transform-origin:center center!important;
    z-index:9999!important;
    box-shadow:none!important;
    text-shadow:none!important;
  }
}
