/* Styles d'origine des outils de « sante-environnementale » (extraire-styles-outil.py), limités aux outils. */
.mspapp [data-origine]{--amber:#b4760c;--amber-tint:#fbf0db;--blue:#0a63c2;--eco:#177a3d;--eco-deep:#0f5a2b;--eco-line:#cfe6d3;--eco-soft:#eaf5ec;--focus:#0a63c2;--green:#1b7a52;--ink:#13233f;--ink-mute:#5a6b86;--ink-soft:#33425c;--line:#d6e0ee;--paper-2:#eef3fa;--paper-3:#e3ecf7;--radius:16px;--red:#b23b2b;--red-tint:#f8e6e2;--shadow:0 10px 30px -16px rgba(19,35,63,.30);--teal:#0b8a99;}
.mspapp [data-origine] .btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; border:0;  font-weight:700; font-size:16px; text-decoration:none; padding:12px 20px; border-radius:999px; line-height:1.1; min-height:48px}
.mspapp [data-origine] .grid{display:grid; gap:18px}
.mspapp [data-origine] .cols-2{grid-template-columns:repeat(2,1fr)}
@media (max-width:620px){.mspapp [data-origine] .cols-2{grid-template-columns:1fr}}
.mspapp [data-origine] .cpts .ic{width:42px; height:42px; border-radius:12px; flex:none; display:flex; align-items:center; justify-content:center; background:var(--paper-3)}
.mspapp [data-origine] .cpts .ic svg{width:23px; height:23px; stroke:var(--blue); fill:none; stroke-width:2}
.mspapp [data-origine] .code-row .btn{background:var(--ink); color:#fff}
.mspapp [data-origine] .btn-eco{ background:var(--eco); color:#fff; box-shadow:0 10px 22px -12px rgba(23,122,61,.85) }
.mspapp [data-origine] .btn-eco:hover{ filter:brightness(1.06) }
.mspapp [data-origine] .step .n{ width:34px;height:34px;border-radius:50%;background:var(--eco);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:16px }
.mspapp [data-origine] .cad-grid{ display:grid; grid-template-columns:1fr 360px; gap:22px; align-items:start }
@media(max-width:980px){.mspapp [data-origine] .cad-grid{ grid-template-columns:1fr }}
.mspapp [data-origine] .cad-form{ display:flex; flex-direction:column; gap:16px }
.mspapp [data-origine] .cad-sec{ background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden }
.mspapp [data-origine] .cad-sec-head{ display:flex;align-items:center;gap:11px;padding:14px 18px;background:linear-gradient(180deg,#fff,var(--paper-2));border-bottom:1px solid var(--line) }
.mspapp [data-origine] .cad-sec-head .idx{ width:28px;height:28px;border-radius:9px;background:var(--eco);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px;flex:none }
.mspapp [data-origine] .cad-sec-head h3{ font-weight:800;font-size:17px;color:var(--ink);margin:0 }
.mspapp [data-origine] .cad-sec-head .hint{ margin-inline-start:auto;font-size:12.5px;color:var(--ink-mute);text-align:end;max-width:44% }
.mspapp [data-origine] .cad-body{ padding:12px 18px 16px }
.mspapp [data-origine] .cad-q{ padding:12px 0;border-top:1px solid var(--line) }
.mspapp [data-origine] .cad-q:first-child{ border-top:0 }
.mspapp [data-origine] .cad-lab{ font-weight:700;color:var(--ink);display:block;margin-bottom:6px }
.mspapp [data-origine] .cad-note{ font-size:13px;color:var(--ink-mute);margin:2px 0 8px }
.mspapp [data-origine] .cad-opts{ display:flex;flex-wrap:wrap;gap:8px }
.mspapp [data-origine] .cad-opt{ position:relative }
.mspapp [data-origine] .cad-opt input{ position:absolute;opacity:0;inset:0;cursor:pointer }
.mspapp [data-origine] .cad-opt span{ display:inline-flex;align-items:center;padding:8px 14px;border:1.5px solid var(--line);border-radius:999px;font-weight:700;font-size:14px;color:var(--ink-soft);background:#fff;cursor:pointer }
.mspapp [data-origine] .cad-opt input:checked + span{ background:var(--eco);border-color:var(--eco);color:#fff }
.mspapp [data-origine] .cad-opt input:focus-visible + span{ outline:3px solid var(--focus);outline-offset:2px }
.mspapp [data-origine] .cad-chk{ display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:14.5px;color:var(--ink-soft);cursor:pointer }
.mspapp [data-origine] .cad-chk input{ width:20px;height:20px;margin-top:1px;accent-color:var(--eco);flex:none;cursor:pointer }
.mspapp [data-origine] .cad-num{ display:inline-flex;align-items:center;gap:8px }
.mspapp [data-origine] .cad-num input{ width:96px;font-size:15px;padding:9px 11px;border:2px solid var(--line);border-radius:11px }
.mspapp [data-origine] .cad-num .u{ font-size:13.5px;color:var(--ink-mute);font-weight:700 }
.mspapp [data-origine] .cad-select{ width:100%;font-size:15px;padding:11px 12px;border:2px solid var(--line);border-radius:12px;background:#fff }
.mspapp [data-origine] .cad-cp-row{ display:flex;flex-wrap:wrap;gap:10px;align-items:center }
.mspapp [data-origine] .cad-cp-row input{ width:120px;font-size:16px;padding:10px 12px;border:2px solid var(--line);border-radius:11px }
.mspapp [data-origine] .cp-link{ text-decoration:none;color:var(--eco-deep);font-weight:700;font-size:14px }
.mspapp [data-origine] .cp-result{ margin-top:10px;border-radius:12px;padding:11px 14px;font-size:14px;border:1.5px solid var(--line);background:var(--paper-2) }
.mspapp [data-origine] .cp-result.na{ color:var(--ink-mute) }
.mspapp [data-origine] .cp-result.low{ background:var(--eco-soft);border-color:var(--eco-line);color:var(--eco-deep) }
.mspapp [data-origine] .cp-result.geo{ background:var(--amber-tint);border-color:#eed8a8;color:#7a4e07 }
.mspapp [data-origine] .cp-result.hot{ background:var(--red-tint);border-color:#eecabf;color:#7d271b }
.mspapp [data-origine] .cad-cond{ display:none;margin-top:10px;padding:12px 14px;background:var(--paper-2);border:1.5px dashed var(--eco-line);border-radius:12px }
.mspapp [data-origine] .cad-cond.show{ display:block }
.mspapp [data-origine] .cad-calc{ margin-top:12px;border:1.5px solid var(--eco-line);border-radius:14px;overflow:hidden;background:#fff }
.mspapp [data-origine] .cad-calc-head{ background:var(--eco-soft);padding:10px 14px;font-weight:800;font-size:14px;color:var(--eco-deep) }
.mspapp [data-origine] .cad-calc-head .tag{ background:var(--eco);color:#fff;border-radius:6px;padding:2px 8px;font-size:11px;margin-inline-end:6px }
.mspapp [data-origine] .cad-calc-body{ padding:12px 14px }
.mspapp [data-origine] .cad-calc-grid{ display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center }
.mspapp [data-origine] .cad-calc-grid > label{ font-size:14px;color:var(--ink) }
.mspapp [data-origine] .cad-calc-grid small{ display:block;color:var(--ink-mute);font-size:12px }
.mspapp [data-origine] .gin{ display:inline-flex;align-items:center;gap:6px }
.mspapp [data-origine] .gin input{ width:72px;font-size:14px;padding:7px 9px;border:2px solid var(--line);border-radius:9px }
.mspapp [data-origine] .gu{ font-size:12px;color:var(--ink-mute) }
.mspapp [data-origine] .cad-calc-out{ margin-top:12px;border-top:1px solid var(--line);padding-top:10px }
.mspapp [data-origine] .calc-total{ display:flex;align-items:baseline;gap:8px }
.mspapp [data-origine] .calc-total .big{ font-weight:800;font-size:28px;color:var(--eco-deep) }
.mspapp [data-origine] .calc-total .lbl{ font-size:13px;color:var(--ink-mute) }
.mspapp [data-origine] .calc-bar{ height:9px;border-radius:999px;background:var(--paper-3);margin:8px 0;overflow:hidden }
.mspapp [data-origine] .calc-bar i{ display:block;height:100%;width:0;background:var(--eco);transition:width .2s }
.mspapp [data-origine] .calc-meta{ font-size:13px;color:var(--ink-soft) }
.mspapp [data-origine] .calc-flags{ display:flex;gap:8px;flex-wrap:wrap;margin-top:8px }
.mspapp [data-origine] .calc-flag{ display:none;font-weight:700;font-size:12px;padding:4px 10px;border-radius:999px;background:var(--amber-tint);color:#7a4e07 }
.mspapp [data-origine] .calc-flag.on{ display:inline-block }
.mspapp [data-origine] .calc-src{ font-size:11.5px;color:var(--ink-mute);margin-top:10px;line-height:1.45 }
.mspapp [data-origine] .v-flag.no{ background:var(--slate,#37474f) }
.mspapp [data-origine] .seg.on1{ background:var(--green) }
.mspapp [data-origine] .seg.on2{ background:var(--amber) }
.mspapp [data-origine] .seg.on3{ background:var(--red) }
.mspapp [data-origine] .cad-actions .btn{ width:100% }
.mspapp [data-origine] .pp-live{ border-radius:var(--radius);padding:18px 20px;border:1.5px solid var(--line);background:var(--paper-2);margin-top:8px }
.mspapp [data-origine] .pp-live.elig{ background:var(--eco-soft);border-color:var(--eco-line) }
.mspapp [data-origine] .pp-live.amber{ background:var(--amber-tint);border-color:#eed8a8 }
.mspapp [data-origine] .pp-live.no{ background:var(--paper-2) }
.mspapp [data-origine] .pp-live .lbl{ font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute) }
.mspapp [data-origine] .pp-live .msg{ font-weight:800;font-size:19px;color:var(--ink);margin-top:4px }
.mspapp [data-origine] .pp-live .sub{ font-size:14.5px;color:var(--ink-soft);margin-top:6px }
.mspapp [data-origine] .pp-live ul{ margin:12px 0 0;padding-inline-start:20px }
.mspapp [data-origine] .pp-live li{ font-size:14.5px;color:var(--ink-soft);margin:5px 0 }
.mspapp [data-origine] .pp-live .dl{ margin-top:14px }
.mspapp [data-origine] .code-row .btn{ background:var(--ink);color:#fff }
.mspapp [data-origine] .pd-head{display:flex;align-items:flex-start;gap:12px;border-bottom:2.5px solid var(--teal);
    padding-bottom:9px;margin-bottom:14px}
.mspapp [data-origine] .pd-head .cd{border:2px solid var(--teal);border-radius:6px;
    padding:4px 6px;line-height:1;flex:0 0 auto}
.mspapp [data-origine] .pd-head .cd .n{font-size:7pt;color:var(--teal-dk);font-weight:600}
.mspapp [data-origine] .pd-head .cd .s{font-size:17pt;font-weight:600;display:block}
.mspapp [data-origine] .pd-head .ti{flex:1}
.mspapp [data-origine] .pd-head .ti h1{font-size:16pt;margin:0;color:var(--teal-dk);letter-spacing:-.01em}
.mspapp [data-origine] .pd-head .ti .stp{font-size:9pt;color:#46566a;margin-top:2px}
.mspapp [data-origine] .pd-head .dr{text-align:right;font-size:8.5pt;color:#46566a;line-height:1.35}
.mspapp [data-origine] .pd-head .dr b{color:#15202b;display:block;font-size:9.5pt}
.mspapp [data-origine] .pd-status{border-radius:8px;padding:11px 14px;margin-bottom:14px;border:1px solid}
.mspapp [data-origine] .pd-status.elig{background:var(--green-tint);border-color:#bfe3cd}
.mspapp [data-origine] .pd-status.amber{background:var(--amber-tint);border-color:#eed8a8}
.mspapp [data-origine] .pd-status.no{background:#eef1f3;border-color:#d8dee4}
.mspapp [data-origine] .pd-status.red{background:var(--red-tint);border-color:#eecabf}
.mspapp [data-origine] .pd-status .lbl{font-size:8.5pt;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:#46566a}
.mspapp [data-origine] .pd-status .msg{font-size:11.5pt;font-weight:600;margin-top:3px}
.mspapp [data-origine] .pd-status .sub{font-size:9.5pt;color:#46566a;margin-top:4px;line-height:1.45}
.mspapp [data-origine] .pd-sec{margin-bottom:13px;break-inside:avoid}
.mspapp [data-origine] .pd-sec h2{font-size:11pt;color:var(--teal-dk);margin:0 0 6px;
    display:flex;align-items:center;gap:7px;font-weight:700}
.mspapp [data-origine] .pd-sec h2 .ic{width:18px;height:18px;border-radius:5px;background:var(--teal-tint);
    color:var(--teal-dk);font-size:10pt;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.mspapp [data-origine] .pd-sec p{margin:0 0 6px;font-size:10pt;color:#2a3744}
.mspapp [data-origine] .pd-sec ul{margin:4px 0 6px;padding-left:0;list-style:none}
.mspapp [data-origine] .pd-sec ul li{font-size:10pt;color:#2a3744;padding:2.5px 0 2.5px 16px;position:relative;line-height:1.4}
.mspapp [data-origine] .pd-sec ul li::before{content:"";position:absolute;left:3px;top:9px;width:5px;height:5px;
    border-radius:50%;background:var(--teal)}
.mspapp [data-origine] .pd-cols{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.mspapp [data-origine] .pd-box{border:1px solid var(--line);border-radius:7px;padding:9px 11px;break-inside:avoid}
.mspapp [data-origine] .pd-box.tip{background:#f3f8f7;border-color:#cfe5e2}
.mspapp [data-origine] .pd-box.alert{background:var(--amber-tint);border-color:#eed8a8}
.mspapp [data-origine] .pd-box h3{font-size:9.5pt;margin:0 0 5px;font-weight:700;color:#15202b;display:flex;align-items:center;gap:6px}
.mspapp [data-origine] .pd-box ul{margin:0;padding-left:0;list-style:none}
.mspapp [data-origine] .pd-box ul li{font-size:9pt;padding:2px 0 2px 14px;position:relative;color:#2a3744;line-height:1.4}
.mspapp [data-origine] .pd-box ul li::before{content:"";position:absolute;left:2px;top:8px;width:4px;height:4px;border-radius:50%;background:var(--teal)}
.mspapp [data-origine] .pd-table{width:100%;border-collapse:collapse;margin:4px 0 6px;font-size:9pt}
.mspapp [data-origine] .pd-table th{background:var(--slate);color:#fff;text-align:left;padding:5px 9px;font-weight:600;font-size:8.5pt}
.mspapp [data-origine] .pd-table td{border:1px solid var(--line);padding:5px 9px;color:#2a3744}
.mspapp [data-origine] .pd-table tr:nth-child(even) td{background:#f7f9fa}
.mspapp [data-origine] .pd-table td.hi{background:var(--teal-tint);font-weight:600;color:var(--teal-dk)}
.mspapp [data-origine] .pd-foot{margin-top:14px;border-top:1px solid var(--line);padding-top:8px;
    font-size:7.8pt;color:#7a8a9c;line-height:1.45}
.mspapp [data-origine] .pd-foot b{color:#46566a}
.mspapp [data-origine] .md-verdict{font-size:11pt;font-weight:700;color:var(--teal-dk)}
.mspapp [data-origine] .md-rx{background:#f3f8f7;border:1px dashed var(--teal);border-radius:7px;padding:10px 12px;font-size:9.5pt;color:#15202b}
.mspapp [data-origine] .md-rx b{color:var(--teal-dk)}
.mspapp [data-origine] details.acc > summary .sub{ display:block;font-weight:400;font-size:14px;color:var(--ink-mute);margin-top:2px }
.mspapp [data-origine] .tog{ display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line) }
.mspapp [data-origine] .tog:first-child{ border-top:0 }
.mspapp [data-origine] .tog input{ width:22px;height:22px;margin-top:1px;accent-color:var(--eco);flex:none;cursor:pointer }
.mspapp [data-origine] .tog span{ font-size:15px;color:var(--ink-soft) }
.mspapp [data-origine] .result-card{ border-radius:var(--radius);padding:16px 18px;border:1.5px solid var(--eco-line);background:var(--eco-soft);margin-top:14px }
.mspapp [data-origine] .result-card.warn{ background:var(--amber-tint);border-color:#eed8a8 }
.mspapp [data-origine] .result-card.calm{ background:var(--eco-soft) }
.mspapp [data-origine] .result-card .rc-msg{ font-weight:800;font-size:17px;color:var(--ink) }
.mspapp [data-origine] .result-card ul{ margin:10px 0 0;padding-inline-start:20px }
.mspapp [data-origine] .result-card li{ font-size:14.5px;color:var(--ink-soft);margin:5px 0 }
.mspapp [data-origine] .mini-count{ font-weight:800;font-size:15px;color:var(--eco-deep);margin-inline-start:auto }
