/* Aqua Manager - Analyse detaillee V2 - bundle production autonome */


/* SOURCE: views/css/v2/analyses-tokens.css */

/* ==========================================================================
   Aqua Manager V2 — design tokens + icon system
   ========================================================================== */

.zoa-v2-page,
#zoa-analyses.zoa-analyses-v2{
  --v2-navy:#082f5f;
  --v2-navy-deep:#061f43;
  --v2-ocean:#0b5c8e;
  --v2-cyan:#13b6bf;
  --v2-aqua:#50dad0;
  --v2-mint:#63ddb5;
  --v2-green:#27c98a;
  --v2-orange:#f3a538;
  --v2-red:#e85f76;
  --v2-violet:#7868e6;
  --v2-sky:#55aee6;

  --v2-ink:#102d50;
  --v2-muted:#688099;
  --v2-line:#d7e5ec;
  --v2-line-strong:#bfd6e2;
  --v2-surface:#ffffff;
  --v2-soft:#f5fafc;
  --v2-soft-blue:#f3f8fd;
  --v2-soft-mint:#f1fbf8;
  --v2-soft-warm:#fffaf2;
  --v2-soft-violet:#f7f5ff;

  --v2-radius-xl:20px;
  --v2-radius:16px;
  --v2-radius-sm:11px;
  --v2-shadow:0 12px 34px rgba(8,47,95,.08);
  --v2-shadow-hover:0 16px 40px rgba(8,47,95,.12);
}

.zoa-v2-svg-sprite{
  position:absolute !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

#zoa-analyses.zoa-analyses-v2 .zoa-v2-icon{
  display:block;
  width:1em;
  height:1em;
  fill:none;
  color:inherit;
  overflow:visible;
}

/* Small pictogram embedded in eyebrow labels */
#zoa-analyses.zoa-analyses-v2 .zoa-v2-iconmark{
  --icon-bg:rgba(19,182,191,.10);
  --icon-fg:#0ca7ad;
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  flex:0 0 22px;
  border:1px solid color-mix(in srgb,var(--icon-fg) 22%,transparent);
  border-radius:8px;
  color:var(--icon-fg);
  background:var(--icon-bg);
}

#zoa-analyses.zoa-analyses-v2 .zoa-v2-iconmark .zoa-v2-icon{
  width:13px;
  height:13px;
}

#zoa-analyses.zoa-analyses-v2 .zoa-v2-iconmark--hero{
  --icon-bg:rgba(83,224,216,.13);
  --icon-fg:#68e2da;
  border-color:rgba(104,226,218,.22);
}

#zoa-analyses.zoa-analyses-v2 .zoa-v2-iconmark--lab{
  --icon-bg:#ecfbf8;
  --icon-fg:#129e9e;
}

#zoa-analyses.zoa-analyses-v2 .zoa-v2-iconmark--history{
  --icon-bg:#eef6ff;
  --icon-fg:#398fc8;
}

/* 34px title medallions */
#zoa-analyses.zoa-analyses-v2 .zoa-v2-section-icon{
  --medallion-bg:#edfafa;
  --medallion-border:#c8eeee;
  --medallion-fg:#0ca7ad;
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border:1px solid var(--medallion-border);
  border-radius:12px;
  color:var(--medallion-fg);
  background:
    radial-gradient(circle at 25% 20%,rgba(255,255,255,.9),transparent 42%),
    var(--medallion-bg);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

#zoa-analyses.zoa-analyses-v2 .zoa-v2-section-icon .zoa-v2-icon{
  width:19px;
  height:19px;
}

#zoa-analyses.zoa-analyses-v2 .zoa-v2-section-icon--overview{
  --medallion-bg:#eafafa;
  --medallion-border:#bdebea;
  --medallion-fg:#0aa6ad;
}

#zoa-analyses.zoa-analyses-v2 .zoa-v2-section-icon--advice{
  --medallion-bg:#fff5e8;
  --medallion-border:#f6d9ad;
  --medallion-fg:#c8801e;
}

#zoa-analyses.zoa-analyses-v2 .zoa-v2-section-icon--favorite{
  --medallion-bg:#f1efff;
  --medallion-border:#dcd6ff;
  --medallion-fg:#6f61d8;
}

/* Action icon tiles */
#zoa-analyses.zoa-analyses-v2 .zoa-v2-action-icon{
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  flex:0 0 28px;
  border-radius:9px;
  color:currentColor;
  background:color-mix(in srgb,currentColor 7%,transparent);
  border:1px solid color-mix(in srgb,currentColor 14%,transparent);
}

#zoa-analyses.zoa-analyses-v2 .zoa-v2-action-icon .zoa-v2-icon{
  width:16px;
  height:16px;
}


/* SOURCE: views/css/v2/detail-layout.css */

/* ==========================================================================
   Analyse détaillée V2 — layout / hero / synthèse
   ========================================================================== */

#zoa-analyses.zoa-detail-v2{
  --detail-navy:#07386b;
  --detail-navy-deep:#052a54;
  --detail-ocean:#0c5f91;
  --detail-cyan:#10b8c1;
  --detail-mint:#40d5aa;
  --detail-green:#28c681;
  --detail-orange:#f2a322;
  --detail-red:#ea5571;
  --detail-violet:#7868e6;
  --detail-ink:#102b4d;
  --detail-muted:#6f8296;
  --detail-line:#d7e5ec;
  --detail-surface:#fff;
  --detail-soft:#f5fafc;
  color:var(--detail-ink);
}

#zoa-analyses.zoa-detail-v2 .zoa-detail-v2-shell{
  width:min(1240px,calc(100% - 40px));
  margin:0 auto 42px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading{
  position:relative;
  min-height:108px;
  display:grid;
  place-items:center;
  padding:10px 120px 12px;
  text-align:center;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading::before,
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading::after{
  display:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-back{
  position:absolute;
  left:0;
  top:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:36px;
  padding:7px 11px;
  border:1px solid var(--detail-line);
  border-radius:10px;
  color:var(--detail-ink);
  background:rgba(255,255,255,.78);
  text-decoration:none!important;
  font-size:12px;
  font-weight:800;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading-copy{
  position:relative;
  z-index:1;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-kicker{
  display:block;
  margin-bottom:4px;
  color:var(--detail-cyan);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading h1.zoa-title-main{
  position:relative;
  width:min(520px,100%);
  margin:0 auto;
  color:var(--detail-ink);
  font-family:caveat,serif;
  font-size:39px;
  line-height:1.05;
  font-weight:400;
  letter-spacing:0;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-title-wrap{
  width:100%;
  margin:0;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-title{
  margin-bottom:0;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-title > span{
  position:relative;
  z-index:1;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading p{
  margin:7px 0 0;
  color:var(--detail-muted);
  font-size:13px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero{
  margin-bottom:16px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) 230px;
  min-height:250px;
  border:1px solid rgba(70,213,211,.14);
  border-radius:22px;
  color:#fff;
  background:
    radial-gradient(420px 280px at 100% 0%,rgba(66,222,219,.22),transparent 62%),
    radial-gradient(390px 290px at 74% 122%,rgba(23,139,195,.20),transparent 68%),
    linear-gradient(138deg,var(--detail-navy-deep),var(--detail-navy) 58%,var(--detail-ocean));
  box-shadow:0 20px 44px rgba(5,42,84,.18);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main::after{
  content:"";
  position:absolute;
  right:-38px;
  bottom:-90px;
  width:330px;
  height:330px;
  border:1px solid rgba(90,229,226,.14);
  border-radius:50%;
  box-shadow:
    0 0 0 42px rgba(90,229,226,.035),
    0 0 0 88px rgba(90,229,226,.022);
  pointer-events:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-copy{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  padding:24px 28px 22px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#65e5df;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-eyebrow .zoa-v2-icon{
  width:18px;
  height:18px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero h2{
  margin:6px 0 3px;
  color:#fff;
  font-size:32px;
  font-weight:950;
  letter-spacing:-.035em;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-top p{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:12px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-brandlockup{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:4px;
  min-height:58px;
  padding:7px 10px;
  border-radius:15px;
  background:#fff;
  box-shadow:0 10px 25px rgba(0,0,0,.13);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-brandlockup img{
  display:block;
  width:auto;
  max-width:58px;
  height:43px;
  object-fit:contain;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-statline{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:25px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat{
  display:flex;
  align-items:baseline;
  gap:6px;
  min-width:105px;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  background:rgba(255,255,255,.075);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat strong{
  color:#fff;
  font-size:19px;
  line-height:1;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat span{
  color:rgba(255,255,255,.70);
  font-size:10px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat--alert{
  border-color:rgba(240,116,136,.36);
  background:rgba(234,85,113,.11);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat--ok{
  border-color:rgba(64,213,170,.34);
  background:rgba(64,213,170,.10);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat--priority{
  border-color:rgba(242,163,34,.36);
  background:rgba(242,163,34,.10);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:auto;
  padding-top:18px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:9px 14px;
  border-radius:11px;
  font-size:11px;
  font-weight:900;
  text-decoration:none!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-btn .zoa-v2-icon{
  width:17px;
  height:17px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-btn--primary{
  color:#07375a;
  background:linear-gradient(135deg,#5be2d7,#4fd9ad);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-btn--secondary{
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.08);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:22px;
  border-left:1px solid rgba(255,255,255,.10);
  background:rgba(3,28,59,.20);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-ring{
  display:grid;
  place-items:center;
  width:150px;
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle closest-side,var(--detail-navy-deep) 72%,transparent 73% 100%),
    conic-gradient(#42d9ab calc(var(--zoa-v2-score) * 1%),#13c7df calc(var(--zoa-v2-score) * 1%),rgba(255,255,255,.14) 0);
  box-shadow:0 12px 30px rgba(0,0,0,.16);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-ring div{
  text-align:center;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-ring strong{
  display:block;
  color:#fff;
  font-size:37px;
  line-height:1;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-ring span{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.68);
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score > small{
  margin-top:10px;
  color:#67e2d6;
  font-size:12px;
  font-weight:900;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:10px 14px 0;
  border:1px solid var(--detail-line);
  border-radius:17px;
  background:#fff;
  box-shadow:0 12px 30px rgba(23,63,94,.07);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item{
  min-width:0;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:14px 16px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item + .zoa-v2-detail-meta-item{
  border-left:1px solid #e3edf2;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-icon{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:1px solid #cbe7e8;
  border-radius:12px;
  color:#0aa9b1;
  background:#effafa;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-icon .zoa-v2-icon{
  width:19px;
  height:19px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item small,
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item strong,
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item small{
  margin-bottom:2px;
  color:#19aab2;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item strong{
  color:var(--detail-ink);
  font-size:12px;
  font-weight:900;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item span{
  margin-top:2px;
  color:var(--detail-muted);
  font-size:10px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav{
  position:sticky;
  top:68px;
  z-index:30;
  display:flex;
  align-items:center;
  gap:5px;
  margin:18px 0;
  padding:6px;
  overflow-x:auto;
  border:1px solid rgba(193,218,229,.92);
  border-radius:14px;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 28px rgba(22,60,93,.08);
  backdrop-filter:blur(14px);
  scrollbar-width:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav::-webkit-scrollbar{display:none}

#zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-title,
#zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-toggle,
#zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-backdrop{
  display:none;
}


#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav a{
  flex:0 0 auto;
  padding:8px 11px;
  border-radius:9px;
  color:#536b82;
  font-size:10px;
  font-weight:900;
  text-decoration:none!important;
  white-space:nowrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav a:hover,
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav a.is-active{
  color:#073b66;
  background:#eaf8f8;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section{
  scroll-margin-top:130px;
  margin:0 0 18px;
  border:1px solid var(--detail-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 32px rgba(23,64,95,.07);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px 20px 14px;
  border-bottom:1px solid #e5eef2;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:1px solid #bfe9e8;
  border-radius:14px;
  color:#08aab2;
  background:linear-gradient(145deg,#f7ffff,#eaf9f8);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-icon .zoa-v2-icon{
  width:23px;
  height:23px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head > div{
  min-width:0;
  flex:1 1 auto;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head > div > span{
  color:#12a9b1;
  font-size:9px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head h2{
  margin:2px 0 0;
  color:#102d50;
  font-size:20px;
  line-height:1.15;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head p{
  margin:4px 0 0;
  color:var(--detail-muted);
  font-size:11px;
}

/* ==========================================================================
   Synthèse V2.2 — pas de second donut : les données complémentaires prennent
   la place du score déjà très visible dans le hero.
   ========================================================================== */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview{
  overflow:hidden;
  background:radial-gradient(420px 220px at 100% 100%,rgba(34,196,198,.055),transparent 70%),#fff;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-grid{
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  gap:14px;
  margin:15px 16px 17px;
  align-items:stretch;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis{
  display:grid;
  gap:9px;
  align-content:stretch;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div{
  --kpi-accent:#0aa9b1;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:13px 14px;
  border:1px solid color-mix(in srgb,var(--kpi-accent) 17%,#dce7ed);
  border-radius:13px;
  background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--kpi-accent) 4%,#f8fbfc));
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div.is-alert{--kpi-accent:#ea6b72}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div.is-stable{--kpi-accent:#29c48c}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div.is-priority{--kpi-accent:#f0a32d}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis strong{
  color:color-mix(in srgb,var(--kpi-accent) 72%,#123657);
  font-size:25px;
  line-height:1;
  font-weight:950;
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis span{
  color:#60788c;
  font-size:10px;
  font-weight:850;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family{
  min-width:0;
  padding:14px 16px 12px;
  border:1px solid #dce7ed;
  border-radius:14px;
  background:linear-gradient(150deg,#fff,#f8fbfc);
  box-shadow:0 5px 15px rgba(27,68,98,.035);
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:4px;
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family h3{
  margin:0;
  color:#2d5974;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family-head span{
  color:#8294a3;
  font-size:9px;
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family .zoa-echart{width:100%;height:160px}

/* Lower legacy areas: visual containment only. They will be migrated next. */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-legacy{
  scroll-margin-top:130px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-card{
  scroll-margin-top:130px;
  overflow:hidden;
  border:1px solid var(--detail-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(23,64,95,.06)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-card--dosing{
  border-top:3px solid var(--detail-cyan)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-card--advanced{
  border-top:3px solid var(--detail-violet)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-card--results{
  border-top:3px solid #48aadd!important;
}


/* SOURCE: views/css/v2/detail-interpretation.css */

/* ========================================================================== 
   Zoanthus ICP — Interprétation personnalisée
   V2.63 — Cleanup visuel + harmonisation
   - timeline réalignée
   - hiérarchie typographique renforcée
   - accordéons plus lisibles
   - puces visibles dans les contrôles complémentaires
   - palette simplifiée et plus homogène
   ========================================================================== */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-interpretation{
  --int-accent:#12b9be;
  --int-accent-2:#43d2b6;
  --int-navy:#0a4a75;
  --int-success:#2bbd87;
  --int-warn:#e8a13a;
  --int-info:#4f98d1;
  --int-monitor:#0d6b8f;
  --int-line-soft:color-mix(in srgb,var(--int-navy) 10%,var(--v2-line,#d7e5ec));
  --int-shadow:rgba(10,74,117,.07);
}

/* --------------------------------------------------------------------------
   En-tête
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head--interpretation{
  gap:12px;
  padding:14px 17px 13px;
  border-bottom:1px solid var(--v2-line,#d7e5ec);
  background:
    radial-gradient(320px 130px at 100% 0%,rgba(18,185,190,.06),transparent 72%),
    var(--v2-surface,#fff);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-icon--interpretation{
  width:42px;
  height:42px;
  flex:0 0 42px;
  color:var(--int-navy);
  border:1px solid color-mix(in srgb,var(--int-accent) 24%,var(--v2-line,#d7e5ec));
  border-radius:13px;
  background:color-mix(in srgb,var(--int-accent) 7%,var(--v2-surface,#fff));
  box-shadow:0 5px 14px rgba(18,74,105,.06);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-icon--interpretation .zoa-v2-icon{
  width:22px;
  height:22px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head--interpretation > div > span{
  color:#0ba6ae;
  font-size:10.5px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:.105em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head--interpretation h2{
  margin:3px 0 0;
  color:var(--v2-page-ink,#123553);
  font-size:22px;
  line-height:1.08;
  font-weight:950;
  letter-spacing:-.02em;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head--interpretation p{
  margin:4px 0 0;
  color:var(--v2-page-muted,#6d8194);
  font-size:12px;
  line-height:1.4;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-validated{
  margin-left:auto;
  padding:7px 10px;
  border:1px solid #b9e8d2;
  border-radius:999px;
  color:#16865e;
  background:#f0fbf5;
  font-size:10px;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-validated--automatic{
  color:#60778a;
  border-color:#d5e2e8;
  background:#f5f8fa;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-interpretation-view{
  display:grid;
  gap:24px;
  padding:20px 20px 22px;
  background:var(--v2-surface,#fff);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-block-kicker{
  display:block;
  color:#0ba6ae;
  font-size:10.5px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:.105em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-details-caret{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  color:currentColor;
  font-size:15px;
  line-height:1;
  font-weight:950;
  transition:transform .18s ease;
}

/* --------------------------------------------------------------------------
   Diagnostic synthétique
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-summary{
  position:relative;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--int-accent) 16%,var(--v2-line,#d7e5ec));
  border-radius:15px;
  background:
    linear-gradient(
      105deg,
      color-mix(in srgb,var(--int-accent) 4%,var(--v2-surface-soft,#f8fbfc)),
      var(--v2-surface-soft,#f8fbfc) 58%
    );
  box-shadow:0 5px 16px rgba(23,64,95,.03);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-summary::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:4px;
  background:linear-gradient(180deg,var(--int-accent),var(--int-accent-2));
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-summary-main{
  padding:15px 17px 12px 18px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-titleline{
  display:flex;
  align-items:baseline;
  gap:9px;
  margin-bottom:7px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-titleline h3{
  margin:0;
  color:var(--v2-page-ink,#123553);
  font-size:18px;
  line-height:1.15;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-summary-main > p{
  max-width:1120px;
  margin:0;
  color:var(--v2-page-muted,#5e7588);
  font-size:12.75px;
  line-height:1.6;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-details{
  border-top:1px solid var(--v2-line,#d7e5ec);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-disclosure-label .is-open{display:none}
#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-details[open] .zoa-v2-disclosure-label .is-closed{display:none}
#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-details[open] .zoa-v2-disclosure-label .is-open{display:inline}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-details > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:46px;
  padding:12px 16px 12px 18px;
  color:#0b8f98;
  background:color-mix(in srgb,var(--int-accent) 3%,var(--v2-surface,#fff));
  cursor:pointer;
  list-style:none;
  font-size:11px;
  font-weight:900;
  transition:background .16s ease,color .16s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-details > summary:hover{
  background:color-mix(in srgb,var(--int-accent) 6%,var(--v2-surface,#fff));
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-details > summary::-webkit-details-marker{display:none}
#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-details[open] > summary .zoa-v2-details-caret{transform:rotate(180deg)}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:12px 14px;
  border-top:1px solid var(--v2-line,#d7e5ec);
  background:var(--v2-surface,#fff);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-detail-card{
  --diag:var(--int-info);
  min-width:0;
  padding:14px 15px;
  border:1px solid var(--int-line-soft);
  border-radius:13px;
  background:linear-gradient(180deg,var(--v2-surface,#fff),color-mix(in srgb,var(--int-accent) 1.6%,var(--v2-surface-soft,#f8fbfc)));
  box-shadow:0 5px 14px rgba(18,74,105,.025);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-detail-card.is-stable{--diag:var(--int-success)}
#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-detail-card.is-action{--diag:var(--int-warn)}
#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-detail-card.is-confirm{--diag:var(--int-info)}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-detail-head{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-detail-head > span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  color:#fff;
  background:var(--diag);
  font-size:10px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-detail-head h4{
  margin:0;
  color:var(--v2-page-ink,#123553);
  font-size:14.5px;
  line-height:1.25;
  font-weight:900;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-detail-card ul{
  margin:0;
  padding:0;
  list-style:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-detail-card li{
  position:relative;
  margin:5px 0;
  padding-left:16px;
  color:var(--v2-page-muted,#5d7386);
  font-size:12px;
  line-height:1.52;
  list-style:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-detail-card li::before{
  content:"•";
  position:absolute;
  top:0;
  left:0;
  color:var(--diag);
  font-size:15px;
  line-height:1.4;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-history-note{
  margin:0 14px 13px;
  padding:10px 11px;
  border-radius:10px;
  color:var(--v2-page-muted,#5c7488);
  background:color-mix(in srgb,var(--int-info) 5%,var(--v2-surface-soft,#f8fbfc));
  font-size:11.75px;
  line-height:1.52;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-history-note strong{
  display:block;
  margin-bottom:4px;
  color:var(--v2-page-ink,#123553);
}

/* --------------------------------------------------------------------------
   Plan d'action — timeline
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-plan--timeline{
  padding:0;
  border:0;
  background:transparent;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-plan-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
  padding:0 4px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-plan-head h3{
  margin:3px 0 0;
  color:var(--v2-page-ink,#123553);
  font-size:24px;
  line-height:1.08;
  font-weight:950;
  letter-spacing:-.02em;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-plan-head p{
  margin:4px 0 0;
  color:var(--v2-page-muted,#687e91);
  font-size:12.75px;
  line-height:1.48;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-count{
  flex:0 0 auto;
  padding:8px 13px;
  border:1px solid color-mix(in srgb,var(--int-accent) 24%,var(--v2-line,#d7e5ec));
  border-radius:999px;
  color:#0a969f;
  background:color-mix(in srgb,var(--int-accent) 6%,var(--v2-surface,#fff));
  font-size:10.25px;
  font-weight:900;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-timeline{
  --timeline-col:52px;
  --timeline-center:26px;
  position:relative;
  display:grid;
  gap:10px;
  padding-left:2px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-timeline::before{
  content:"";
  position:absolute;
  top:30px;
  bottom:30px;
  left:calc(2px + var(--timeline-center) - 1px);
  width:2px;
  border-radius:999px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--int-navy) 74%,var(--int-accent)),color-mix(in srgb,var(--int-accent) 76%,#ffffff));
  opacity:.34;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step{
  position:relative;
  z-index:1;
  overflow:visible;
  margin:0;
  border:1px solid transparent;
  border-radius:14px;
  background:transparent;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step:hover{
  border-color:color-mix(in srgb,var(--int-navy) 12%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--int-navy) 1.3%,var(--v2-surface,#fff));
  transform:translateY(-1px);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step[open]{
  border-color:color-mix(in srgb,var(--int-navy) 20%,var(--v2-line,#d7e5ec));
  background:
    linear-gradient(
      110deg,
      color-mix(in srgb,var(--int-navy) 2.2%,var(--v2-surface,#fff)),
      color-mix(in srgb,var(--int-accent) 1.5%,var(--v2-surface,#fff)) 78%
    );
  box-shadow:
    0 12px 28px rgba(10,74,117,.07),
    inset 3px 0 0 color-mix(in srgb,var(--int-accent) 80%,transparent);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step > summary{
  display:grid;
  grid-template-columns:var(--timeline-col) minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  min-height:66px;
  padding:10px 12px 10px 0;
  cursor:pointer;
  list-style:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step > summary::-webkit-details-marker{display:none}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-number{
  justify-self:center;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:3px solid var(--v2-surface,#fff);
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#083c65,#0b5c84);
  box-shadow:
    0 0 0 1px rgba(8,60,101,.24),
    0 8px 18px rgba(8,60,101,.20);
  font-size:14px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-copy{
  min-width:0;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-copy strong{
  display:block;
  color:var(--v2-page-ink,#123553);
  font-size:17px;
  line-height:1.22;
  font-weight:900;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-copy small{
  display:block;
  margin-top:3px;
  color:var(--v2-page-muted,#63798d);
  font-size:12.5px;
  line-height:1.48;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-copy small::before{
  content:"•";
  margin-right:7px;
  color:color-mix(in srgb,var(--int-accent) 78%,var(--int-navy));
  font-size:13px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-more{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:34px;
  padding:6px 7px 6px 12px;
  border:1px solid color-mix(in srgb,var(--int-accent) 18%,var(--v2-line,#d7e5ec));
  border-radius:9px;
  color:#0a7e8c;
  background:color-mix(in srgb,var(--int-accent) 3%,var(--v2-surface,#fff));
  font-size:11.25px;
  font-weight:900;
  white-space:nowrap;
  transition:background .16s ease,border-color .16s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step > summary:hover .zoa-v2-action-step-more{
  border-color:color-mix(in srgb,var(--int-accent) 18%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--int-accent) 5%,var(--v2-surface,#fff));
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-more .is-open{display:none}
#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step[open] .zoa-v2-action-step-more .is-open{display:inline}
#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step[open] .zoa-v2-action-step-more .is-closed{display:none}
#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step[open] .zoa-v2-action-step-more .zoa-v2-details-caret{transform:rotate(180deg)}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-body{
  margin:0 16px 16px calc(var(--timeline-col) + 14px);
  padding:15px 0 0;
  border-top:1px solid color-mix(in srgb,var(--int-accent) 20%,var(--v2-line,#d7e5ec));
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-section{
  min-width:0;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-section + .zoa-v2-action-step-section{
  padding-left:22px;
  border-left:1px solid color-mix(in srgb,var(--int-accent) 12%,var(--v2-line,#d7e5ec));
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-section > span{
  display:block;
  margin-bottom:8px;
  color:#0b949c;
  font-size:10px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-section.is-now > span{
  color:#087f88;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-section p{
  position:relative;
  margin:0;
  padding-left:14px;
  color:var(--v2-page-muted,#587085);
  font-size:12.75px;
  line-height:1.58;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-section p::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:var(--int-accent);
  font-size:14px;
  line-height:1.45;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-validation{
  display:grid;
  grid-template-columns:27px minmax(0,1fr);
  gap:10px;
  align-items:center;
  margin-top:13px;
  padding:10px 12px;
  border-left:3px solid color-mix(in srgb,var(--int-navy) 58%,var(--int-accent));
  border-radius:9px;
  background:
    linear-gradient(
      90deg,
      color-mix(in srgb,var(--int-navy) 4%,var(--v2-surface,#fff)),
      color-mix(in srgb,var(--int-accent) 2%,var(--v2-surface,#fff))
    );
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-validation-icon{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#0a4a75,#0f6a90);
  box-shadow:0 5px 12px rgba(18,185,190,.13);
  font-size:10px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-validation-copy{
  min-width:0;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-validation-copy strong{
  display:block;
  margin-bottom:3px;
  color:#0a6280;
  font-size:10px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-validation-copy p{
  margin:0;
  padding-left:0;
  color:var(--v2-page-ink,#123553);
  font-size:12.5px;
  line-height:1.52;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-validation-copy p::before{content:none}

/* --------------------------------------------------------------------------
   Contrôles complémentaires
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-plan--timeline + .zoa-v2-secondary-controls{
  margin-top:-4px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-controls{
  padding-top:2px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-controls-head{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:9px;
  padding:0 2px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-controls-head p{
  margin:0;
  color:var(--v2-page-muted,#6a8092);
  font-size:11.25px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-controls-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control{
  --control:var(--int-accent);
  position:relative;
  overflow:hidden;
  border:1px solid var(--int-line-soft);
  border-radius:13px;
  background:linear-gradient(180deg,var(--v2-surface,#fff),color-mix(in srgb,var(--int-accent) 1.2%,var(--v2-surface-soft,#f8fbfc)));
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--control) 28%,var(--v2-line,#d7e5ec));
  box-shadow:0 7px 18px rgba(31,83,102,.045);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:3px;
  background:linear-gradient(180deg,var(--int-navy),var(--int-accent));
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control.is-ro{--control:var(--int-accent)}
#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control.is-monitoring{--control:var(--int-navy)}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control > summary{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-height:76px;
  padding:11px 12px;
  cursor:pointer;
  list-style:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control > summary::-webkit-details-marker{display:none}
#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control[open] > summary .zoa-v2-details-caret{transform:rotate(180deg)}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  color:var(--control);
  background:color-mix(in srgb,var(--control) 9%,var(--v2-surface,#fff));
  font-size:9px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-copy strong{
  display:block;
  color:var(--v2-page-ink,#123553);
  font-size:14px;
  line-height:1.2;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-copy small{
  display:-webkit-box;
  margin-top:4px;
  overflow:hidden;
  color:var(--v2-page-muted,#62798c);
  font-size:12px;
  line-height:1.48;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-toggle .is-open{display:none}
#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control[open] .zoa-v2-secondary-control-toggle .is-closed{display:none}
#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control[open] .zoa-v2-secondary-control-toggle .is-open{display:inline}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-toggle{
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:color-mix(in srgb,var(--control) 82%,#0b6980);
  font-size:11px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control[open]{
  border-color:color-mix(in srgb,var(--control) 28%,var(--v2-line,#d7e5ec));
  box-shadow:0 8px 20px rgba(31,83,102,.055);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control[open] > summary{
  border-bottom:1px solid var(--v2-line,#d7e5ec);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-body{
  padding:12px 14px 14px 58px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-body p,
#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-body li{
  color:var(--v2-page-muted,#5d7589);
  font-size:12.5px;
  line-height:1.56;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-body p{
  position:relative;
  margin:8px 0 0;
  padding-left:16px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-body p::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:var(--control);
  font-size:15px;
  line-height:1.42;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-body ul{
  margin:10px 0 0;
  padding:0;
  list-style:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-body li{
  position:relative;
  margin:5px 0;
  padding-left:16px;
  list-style:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-body li::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
  color:var(--control);
  font-size:15px;
  line-height:1.42;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-body h4{
  margin:9px 0 0;
  color:var(--v2-page-ink,#123553);
  font-size:12px;
}

/* --------------------------------------------------------------------------
   Prochain contrôle
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control--compact{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:15px 16px;
  overflow:hidden;
  color:#fff;
  border:1px solid #0b567f;
  border-radius:13px;
  background:
    radial-gradient(320px 140px at 100% 0%,rgba(83,222,212,.12),transparent 70%),
    linear-gradient(135deg,#073967,#0b5f87);
  box-shadow:0 10px 24px rgba(7,56,102,.10);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control--compact::after{
  content:"";
  position:absolute;
  right:-45px;
  bottom:-70px;
  width:160px;
  height:160px;
  border:1px solid rgba(104,228,220,.10);
  border-radius:50%;
  box-shadow:0 0 0 27px rgba(104,228,220,.018);
  pointer-events:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-icon{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(111,228,219,.28);
  border-radius:11px;
  color:#70e3db;
  background:rgba(1,30,58,.18);
  font-size:17px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-main{
  position:relative;
  z-index:1;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control--compact .zoa-v2-block-kicker{
  color:#71e4dc;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control--compact h3{
  margin:2px 0 3px;
  color:#fff;
  font-size:18px;
  line-height:1.1;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control--compact p{
  margin:0;
  max-width:900px;
  color:rgba(255,255,255,.87);
  font-size:12.25px;
  line-height:1.52;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-delay{
  position:relative;
  z-index:1;
  padding:7px 10px;
  border:1px solid rgba(111,228,219,.30);
  border-radius:999px;
  color:#e4ffff;
  background:rgba(0,27,54,.22);
  font-size:10.5px;
  font-weight:900;
  white-space:nowrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-more{
  position:relative;
  z-index:1;
  grid-column:2 / -1;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.11);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-more > summary{
  color:#8ce8e2;
  cursor:pointer;
  list-style:none;
  font-size:10.5px;
  font-weight:900;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-more > summary::-webkit-details-marker{display:none}

#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-more p,
#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-more li{
  color:rgba(255,255,255,.80);
  font-size:11.5px;
  line-height:1.52;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-more ul{
  margin:7px 0 0;
  padding-left:17px;
}

/* --------------------------------------------------------------------------
   Produits + fallback historique
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-products-panel{
  padding:14px;
  border:1px solid var(--v2-line,#d7e5ec);
  border-radius:13px;
  background:var(--v2-surface,#fff);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-products-head h3{
  margin:2px 0 0;
  color:var(--v2-page-ink,#123553);
  font-size:16px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-products-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-product-card{
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:11px;
  align-items:center;
  padding:10px;
  border:1px solid var(--v2-line,#d7e5ec);
  border-radius:11px;
  background:var(--v2-surface-soft,#f8fbfc);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-product-media{
  display:grid;
  place-items:center;
  width:76px;
  height:64px;
  overflow:hidden;
  border-radius:9px;
  background:var(--v2-surface,#fff);
  text-decoration:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-product-media img{
  display:block;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-product-media span{
  color:var(--int-accent);
  font-size:14px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-product-copy h4{
  margin:0 0 4px;
  color:var(--v2-page-ink,#123553);
  font-size:12.5px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-product-copy p{
  margin:0;
  color:var(--v2-page-muted,#60778b);
  font-size:12.25px;
  line-height:1.5;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-product-link{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-top:6px;
  color:#0a989f;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
}

/* Ancien moteur */
#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice{
  display:grid;
  gap:11px;
  padding:15px;
  background:var(--v2-surface,#fff);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-note{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:11px 12px;
  border:1px solid var(--v2-line,#d7e5ec);
  border-radius:11px;
  background:var(--v2-surface-soft,#f8fbfc);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-note > span{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border-radius:50%;
  color:#0a9da5;
  background:var(--v2-accent-soft,#eafafa);
  font-size:11px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-note p{
  margin:0;
  color:var(--v2-page-muted,#60778b);
  font-size:11.75px;
  line-height:1.52;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-card{
  --legacy:#14aeb7;
  display:grid;
  grid-template-columns:4px minmax(0,1fr);
  gap:11px;
  padding:11px 12px;
  border:1px solid var(--v2-line,#d7e5ec);
  border-radius:11px;
  background:var(--v2-surface,#fff);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-card > span{
  width:4px;
  height:100%;
  min-height:38px;
  border-radius:999px;
  background:var(--legacy);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-card.is-major{--legacy:#32c985}
#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-card.is-nutrients{--legacy:#efa231}
#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-card.is-trace{--legacy:#7568df}
#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-card.is-pollutants{--legacy:#ea5571}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-card h3{
  margin:0 0 4px;
  color:var(--v2-page-ink,#123553);
  font-size:12.5px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-card p{
  margin:0;
  color:var(--v2-page-muted,#536c82);
  font-size:12.25px;
  line-height:1.5;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-ro{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
  padding:11px 12px;
  border:1px solid var(--v2-line,#d7e5ec);
  border-left:3px solid #27c89a;
  border-radius:11px;
  background:var(--v2-surface,#fff);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-ro h3{
  margin:0 0 4px;
  color:var(--v2-page-ink,#123553);
  font-size:13px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-ro p{
  margin:0;
  color:var(--v2-page-muted,#536c82);
  font-size:12.25px;
  line-height:1.5;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-interpretation-empty{
  margin:14px;
  padding:17px;
  border:1px dashed var(--v2-line,#ccdce5);
  border-radius:12px;
  color:var(--v2-page-muted);
  text-align:center;
  background:var(--v2-surface-soft,#f8fbfc);
  font-size:11.5px;
}

/* --------------------------------------------------------------------------
   Dark mode
   -------------------------------------------------------------------------- */

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head--interpretation,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head--interpretation{
  background:
    radial-gradient(320px 130px at 100% 0%,rgba(18,185,190,.08),transparent 72%),
    var(--v2-surface,#0b1828);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-icon--interpretation,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-icon--interpretation{
  color:#86dfe0;
  background:#13283b;
  border-color:#2d5567;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-validated,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-validated{
  color:#79dfae;
  background:#102b29;
  border-color:#275648;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-validated--automatic,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-validated--automatic{
  color:#a8bbc9;
  background:#122638;
  border-color:#2a4052;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-number,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-number{
  border-color:#0b1828;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step[open],
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step[open]{
  border-color:color-mix(in srgb,var(--int-accent) 28%,var(--v2-line,#223b4e));
  background:
    linear-gradient(
      110deg,
      color-mix(in srgb,var(--int-accent) 5%,var(--v2-surface-raised,#102235)),
      var(--v2-surface,#0b1828) 76%
    );
  box-shadow:
    0 12px 28px rgba(0,0,0,.14),
    inset 3px 0 0 color-mix(in srgb,var(--int-accent) 75%,transparent);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-validation,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-validation{
  background:
    linear-gradient(
      90deg,
      color-mix(in srgb,var(--int-accent) 8%,var(--v2-surface-raised,#102235)),
      color-mix(in srgb,var(--int-accent) 2%,var(--v2-surface,#0b1828))
    );
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-validation-copy strong,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-validation-copy strong{
  color:#65ddd7;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-validation-copy p,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-validation-copy p{
  color:#dcebf2;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control[open],
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control[open]{
  box-shadow:0 8px 22px rgba(0,0,0,.13);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-next-control--compact,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-next-control--compact{
  border-color:#214c67;
  background:
    radial-gradient(320px 140px at 100% 0%,rgba(83,222,212,.09),transparent 70%),
    linear-gradient(135deg,#0a2945,#0c4563);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width:760px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head--interpretation{
    padding:11px 12px 10px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-icon--interpretation{
    width:34px;
    height:34px;
    flex-basis:34px;
    border-radius:10px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head--interpretation h2{
    font-size:18px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head--interpretation p{
    font-size:11px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-interpretation-view{
    gap:14px;
    padding:10px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-summary-main{
    padding:12px 12px 10px 14px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-titleline{
    display:block;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-titleline h3{
    margin-top:3px;
    font-size:16px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-summary-main > p{
    font-size:11.5px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-detail-grid{
    grid-template-columns:1fr;
    padding:9px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-plan-head{
    display:block;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-plan-head h3{
    font-size:19px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-plan-head p{
    font-size:11px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-count{
    display:inline-flex;
    margin-top:7px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-timeline{
    --timeline-col:42px;
    --timeline-center:21px;
    gap:8px;
    padding-left:0;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step > summary{
    grid-template-columns:var(--timeline-col) minmax(0,1fr);
    grid-template-areas:
      "num copy"
      ". more";
    gap:6px 10px;
    min-height:auto;
    padding:8px 8px 8px 0;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-number{grid-area:num}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-copy{grid-area:copy}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-more{
    grid-area:more;
    justify-self:start;
    min-height:28px;
    padding:4px 8px 4px 10px;
    font-size:10px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-number{
    width:36px;
    height:36px;
    font-size:12px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-copy strong{
    font-size:14px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-copy small{
    font-size:10.5px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-body{
    margin:0 8px 10px calc(var(--timeline-col) + 6px);
    padding-top:10px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-columns{
    grid-template-columns:1fr;
    gap:10px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-section + .zoa-v2-action-step-section{
    padding:10px 0 0;
    border-top:1px solid var(--v2-line,#d7e5ec);
    border-left:0;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-section p,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-body p,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-body li,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-next-control--compact p{
    font-size:11.35px;
    line-height:1.52;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-action-step-validation-copy p{
    font-size:10.75px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-controls-head{
    display:block;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-controls-head p{
    margin-top:3px;
    font-size:10px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-controls-grid{
    grid-template-columns:1fr;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control > summary{
    min-height:66px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-copy strong{
    font-size:12.5px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-copy small{
    font-size:10.25px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-secondary-control-body{
    padding-left:50px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-next-control--compact{
    grid-template-columns:34px minmax(0,1fr);
    padding:11px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-icon{
    width:32px;
    height:32px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-next-control--compact h3{
    font-size:16px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-delay{
    grid-column:2;
    justify-self:start;
    margin-top:2px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-more{
    grid-column:2;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-products-grid,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-legacy-advice-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:430px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-validated{
    display:none;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-product-card{
    grid-template-columns:64px minmax(0,1fr);
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-product-media{
    width:64px;
    height:56px;
  }
}


/* SOURCE: views/css/v2/detail-ro.css */

/* ==========================================================================
   Analyse détaillée V2.68 — Eau osmosée (RO)
   Desktop : tableau complet inspiré du PDF en deux colonnes.
   Mobile  : cartes compactes, sans tableau horizontal.
   CSS reconstruit : aucune surcharge historique ajoutée en fin de fichier.
   ========================================================================== */

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-section{
  --ro-navy:#073a6d;
  --ro-navy-2:#0a4e81;
  --ro-blue:#0a6490;
  --ro-cyan:#15beba;
  --ro-cyan-2:#0ba1b0;
  --ro-mint:#42d1b3;
  --ro-amber:#f2a322;
  --ro-amber-2:#ffc85f;
  --ro-ink:var(--v2-page-ink,#123553);
  --ro-muted:var(--v2-page-muted,#62798c);
  --ro-line:var(--v2-line,#d7e5ec);
  --ro-surface:var(--v2-surface,#fff);
  --ro-soft:var(--v2-surface-soft,#f7fafc);

  position:relative;
  scroll-margin-top:130px;
  margin:24px 0 22px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--ro-cyan) 18%,var(--ro-line));
  border-radius:20px;
  background:var(--ro-surface);
  box-shadow:0 12px 32px rgba(23,64,95,.07);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-section::before{
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,#25c8c4 0%,#5bd8c1 52%,#6fa9ea 100%);
  pointer-events:none;
}

/* --------------------------------------------------------------------------
   Header bleu unique
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:26px;
  align-items:center;
  min-height:150px;
  padding:25px 28px;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(430px 250px at 104% 116%,rgba(67,222,217,.17),transparent 64%),
    radial-gradient(320px 200px at 76% 0%,rgba(51,147,205,.12),transparent 72%),
    linear-gradient(135deg,var(--ro-navy) 0%,var(--ro-navy-2) 58%,var(--ro-blue) 100%);
}

/* Cercles décoratifs animés : même langage que le hero principal. */
#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-head::before{
  content:"";
  position:absolute;
  top:-128px;
  right:112px;
  width:300px;
  height:300px;
  border:1px solid rgba(103,231,225,.13);
  border-radius:50%;
  box-shadow:
    0 0 0 38px rgba(103,231,225,.026),
    0 0 0 78px rgba(103,231,225,.015);
  opacity:.88;
  transform:translate3d(0,0,0) scale(1);
  transform-origin:center;
  animation:zoa-ro-orbit-a 8.5s ease-in-out infinite alternate;
  pointer-events:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-head::after{
  content:"";
  position:absolute;
  right:-74px;
  bottom:-150px;
  width:340px;
  height:340px;
  border:1px solid rgba(103,231,225,.16);
  border-radius:50%;
  box-shadow:
    0 0 0 44px rgba(103,231,225,.034),
    0 0 0 86px rgba(103,231,225,.020);
  opacity:.9;
  transform:translate3d(0,0,0) scale(1);
  transform-origin:center;
  animation:zoa-ro-orbit-b 10.5s ease-in-out infinite alternate;
  pointer-events:none;
}

@keyframes zoa-ro-orbit-a{
  0%{transform:translate3d(0,0,0) scale(1);opacity:.58}
  50%{transform:translate3d(-18px,11px,0) scale(1.045);opacity:.94}
  100%{transform:translate3d(10px,22px,0) scale(.985);opacity:.72}
}

@keyframes zoa-ro-orbit-b{
  0%{transform:translate3d(0,0,0) scale(1);opacity:.62}
  45%{transform:translate3d(-24px,-12px,0) scale(1.035);opacity:.96}
  100%{transform:translate3d(-8px,-28px,0) scale(1.075);opacity:.76}
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-main{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:15px;
  align-items:center;
  min-width:0;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-icon{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border:1px solid rgba(112,226,220,.34);
  border-radius:15px;
  background:rgba(0,28,59,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 8px 20px rgba(1,28,56,.13);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-icon .zoa-lottie-ico{
  width:35px!important;
  height:35px!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-title{
  min-width:0;
  max-width:760px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-title > span{
  display:block;
  color:#67e1dc;
  font-size:11px;
  line-height:1;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-title h2{
  margin:5px 0 8px;
  color:#fff;
  font-size:29px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.028em;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-title p{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.80);
  font-size:13px;
  line-height:1.55;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-counts{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-count{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:38px;
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.19);
  border-radius:999px;
  color:rgba(255,255,255,.90);
  background:rgba(255,255,255,.075);
  backdrop-filter:blur(4px);
  font-size:11px;
  font-weight:850;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-count strong{
  color:#fff;
  font-size:13px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-count--detected{
  border-color:rgba(255,196,83,.52);
  color:#ffe2a0;
  background:rgba(255,174,40,.13);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-count--clean{
  border-color:rgba(74,222,170,.42);
  color:#b6f4dd;
  background:rgba(73,221,169,.10);
}

/* --------------------------------------------------------------------------
   Corps desktop
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-body{
  position:relative;
  background:
    radial-gradient(360px 240px at 100% 0%,rgba(18,185,190,.035),transparent 72%),
    var(--ro-soft);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-desktop{
  position:relative;
  z-index:1;
  display:block;
  padding:22px 24px 24px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-zone{
  margin-bottom:18px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-group-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:11px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-group-kicker{
  display:block;
  margin-bottom:3px;
  color:#0aa9b1;
  font-size:10px;
  line-height:1;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-group-title h3{
  margin:0;
  color:var(--ro-ink);
  font-size:18px;
  line-height:1.15;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-group-count{
  display:grid;
  place-items:center;
  min-width:34px;
  height:34px;
  padding:0 9px;
  border-radius:999px;
  color:#684000;
  background:#ffd166;
  font-size:12px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-grid--desktop{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-card--desktop{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  min-height:82px;
  padding:13px 14px;
  border:1px solid color-mix(in srgb,var(--ro-amber) 30%,var(--ro-line));
  border-left:4px solid var(--ro-amber);
  border-radius:13px;
  background:
    radial-gradient(150px 90px at 100% 0%,rgba(255,191,63,.13),transparent 70%),
    color-mix(in srgb,#fff 96%,#fff2d2);
  box-shadow:0 5px 15px rgba(134,92,28,.04);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-ident{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-symbol,
#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table-symbol{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  min-height:32px;
  padding:5px 8px;
  border:1px solid #91dadd;
  border-radius:9px;
  color:#0a9fa8;
  background:#ecfafa;
  font-size:13.5px;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-card--desktop .zoa-v2-ro-symbol{
  border-color:#efc36a;
  color:#9b6300;
  background:#fff4d9;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-ident strong{
  display:block;
  overflow:hidden;
  color:var(--ro-ink);
  font-size:13.5px;
  font-weight:950;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-ident span:not(.zoa-v2-ro-symbol){
  display:block;
  margin-top:3px;
  color:#8b7557;
  font-size:10.5px;
  font-weight:750;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-value{
  flex:0 0 auto;
  text-align:right;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-value strong{
  display:block;
  color:#895400;
  font-size:20px;
  line-height:1;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-value span{
  display:block;
  margin-top:4px;
  color:#7c6b54;
  font-size:10.5px;
  font-weight:850;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-clean-state{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin-bottom:18px;
  padding:14px;
  border:1px solid #c6eadb;
  border-radius:13px;
  background:#f4fbf7;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-clean-icon{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  color:#fff;
  background:#28c681;
  font-size:18px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-clean-state strong{
  display:block;
  color:#176347;
  font-size:14px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-clean-state p{
  margin:3px 0 0;
  color:#5c796d;
  font-size:11.5px;
  line-height:1.45;
}

/* --------------------------------------------------------------------------
   Lecture complète : rendu proche du PDF
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-full-reading{
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--ro-cyan) 14%,var(--ro-line));
  border-radius:15px;
  background:var(--ro-surface);
  box-shadow:0 7px 20px rgba(17,64,95,.045);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-full-reading > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:78px;
  padding:14px 16px;
  cursor:pointer;
  list-style:none;
  background:
    radial-gradient(220px 90px at 100% 0%,rgba(18,185,190,.055),transparent 72%),
    linear-gradient(90deg,var(--ro-surface),color-mix(in srgb,var(--ro-cyan) 2.5%,var(--ro-surface)));
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-full-reading > summary::-webkit-details-marker{display:none}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-full-reading > summary strong{
  display:block;
  color:var(--ro-ink);
  font-size:15.5px;
  line-height:1.15;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-full-reading > summary small{
  display:block;
  margin-top:4px;
  color:var(--ro-muted);
  font-size:11px;
  line-height:1.4;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-full-summary-side{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:9px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-full-count{
  display:grid;
  place-items:center;
  min-width:36px;
  height:36px;
  padding:0 9px;
  border:1px solid #9edcde;
  border-radius:999px;
  color:#078d96;
  background:#ecfafa;
  font-size:11px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-expand-label{
  min-width:82px;
  color:#0b819d;
  font-size:11px;
  font-weight:900;
  text-align:right;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-expand-label .is-open{display:none}
#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-full-reading[open] .zoa-v2-ro-expand-label .is-open{display:inline}
#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-full-reading[open] .zoa-v2-ro-expand-label .is-closed{display:none}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-pdf-panel{
  position:relative;
  overflow:hidden;
  padding:18px;
  border-top:1px solid rgba(160,213,224,.18);
  background:
    radial-gradient(circle at 95% 9%,rgba(72,208,204,.10),transparent 29%),
    radial-gradient(circle at 7% 92%,rgba(64,153,207,.11),transparent 28%),
    linear-gradient(135deg,#082d5d 0%,#0a427c 67%,#0b5688 100%);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-pdf-panel::after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-105px;
  width:260px;
  height:260px;
  border:1px solid rgba(91,221,216,.10);
  border-radius:50%;
  pointer-events:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-pdf-tables{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:start;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table-card{
  overflow:hidden;
  border:1px solid rgba(176,220,232,.20);
  border-radius:15px;
  background:rgba(255,255,255,.075);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.035),
    0 4px 12px rgba(0,17,46,.10);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table{
  width:100%;
  border:0;
  border-collapse:collapse;
  border-spacing:0;
  table-layout:fixed;
  color:#fff;
  background:transparent;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table th:nth-child(1),
#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table td:nth-child(1){width:31%}
#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table th:nth-child(2),
#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table td:nth-child(2){width:25%}
#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table th:nth-child(3),
#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table td:nth-child(3){width:22%}
#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table th:nth-child(4),
#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table td:nth-child(4){width:22%}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table thead th{
  height:42px;
  padding:10px 11px;
  border:0;
  color:#fff;
  background:linear-gradient(90deg,rgba(11,161,176,.96),rgba(21,190,186,.93));
  font-size:11px;
  line-height:1;
  font-weight:900;
  text-align:left;
  white-space:nowrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table tbody td{
  height:46px;
  padding:8px 11px;
  border-top:1px solid rgba(210,235,241,.13);
  color:#edf7fb;
  background:rgba(255,255,255,.025);
  font-size:11.5px;
  line-height:1.15;
  vertical-align:middle;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table tbody tr:first-child td{border-top:0}
#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table tbody tr:nth-child(even) td{background:rgba(255,255,255,.052)}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table-symbol{
  min-width:34px;
  min-height:29px;
  padding:4px 7px;
  border-color:rgba(100,222,218,.34);
  color:#6ee2dc;
  background:rgba(38,194,192,.08);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table-value strong{
  display:block;
  color:#fff;
  font-size:15.5px;
  line-height:1.05;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-table-value small{
  display:block;
  margin-top:3px;
  color:#aac6d4;
  font-size:11.5px;
  line-height:1.05;
  font-weight:700;
  white-space:nowrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-row--detected td{
  color:#fff;
  background:linear-gradient(90deg,rgba(255,193,72,.16),rgba(255,255,255,.045))!important;
  border-top-color:rgba(255,207,112,.34)!important;
  border-bottom:1px solid rgba(255,207,112,.22);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-row--detected td:first-child{
  position:relative;
  padding-left:15px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-row--detected td:first-child::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  bottom:7px;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,#ffc14b,#ff8b3d);
  box-shadow:0 0 8px rgba(255,174,61,.22);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-row--detected .zoa-v2-ro-table-symbol{
  color:#ffe0a3;
  border-color:rgba(255,207,112,.48);
  background:rgba(255,190,70,.12);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-row--detected .zoa-v2-ro-table-value strong{
  display:inline-flex;
  min-width:48px;
  min-height:25px;
  padding:4px 8px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,211,126,.55);
  border-radius:999px;
  color:#082d5d;
  background:linear-gradient(180deg,#ffe6a9,#ffc85f);
  box-shadow:0 2px 6px rgba(0,17,46,.14);
}

/* --------------------------------------------------------------------------
   Aide
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-help{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
  align-items:start;
  margin:0 24px 24px;
  padding:13px 15px;
  border:1px solid #bee5e5;
  border-radius:13px;
  background:#effafa;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-help-icon{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border:1px solid #8fd8d8;
  border-radius:50%;
  color:#0b9ca5;
  background:#fff;
  font-size:14px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-help strong{
  display:block;
  margin-bottom:4px;
  color:var(--ro-ink);
  font-size:13px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-help p{
  margin:0;
  color:var(--ro-muted);
  font-size:12px;
  line-height:1.52;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile{display:none}

/* --------------------------------------------------------------------------
   Dark mode desktop
   -------------------------------------------------------------------------- */

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-section,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-section{
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-body,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-body{
  background:var(--v2-surface,#0b1828);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-card--desktop,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-card--desktop{
  background:color-mix(in srgb,var(--ro-amber) 5%,var(--v2-surface-raised,#102235));
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-ident span:not(.zoa-v2-ro-symbol),
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-value span,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-ident span:not(.zoa-v2-ro-symbol),
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-value span{
  color:#b5a27f;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-value strong,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-value strong{
  color:#f0bd61;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-full-reading,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-full-reading{
  background:var(--v2-surface-raised,#102235);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-help,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-help{
  border-color:#24505e;
  background:#102c35;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-help-icon,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-help-icon{
  border-color:#2c6470;
  color:#71ddd9;
  background:#0c2030;
}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width:860px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-section{
    margin-top:16px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-desktop{display:none}

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile{
    position:relative;
    z-index:1;
    display:block;
    padding:14px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-head{
    display:block;
    min-height:0;
    padding:18px 16px 16px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-main{
    grid-template-columns:43px minmax(0,1fr);
    gap:11px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-icon{
    width:40px;
    height:40px;
    border-radius:12px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-icon .zoa-lottie-ico{
    width:28px!important;
    height:28px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-title > span{font-size:9.5px}

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-title h2{
    margin:4px 0 5px;
    font-size:22px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-title p{
    font-size:11px;
    line-height:1.46;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-counts{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-top:12px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-count{
    justify-content:center;
    min-height:34px;
    padding:6px 8px;
    text-align:center;
    font-size:10px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-group{margin-bottom:13px}

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-group-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:8px;
    color:var(--ro-ink);
    font-size:12.5px;
    font-weight:950;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-group-head strong{
    display:grid;
    place-items:center;
    min-width:27px;
    height:27px;
    padding:0 7px;
    border-radius:999px;
    color:#624000;
    background:#ffd166;
    font-size:11px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-width:0;
    padding:10px;
    border:1px solid color-mix(in srgb,var(--ro-amber) 28%,var(--ro-line));
    border-left:3px solid var(--ro-amber);
    border-radius:11px;
    background:color-mix(in srgb,var(--ro-amber) 4%,var(--ro-surface));
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-card > div{
    min-width:0;
    display:flex;
    align-items:center;
    gap:7px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-card > div > strong{
    min-width:0;
    overflow:hidden;
    color:var(--ro-ink);
    font-size:11px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-card p{
    flex:0 0 auto;
    margin:0;
    text-align:right;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-card p strong{
    display:block;
    color:#966000;
    font-size:15px;
    font-weight:950;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-card p span{
    display:block;
    color:var(--ro-muted);
    font-size:9px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-clean{
    display:grid;
    grid-template-columns:35px minmax(0,1fr);
    gap:10px;
    align-items:center;
    margin-bottom:13px;
    padding:11px;
    border:1px solid #c6eadb;
    border-radius:11px;
    background:#f4fbf7;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-clean > span{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:50%;
    color:#fff;
    background:#34c98b;
    font-size:15px;
    font-weight:950;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-clean strong{
    display:block;
    color:#176347;
    font-size:11px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-clean small{
    display:block;
    margin-top:2px;
    color:#5c796d;
    font-size:9.5px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-nd-details{
    overflow:hidden;
    border:1px solid var(--ro-line);
    border-radius:12px;
    background:var(--ro-surface);
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-nd-details > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px;
    cursor:pointer;
    list-style:none;
    background:color-mix(in srgb,var(--ro-cyan) 2.5%,var(--ro-surface));
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-nd-details > summary::-webkit-details-marker{display:none}

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-nd-details > summary > span:first-child strong{
    display:block;
    color:var(--ro-ink);
    font-size:12px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-nd-details > summary > span:first-child small{
    display:block;
    margin-top:3px;
    color:var(--ro-muted);
    font-size:9.5px;
    line-height:1.35;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-nd-count{
    display:grid;
    place-items:center;
    min-width:29px;
    height:29px;
    padding:0 7px;
    border:1px solid #9edcde;
    border-radius:999px;
    color:#078d96;
    background:#ecfafa;
    font-size:10px;
    font-weight:950;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-nd-list{
    border-top:1px solid var(--ro-line);
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    min-height:54px;
    padding:9px 10px;
    border-top:1px solid color-mix(in srgb,var(--ro-line) 75%,transparent);
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-row:first-child{border-top:0}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-row:nth-child(even){background:color-mix(in srgb,var(--ro-cyan) 1.7%,var(--ro-surface))}

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-param{
    min-width:0;
    display:flex;
    align-items:center;
    gap:8px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-param > strong{
    min-width:0;
    overflow:hidden;
    color:var(--ro-ink);
    font-size:11px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-result{text-align:right}

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-result > strong{
    display:block;
    color:var(--ro-ink);
    font-size:11.5px;
    font-weight:950;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-result > small{
    display:block;
    margin-top:2px;
    color:var(--ro-muted);
    font-size:9px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-help{
    grid-template-columns:33px minmax(0,1fr);
    gap:9px;
    margin:0 14px 14px;
    padding:11px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-help-icon{
    width:29px;
    height:29px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-help strong{font-size:11px}

  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-help p{
    font-size:10px;
    line-height:1.48;
  }

  [data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-card,
  [data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-nd-details,
  .theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-card,
  .theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-nd-details{
    background:var(--v2-surface-raised,#102235);
  }

  [data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-clean,
  .theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-mobile-clean{
    border-color:#275648;
    background:#102b29;
  }
}

@media (max-width:520px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-detected-grid{grid-template-columns:1fr}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-counts{grid-template-columns:1fr}
}


@media (prefers-reduced-motion:reduce){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-head::before,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-ro-profile-head::after{
    animation:none!important;
  }
}


/* SOURCE: views/css/v2/detail-responsive.css */

/* ==========================================================================
   Analyse détaillée V2.3 — responsive
   ========================================================================== */
@media (max-width:1000px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main{grid-template-columns:minmax(0,1fr) 190px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item:nth-child(3){border-left:0;border-top:1px solid #e3edf2}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item:nth-child(4){border-top:1px solid #e3edf2}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-grid{grid-template-columns:230px minmax(0,1fr)}
}

@media (max-width:760px){
  #zoa-analyses.zoa-detail-v2 .zoa-detail-v2-shell{width:min(100% - 20px,680px);margin-bottom:86px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading{
    min-height:0;
    display:flex;
    flex-direction:column;
    padding:18px 0 18px;
  }
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading::before,#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading::after{display:none}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-back{
    position:static;
    width:100%;
    min-height:38px;
    margin:12px 0 0;
    border-color:color-mix(in srgb,var(--detail-cyan) 72%,var(--detail-line));
    background:rgba(255,255,255,.58);
  }
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading h1.zoa-title-main{
    width:100%;
    margin-top:0;
    font-size:30px;
    line-height:1.05;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-title-wrap{
    margin:4px 0 6px;
  }
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading p{font-size:11px;line-height:1.35}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main{grid-template-columns:1fr}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-copy{padding:19px 16px 16px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero h2{font-size:27px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-brandlockup{min-height:50px;padding:5px 7px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-brandlockup img{height:36px;max-width:46px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-statline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:17px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat{min-width:0;padding:8px 9px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions{display:grid;grid-template-columns:1fr}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score{padding:17px;border-top:1px solid rgba(255,255,255,.10);border-left:0}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-ring{width:126px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-ring strong{font-size:31px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta{grid-template-columns:1fr 1fr;margin:9px 0 0}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item{grid-template-columns:31px minmax(0,1fr);gap:8px;padding:11px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-icon{width:30px;height:30px;border-radius:10px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-icon .zoa-v2-icon{width:16px;height:16px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section{border-radius:16px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head{align-items:flex-start;padding:14px 13px 11px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-icon{width:34px;height:34px;flex-basis:34px;border-radius:11px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-icon .zoa-v2-icon{width:19px;height:19px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head h2{font-size:17px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-validated{position:absolute;top:12px;right:10px;font-size:8px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-grid{grid-template-columns:1fr;margin:10px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div{grid-template-columns:1fr;gap:4px;text-align:center;padding:10px 6px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis strong{font-size:21px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family{padding:12px 8px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family-head{display:block;padding:0 5px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family-head span{display:block;margin-top:2px}

  #zoa-analyses.zoa-detail-v2 .zoa-v2-interpretation-view{gap:11px;padding:10px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-panel{padding:12px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-grid{grid-template-columns:1fr}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-priority-grid{grid-template-columns:1fr;gap:9px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-priority-card{padding:13px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-priority-heading{padding-right:35px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-priority-content{grid-template-columns:1fr;margin-left:41px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-priority-validation{margin-left:41px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-priority-toggle{position:absolute;top:12px;right:11px;display:grid;place-items:center;width:29px;height:29px;border:1px solid color-mix(in srgb,var(--priority) 25%,#dce8ed);border-radius:9px;color:var(--priority);background:#fff;font-size:15px;font-weight:900;cursor:pointer}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-priority-card.is-collapsed .zoa-v2-priority-content,#zoa-analyses.zoa-detail-v2 .zoa-v2-priority-card.is-collapsed .zoa-v2-priority-validation{display:none}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-control-grid{grid-template-columns:1fr}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-next-control{grid-template-columns:34px minmax(0,1fr);padding:14px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-delay{grid-column:2;justify-self:start}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-products-grid{grid-template-columns:1fr}
}

@media (max-width:430px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta{grid-template-columns:1fr}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item + .zoa-v2-detail-meta-item{border-top:1px solid #e3edf2;border-left:0!important}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis{grid-template-columns:1fr}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div{grid-template-columns:42px 1fr;text-align:left}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-product-card{grid-template-columns:72px minmax(0,1fr)}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-product-media{width:72px;height:66px}
}


/* V2.3 — finitions mobile */
@media (max-width:760px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-general{padding:12px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-card{min-height:0;grid-template-columns:35px minmax(0,1fr);padding:12px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-targets ul{display:grid;grid-template-columns:1fr}
}


/* SOURCE: views/css/v2/detail-typography.css */

/* ==========================================================================
   Analyse détaillée V2.5 — Typographie
   Politique de lisibilité globale.
   Cette feuille centralise uniquement les tailles de texte, afin d'éviter
   les micro-fontes dispersées dans les composants.
   ========================================================================== */

/* Navigation / hero / metadata */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-back{font-size:13px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-kicker{font-size:12px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading p{font-size:14px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-eyebrow{font-size:12px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-top p{font-size:13px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat span{font-size:11.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-btn{font-size:12px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-ring span{font-size:10.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score > small{font-size:13px}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item small{font-size:10.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item strong{font-size:13.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item span{font-size:11.5px}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav a{font-size:11.5px}

/* Section headers */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head > div > span{font-size:10.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head h2{font-size:22px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head p{font-size:12.5px}

/* Overview */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overall h3,
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family h3{font-size:10.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis span{font-size:11.5px}

/* Interpretation */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-validated{font-size:10.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-block-kicker{font-size:10.5px}

#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-general h3{font-size:19px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-general p{font-size:12.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-history{font-size:11.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-card h4{font-size:14px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-card li{font-size:11.5px}

#zoa-analyses.zoa-detail-v2 .zoa-v2-action-plan-head h3{font-size:21px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-action-plan-head p{font-size:12px}

#zoa-analyses.zoa-detail-v2 .zoa-v2-priority-heading h4{font-size:15.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-priority-heading p{font-size:11.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-priority-segment span{font-size:10px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-priority-segment p{font-size:11.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-priority-validation p{font-size:10.5px}

#zoa-analyses.zoa-detail-v2 .zoa-v2-control-card h3{font-size:18px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-control-card h4{font-size:12.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-control-card p,
#zoa-analyses.zoa-detail-v2 .zoa-v2-control-card li{font-size:11.5px}

#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control h3{font-size:19px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control p,
#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control li{font-size:11.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-delay{font-size:10.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-targets > strong{font-size:9.5px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-next-control-targets li{font-size:9.5px}

#zoa-analyses.zoa-detail-v2 .zoa-v2-products-head h3{font-size:18px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-product-copy h4{font-size:14px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-product-copy p{font-size:11px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-product-link{font-size:10.5px}

/* Legacy lower areas: ensure inherited text is not microscopically small
   while they still exist in V2 during migration. */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-legacy{
  font-size:12px;
}

@media (max-width:760px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading p{font-size:12.5px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav a{font-size:11px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head h2{font-size:19px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-section-head p{font-size:11.5px}

  #zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-general p{font-size:11.5px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-diagnosis-card li{font-size:10.5px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-priority-heading h4{font-size:14.5px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-priority-heading p,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-priority-segment p{font-size:10.5px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-control-card p,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-control-card li{font-size:10.5px}
}


/* SOURCE: views/css/v2/detail-quality-gauge.css */

/* ==========================================================================
   Analyse détaillée V2.12 — Score qualité global ECharts
   Plus homogène, plus lisible et plus vivant.
   ========================================================================== */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score{
  position:relative;
  z-index:2;
  min-width:220px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:7px 18px 9px;
  border-left:1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(185px 145px at 50% 46%,rgba(43,209,170,.070),transparent 70%),
    rgba(3,29,59,.14);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score::before{
  content:"";
  position:absolute;
  width:160px;
  height:160px;
  border-radius:50%;
  border:1px solid rgba(43,209,170,.075);
  box-shadow:0 0 28px rgba(43,209,170,.055);
  pointer-events:none;
  transition:box-shadow .22s ease,border-color .22s ease,transform .22s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap{
  position:relative;
  z-index:1;
  width:154px;
  height:154px;
  flex:0 0 154px;
  cursor:default;
  transition:transform .22s ease,filter .22s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart{
  width:154px;
  height:154px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart canvas{
  display:block;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap:hover,
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap.is-interactive{
  transform:scale(1.025);
  filter:brightness(1.045);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score:has(.zoa-v2-detail-score-chart-wrap.is-interactive)::before{
  border-color:rgba(43,209,170,.14);
  box-shadow:0 0 36px rgba(43,209,170,.12);
  transform:scale(1.025);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-fallback{
  position:absolute;
  inset:11px;
  z-index:1;
  display:grid;
  place-items:center;
  align-content:center;
  border:7px solid #2bd1aa;
  border-radius:50%;
  color:#fff;
  background:#083f4c;
  text-align:center;
  opacity:1;
  transition:opacity .24s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-fallback.is-echarts-ready{
  opacity:0;
  pointer-events:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-fallback strong{
  display:block;
  font-size:33px;
  line-height:1;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-fallback span{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.78);
  font-size:9px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-status{
  position:relative;
  z-index:2;
  margin-top:-5px;
  color:#42d6a4;
  font-size:12.5px;
  line-height:1.2;
  font-weight:950;
  text-align:center;
  text-shadow:0 0 12px rgba(43,209,170,.18);
  transition:transform .22s ease,text-shadow .22s ease,filter .22s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score:has(.zoa-v2-detail-score-chart-wrap.is-interactive) .zoa-v2-detail-score-status{
  transform:translateY(-1px);
  text-shadow:0 0 16px currentColor;
  filter:brightness(1.08);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-ring{
  display:none!important;
}

@media (max-width:1000px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score{
    min-width:192px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score::before{
    width:150px;
    height:150px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart{
    width:146px;
    height:146px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap{
    flex-basis:146px;
  }
}

@media (max-width:760px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score{
    min-width:0;
    padding:10px 14px 14px;
    border-top:1px solid rgba(255,255,255,.08);
    border-left:0;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score::before{
    width:146px;
    height:146px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart{
    width:142px;
    height:142px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap{
    flex-basis:142px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-status{
    margin-top:-3px;
    font-size:12px;
  }
}

@media (prefers-reduced-motion:reduce){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score::before,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-status{
    transition:none!important;
  }
}


/* SOURCE: views/css/v2/detail-hero-integrated.css */

/* ==========================================================================
   Analyse détaillée V2.10 — Hero + métadonnées inspirées de la couverture PDF
   Le bloc blanc est derrière le hero bleu et semble en émerger.
   ========================================================================== */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero{
  position:relative;
  isolation:isolate;
  margin:0 0 34px;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

/* --------------------------------------------------------------------------
   Hero bleu - volontairement AU-DESSUS du bandeau blanc
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main{
  position:relative;
  z-index:3;
  min-height:242px;
  overflow:hidden;
  border:1px solid #0f4e7b;
  border-radius:24px;
  box-shadow:0 20px 44px rgba(7,54,93,.13),0 4px 12px rgba(7,54,93,.05);
  background:
    radial-gradient(520px 310px at 103% -8%,rgba(71,225,215,.20),transparent 61%),
    radial-gradient(430px 300px at 72% 112%,rgba(24,145,197,.18),transparent 68%),
    linear-gradient(136deg,#062b58 0%,#083e70 58%,#0b638d 100%);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.46;
  background:
    radial-gradient(circle at 84% 28%,transparent 0 62px,rgba(106,229,224,.09) 63px 64px,transparent 65px),
    radial-gradient(circle at 84% 28%,transparent 0 108px,rgba(106,229,224,.055) 109px 110px,transparent 111px),
    linear-gradient(112deg,transparent 66%,rgba(100,227,220,.038) 66.5%,transparent 67%);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main::after{
  right:-62px;bottom:-134px;width:370px;height:370px;border-color:rgba(104,229,222,.10);
  box-shadow:0 0 0 42px rgba(104,229,222,.022),0 0 0 88px rgba(104,229,222,.014);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-copy{padding:26px 30px 42px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero h2{margin-top:7px;font-size:34px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-eyebrow{color:#6ae3dd}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-brandlockup{
  min-height:62px;padding:7px 10px;border:1px solid rgba(255,255,255,.30);border-radius:16px;
  box-shadow:0 10px 24px rgba(0,18,44,.15),inset 0 1px 0 rgba(255,255,255,.75);
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-brandlockup img{height:44px;max-width:60px}

/* KPI */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-statline{gap:8px;margin-top:23px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat{
  position:relative;min-width:106px;min-height:46px;padding:9px 12px 9px 13px;
  border:1px solid rgba(255,255,255,.16);border-radius:12px;
  background:linear-gradient(135deg,rgba(255,255,255,.095),rgba(255,255,255,.045));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat::before{content:"";position:absolute;top:8px;bottom:8px;left:0;width:2px;border-radius:99px;background:rgba(135,218,237,.58)}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat strong{font-size:20px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat span{font-size:11px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat--alert{border-color:rgba(238,103,128,.34);background:linear-gradient(135deg,rgba(238,103,128,.13),rgba(255,255,255,.035))}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat--alert::before{background:#ef6d82}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat--ok{border-color:rgba(61,215,177,.34);background:linear-gradient(135deg,rgba(61,215,177,.12),rgba(255,255,255,.035))}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat--ok::before{background:#47dbb4}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat--priority{border-color:rgba(243,174,57,.36);background:linear-gradient(135deg,rgba(243,174,57,.12),rgba(255,255,255,.035))}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat--priority::before{background:#f3ae39}

/* Actions */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions{gap:9px;padding-top:17px}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-btn{min-height:42px;padding:9px 15px;border-radius:11px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-btn:hover{transform:translateY(-1px)}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-btn--primary{color:#063b60;background:linear-gradient(135deg,#60e3d5,#59dda9);box-shadow:0 8px 20px rgba(63,216,180,.16)}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-btn--secondary{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}

/* Score */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score{
  min-width:236px;padding:12px 20px 16px;border-left:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(4,42,78,.16),rgba(3,31,61,.22)),radial-gradient(210px 170px at 50% 43%,rgba(67,220,207,.075),transparent 68%);
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score::before{opacity:.72}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-status{margin-top:-3px;letter-spacing:.01em}

/* --------------------------------------------------------------------------
   Bandeau meta - DERRIERE le hero, plus étroit, sans trait turquoise
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  width:calc(100% - 92px);
  margin:-34px auto 0;
  padding-top:22px;
  overflow:hidden;
  border:1px solid #d7e4eb;
  border-radius:22px;
  background:radial-gradient(circle at 8% 12%,rgba(19,174,181,.055),transparent 24%),linear-gradient(180deg,#fff 0%,#fbfdfe 100%);
  box-shadow:0 15px 34px rgba(8,42,86,.075);
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta::before,
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta::after{display:none!important}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item{
  --meta-accent:#079da6;--meta-icon-bg:#eefafa;--meta-icon-line:#a9dde0;
  position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:13px;align-items:center;
  min-height:108px;padding:18px 20px 17px;border:0;background:transparent;
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item + .zoa-v2-detail-meta-item{border-left:1px solid #e2e9ee}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item--aquarium{--meta-accent:#079da6;--meta-icon-bg:#eefafa;--meta-icon-line:#a9dde0}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item--sample{--meta-accent:#4263bd;--meta-icon-bg:#f0f3fb;--meta-icon-line:#c7d1ee}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item--analysis{--meta-accent:#3d9654;--meta-icon-bg:#eef7f1;--meta-icon-line:#c9e3d0}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item--history{--meta-accent:#7354bd;--meta-icon-bg:#f3effb;--meta-icon-line:#d4c9ed}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-icon{
  position:relative;display:flex!important;width:46px;height:46px;min-width:46px;min-height:46px;
  margin:0!important;padding:0!important;align-items:center!important;justify-content:center!important;
  border:1.3px solid var(--meta-icon-line);border-radius:50%;color:var(--meta-accent);background:var(--meta-icon-bg);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 3px 8px rgba(8,42,86,.035);line-height:0!important;
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-icon svg{
  position:static!important;display:block!important;width:26px!important;height:26px!important;margin:0!important;padding:0!important;
  fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;transform:none!important;
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item--aquarium .zoa-v2-detail-meta-icon svg{width:31px!important;height:31px!important;stroke-width:1.75!important}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-icon svg,
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-icon svg *{vector-effect:non-scaling-stroke}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy{position:relative;z-index:1;min-width:0}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy small{
  display:block;margin:0 0 5px;color:var(--meta-accent);font-size:11px;line-height:1;font-weight:900;letter-spacing:.055em;text-transform:uppercase;
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy strong{
  display:block;margin:0;color:#0b3b73;font-size:15px;line-height:1.1;font-weight:850;overflow-wrap:anywhere;
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy .zoa-v2-detail-meta-barcode{font-size:13.5px;line-height:1.08;letter-spacing:-.01em}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy span{display:block;margin-top:5px;color:#7b8d9d;font-size:11.5px;line-height:1.2}

@media (max-width:1000px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main{grid-template-columns:minmax(0,1fr) 196px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score{min-width:196px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta{width:calc(100% - 52px);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-28px;padding-top:18px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item:nth-child(3){border-left:0;border-top:1px solid #e2e9ee}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item:nth-child(4){border-top:1px solid #e2e9ee}
}

@media (max-width:760px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero{margin-bottom:24px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main{grid-template-columns:1fr;min-height:0;border-radius:18px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-copy{padding:18px 15px 45px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero h2{font-size:28px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-statline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:16px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat{min-width:0;min-height:45px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-top:14px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-btn{min-width:0;padding-left:9px;padding-right:9px;font-size:10.5px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score{min-width:0;padding:10px 14px 18px;border-top:1px solid rgba(255,255,255,.08);border-left:0;background:radial-gradient(220px 150px at 50% 45%,rgba(67,220,207,.075),transparent 70%),rgba(3,31,61,.14)}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta{width:calc(100% - 22px);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-18px;padding-top:12px;border-radius:17px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item{grid-template-columns:40px minmax(0,1fr);gap:9px;min-height:88px;padding:13px 11px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-icon{width:37px;height:37px;min-width:37px;min-height:37px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-icon svg{width:21px!important;height:21px!important}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item--aquarium .zoa-v2-detail-meta-icon svg{width:25px!important;height:25px!important}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy small{font-size:9.5px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy strong{font-size:12px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy .zoa-v2-detail-meta-barcode{font-size:11px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy span{font-size:9.5px}
}

@media (max-width:430px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions{grid-template-columns:1fr}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta{width:calc(100% - 16px);grid-template-columns:1fr;margin-top:-12px;padding-top:8px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item{min-height:72px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item + .zoa-v2-detail-meta-item{border-top:1px solid #e2e9ee;border-left:0!important}
}


/* ==========================================================================\n   V2.11 — Hero plus compact : téléchargements dans la barre haute\n   ========================================================================== */

@media (min-width:761px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main{
    min-height:206px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-copy{
    padding:22px 30px 30px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-top{
    align-items:flex-start;
    gap:18px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-headtools{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin-left:auto;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions--desktop{
    display:flex;
    align-items:center;
    gap:7px;
    margin:0;
    padding:0;
    flex-wrap:nowrap;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions--desktop .zoa-v2-detail-btn{
    min-height:36px;
    padding:7px 10px;
    border-radius:10px;
    font-size:10.5px;
    line-height:1;
    white-space:nowrap;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions--desktop .zoa-v2-detail-btn .zoa-v2-icon{
    width:15px;
    height:15px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions--mobile{
    display:none!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-brandlockup{
    min-height:54px;
    padding:5px 8px;
    border-radius:14px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-brandlockup img{
    height:38px;
    max-width:52px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-statline{
    margin-top:17px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat{
    min-height:43px;
    padding-top:8px;
    padding-bottom:8px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta{
    margin-top:-28px;
    padding-top:18px;
  }
}

@media (min-width:761px) and (max-width:1050px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-headtools{
    gap:7px;
  }
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions--desktop .zoa-v2-detail-btn{
    padding-left:8px;
    padding-right:8px;
    font-size:9.5px;
  }
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-brandlockup img{
    height:34px;
    max-width:46px;
  }
}

@media (max-width:760px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-headtools{
    display:flex;
    justify-content:flex-end;
    margin-left:auto;
  }
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions--desktop{
    display:none!important;
  }
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions--mobile{
    display:grid;
  }
}

/* ==========================================================================
   V2.21 — Refonte en-tête : jauge style V1 + partage
   ========================================================================== */

/* Hero légèrement recentré pour accueillir le partage sans lourdeur. */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main{
  min-height:224px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-copy{
  padding-bottom:28px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-statline{
  margin-top:15px;
}

/* Partage */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-share{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:15px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-share-label{
  color:rgba(255,255,255,.78);
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-share-links{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid rgba(104,229,222,.48);
  border-radius:12px;
  background:rgba(255,255,255,.06);
  color:#7ce7cf;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  transition:transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.10);
  border-color:rgba(104,229,222,.68);
  box-shadow:0 10px 18px rgba(0,18,44,.16), inset 0 1px 0 rgba(255,255,255,.14);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(104,229,222,.22);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn.is-copied{
  background:rgba(99,226,210,.16);
  border-color:rgba(99,226,210,.88);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-share-lottie{
  display:flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  font-size:13px;
  line-height:1;
  font-weight:900;
  color:currentColor;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn[data-share-network="facebook"] .zoa-v2-share-lottie{
  font-size:16px;
  font-family:Arial,sans-serif;
  font-weight:700;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn[data-share-network="x"] .zoa-v2-share-lottie{
  font-size:12px;
  letter-spacing:-.02em;
}

/* Score : revenir vers l'esprit V1, plus centré sur la bulle liquide. */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:220px;
  padding:10px 16px 12px;
  border-left:1px solid rgba(255,255,255,.08);
  text-align:center;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-title{
  margin:0 0  8px;
  color:rgba(255,255,255,.90);
  font-size: 16px;
  line-height:1.15;
  font-weight:900;
  text-transform:none;
  letter-spacing:.01em;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:150px;
  height:150px;
  margin:0 auto;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap::before{
  content:"";
  position:absolute;
  inset:12px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 40%, rgba(255,255,255,.05), transparent 58%);
  border:1px solid rgba(255,255,255,.05);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart{
  position:relative;
  z-index:2;
  width:146px;
  height:146px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-fallback{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-fallback strong{
  color:#fff;
  font-size:31px;
  line-height:1;
  font-weight:900;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-fallback.is-echarts-ready{
  opacity:0;
  pointer-events:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-status{
  display:block;
  margin-top:4px;
  font-size:13px;
  font-weight:850;
  line-height:1.2;
}

/* Ajustements responsive */
@media (min-width:761px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions--mobile{
    display:none!important;
  }
}

@media (max-width:1000px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main{
    grid-template-columns:minmax(0,1fr) 208px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score{
    min-width:208px;
    padding-left:12px;
    padding-right:12px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap{
    width:148px;
    height:148px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart{
    width:136px;
    height:136px;
  }
}

@media (max-width:760px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-copy{
    padding-bottom:18px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-share{
    margin-top:12px;
    gap:8px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-share-label{
    font-size:10px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn{
    width:32px;
    height:32px;
    border-radius:11px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score{
    min-width:0;
    padding-top:12px;
    padding-bottom:16px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap{
    width:144px;
    height:144px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart{
    width:132px;
    height:132px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-fallback strong{
    font-size:31px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-status{
    font-size:12px;
  }
}

@media (max-width:430px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-share{
    justify-content:flex-start;
  }
}


/* V2.21.2 — Lotties de partage : utiliser les vraies animations V1 sans texte parasite */
#zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn[data-lottie]{
  color:transparent;
  font-size:0;
  overflow:hidden;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn[data-lottie] > svg,
#zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn[data-lottie] > canvas,
#zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn[data-lottie] > span,
#zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn[data-lottie] > div{
  width:27px !important;
  height:27px !important;
  display:block;
  flex:0 0 18px;
  pointer-events:none;
}


#zoa-analyses.zoa-detail-v2 .zoa-v2-share-lottie{
  display:none !important;
}

/* ==========================================================================
   V2.22 — Hero vivant + mobile réellement responsive
   ========================================================================== */

/* --------------------------------------------------------------------------
   Décor du hero : mouvements très lents et subtils
   -------------------------------------------------------------------------- */

@keyframes zoa-v2-hero-rings-breathe{
  0%,100%{
    transform:translate3d(0,0,0) scale(1);
    opacity:.42;
  }
  50%{
    transform:translate3d(-7px,4px,0) scale(1.018);
    opacity:.56;
  }
}

@keyframes zoa-v2-hero-orbit-drift{
  0%,100%{
    transform:translate3d(0,0,0) rotate(0deg) scale(1);
    opacity:.78;
  }
  50%{
    transform:translate3d(-9px,-5px,0) rotate(2deg) scale(1.025);
    opacity:.96;
  }
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main::before{
  transform-origin:84% 28%;
  will-change:transform,opacity;
  animation:zoa-v2-hero-rings-breathe 13s ease-in-out infinite;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main::after{
  transform-origin:center;
  will-change:transform,opacity;
  animation:zoa-v2-hero-orbit-drift 18s ease-in-out infinite;
}

/* Le mouvement doit rester décoratif et ne jamais gêner l'interface. */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-copy,
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score{
  position:relative;
  z-index:2;
}

/* --------------------------------------------------------------------------
   Mobile / tablette étroite
   Les anciennes règles V2.21 remettaient involontairement 2 colonnes après
   la règle mobile. On force ici une seule colonne, en dernier dans la cascade.
   -------------------------------------------------------------------------- */

@media (max-width:760px){

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero{
    margin-bottom:22px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main{
    display:grid;
    grid-template-columns:minmax(0,1fr) !important;
    min-height:0 !important;
    border-radius:20px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-copy{
    width:100%;
    min-width:0;
    padding:18px 16px 16px !important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-headline{
    min-width:0;
    flex:1 1 auto;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-eyebrow{
    font-size:10px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero h2{
    margin-top:5px;
    font-size:25px;
    line-height:1.05;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-date{
    font-size:11px;
    line-height:1.35;
  }

  /* En mobile, le haut droit ne garde que les logos. */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-headtools{
    flex:0 0 auto;
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
    margin:0;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions--desktop{
    display:none !important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-brandlockup{
    min-height:48px;
    padding:5px 7px;
    border-radius:13px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-brandlockup img{
    height:34px;
    max-width:44px;
  }

  /* KPI : grille 2 x 2 propre et lisible. */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-statline{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
    margin-top:15px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat{
    min-width:0;
    min-height:46px;
    padding:8px 9px 8px 11px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat strong{
    font-size:20px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat span{
    font-size:10px;
  }

  /* Partage : une vraie ligne, sans casser la largeur. */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-share{
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
    margin-top:13px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-share-label{
    flex:0 0 auto;
    font-size:9.5px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-share-links{
    display:flex;
    flex-wrap:nowrap;
    gap:6px;
    min-width:0;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn{
    width:31px;
    height:31px;
    flex:0 0 31px;
    border-radius:10px;
  }

  /* Boutons PDF en 2 colonnes pour ne plus créer une grande tour verticale. */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions--mobile{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
    padding-top:14px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions--mobile .zoa-v2-detail-btn{
    min-width:0;
    min-height:44px;
    padding:8px 9px;
    border-radius:11px;
    font-size:10px;
    line-height:1.25;
    text-align:center;
  }

  /* Score : vraie seconde ligne pleine largeur, pas une colonne latérale. */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score{
    width:100%;
    min-width:0 !important;
    padding:14px 14px 16px !important;
    border-top:1px solid rgba(255,255,255,.09);
    border-left:0 !important;
    background:
      radial-gradient(240px 170px at 50% 46%,rgba(67,220,207,.075),transparent 70%),
      rgba(3,31,61,.12);
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-title{
    margin-bottom:5px;
    font-size:15px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap{
    width:144px;
    height:144px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart{
    width:140px;
    height:140px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-status{
    margin-top:3px;
    font-size:12px;
  }

  /* Le bloc blanc reprend toute la largeur disponible sous le hero. */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta{
    width:calc(100% - 16px) !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin:-12px auto 0 !important;
    padding-top:10px !important;
    border-radius:17px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item{
    min-width:0;
    min-height:78px;
    grid-template-columns:38px minmax(0,1fr);
    gap:9px;
    padding:11px 10px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-icon{
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy small{
    margin-bottom:4px;
    font-size:9px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy strong{
    font-size:11.5px;
    line-height:1.15;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy span{
    margin-top:3px;
    font-size:9.5px;
  }
}

/* Très petits mobiles : meta en une colonne et boutons en pleine largeur. */
@media (max-width:430px){

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions--mobile{
    grid-template-columns:1fr 1fr;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta{
    grid-template-columns:1fr !important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item{
    min-height:68px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item + .zoa-v2-detail-meta-item{
    border-left:0 !important;
    border-top:1px solid #e2e9ee;
  }
}

/* Sur les très petits écrans, si les intitulés deviennent trop longs,
   on garde deux boutons mais on laisse les textes revenir à la ligne. */
@media (max-width:350px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-actions--mobile{
    grid-template-columns:1fr;
  }
}

/* Respect des préférences d'accessibilité. */
@media (prefers-reduced-motion:reduce){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main::before,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main::after{
    animation:none !important;
    transform:none !important;
  }
}

/* ==========================================================================
   V2.23 — Hero plus vivant
   Animation renforcée mais lente : anneaux, lumière, jauge et micro-interactions.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Fond : aurora + dérive des gradients
   -------------------------------------------------------------------------- */

@keyframes zoa-v2-hero-aurora{
  0%,100%{
    background-position:
      100% 0%,
      72% 100%,
      0% 50%;
  }
  35%{
    background-position:
      94% 8%,
      76% 92%,
      18% 50%;
  }
  70%{
    background-position:
      104% -5%,
      67% 108%,
      36% 50%;
  }
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main{
  background-size:
    118% 118%,
    116% 116%,
    135% 100%;
  animation:zoa-v2-hero-aurora 19s ease-in-out infinite;
}

/* --------------------------------------------------------------------------
   2. Anneaux : plus visibles et mouvement plus ample
   -------------------------------------------------------------------------- */

@keyframes zoa-v2-hero-rings-breathe-strong{
  0%,100%{
    transform:translate3d(0,0,0) scale(1);
    opacity:.52;
  }
  30%{
    transform:translate3d(-11px,6px,0) scale(1.035);
    opacity:.72;
  }
  65%{
    transform:translate3d(7px,-4px,0) scale(.99);
    opacity:.60;
  }
}

@keyframes zoa-v2-hero-orbit-drift-strong{
  0%,100%{
    transform:translate3d(0,0,0) rotate(0deg) scale(1);
    opacity:.86;
  }
  35%{
    transform:translate3d(-17px,-9px,0) rotate(3.5deg) scale(1.045);
    opacity:1;
  }
  70%{
    transform:translate3d(7px,5px,0) rotate(-2deg) scale(.985);
    opacity:.90;
  }
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main::before{
  opacity:.58;
  background:
    radial-gradient(circle at 84% 28%,transparent 0 61px,rgba(115,236,230,.15) 62px 64px,transparent 65px),
    radial-gradient(circle at 84% 28%,transparent 0 107px,rgba(115,236,230,.09) 108px 110px,transparent 111px),
    radial-gradient(circle at 84% 28%,transparent 0 154px,rgba(115,236,230,.045) 155px 156px,transparent 157px),
    linear-gradient(112deg,transparent 63%,rgba(109,233,226,.055) 64%,transparent 65%);
  animation:zoa-v2-hero-rings-breathe-strong 11s ease-in-out infinite;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main::after{
  right:-48px;
  bottom:-116px;
  width:390px;
  height:390px;
  border-color:rgba(108,233,226,.16);
  box-shadow:
    0 0 0 40px rgba(108,233,226,.032),
    0 0 0 83px rgba(108,233,226,.020),
    0 0 46px rgba(71,213,206,.075);
  animation:zoa-v2-hero-orbit-drift-strong 15s ease-in-out infinite;
}

/* --------------------------------------------------------------------------
   3. Jauge : légère respiration globale, sans gêner les vagues ECharts
   -------------------------------------------------------------------------- */

@keyframes zoa-v2-score-float{
  0%,100%{
    transform:translate3d(0,0,0) scale(1);
    filter:drop-shadow(0 8px 15px rgba(0,27,57,.08));
  }
  50%{
    transform:translate3d(0,-3px,0) scale(1.012);
    filter:drop-shadow(0 12px 20px rgba(56,216,201,.14));
  }
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap{
  animation:zoa-v2-score-float 5.8s ease-in-out infinite;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-title{
  text-shadow:0 2px 9px rgba(0,20,48,.18);
}

/* --------------------------------------------------------------------------
   4. Logos et boutons : micro-mouvements élégants
   -------------------------------------------------------------------------- */

@keyframes zoa-v2-brand-float{
  0%,100%{ transform:translate3d(0,0,0); }
  50%{ transform:translate3d(0,-2px,0); }
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-brandlockup{
  animation:zoa-v2-brand-float 7.5s ease-in-out infinite;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-btn,
#zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn,
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat{
  transition:
    transform .18s ease,
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat:hover{
  transform:translateY(-2px);
  border-color:rgba(128,229,226,.30);
  box-shadow:
    0 9px 18px rgba(2,27,56,.11),
    inset 0 1px 0 rgba(255,255,255,.08);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-btn:hover{
  transform:translateY(-2px);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-share-btn:hover{
  transform:translateY(-2px) scale(1.04);
}

/* --------------------------------------------------------------------------
   5. Petit halo vivant derrière la zone de score
   -------------------------------------------------------------------------- */

@keyframes zoa-v2-score-glow{
  0%,100%{
    background:
      linear-gradient(180deg,rgba(4,42,78,.16),rgba(3,31,61,.22)),
      radial-gradient(210px 170px at 50% 43%,rgba(67,220,207,.075),transparent 68%);
  }
  50%{
    background:
      linear-gradient(180deg,rgba(4,42,78,.12),rgba(3,31,61,.19)),
      radial-gradient(245px 195px at 48% 46%,rgba(72,229,215,.13),transparent 70%);
  }
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score{
  animation:zoa-v2-score-glow 8.5s ease-in-out infinite;
}

/* --------------------------------------------------------------------------
   6. Mobile : conserver l'effet, mais le ralentir et limiter les amplitudes
   -------------------------------------------------------------------------- */

@media (max-width:760px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main{
    animation-duration:24s;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main::before{
    opacity:.46;
    animation-duration:15s;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main::after{
    opacity:.72;
    animation-duration:20s;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap{
    animation-duration:7s;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-brandlockup{
    animation-duration:9s;
  }
}

/* --------------------------------------------------------------------------
   Accessibilité
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion:reduce){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main::before,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-hero-main::after,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-score-chart-wrap,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-brandlockup{
    animation:none !important;
    transform:none !important;
  }
}

/* ==========================================================================
   V2.24 — Compteurs animés des KPI du hero
   ========================================================================== */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat strong{
  display:inline-block;
  min-width:1.15em;
  transform-origin:50% 65%;
  font-variant-numeric:tabular-nums;
}

@keyframes zoa-v2-stat-count-pulse{
  0%{
    transform:translateY(2px) scale(.94);
    opacity:.68;
    text-shadow:0 0 0 rgba(91,228,215,0);
  }
  55%{
    transform:translateY(-1px) scale(1.045);
    opacity:1;
    text-shadow:0 0 14px rgba(91,228,215,.18);
  }
  100%{
    transform:translateY(0) scale(1);
    opacity:1;
    text-shadow:0 0 0 rgba(91,228,215,0);
  }
}

@keyframes zoa-v2-stat-count-finish{
  0%{ transform:scale(1); }
  45%{ transform:scale(1.07); }
  100%{ transform:scale(1); }
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat strong.is-counting{
  animation:zoa-v2-stat-count-pulse .72s ease-out both;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat strong.is-counted{
  animation:zoa-v2-stat-count-finish .26s ease-out both;
}

/* Très léger halo de la carte au moment où le compteur démarre. */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat:has(strong.is-counting){
  border-color:rgba(106,228,218,.32);
  box-shadow:
    0 8px 20px rgba(0,24,51,.09),
    inset 0 1px 0 rgba(255,255,255,.08);
}

@media (prefers-reduced-motion:reduce){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat strong.is-counting,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-stat strong.is-counted{
    animation:none !important;
    transform:none !important;
  }
}


/* SOURCE: views/css/v2/detail-overview-theme.css */

/* ==========================================================================
   Analyse détaillée V2.13 — Menu + Vue d'ensemble + thèmes clair/sombre
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. MENU INTERNE
   Le menu devient un élément sombre stable dans les deux thèmes.
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav{
  --v2-nav-bg-a:#07345f;
  --v2-nav-bg-b:#0a5077;
  --v2-nav-border:rgba(71,211,208,.28);
  --v2-nav-text:rgba(231,247,250,.77);
  --v2-nav-hover:rgba(255,255,255,.08);
  --v2-nav-active-a:#63e0d2;
  --v2-nav-active-b:#54dca9;
  --v2-nav-active-text:#07375c;

  position:sticky;
  top:68px;
  z-index:30;
  display:flex;
  align-items:center;
  gap:5px;
  margin:20px 0 18px;
  padding:6px;
  overflow-x:auto;
  border:1px solid var(--v2-nav-border);
  border-radius:15px;
  background:
    radial-gradient(420px 120px at 100% 0%,rgba(74,222,213,.10),transparent 68%),
    linear-gradient(110deg,var(--v2-nav-bg-a),var(--v2-nav-bg-b));
  box-shadow:
    0 12px 28px rgba(7,45,78,.13),
    inset 0 1px 0 rgba(255,255,255,.045);
  backdrop-filter:blur(14px);
  scrollbar-width:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(100,226,218,.22),transparent);
  pointer-events:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav::-webkit-scrollbar{
  display:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav a{
  position:relative;
  flex:0 0 auto;
  min-height:37px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 13px;
  border:1px solid transparent;
  border-radius:10px;
  color:var(--v2-nav-text);
  background:transparent;
  font-size:11.5px;
  font-weight:900;
  text-decoration:none!important;
  white-space:nowrap;
  transition:
    color .16s ease,
    background .16s ease,
    border-color .16s ease,
    transform .16s ease,
    box-shadow .16s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav a:hover{
  color:#fff;
  border-color:rgba(255,255,255,.08);
  background:var(--v2-nav-hover);
  transform:translateY(-1px);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav a.is-active{
  color:var(--v2-nav-active-text);
  border-color:rgba(255,255,255,.16);
  background:linear-gradient(135deg,var(--v2-nav-active-a),var(--v2-nav-active-b));
  box-shadow:
    0 7px 16px rgba(20,197,176,.14),
    inset 0 1px 0 rgba(255,255,255,.35);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav a.is-active::after{
  content:"";
  position:absolute;
  left:32%;
  right:32%;
  bottom:3px;
  height:2px;
  border-radius:999px;
  background:rgba(5,55,90,.28);
}

/* Dark : menu encore un peu plus profond, sans devenir noir. */
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav{
  --v2-nav-bg-a:#071a2e;
  --v2-nav-bg-b:#0a3150;
  --v2-nav-border:rgba(71,183,199,.24);
  --v2-nav-text:rgba(226,243,247,.78);
  --v2-nav-hover:rgba(255,255,255,.07);
  box-shadow:
    0 14px 32px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.035);
}


/* --------------------------------------------------------------------------
   1.b NAVIGATION MOBILE
   Panneau fixe, indépendant du bouton, mais aligné juste au-dessus.
   Cette approche évite tout clipping lié aux wrappers de la page.
   -------------------------------------------------------------------------- */
@media (max-width:760px){
  /* Le menu horizontal desktop ne doit jamais apparaître en parallèle
     du bouton flottant sur mobile. Le panneau devient visible uniquement
     après son déplacement sous <body> avec .zoa-v2-mobile-portaled. */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav:not(.zoa-v2-mobile-portaled){
    display:none !important;
  }


  body#module-zoaicp-router .zoa-v2-detail-nav.zoa-v2-mobile-portaled{
    position:fixed;    top:0;
    left:50%;
    right:auto;
    bottom:auto;
    z-index:20019;
    display:grid;
    grid-auto-rows:min-content;
    align-content:start;
    align-items:stretch;
    gap:5px;
    width:min(calc(100vw - 28px),390px);
    max-height:min(64vh,390px);
    margin:0;
    padding:9px;
    overflow-x:hidden;
    overflow-y:auto;
    border:1px solid rgba(71,211,208,.38);
    border-radius:18px;
    background:
      radial-gradient(320px 130px at 100% 0%,rgba(91,225,211,.14),transparent 70%),
      linear-gradient(145deg,#07345f 0%,#08466f 58%,#0a5579 100%);
    box-shadow:
      0 22px 55px rgba(4,31,59,.34),
      inset 0 1px 0 rgba(255,255,255,.07);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(-50%) translateY(10px) scale(.985);
    transform-origin:bottom center;
    transition:
      opacity .16s ease,
      transform .16s ease,
      visibility .16s ease;
    counter-reset:zoa-v2-mobile-nav;
    scrollbar-width:thin;
    scrollbar-color:rgba(99,224,210,.38) transparent;
  }

  body#module-zoaicp-router .zoa-v2-detail-nav.zoa-v2-mobile-portaled.is-mobile-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(-50%) translateY(0) scale(1);
  }

  body#module-zoaicp-router .zoa-v2-detail-nav.zoa-v2-mobile-portaled::after{
    display:none;
  }

  body#module-zoaicp-router .zoa-v2-detail-nav.zoa-v2-mobile-portaled .zoa-v2-mobile-nav-title{
    position:relative;
    display:flex;
    min-height:45px;
    padding:8px 11px 10px 42px;
    align-items:center;
    border-bottom:1px solid rgba(116,227,218,.18);
    color:#f0fbfc;
    font-size:11px;
    line-height:1.15;
    font-weight:950;
    letter-spacing:.02em;
    text-transform:none;
  }

  body#module-zoaicp-router .zoa-v2-detail-nav.zoa-v2-mobile-portaled .zoa-v2-mobile-nav-title::before{
    content:"";
    position:absolute;
    left:10px;
    top:50%;
    width:23px;
    height:23px;
    border:1px solid rgba(99,224,210,.34);
    border-radius:8px;
    background:
      linear-gradient(#63e0d2,#63e0d2) 6px 6px/11px 2px no-repeat,
      linear-gradient(#63e0d2,#63e0d2) 6px 11px/11px 2px no-repeat,
      linear-gradient(#63e0d2,#63e0d2) 6px 16px/7px 2px no-repeat,
      rgba(255,255,255,.055);
    transform:translateY(-50%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  }

  body#module-zoaicp-router .zoa-v2-detail-nav.zoa-v2-mobile-portaled a{
    position:relative;
    width:100%;
    min-height:46px;
    display:grid;
    grid-template-columns:30px minmax(0,1fr) 18px;
    gap:9px;
    align-items:center;
    justify-content:initial;
    padding:7px 10px 7px 8px;
    border:1px solid rgba(142,224,222,.22);
    border-radius:11px;
    color:rgba(244,251,252,.92);
    background:rgba(255,255,255,.055);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.04),
      0 1px 0 rgba(3,31,56,.18);
    font-size:11px;
    font-weight:850;
    text-align:left;
  }

  body#module-zoaicp-router .zoa-v2-detail-nav.zoa-v2-mobile-portaled a::before{
    counter-increment:zoa-v2-mobile-nav;
    content:counter(zoa-v2-mobile-nav,decimal-leading-zero);
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border:1px solid rgba(99,224,210,.20);
    border-radius:9px;
    color:#70ddd5;
    background:rgba(4,35,63,.26);
    font-size:9px;
    line-height:1;
    font-weight:950;
    letter-spacing:.03em;
  }

  body#module-zoaicp-router .zoa-v2-detail-nav.zoa-v2-mobile-portaled a:hover{
    color:#fff;
    border-color:rgba(124,231,222,.42);
    background:rgba(255,255,255,.09);
    transform:none;
  }

  body#module-zoaicp-router .zoa-v2-detail-nav.zoa-v2-mobile-portaled a.is-active{
    color:#07375c;
    border-color:rgba(255,255,255,.32);
    background:linear-gradient(135deg,#63e0d2,#54dca9);
    box-shadow:
      0 8px 18px rgba(20,197,176,.15),
      inset 0 1px 0 rgba(255,255,255,.42);
  }

  body#module-zoaicp-router .zoa-v2-detail-nav.zoa-v2-mobile-portaled a.is-active::before{
    color:#07375c;
    border-color:rgba(7,55,92,.16);
    background:rgba(255,255,255,.34);
  }

  body#module-zoaicp-router .zoa-v2-detail-nav.zoa-v2-mobile-portaled a.is-active::after{
    content:"";
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    justify-self:center;
    width:7px;
    height:7px;
    border:0;
    border-radius:50%;
    background:#07375c;
    transform:none;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-toggle{
    position:fixed;
    left:50%;
    bottom:calc(var(--navm-h,76px) + max(env(safe-area-inset-bottom),0px) + 2px);
    z-index:20020;
    display:inline-flex;
    min-width:190px;
    max-width:calc(100vw - 34px);
    min-height:48px;
    padding:7px 13px;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:1px solid rgba(99,224,210,.42);
    border-radius:15px;
    color:#eefbfc;
    background:
      radial-gradient(180px 58px at 100% 0%,rgba(84,220,169,.14),transparent 68%),
      linear-gradient(110deg,#07345f,#0a5077);
    box-shadow:
      0 14px 34px rgba(5,42,84,.26),
      inset 0 1px 0 rgba(255,255,255,.08);
    transform:translateX(-50%);
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-toggle:focus-visible{
    outline:2px solid #63e0d2;
    outline-offset:3px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-burger{
    position:relative;
    width:19px;
    height:14px;
    flex:0 0 19px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-burger::before,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-burger::after,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-burger > span{
    content:"";
    position:absolute;
    left:0;
    width:19px;
    height:2px;
    border-radius:999px;
    background:#63e0d2;
    transition:
      transform .16s ease,
      top .16s ease,
      opacity .16s ease;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-burger::before{top:0}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-burger > span{top:6px}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-burger::after{top:12px}

  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-toggle[aria-expanded="true"] .zoa-v2-mobile-nav-burger::before{
    top:6px;
    transform:rotate(45deg);
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-toggle[aria-expanded="true"] .zoa-v2-mobile-nav-burger > span{
    opacity:0;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-toggle[aria-expanded="true"] .zoa-v2-mobile-nav-burger::after{
    top:6px;
    transform:rotate(-45deg);
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-current{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
    font-weight:900;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-caret{
    width:7px;
    height:7px;
    margin-left:2px;
    flex:0 0 7px;
    border-right:2px solid rgba(238,251,252,.72);
    border-bottom:2px solid rgba(238,251,252,.72);
    transform:rotate(225deg) translate(-1px,-1px);
    transition:transform .16s ease;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-toggle[aria-expanded="true"] .zoa-v2-mobile-nav-caret{
    transform:rotate(45deg) translate(-1px,-1px);
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-backdrop{
    position:fixed;
    inset:0;
    z-index:20018;
    display:block;
    border:0;
    padding:0;
    background:rgba(5,24,43,.42);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    backdrop-filter:blur(2px);
    transition:
      opacity .16s ease,
      visibility .16s ease;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-mobile-nav-backdrop.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
}

/* --------------------------------------------------------------------------
   2. VUE D'ENSEMBLE — CARTE EXTERNE
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview{
  --ov-surface:#ffffff;
  --ov-surface-soft:#f7fbfc;
  --ov-border:#d7e5ec;
  --ov-title:#102f51;
  --ov-copy:#667f93;
  --ov-icon-bg-a:#f8ffff;
  --ov-icon-bg-b:#eafafa;
  --ov-icon-border:#bfe8e8;

  position:relative;
  overflow:hidden;
  border-color:var(--ov-border);
  background:
    radial-gradient(480px 220px at 100% 0%,rgba(28,190,195,.055),transparent 72%),
    var(--ov-surface);
  box-shadow:
    0 14px 34px rgba(23,64,95,.075),
    0 2px 8px rgba(23,64,95,.025);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:88px;
  height:3px;
  border-radius:0 0 999px 0;
  background:linear-gradient(90deg,#22bdc1,#50dcb4);
  opacity:.88;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head{
  position:relative;
  z-index:1;
  min-height:104px;
  padding:20px 22px 18px;
  border-bottom:1px solid var(--ov-border);
  background:
    linear-gradient(90deg,rgba(255,255,255,.66),transparent 55%);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-icon{
  width:48px;
  height:48px;
  flex-basis:48px;
  border-color:var(--ov-icon-border);
  border-radius:15px;
  color:#08a9b1;
  background:linear-gradient(145deg,var(--ov-icon-bg-a),var(--ov-icon-bg-b));
  box-shadow:
    0 5px 15px rgba(31,147,157,.07),
    inset 0 1px 0 rgba(255,255,255,.75);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-icon .zoa-v2-icon{
  width:25px;
  height:25px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head > div > span{
  color:#0da6ae;
  font-size:10.5px;
  letter-spacing:.11em;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head h2{
  margin-top:3px;
  color:var(--ov-title);
  font-size:23px;
  letter-spacing:-.025em;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head p{
  max-width:720px;
  margin-top:5px;
  color:var(--ov-copy);
  font-size:12.5px;
  line-height:1.45;
}

/* --------------------------------------------------------------------------
   3. CORPS DE LA SYNTHÈSE
   Gauche sombre = alertes / décisions.
   Droite claire en light, sombre en dark = familles.
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-grid{
  display:grid;
  grid-template-columns:minmax(245px,280px) minmax(0,1fr);
  gap:14px;
  align-items:stretch;
  margin:16px 18px 19px;
}

/* Panneau KPI : identité marine forte, commun aux deux thèmes. */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:9px;
  align-content:center;
  padding:14px;
  border:1px solid rgba(89,205,212,.20);
  border-radius:16px;
  background:
    radial-gradient(240px 150px at 110% -5%,rgba(71,220,210,.13),transparent 68%),
    linear-gradient(145deg,#07345f,#0a5077);
  box-shadow:
    0 10px 24px rgba(7,52,89,.10),
    inset 0 1px 0 rgba(255,255,255,.045);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis::after{
  content:"";
  position:absolute;
  right:-50px;
  bottom:-72px;
  width:170px;
  height:170px;
  border:1px solid rgba(84,220,210,.09);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(84,220,210,.018);
  pointer-events:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div{
  --kpi-accent:#50d8cf;
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:11px;
  align-items:center;
  min-height:60px;
  padding:9px 11px 9px 9px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:12px;
  background:rgba(255,255,255,.065);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:3px;
  border-radius:0 99px 99px 0;
  background:var(--kpi-accent);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div.is-priority{
  --kpi-accent:#f2a326;
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div.is-alert{
  --kpi-accent:#ed667a;
}
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div.is-stable{
  --kpi-accent:#35ce94;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis strong{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin:auto;
  border:1px solid color-mix(in srgb,var(--kpi-accent) 55%,transparent);
  border-radius:50%;
  color:#fff;
  background:color-mix(in srgb,var(--kpi-accent) 78%,#123c65);
  box-shadow:0 5px 13px color-mix(in srgb,var(--kpi-accent) 20%,transparent);
  font-size:20px;
  font-weight:950;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis span{
  color:rgba(240,249,251,.90);
  font-size:12px;
  line-height:1.25;
  font-weight:850;
}

/* Familles : plus propre, plus "rapport". */
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family{
  --family-bg-a:#ffffff;
  --family-bg-b:#f7fbfc;
  --family-border:#d9e6ec;
  --family-title:#315b75;
  --family-copy:#8a9bab;

  min-width:0;
  padding:16px 18px 13px;
  border:1px solid var(--family-border);
  border-radius:16px;
  background:
    radial-gradient(280px 120px at 100% 0%,rgba(38,184,191,.045),transparent 70%),
    linear-gradient(150deg,var(--family-bg-a),var(--family-bg-b));
  box-shadow:
    0 6px 16px rgba(27,68,98,.035),
    inset 0 1px 0 rgba(255,255,255,.72);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  min-height:24px;
  margin-bottom:3px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family h3{
  margin:0;
  color:var(--family-title);
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family-head span{
  color:var(--family-copy);
  font-size:10px;
  font-weight:700;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family .zoa-echart{
  width:100%;
  min-height:170px;
}

/* --------------------------------------------------------------------------
   4. MODE SOMBRE
   Le switch existant pilote [data-theme="dark"] sur le document.
   -------------------------------------------------------------------------- */

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview{
  --ov-surface:#0b1727;
  --ov-surface-soft:#0d1b2d;
  --ov-border:#21384b;
  --ov-title:#f1f7fa;
  --ov-copy:#9eb2c2;
  --ov-icon-bg-a:#11283a;
  --ov-icon-bg-b:#0d2133;
  --ov-icon-border:#285061;

  background:
    radial-gradient(480px 220px at 100% 0%,rgba(38,194,194,.075),transparent 72%),
    var(--ov-surface);
  box-shadow:
    0 16px 36px rgba(0,0,0,.23),
    inset 0 1px 0 rgba(255,255,255,.025);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head{
  border-bottom-color:var(--ov-border);
  background:linear-gradient(90deg,rgba(255,255,255,.015),transparent 55%);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-icon{
  color:#55d9d3;
  box-shadow:
    0 5px 15px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.035);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head > div > span{
  color:#55d8d2;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis{
  border-color:#21455a;
  background:
    radial-gradient(240px 150px at 110% -5%,rgba(71,220,210,.10),transparent 68%),
    linear-gradient(145deg,#082942,#0a3854);
  box-shadow:
    0 10px 25px rgba(0,0,0,.19),
    inset 0 1px 0 rgba(255,255,255,.025);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family{
  --family-bg-a:#0d2236;
  --family-bg-b:#0b1c2e;
  --family-border:#244056;
  --family-title:#a8dce0;
  --family-copy:#738da1;

  box-shadow:
    0 7px 18px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.025);
}

/* Canvas : on ne lui impose pas de filter. Le JS V2.13 synchronise
   explicitement les couleurs ECharts avec le switch de thème. */

/* --------------------------------------------------------------------------
   5. RESPONSIVE
   -------------------------------------------------------------------------- */

@media (max-width:1000px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-grid{
    grid-template-columns:minmax(210px,235px) minmax(0,1fr);
    margin-left:14px;
    margin-right:14px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis{
    padding:11px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div{
    grid-template-columns:47px minmax(0,1fr);
    min-height:56px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis strong{
    width:37px;
    height:37px;
    font-size:18px;
  }
}

@media (max-width:760px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav{
    top:56px;
    gap:4px;
    margin:13px 0 14px;
    padding:5px;
    border-radius:12px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav a{
    min-height:34px;
    padding:7px 11px;
    font-size:10.5px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head{
    min-height:0;
    padding:15px 14px 13px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-icon{
    width:39px;
    height:39px;
    flex-basis:39px;
    border-radius:12px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-icon .zoa-v2-icon{
    width:21px;
    height:21px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head h2{
    font-size:19px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head p{
    font-size:11.5px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-grid{
    grid-template-columns:1fr;
    gap:10px;
    margin:10px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    padding:8px;
    border-radius:13px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div{
    grid-template-columns:1fr;
    gap:5px;
    min-height:72px;
    padding:8px 5px;
    text-align:center;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div::before{
    top:auto;
    right:12px;
    bottom:0;
    left:12px;
    width:auto;
    height:2px;
    border-radius:99px 99px 0 0;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis strong{
    width:34px;
    height:34px;
    font-size:16px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis span{
    font-size:9.5px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family{
    padding:12px 8px 10px;
    border-radius:13px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family-head{
    display:block;
    padding:0 5px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family-head span{
    display:block;
    margin-top:2px;
  }
}

@media (max-width:430px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis{
    grid-template-columns:1fr;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div{
    grid-template-columns:42px minmax(0,1fr);
    min-height:54px;
    text-align:left;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div::before{
    top:9px;
    bottom:9px;
    left:0;
    right:auto;
    width:3px;
    height:auto;
    border-radius:0 99px 99px 0;
  }
}

/* ==========================================================================
   V2.14 — Vue d'ensemble allégée
   Objectifs :
   - en-tête nettement plus compact ;
   - moins de masses bleu marine ;
   - KPI clairs en light, bleu-gris doux en dark ;
   - meilleure respiration et hiérarchie.
   ========================================================================== */

/* --------------------------------------------------------------------------
   En-tête de section : version compacte
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head{
  min-height:0;
  gap:10px;
  padding:12px 16px 11px;
  border-bottom:1px solid var(--ov-border);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:12px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-icon .zoa-v2-icon{
  width:20px;
  height:20px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head > div > span{
  font-size:9.5px;
  line-height:1.1;
  letter-spacing:.105em;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head h2{
  margin:2px 0 0;
  font-size:20px;
  line-height:1.08;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head p{
  margin:3px 0 0;
  font-size:11px;
  line-height:1.35;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview::before{
  width:58px;
  height:2px;
  opacity:.72;
}

/* --------------------------------------------------------------------------
   Corps : un peu plus compact
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-grid{
  grid-template-columns:minmax(220px,250px) minmax(0,1fr);
  gap:12px;
  margin:12px 14px 15px;
}

/* --------------------------------------------------------------------------
   KPI — LIGHT
   Le grand panneau bleu disparaît. On garde uniquement des accents couleur.
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis{
  overflow:visible;
  display:grid;
  gap:8px;
  align-content:stretch;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis::after{
  display:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div{
  --kpi-accent:#50d8cf;
  position:relative;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:54px;
  padding:8px 12px 8px 10px;
  border:1px solid color-mix(in srgb,var(--kpi-accent) 15%,#dce7ed);
  border-radius:12px;
  background:
    linear-gradient(
      145deg,
      #ffffff,
      color-mix(in srgb,var(--kpi-accent) 4%,#f7fbfc)
    );
  box-shadow:
    0 4px 12px rgba(29,65,91,.035),
    inset 0 1px 0 rgba(255,255,255,.82);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div::before{
  top:10px;
  bottom:10px;
  width:3px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis strong{
  width:34px;
  height:34px;
  border:0;
  color:color-mix(in srgb,var(--kpi-accent) 82%,#173d5c);
  background:color-mix(in srgb,var(--kpi-accent) 12%,#ffffff);
  box-shadow:none;
  font-size:18px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis span{
  color:#506b80;
  font-size:11px;
  font-weight:850;
}

/* --------------------------------------------------------------------------
   Carte familles : allégée aussi
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family{
  padding:12px 14px 10px;
  border-radius:13px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family-head{
  min-height:20px;
  margin-bottom:1px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family h3{
  font-size:10px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family-head span{
  font-size:9px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family .zoa-echart{
  min-height:155px;
}

/* --------------------------------------------------------------------------
   DARK
   KPI : fond bleu-gris léger, pas de gros panneau bleu.
   -------------------------------------------------------------------------- */

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis{
  background:transparent;
  border:0;
  box-shadow:none;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div{
  border-color:color-mix(in srgb,var(--kpi-accent) 18%,#2a4152);
  background:
    linear-gradient(
      145deg,
      #132639,
      color-mix(in srgb,var(--kpi-accent) 4%,#102132)
    );
  box-shadow:
    0 5px 14px rgba(0,0,0,.13),
    inset 0 1px 0 rgba(255,255,255,.025);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis strong{
  color:color-mix(in srgb,var(--kpi-accent) 86%,#f0f7fa);
  background:color-mix(in srgb,var(--kpi-accent) 12%,#13293a);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis span{
  color:#d5e2e9;
}

/* --------------------------------------------------------------------------
   Mobile : compact mais confortable
   -------------------------------------------------------------------------- */

@media (max-width:760px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head{
    gap:8px;
    padding:10px 11px 9px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-icon{
    width:32px;
    height:32px;
    flex-basis:32px;
    border-radius:10px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-icon .zoa-v2-icon{
    width:17px;
    height:17px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head h2{
    font-size:17px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview .zoa-v2-detail-section-head p{
    font-size:10.5px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-grid{
    grid-template-columns:1fr;
    gap:8px;
    margin:8px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div{
    grid-template-columns:1fr;
    gap:4px;
    min-height:64px;
    padding:7px 5px;
    text-align:center;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div::before{
    top:auto;
    right:10px;
    bottom:0;
    left:10px;
    width:auto;
    height:2px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis strong{
    width:30px;
    height:30px;
    font-size:15px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis span{
    font-size:9px;
    line-height:1.18;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family{
    padding:10px 7px 8px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-family .zoa-echart{
    min-height:150px;
  }
}

@media (max-width:430px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis{
    grid-template-columns:1fr;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div{
    grid-template-columns:38px minmax(0,1fr);
    min-height:48px;
    padding:6px 9px;
    text-align:left;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-overview-kpis > div::before{
    top:8px;
    bottom:8px;
    left:0;
    right:auto;
    width:3px;
    height:auto;
  }
}


/* SOURCE: views/css/v2/detail-theme-foundations.css */

/* ==========================================================================
   Analyse détaillée V2.15 — Fondations clair / sombre
   Couche commune destinée à être réutilisée par les sections V2 suivantes.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. TOKENS DE THEME
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2{
  --v2-page-ink:#102b4d;
  --v2-page-muted:#6f8296;
  --v2-page-faint:#92a2b1;

  --v2-surface:#ffffff;
  --v2-surface-soft:#f7fafc;
  --v2-surface-raised:#ffffff;
  --v2-surface-subtle:#f0f6f8;

  --v2-line:#d7e5ec;
  --v2-line-strong:#c5d9e3;

  --v2-shadow:0 14px 34px rgba(23,64,95,.075);
  --v2-shadow-soft:0 6px 16px rgba(23,64,95,.04);

  --v2-accent:#10b8c1;
  --v2-accent-soft:#eafafa;
  --v2-mint:#55dcb2;

  --v2-dark-nav-a:#07345f;
  --v2-dark-nav-b:#0a5077;

  color:var(--v2-page-ink);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2,
.theme-dark #zoa-analyses.zoa-detail-v2{
  --v2-page-ink:#edf6fa;
  --v2-page-muted:#9eb3c3;
  --v2-page-faint:#738b9e;

  --v2-surface:#0b1828;
  --v2-surface-soft:#0d1d2e;
  --v2-surface-raised:#102235;
  --v2-surface-subtle:#12283b;

  --v2-line:#223b4e;
  --v2-line-strong:#2c4a5e;

  --v2-shadow:0 16px 36px rgba(0,0,0,.24);
  --v2-shadow-soft:0 7px 18px rgba(0,0,0,.17);

  --v2-accent:#4fd7d2;
  --v2-accent-soft:#102e3d;
  --v2-mint:#62dfbd;

  --v2-dark-nav-a:#071a2e;
  --v2-dark-nav-b:#0a3150;

  color:var(--v2-page-ink);
}

/* --------------------------------------------------------------------------
   2. EN-TETE DE PAGE : "Analyse détaillée"
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading h1{
  color:var(--v2-page-ink);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading p{
  color:var(--v2-page-muted);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-kicker{
  color:var(--v2-accent);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-back{
  border-color:var(--v2-line);
  color:var(--v2-page-ink);
  background:color-mix(in srgb,var(--v2-surface-raised) 88%,transparent);
  box-shadow:var(--v2-shadow-soft);
  backdrop-filter:blur(8px);
  transition:
    transform .15s ease,
    border-color .15s ease,
    background .15s ease,
    color .15s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-back:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--v2-accent) 38%,var(--v2-line));
  color:var(--v2-page-ink);
  background:var(--v2-surface-raised);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-back,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-back{
  border-color:#294356;
  color:#dcecf3;
  background:rgba(16,36,55,.88);
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-title,
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-title > span,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-title,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-title > span{
  color:#fff!important;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading::before,
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading::after,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading::before,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-heading::after{
  opacity:.62;
}

/* --------------------------------------------------------------------------
   3. BANDEAU META SOUS LE HERO
   Conserve les 4 accents PDF, mais adapte les surfaces au theme sombre.
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta{
  border-color:var(--v2-line);
  background:
    radial-gradient(
      circle at 8% 12%,
      color-mix(in srgb,var(--v2-accent) 5%,transparent),
      transparent 24%
    ),
    linear-gradient(180deg,var(--v2-surface-raised),var(--v2-surface-soft));
  box-shadow:var(--v2-shadow);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item + .zoa-v2-detail-meta-item{
  border-color:var(--v2-line);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy strong{
  color:var(--v2-page-ink);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy span{
  color:var(--v2-page-muted);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta{
  border-color:#263f52;
  background:
    radial-gradient(circle at 8% 12%,rgba(58,203,202,.045),transparent 25%),
    linear-gradient(180deg,#11263a 0%,#0d1f31 100%);
  box-shadow:
    0 17px 38px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.025);
}

/* Les accents de couleur restent fideles au rapport mais deviennent plus lumineux. */
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item--aquarium,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item--aquarium{
  --meta-accent:#50d8d2;
  --meta-icon-bg:#102d3d;
  --meta-icon-line:#245f69;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item--sample,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item--sample{
  --meta-accent:#8ea7ff;
  --meta-icon-bg:#172844;
  --meta-icon-line:#374b78;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item--analysis,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item--analysis{
  --meta-accent:#75d88d;
  --meta-icon-bg:#142d2a;
  --meta-icon-line:#315c49;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item--history,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item--history{
  --meta-accent:#b29af8;
  --meta-icon-bg:#24233d;
  --meta-icon-line:#504779;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-icon,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-icon{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 4px 11px rgba(0,0,0,.10);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy strong,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy strong{
  color:#edf6fa;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy span,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-copy span{
  color:#91a8b9;
}

/* --------------------------------------------------------------------------
   4. MENU : contraste des onglets inactifs en sombre
   -------------------------------------------------------------------------- */

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav{
  --v2-nav-text:rgba(232,246,249,.84);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav a:not(.is-active),
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav a:not(.is-active){
  color:rgba(229,243,247,.80);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav a:not(.is-active):hover,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-nav a:not(.is-active):hover{
  color:#fff;
}

/* --------------------------------------------------------------------------
   5. GENERIQUES V2
   Ces classes servent de base aux prochaines migrations de sections.
   Elles ne forcent pas encore les anciens blocs non migres.
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-surface{
  color:var(--v2-page-ink);
  border-color:var(--v2-line);
  background:var(--v2-surface);
  box-shadow:var(--v2-shadow);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-surface-soft{
  color:var(--v2-page-ink);
  border-color:var(--v2-line);
  background:var(--v2-surface-soft);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-muted{
  color:var(--v2-page-muted);
}

/* --------------------------------------------------------------------------
   6. PETITES COHERENCES RESPONSIVE
   -------------------------------------------------------------------------- */

@media (max-width:1000px){
  [data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item:nth-child(3),
  [data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item:nth-child(4),
  .theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item:nth-child(3),
  .theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item:nth-child(4){
    border-top-color:#263f52;
  }
}

@media (max-width:430px){
  [data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item + .zoa-v2-detail-meta-item,
  .theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-detail-meta-item + .zoa-v2-detail-meta-item{
    border-top-color:#263f52;
  }
}


/* SOURCE: views/css/v2/detail-chart-palette.css */

/* Aqua Manager — V2.50 — Palette graphique commune
   Une seule palette pour :
   - barres "L'essentiel de votre aquarium"
   - demi-donuts "Moyennes & ratios"
   - jauges du tableau des résultats
*/

#zoa-analyses.zoa-detail-v2{
  --v2-health-ok-a:#2bd1aa;
  --v2-health-ok-b:#0fba96;
  --v2-health-warn-a:#f4b23c;
  --v2-health-warn-b:#ed930d;
  --v2-health-crit-a:#f06b80;
  --v2-health-crit-b:#df4561;
  --v2-health-rail:#dce8ed;
  --v2-health-marker:#5f7488;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2,
.theme-dark #zoa-analyses.zoa-detail-v2{
  --v2-health-ok-a:#45dfba;
  --v2-health-ok-b:#18c9a3;
  --v2-health-warn-a:#f6bf50;
  --v2-health-warn-b:#ee9f1c;
  --v2-health-crit-a:#f47b90;
  --v2-health-crit-b:#e95670;
  --v2-health-rail:#1a3446;
  --v2-health-marker:#a8bac9;
}


/* SOURCE: views/css/v2/detail-kpis.css */

/* Aqua Manager — Analyse détaillée V2.51
   Moyennes & ratios : demi-donuts historiques conservés, finition V2 affinée.
*/

#zoa-analyses.zoa-detail-v2 #v2-advanced{
  --v2-kpi-ok:var(--v2-health-ok-a);
  --v2-kpi-warn:var(--v2-health-warn-a);
  --v2-kpi-bad:var(--v2-health-crit-a);
  --v2-kpi-needle:#0c4b72;
  --v2-kpi-tick:#7890a3;
  --v2-kpi-label:#75899b;
  --kpi-anchor:#ffffff;
  --kpi-anchor-border:#0c4b72;
  position:relative;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--v2-accent,#20c9c3) 20%,var(--v2-line))!important;
  border-radius:22px!important;
  background:
    radial-gradient(760px 260px at 92% -20%,rgba(40,202,194,.055),transparent 68%),
    var(--v2-surface)!important;
  box-shadow:0 15px 38px rgba(16,43,77,.055),0 3px 11px rgba(16,43,77,.022)!important;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,#24c9c1 0%,#5fd9c0 52%,#73aeea 100%);
}

/* Header : même langage visuel que "L'essentiel de votre aquarium". */
#zoa-analyses.zoa-detail-v2 #v2-advanced > .zoa-v2-kpi-section-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:18px 20px 14px;
  margin:0;
  border-bottom:1px solid var(--v2-line);
}

#zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon{
  position:relative;
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#0cb7bc;
  border:1px solid color-mix(in srgb,#20c9c3 30%,var(--v2-line));
  background:color-mix(in srgb,#20c9c3 5%,var(--v2-surface));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}

#zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon-arc{
  position:relative;
  width:19px;
  height:10px;
  overflow:hidden;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon-arc::before{
  content:"";
  position:absolute;
  left:2px;
  top:1px;
  width:15px;
  height:15px;
  border:2px solid currentColor;
  border-radius:50%;
  box-sizing:border-box;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon-arc::after{
  content:"";
  position:absolute;
  left:9px;
  bottom:-1px;
  width:2px;
  height:9px;
  border-radius:999px;
  background:currentColor;
  transform-origin:bottom center;
  transform:rotate(35deg);
}

#zoa-analyses.zoa-detail-v2 #v2-advanced .summary-title{
  min-width:0;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-kicker{
  margin:0 0 3px;
  color:#079fa9;
  font-size:10.5px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced > .kpi-header .summary-title .title{
  color:var(--v2-page-ink);
  font-size:19px;
  line-height:1.2;
  font-weight:760;
  letter-spacing:-.012em;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced > .kpi-header .summary-title .sub{
  margin-top:3px;
  color:var(--v2-page-muted);
  font-size:12.5px;
  line-height:1.45;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced #zoa-kpis{
  padding:13px 16px 16px;
}

/* Aide : volontairement discrète et cohérente avec les aides des résultats. */
#zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-help-averages{
  margin:0 0 12px!important;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-help-summary{
  min-height:42px;
  border:1px solid color-mix(in srgb,var(--v2-accent,#20c9c3) 18%,var(--v2-line));
  border-radius:12px;
  background:color-mix(in srgb,var(--v2-accent,#20c9c3) 3%,var(--v2-surface-soft));
  box-shadow:none;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-help-icon{
  color:#0daab4;
  border-color:color-mix(in srgb,#20c9c3 44%,var(--v2-line));
  background:color-mix(in srgb,#20c9c3 7%,var(--v2-surface));
}

/* Deux cartes simples : priorité au donut et à la valeur. */
#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:0;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-card{
  position:relative;
  overflow:hidden;
  max-height:none!important;
  padding:14px 15px 12px!important;
  border:1px solid color-mix(in srgb,#3abfd1 17%,var(--v2-line))!important;
  border-radius:17px!important;
  background:
    radial-gradient(380px 150px at 93% -14%,rgba(50,201,196,.045),transparent 70%),
    linear-gradient(180deg,var(--v2-surface) 0%,color-mix(in srgb,var(--v2-surface-soft) 38%,var(--v2-surface)) 100%)!important;
  box-shadow:0 8px 20px rgba(16,43,77,.038),inset 0 1px 0 rgba(255,255,255,.72)!important;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-card::before{
  content:"";
  position:absolute;
  top:0;left:18px;right:18px;
  height:2px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,transparent,#27c9bd 22%,#55d6b6 78%,transparent);
  opacity:.55;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-card[data-kpi="organics"]::before{
  background:linear-gradient(90deg,transparent,#42b8dd 22%,#6ca8ed 78%,transparent);
}

@media (hover:hover) and (pointer:fine){
  #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-card:hover{
    transform:translateY(-1px);
    border-color:color-mix(in srgb,#20c9c3 29%,var(--v2-line))!important;
    box-shadow:0 11px 26px rgba(16,43,77,.06),inset 0 1px 0 rgba(255,255,255,.74)!important;
  }
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-header{
  margin:0 0 2px;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-header h3.title{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0!important;
  color:var(--v2-page-ink);
  font-size:17px;
  line-height:1.25;
  font-weight:720;
  letter-spacing:-.01em;
}

/* CTA plus léger : il ne doit plus concurrencer le score. */
#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-header h3.title .btn{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:31px;
  padding:6px 9px!important;
  border:1px solid color-mix(in srgb,#13b9bc 30%,var(--v2-line))!important;
  border-radius:9px!important;
  background:color-mix(in srgb,#20c9c3 7%,var(--v2-surface))!important;
  color:#087f8b!important;
  box-shadow:0 3px 9px rgba(18,159,174,.045)!important;
  font-size:10px!important;
  font-weight:720!important;
  letter-spacing:.005em;
  text-transform:none!important;
  white-space:nowrap;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-header h3.title .btn .zoa-kpi-btn-arrow{
  font-size:17px;
  line-height:.8;
  transform:translateY(-1px);
  opacity:.72;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-header h3.title .btn:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,#13b9bc 48%,var(--v2-line))!important;
  background:color-mix(in srgb,#20c9c3 11%,var(--v2-surface))!important;
  box-shadow:0 5px 12px rgba(18,159,174,.08)!important;
}

/* Demi-donut historique conservé, mais un peu plus fin et compact. */
#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .half-donut{
  width:100%!important;
  height:154px!important;
  min-height:154px!important;
  aspect-ratio:auto!important;
  display:block;
  overflow:visible!important;
  margin:0;
}

/* Statut explicite sous la valeur. */
#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status{
  min-height:22px;
  margin:-2px auto 2px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  padding:3px 8px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:10.5px;
  line-height:1.2;
  font-weight:700;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status-dot{
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 3px color-mix(in srgb,currentColor 9%,transparent);
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status.is-ok{
  color:#07866d;
  border-color:color-mix(in srgb,var(--v2-health-ok-a) 28%,var(--v2-line));
  background:color-mix(in srgb,var(--v2-health-ok-a) 7%,var(--v2-surface));
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status.is-warn{
  color:#a46206;
  border-color:color-mix(in srgb,var(--v2-health-warn-a) 35%,var(--v2-line));
  background:color-mix(in srgb,var(--v2-health-warn-a) 9%,var(--v2-surface));
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status.is-bad{
  color:#b93652;
  border-color:color-mix(in srgb,var(--v2-health-crit-a) 32%,var(--v2-line));
  background:color-mix(in srgb,var(--v2-health-crit-a) 8%,var(--v2-surface));
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status.is-neutral{
  color:var(--v2-page-muted);
  border-color:var(--v2-line);
  background:var(--v2-surface-soft);
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .half-donut + .zoa-kpi-status + .muted{
  margin-top:3px!important;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .muted{
  margin-top:3px!important;
  color:var(--v2-page-muted)!important;
  font-size:11px!important;
  line-height:1.25;
  text-align:center;
}

/* Dark mode */
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-advanced,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-advanced{
  --v2-kpi-needle:#72d9d3;
  --v2-kpi-tick:#9db1c0;
  --v2-kpi-label:#9eb3c3;
  --kpi-anchor:#0a1f31;
  --kpi-anchor-border:#72d9d3;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-card,
.theme-dark #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-card{
  background:
    radial-gradient(380px 150px at 93% -14%,rgba(67,221,182,.055),transparent 70%),
    linear-gradient(180deg,var(--v2-surface) 0%,color-mix(in srgb,var(--v2-surface-soft) 42%,var(--v2-surface)) 100%)!important;
  box-shadow:0 10px 25px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025)!important;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-header h3.title .btn,
.theme-dark #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-header h3.title .btn{
  color:#8feae3!important;
  background:rgba(70,218,208,.075)!important;
  border-color:rgba(94,222,214,.22)!important;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status.is-ok,
.theme-dark #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status.is-ok{
  color:#63e4c3;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status.is-warn,
.theme-dark #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status.is-warn{
  color:#f4bc50;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status.is-bad,
.theme-dark #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status.is-bad{
  color:#f27a90;
}

@media (max-width:900px){
  #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis{
    grid-template-columns:1fr;
    gap:12px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-advanced #zoa-kpis{
    padding:12px;
  }
}

@media (max-width:640px){
  #zoa-analyses.zoa-detail-v2 #v2-advanced{
    border-radius:18px!important;
  }

  #zoa-analyses.zoa-detail-v2 #v2-advanced > .zoa-v2-kpi-section-head{
    padding:15px 13px 12px;
    gap:10px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon{
    width:34px;
    height:34px;
    flex-basis:34px;
    border-radius:11px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-advanced > .kpi-header .summary-title .title{
    font-size:17px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-advanced > .kpi-header .summary-title .sub{
    font-size:12px;
  }

  #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-card{
    padding:13px 11px 11px!important;
    border-radius:15px!important;
  }

  #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-header h3.title{
    flex-wrap:wrap;
    font-size:15.5px;
  }

  #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-header h3.title .btn{
    width:auto;
    margin-left:auto;
    padding:5px 8px!important;
  }

  #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .half-donut{
    height:148px!important;
    min-height:148px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-card,
  #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-header h3.title .btn{
    transition:none!important;
  }
}


/* ==========================================================================
   V2.52 — Finitions Moyennes & ratios
   ========================================================================== */

/* Header : neutralise les anciennes règles grid/centrage héritées. */
#zoa-analyses.zoa-detail-v2 #v2-advanced > .zoa-v2-kpi-section-head{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  column-gap:12px!important;
  padding:17px 20px 13px!important;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced > .zoa-v2-kpi-section-head > .zoa-v2-kpi-section-icon{
  margin:0!important;
  align-self:flex-start!important;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced > .zoa-v2-kpi-section-head > .summary-title{
  flex:1 1 auto!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  align-self:center!important;
}

/* Le sous-bloc devient un peu plus compact. */
#zoa-analyses.zoa-detail-v2 #v2-advanced #zoa-kpis{
  padding:12px 16px 14px!important;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis{
  gap:13px!important;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-card{
  padding:13px 14px 10px!important;
  border-radius:16px!important;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-header{
  margin-bottom:0!important;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-header h3.title{
  font-size:16.5px!important;
  font-weight:700!important;
}

/* CTA : toujours secondaire, mais avec un peu plus d'aisance. */
#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-header h3.title .btn{
  min-height:32px!important;
  padding:6px 11px!important;
}

/* Réduction de la hauteur sans toucher à la logique du demi-donut. */
#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .half-donut{
  height:140px!important;
  min-height:140px!important;
  margin-top:-1px!important;
  margin-bottom:-2px!important;
}

/* Le statut devient une information secondaire plus raffinée. */
#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status{
  min-height:20px!important;
  margin:-1px auto 0!important;
  padding:2px 7px!important;
  gap:5px!important;
  border-width:1px!important;
  font-size:10px!important;
  font-weight:680!important;
  box-shadow:none!important;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status-dot{
  width:5px!important;
  height:5px!important;
  flex-basis:5px!important;
  box-shadow:0 0 0 3px color-mix(in srgb,currentColor 8%,transparent)!important;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .half-donut + .zoa-kpi-status + .muted{
  margin-top:2px!important;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .muted{
  margin-bottom:0!important;
  font-size:10.5px!important;
}

/* Les trois états utilisent exactement la même lecture que l'échelle du donut. */
#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status.is-ok{
  color:#087f69!important;
  border-color:color-mix(in srgb,var(--v2-health-ok-a) 24%,var(--v2-line))!important;
  background:color-mix(in srgb,var(--v2-health-ok-a) 6%,var(--v2-surface))!important;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status.is-warn{
  color:#9b6207!important;
  border-color:color-mix(in srgb,var(--v2-health-warn-a) 30%,var(--v2-line))!important;
  background:color-mix(in srgb,var(--v2-health-warn-a) 7%,var(--v2-surface))!important;
}

#zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .zoa-kpi-status.is-bad{
  color:#b33b54!important;
  border-color:color-mix(in srgb,var(--v2-health-crit-a) 28%,var(--v2-line))!important;
  background:color-mix(in srgb,var(--v2-health-crit-a) 7%,var(--v2-surface))!important;
}

@media (max-width:640px){
  #zoa-analyses.zoa-detail-v2 #v2-advanced > .zoa-v2-kpi-section-head{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    padding:14px 13px 11px!important;
    column-gap:10px!important;
  }

  #zoa-analyses.zoa-detail-v2 #v2-advanced > .zoa-v2-kpi-section-head > .zoa-v2-kpi-section-icon,
  #zoa-analyses.zoa-detail-v2 #v2-advanced > .zoa-v2-kpi-section-head > .zoa-v2-section-head-icon-unified{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    margin:0!important;
    align-self:flex-start!important;
  }

  #zoa-analyses.zoa-detail-v2 #v2-advanced > .zoa-v2-kpi-section-head > .summary-title,
  #zoa-analyses.zoa-detail-v2 #v2-advanced > .zoa-v2-kpi-section-head > .zoa-v2-section-head-copy{
    min-width:0!important;
    width:auto!important;
    max-width:none!important;
    flex:1 1 0!important;
    margin:0!important;
    align-self:flex-start!important;
  }

  #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .half-donut{
    height:136px!important;
    min-height:136px!important;
  }

  #zoa-analyses.zoa-detail-v2 #zoaAnalysisKpis .kpi-card{
    padding:12px 10px 9px!important;
  }
}


/* ==========================================================================
   V2.54 — Icône Lottie graph_2 dans l'en-tête Moyennes & ratios
   ========================================================================== */

#zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon--lottie{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon--lottie .zoa-lottie-ico{
  width:28px!important;
  height:28px!important;
  display:block!important;
  line-height:0!important;
  transition:transform .22s ease, filter .22s ease;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon--lottie .zoa-lottie-ico svg{
  width:100%!important;
  height:100%!important;
  display:block;
}

/* Petit effet de présence, sans concurrencer le titre. */
@media (hover:hover) and (pointer:fine){
  #zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon--lottie:hover .zoa-lottie-ico{
    transform:scale(1.06);
    filter:drop-shadow(0 3px 8px color-mix(in srgb,var(--v2-accent) 22%,transparent));
  }
}

/* L'ancien mini-pictogramme CSS n'est plus utilisé. */
#zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon--lottie .zoa-v2-kpi-section-icon-arc{
  display:none!important;
}

@media (max-width:640px){
  #zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon--lottie .zoa-lottie-ico{
    width:25px!important;
    height:25px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  #zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon--lottie .zoa-lottie-ico{
    transition:none!important;
  }
}


/* SOURCE: views/css/v2/detail-results.css */

/* ==========================================================================
   Aqua Manager — Analyse détaillée V2 — Résultats
   Couche V2 dédiée au bloc #v2-results.
   Objectif : conserver la logique existante (filtres, ECharts, modales, accordéons)
   tout en alignant le rendu avec le nouveau langage graphique du rapport.
   ========================================================================== */

#zoa-analyses.zoa-detail-v2 #v2-results.zoa-v2-results-panel{
  --results-base:#18b7c2;
  --results-major:#53c98b;
  --results-nutrients:#f2a42a;
  --results-minor:#7d69e8;
  --results-pollutants:#ee6478;
  --results-other:#6d8aa2;
  overflow:visible;
  padding:0;
  border:1px solid var(--v2-line,#d7e5ec);
  border-radius:22px;
  color:var(--v2-page-ink,#102b4d);
  background:var(--v2-surface,#fff);
  box-shadow:var(--v2-shadow,0 14px 34px rgba(23,64,95,.075));
}

/* --------------------------------------------------------------------------
   En-tête du bloc
   -------------------------------------------------------------------------- */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-head{
  padding:19px 22px 16px;
  border-bottom:1px solid var(--v2-line,#d7e5ec);
  background:
    radial-gradient(460px 120px at 0 0,color-mix(in srgb,var(--v2-accent,#10b8c1) 7%,transparent),transparent 72%),
    var(--v2-surface,#fff);
  border-radius:22px 22px 0 0;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-head .title{
  margin:0;
  color:var(--v2-page-ink,#102b4d);
  font-size:21px;
  line-height:1.08;
  font-weight:900;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-head .sub{
  margin-top:5px;
  color:var(--v2-page-muted,#6f8296);
  font-size:13px;
  line-height:1.45;
}

/* --------------------------------------------------------------------------
   Aides : compactes, lisibles et discrètes
   -------------------------------------------------------------------------- */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-details{
  margin:12px 18px 0;
  overflow:hidden;
  border:1px solid var(--v2-line,#d7e5ec);
  border-radius:12px;
  background:var(--v2-surface-soft,#f7fafc);
  box-shadow:none;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-details + .zoa-help-details{margin-top:7px}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-summary{
  min-height:44px;
  padding:8px 12px;
  border:0;
  color:var(--v2-page-ink,#102b4d);
  background:transparent;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-summary:hover{
  background:color-mix(in srgb,var(--v2-accent,#10b8c1) 5%,transparent);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-left{gap:9px}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-icon{
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  flex:0 0 24px;
  border:1px solid color-mix(in srgb,var(--v2-accent,#10b8c1) 30%,var(--v2-line,#d7e5ec));
  border-radius:50%;
  color:var(--v2-accent,#10b8c1);
  background:var(--v2-accent-soft,#eafafa);
  font-size:12px;
  font-weight:900;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-title{
  font-size:12.5px;
  line-height:1.25;
  font-weight:800;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-caret{color:var(--v2-accent,#10b8c1)}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-body{
  border-top:1px solid var(--v2-line,#d7e5ec);
  background:var(--v2-surface,#fff);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-inner{
  padding:12px 15px 13px;
  color:var(--v2-page-muted,#6f8296);
  font-size:12.5px;
  line-height:1.55;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-inner p{margin:0 0 8px}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-inner p:last-child{margin-bottom:0}

/* --------------------------------------------------------------------------
   Limite de détection N/D — bouton + infobulle autonome V2
   L'infobulle est déplacée dans <body> par shared_tail.tpl afin d'éviter
   les problèmes d'overflow/transform des cartes.
   -------------------------------------------------------------------------- */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-nd-help{
  position:relative;
  display:inline-flex;
  width:20px;
  height:20px;
  margin:0 0 0 5px;
  padding:0;
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
  border:0;
  border-radius:50%;
  color:var(--v2-page-muted,#6f8296);
  background:transparent;
  box-shadow:none;
  appearance:none;
  cursor:pointer;
  line-height:1;
  outline:none;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-nd-help-icon{
  display:inline-flex;
  width:18px;
  height:18px;
  align-items:center;
  justify-content:center;
  border:1px solid color-mix(in srgb,var(--v2-page-muted,#6f8296) 38%,var(--v2-line,#d7e5ec));
  border-radius:50%;
  color:var(--v2-page-muted,#6f8296);
  background:var(--v2-surface-soft,#f7fafc);
  font-size:10px;
  line-height:1;
  font-weight:900;
  transition:
    opacity .15s ease,
    transform .15s ease,
    color .15s ease,
    border-color .15s ease,
    background-color .15s ease;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-nd-help:hover .zoa-nd-help-icon,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-nd-help:focus-visible .zoa-nd-help-icon,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-nd-help.is-open .zoa-nd-help-icon{
  color:#087e91;
  border-color:color-mix(in srgb,var(--v2-accent,#10b8c1) 55%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--v2-accent,#10b8c1) 8%,var(--v2-surface,#fff));
  opacity:1;
  transform:scale(1.06);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-nd-help:focus-visible{
  outline:2px solid color-mix(in srgb,var(--v2-accent,#10b8c1) 48%,transparent);
  outline-offset:2px;
}

/*
 * IMPORTANT : shared_tail.tpl déplace .zoa-nd-tooltip sous <body>.
 * Le scope doit donc être celui de la route et non #zoa-analyses.
 */
body:is(#module-zoaicp-router,#module-zoaicp-share) .zoa-nd-tooltip{
  position:fixed;
  z-index:100050;
  display:none;
  width:280px;
  max-width:calc(100vw - 24px);
  margin:0;
  padding:10px 12px 11px;
  box-sizing:border-box;
  border:1px solid color-mix(in srgb,var(--v2-accent,#10b8c1) 22%,var(--v2-line,#d7e5ec));
  border-radius:11px;
  color:var(--v2-page-ink,#102b4d);
  background:var(--v2-surface,#fff);
  box-shadow:0 12px 30px rgba(7,38,70,.17);
  opacity:0;
  pointer-events:none;
  transform:translateY(-3px);
  text-align:left;
  white-space:normal;
  font-size:11.5px;
  line-height:1.42;
  font-weight:500;
  transition:opacity .14s ease,transform .14s ease;
}

body:is(#module-zoaicp-router,#module-zoaicp-share) .zoa-nd-tooltip.is-visible{
  display:block;
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

body:is(#module-zoaicp-router,#module-zoaicp-share) .zoa-nd-tooltip strong,
body:is(#module-zoaicp-router,#module-zoaicp-share) .zoa-nd-tooltip > span,
body:is(#module-zoaicp-router,#module-zoaicp-share) .zoa-nd-tooltip small{
  display:block;
}

body:is(#module-zoaicp-router,#module-zoaicp-share) .zoa-nd-tooltip strong{
  margin:0 0 3px;
  color:var(--v2-page-ink,#102b4d);
  font-size:11.5px;
  font-weight:900;
}

body:is(#module-zoaicp-router,#module-zoaicp-share) .zoa-nd-tooltip > span{
  color:#0b8ea0;
  font-size:12px;
  font-weight:900;
}

body:is(#module-zoaicp-router,#module-zoaicp-share) .zoa-nd-tooltip small{
  margin-top:4px;
  color:var(--v2-page-muted,#6f8296);
  font-size:10.5px;
  line-height:1.35;
  font-weight:500;
}

/* Petite flèche de la bulle : par défaut la bulle est au-dessus du bouton. */
body:is(#module-zoaicp-router,#module-zoaicp-share) .zoa-nd-tooltip::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-6px;
  width:11px;
  height:11px;
  border-right:1px solid color-mix(in srgb,var(--v2-accent,#10b8c1) 22%,var(--v2-line,#d7e5ec));
  border-bottom:1px solid color-mix(in srgb,var(--v2-accent,#10b8c1) 22%,var(--v2-line,#d7e5ec));
  background:var(--v2-surface,#fff);
  transform:translateX(-50%) rotate(45deg);
}

/* Si le JS place la bulle sous le bouton, on retourne la flèche. */
body:is(#module-zoaicp-router,#module-zoaicp-share) .zoa-nd-tooltip.is-below::after{
  top:-6px;
  bottom:auto;
  border-right:0;
  border-bottom:0;
  border-left:1px solid color-mix(in srgb,var(--v2-accent,#10b8c1) 22%,var(--v2-line,#d7e5ec));
  border-top:1px solid color-mix(in srgb,var(--v2-accent,#10b8c1) 22%,var(--v2-line,#d7e5ec));
}

[data-theme="dark"] body:is(#module-zoaicp-router,#module-zoaicp-share) .zoa-nd-tooltip,
.theme-dark body:is(#module-zoaicp-router,#module-zoaicp-share) .zoa-nd-tooltip{
  box-shadow:0 14px 34px rgba(0,0,0,.34);
}

@media (max-width:767px){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-nd-help{
    width:20px;
    height:20px;
    margin-left:4px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-nd-help-icon{
    width:20px;
    height:20px;
    font-size:11px;
  }

  body:is(#module-zoaicp-router,#module-zoaicp-share) .zoa-nd-tooltip{
    width:250px;
    max-width:calc(100vw - 20px);
    padding:9px 10px 10px;
  }
}

/* --------------------------------------------------------------------------
   Fondations autonomes V2
   Ces règles appartiennent maintenant à la page détaillée V2 et ne dépendent
   plus de zoa_analyses.css.
   -------------------------------------------------------------------------- */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-legend{
  position:absolute;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-legend .pill.title,
#zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}

#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-critical .zoa-chip{
  color:var(--results-pollutants);
  border:1px solid color-mix(in srgb,var(--results-pollutants) 28%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--results-pollutants) 9%,var(--v2-surface,#fff));
}

#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-warning .zoa-chip{
  color:#a56c12;
  border:1px solid color-mix(in srgb,var(--results-nutrients) 32%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--results-nutrients) 10%,var(--v2-surface,#fff));
}

/* --------------------------------------------------------------------------
   Priorités : une seule zone claire, deux niveaux lisibles
   -------------------------------------------------------------------------- */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel{
  margin:14px 18px 0!important;
  padding:0;
  border:0;
  border-radius:16px;
  background:transparent;
  box-shadow:none;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel > .shadow-sm{
  border:1px solid var(--v2-line,#d7e5ec);
  border-radius:16px;
  background:var(--v2-surface-soft,#f7fafc);
  box-shadow:none!important;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .card-body{padding:13px}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .spacing{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-box{
  position:relative;
  min-height:86px;
  margin:0!important;
  padding:24px 12px 11px!important;
  border:1px solid var(--v2-line,#d7e5ec)!important;
  border-radius:13px;
  background:var(--v2-surface,#fff)!important;
  box-shadow:none;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-box.critical{
  border-left:3px solid var(--results-pollutants)!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--results-pollutants) 5%,var(--v2-surface,#fff)),var(--v2-surface,#fff) 25%)!important;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-box.attention{
  border-left:3px solid var(--results-nutrients)!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--results-nutrients) 5%,var(--v2-surface,#fff)),var(--v2-surface,#fff) 25%)!important;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-legend{
  top:10px;
  left:10px;
  transform:none;
  padding:0;
  background:transparent;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-legend .pill.title{
  min-height:0;
  margin:0;
  padding:3px 8px;
  border-left:0!important;
  border-radius:999px;
  font-size:11px;
  line-height:1.2;
  text-transform:none;
}
#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-critical,
#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-warning{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin:0;
  padding:0;
}
#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-critical li,
#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-warning li{
  margin:0!important;
}
#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-critical :is(a,button,.pill,.badge),
#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-warning :is(a,button,.pill,.badge){
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:750;
}

/* --------------------------------------------------------------------------
   Filtres
   -------------------------------------------------------------------------- */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel{
  display:flex;
  align-items:center;
  gap:14px;
  margin:12px 18px 18px!important;
  padding:10px 12px;
  border:1px solid var(--v2-line,#d7e5ec);
  border-radius:14px;
  background:var(--v2-surface-soft,#f7fafc);
  box-shadow:none;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-dosing-filters-wrap{
  flex:0 0 auto;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-dosing-filters-label{
  color:var(--v2-page-muted,#6f8296);
  font-size:10px;
  letter-spacing:.07em;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-dosing-filters{
  display:flex;
  flex:1 1 auto;
  gap:7px;
  margin:0;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter{
  min-width:118px;
  min-height:34px;
  padding:7px 12px;
  border-color:var(--v2-line,#d7e5ec);
  color:var(--v2-page-muted,#6f8296);
  background:var(--v2-surface,#fff);
  font-size:10.5px;
  letter-spacing:.02em;
  box-shadow:none;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter:hover{
  border-color:color-mix(in srgb,var(--v2-accent,#10b8c1) 35%,var(--v2-line,#d7e5ec));
  color:var(--v2-page-ink,#102b4d);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter.is-active{
  color:#075b70;
  border-color:color-mix(in srgb,var(--v2-accent,#10b8c1) 52%,var(--v2-line,#d7e5ec));
  background:var(--v2-accent-soft,#eafafa);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter[data-filter="critical"].is-active{
  color:#a83f54;
  border-color:color-mix(in srgb,var(--results-pollutants) 48%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--results-pollutants) 10%,var(--v2-surface,#fff));
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter[data-filter="warning"].is-active{
  color:#9b6712;
  border-color:color-mix(in srgb,var(--results-nutrients) 50%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--results-nutrients) 11%,var(--v2-surface,#fff));
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .count{
  min-width:20px;
  height:20px;
  border:0;
  color:inherit;
  background:color-mix(in srgb,currentColor 9%,transparent);
  font-size:10px;
}

/* --------------------------------------------------------------------------
   Sections / catégories
   -------------------------------------------------------------------------- */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category{
  --result-cat:var(--results-other);
  margin:0 18px 20px!important;
  overflow:hidden;
  border:1px solid var(--v2-line,#d7e5ec);
  border-radius:16px;
  background:var(--v2-surface,#fff);
  box-shadow:var(--v2-shadow-soft,0 6px 16px rgba(23,64,95,.04))!important;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category--base{--result-cat:var(--results-base)}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category--major{--result-cat:var(--results-major)}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category--nutrients{--result-cat:var(--results-nutrients)}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category--minor{--result-cat:var(--results-minor)}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category--pollutants{--result-cat:var(--results-pollutants)}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category--autres{--result-cat:var(--results-other)}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head{
  position:relative;
  display:flex;
  align-items:center;
  min-height:48px;
  margin:0;
  padding:11px 14px 10px 18px;
  border:0!important;
  border-bottom:1px solid var(--v2-line,#d7e5ec)!important;
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--result-cat) 7%,var(--v2-surface-soft,#f7fafc)),var(--v2-surface-soft,#f7fafc) 38%);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::before{
  content:"";
  position:absolute;
  left:0;
  top:11px;
  bottom:11px;
  width:4px;
  border-radius:0 4px 4px 0;
  background:var(--result-cat);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  padding:0;
  border:0;
  color:var(--v2-page-ink,#102b4d);
  font-size:17px;
  line-height:1.15;
  font-weight:900;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3::before{
  content:"";
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-radius:50%;
  background:var(--result-cat);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--result-cat) 11%,transparent);
}

/* --------------------------------------------------------------------------
   Tableau desktop
   -------------------------------------------------------------------------- */
#zoa-analyses.zoa-detail-v2 #v2-results .table-responsive{
  overflow:visible;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table{
  width:100%;
  min-width:0;
  margin:0;
  border:0;
  border-radius:0;
  border-collapse:separate;
  border-spacing:0;
  color:var(--v2-page-ink,#102b4d);
  background:transparent;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table thead th{
  position:static;
  padding:10px 12px;
  border:0;
  border-bottom:1px solid var(--v2-line,#d7e5ec);
  color:var(--v2-page-muted,#6f8296);
  background:var(--v2-surface-soft,#f7fafc);
  font-size:10px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody td{
  padding:13px 12px;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--v2-line,#d7e5ec) 82%,transparent);
  vertical-align:middle;
  color:var(--v2-page-ink,#102b4d);
  background:transparent;
  font-size:13px;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr:last-child td{border-bottom:0}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr{
  position:relative;
  transition:background .16s ease,box-shadow .16s ease;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr:hover td{
  background:color-mix(in srgb,var(--result-cat) 3.5%,var(--v2-surface,#fff));
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr[data-sev="critical"] td:first-child{
  box-shadow:inset 3px 0 0 var(--results-pollutants);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr[data-sev="warning"] td:first-child{
  box-shadow:inset 3px 0 0 var(--results-nutrients);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table .col-el{width:19%}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table .col-measure{width:19%}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table .col-gauge{width:38%}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table .col-status{width:11%}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table .col-actions{width:13%}

#zoa-analyses.zoa-detail-v2 #v2-results .el-cell{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
#zoa-analyses.zoa-detail-v2 #v2-results .chip.chip-el{
  display:grid;
  width:36px;
  height:36px;
  min-width:36px;
  margin:0;
  padding:0;
  place-items:center;
  border-radius:11px;
  font-size:11px;
  font-weight:900;
}

/* Badges symboles — couleurs de catégorie autonomes V2. */
#zoa-analyses.zoa-detail-v2 #v2-results .chip.chip-el{
  box-sizing:border-box;
  border:1px solid transparent;
}

#zoa-analyses.zoa-detail-v2 #v2-results .chip.chip-el.cat-base{
  color:#0b8793;
  background:color-mix(in srgb,var(--results-base) 11%,var(--v2-surface,#fff));
  border-color:color-mix(in srgb,var(--results-base) 34%,var(--v2-line,#d7e5ec));
}

#zoa-analyses.zoa-detail-v2 #v2-results .chip.chip-el.cat-major{
  color:#2d8b63;
  background:color-mix(in srgb,var(--results-major) 11%,var(--v2-surface,#fff));
  border-color:color-mix(in srgb,var(--results-major) 34%,var(--v2-line,#d7e5ec));
}

#zoa-analyses.zoa-detail-v2 #v2-results .chip.chip-el.cat-nutrients{
  color:#a36a10;
  background:color-mix(in srgb,var(--results-nutrients) 12%,var(--v2-surface,#fff));
  border-color:color-mix(in srgb,var(--results-nutrients) 36%,var(--v2-line,#d7e5ec));
}

#zoa-analyses.zoa-detail-v2 #v2-results .chip.chip-el.cat-minor{
  color:#6253c8;
  background:color-mix(in srgb,var(--results-minor) 10%,var(--v2-surface,#fff));
  border-color:color-mix(in srgb,var(--results-minor) 32%,var(--v2-line,#d7e5ec));
}

#zoa-analyses.zoa-detail-v2 #v2-results .chip.chip-el.cat-pollutants{
  color:#b7445a;
  background:color-mix(in srgb,var(--results-pollutants) 10%,var(--v2-surface,#fff));
  border-color:color-mix(in srgb,var(--results-pollutants) 32%,var(--v2-line,#d7e5ec));
}

#zoa-analyses.zoa-detail-v2 #v2-results .chip.chip-el.cat-autres,
#zoa-analyses.zoa-detail-v2 #v2-results .chip.chip-el.cat-other{
  color:#5c7489;
  background:color-mix(in srgb,var(--results-other) 9%,var(--v2-surface,#fff));
  border-color:color-mix(in srgb,var(--results-other) 28%,var(--v2-line,#d7e5ec));
}

#zoa-analyses.zoa-detail-v2 #v2-results .el-name{
  color:var(--v2-page-ink,#102b4d);
  font-size:13.5px;
  line-height:1.25;
  font-weight:850;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-measure{text-align:left!important}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-measure-value{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-measure-value strong{
  color:var(--v2-page-ink,#102b4d);
  font-size:15px;
  line-height:1.15;
  font-weight:900;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-measure > div:first-child{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-measure .btn.ghost{
  min-height:24px;
  padding:3px 7px;
  border-radius:7px;
  color:var(--v2-accent,#10b8c1);
  border-color:color-mix(in srgb,var(--v2-accent,#10b8c1) 35%,var(--v2-line,#d7e5ec));
  background:transparent;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-measure .text-muted.small{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
  margin-top:5px;
  color:var(--v2-page-muted,#6f8296)!important;
  font-size:10.5px!important;
  line-height:1.3;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-target-origin{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 6px;
  border-radius:999px;
  color:#087e89;
  border:1px solid color-mix(in srgb,var(--v2-accent,#10b8c1) 26%,var(--v2-line,#d7e5ec));
  background:var(--v2-accent-soft,#eafafa);
  font-size:9px;
  font-weight:800;
  line-height:1;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-gauge-cell{min-width:300px}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-gauge-cell .zoa-mini-gauge{
  min-height:58px;
  height:58px!important;
  overflow:visible;
}

#zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill{
  min-height:28px;
  margin:0;
  padding:5px 9px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:10.5px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
}
#zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill.ok{
  color:#168e68;
  border-color:color-mix(in srgb,#2bc58d 30%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,#2bc58d 10%,var(--v2-surface,#fff));
}
#zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill.warn{
  color:#aa6f0a;
  border-color:color-mix(in srgb,var(--results-nutrients) 38%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--results-nutrients) 11%,var(--v2-surface,#fff));
}
#zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill.bad{
  color:#b53e55;
  border-color:color-mix(in srgb,var(--results-pollutants) 38%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--results-pollutants) 10%,var(--v2-surface,#fff));
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-actions{text-align:right!important}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-actions .btn{
  min-height:34px;
  margin:2px 0 2px 4px;
  padding:6px 9px;
  border-radius:9px;
  font-size:10px;
  font-weight:850;
  box-shadow:none;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-actions .zoa-action-btn{
  color:#063b60;
  border-color:transparent;
  background:linear-gradient(135deg,#53d8d1,#4ed4a7);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-actions .zoa-info-btn{
  color:var(--v2-accent,#10b8c1);
  border:1px solid color-mix(in srgb,var(--v2-accent,#10b8c1) 32%,var(--v2-line,#d7e5ec));
  background:var(--v2-surface,#fff);
}

/* --------------------------------------------------------------------------
   Mobile / tablette : cartes accordéon
   -------------------------------------------------------------------------- */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-mobile .card-body{padding:0}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion{
  display:grid;
  gap:8px;
  padding:10px;
  border:0;
  border-radius:0;
  background:var(--v2-surface-soft,#f7fafc);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zoa-acc-item{
  overflow:hidden;
  border:1px solid var(--v2-line,#d7e5ec);
  border-radius:13px;
  background:var(--v2-surface,#fff);
  box-shadow:0 3px 10px rgba(23,64,95,.035);
}
/* Mobile : la severite ne colore plus la carte complete. Elle est portee
   uniquement par le bloc de valeur mesuree, comme dans la V1. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion details[data-sev="critical"] .col--measured{border-left-color:var(--results-pollutants)}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion details[data-sev="warning"] .col--measured{border-left-color:var(--results-nutrients)}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion details[data-sev="ok"] .col--measured{border-left-color:var(--v2-gauge-ok,#24cfa5)}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion details[data-sev="nd"] .col--measured{border-left-color:var(--v2-accent,#10b8c1)}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion summary.zoa-acc-sum{
  gap:9px!important;
  padding:11px 11px 12px!important;
  border:0;
  background:var(--v2-surface,#fff);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion details[open] summary.zoa-acc-sum{
  background:linear-gradient(180deg,var(--v2-surface,#fff),var(--v2-surface-soft,#f7fafc));
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zd-el-head{
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:9px;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zd-el-title{text-align:left}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zd-el-title .el-name{
  font-size:13px;
  font-weight:900;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .range-badge{
  padding:4px 7px;
  font-size:9.5px;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zd-collapse-trigger{
  position:static;
  transform:none;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .collapse-btn{
  display:grid;
  width:26px;
  height:26px;
  padding:0;
  place-items:center;
  border-color:var(--v2-line,#d7e5ec);
  border-radius:8px;
  color:var(--v2-page-muted,#6f8296);
  background:var(--v2-surface-soft,#f7fafc);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow{
  grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);
  gap:6px;
  margin:0;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow .col{
  min-height:58px;
  padding:7px 8px;
  border-color:var(--v2-line,#d7e5ec);
  border-radius:10px;
  background:var(--v2-surface-soft,#f7fafc);
  box-shadow:none;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow .col--measured{
  border-left:3px solid var(--v2-accent,#10b8c1);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow .k{
  color:var(--v2-page-muted,#6f8296);
  font-size:9px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.04em;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow .v{
  margin-top:3px;
  color:var(--v2-page-ink,#102b4d);
  font-size:17px;
  line-height:1;
  font-weight:900;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow .unit{
  font-size:9px;
  font-weight:700;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow .arrow{
  width:24px;
  height:24px;
  border:0;
  color:var(--v2-accent,#10b8c1);
  background:var(--v2-accent-soft,#eafafa);
  font-size:13px;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .unit-button{margin-top:3px}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-edit-inline{
  min-height:22px;
  padding:2px 6px;
  border-radius:6px;
  font-size:8.5px;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-body{
  padding:10px;
  border-top:1px solid var(--v2-line,#d7e5ec);
  background:var(--v2-surface-soft,#f7fafc);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-gauge-card{
  padding:10px;
  border-color:var(--v2-line,#d7e5ec);
  border-radius:11px;
  background:var(--v2-surface,#fff);
  box-shadow:none;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-gauge-head .t{
  color:var(--v2-page-ink,#102b4d);
  font-size:11px;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-gauge-head .s{
  color:var(--v2-page-muted,#6f8296);
  font-size:9px;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-gauge-card .zoa-mini-gauge{
  min-height:84px;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:8px;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-actions .btn{
  min-height:38px;
  margin:0;
  border-radius:10px;
  font-size:10px;
}

/* --------------------------------------------------------------------------
   Dark theme
   -------------------------------------------------------------------------- */
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results.zoa-v2-results-panel,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results.zoa-v2-results-panel{
  --results-base:#4fd7d2;
  --results-major:#69d89b;
  --results-nutrients:#f2b64f;
  --results-minor:#9c8cf4;
  --results-pollutants:#f17b8d;
  --results-other:#8ca7ba;
}
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-head,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-head{
  background:
    radial-gradient(460px 120px at 0 0,rgba(79,215,210,.07),transparent 72%),
    var(--v2-surface,#0b1828);
}
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter.is-active,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter.is-active{
  color:#a9f2ed;
}
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-target-origin,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-target-origin{
  color:#8be7e2;
}
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-actions .zoa-info-btn,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-actions .zoa-info-btn{
  color:#78ddd8;
  background:var(--v2-surface-raised,#102235);
}
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill.ok,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill.ok{color:#75e0bb}
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill.warn,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill.warn{color:#ffd17b}
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill.bad,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill.bad{color:#ff9eac}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width:1100px) and (min-width:981px){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table .col-gauge{width:32%}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table .col-actions{width:16%}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-gauge-cell{min-width:250px}
}

@media (max-width:980px){
  #zoa-analyses.zoa-detail-v2 #v2-results.zoa-v2-results-panel{border-radius:18px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-head{padding:16px 15px 14px;border-radius:18px 18px 0 0}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-head .title{font-size:18px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-head .sub{font-size:12px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-details{margin-left:10px;margin-right:10px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel{margin-left:10px!important;margin-right:10px!important}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel{margin:10px!important}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category{margin:0 10px 13px!important}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head{min-height:44px;padding:9px 10px 9px 15px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3{font-size:14.5px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head .acc-tools{margin:0 0 0 auto}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head .acc-tools .btn{min-height:27px;padding:4px 7px;font-size:8.5px}
}

@media (max-width:700px){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .spacing{grid-template-columns:1fr}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-box{min-height:72px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel{display:block;padding:9px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-dosing-filters-wrap{margin-bottom:7px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-dosing-filters{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter{
    min-width:0;
    padding:7px 5px;
    font-size:9px;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-summary{min-height:42px;padding:7px 9px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-help-title{font-size:11px}
}

@media (max-width:430px){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-head{padding-left:13px;padding-right:13px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-dosing-filters{grid-template-columns:1fr 1fr}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter[data-filter="all"]{grid-column:1/-1}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion{padding:8px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zd-el-head{grid-template-columns:36px minmax(0,1fr) auto}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zd-el-right{gap:4px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .range-badge{max-width:72px;overflow:hidden;text-overflow:ellipsis}
}

@media (prefers-reduced-motion:reduce){
  #zoa-analyses.zoa-detail-v2 #v2-results *{scroll-behavior:auto!important}
}

/* ==========================================================================
   V2.27 — Résultats / Option B affinée
   Une seule couche de finition : alignements, priorités, filtres, actions,
   et intégration des jauges V2 sans modifier la logique métier.
   ========================================================================== */

#zoa-analyses.zoa-detail-v2 #v2-results.zoa-v2-results-panel{
  --v2-gauge-ok:var(--v2-health-ok-a);
  --v2-gauge-ok-2:var(--v2-health-ok-b);
  --v2-gauge-warn:var(--v2-health-warn-a);
  --v2-gauge-warn-2:var(--v2-health-warn-b);
  --v2-gauge-crit:var(--v2-health-crit-a);
  --v2-gauge-crit-2:var(--v2-health-crit-b);
  --v2-gauge-rail:var(--v2-health-rail);
  --v2-gauge-marker:var(--v2-health-marker);
}

/* Priorités : neutraliser les largeurs Bootstrap à l'intérieur de la grille. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel{
  margin:14px 18px 12px!important;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel > .shadow-sm{
  overflow:hidden;
  border-radius:15px;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .card-body{
  padding:11px;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .spacing{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:100%;
  margin:0!important;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box{
  width:auto!important;
  max-width:none!important;
  min-height:92px;
  margin:0!important;
  flex:none!important;
  padding:31px 13px 11px!important;
  border-radius:12px;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-legend{
  top:9px;
  left:11px;
}
#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-critical,
#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-warning{
  gap:6px;
  align-content:flex-start;
}
#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-critical :is(a,button,.pill,.badge),
#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-warning :is(a,button,.pill,.badge){
  min-height:26px;
  padding:5px 9px;
  box-shadow:none;
}

/* Filtres : vrai sélecteur segmenté V2. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin:0 18px 20px!important;
  padding:9px 10px 9px 13px;
  border-radius:14px;
  background:color-mix(in srgb,var(--v2-surface-soft,#f7fafc) 84%,var(--v2-surface,#fff));
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-dosing-filters-wrap{
  margin:0!important;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-dosing-filters-label{
  margin:0;
  color:var(--v2-page-muted,#6f8296);
  font-size:10px;
  font-weight:900;
  letter-spacing:.075em;
  white-space:nowrap;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-dosing-filters{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  width:100%;
  margin:0!important;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  min-width:0;
  min-height:36px;
  padding:7px 10px;
  border:1px solid var(--v2-line,#d7e5ec);
  border-radius:10px;
  color:var(--v2-page-muted,#6f8296);
  background:var(--v2-surface,#fff);
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.025em;
  box-shadow:0 1px 0 rgba(255,255,255,.4) inset;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter .count{
  display:grid;
  width:20px;
  height:20px;
  min-width:20px;
  place-items:center;
  padding:0;
  border-radius:999px;
  color:inherit;
  background:color-mix(in srgb,currentColor 9%,transparent);
  font-size:9px;
  font-weight:900;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter.is-active{
  color:#08798a;
  border-color:color-mix(in srgb,var(--v2-accent,#10b8c1) 45%,var(--v2-line,#d7e5ec));
  background:linear-gradient(180deg,color-mix(in srgb,var(--v2-accent,#10b8c1) 9%,var(--v2-surface,#fff)),var(--v2-surface,#fff));
  box-shadow:0 5px 14px rgba(20,157,168,.07), inset 0 -2px 0 color-mix(in srgb,var(--v2-accent,#10b8c1) 58%,transparent);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter[data-filter="critical"].is-active{
  color:#b44c60;
  border-color:color-mix(in srgb,var(--results-pollutants) 45%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--results-pollutants) 8%,var(--v2-surface,#fff));
  box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--results-pollutants) 70%,transparent);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter[data-filter="warning"].is-active{
  color:#a36c10;
  border-color:color-mix(in srgb,var(--results-nutrients) 46%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--results-nutrients) 9%,var(--v2-surface,#fff));
  box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--results-nutrients) 72%,transparent);
}

/* Catégories : section éditoriale, sans grosse boîte autour du tableau. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category{
  overflow:visible;
  margin:0 18px 25px!important;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none!important;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head{
  min-height:42px;
  margin:0 2px 6px;
  padding:8px 10px 8px 16px;
  border:0!important;
  border-bottom:1px solid color-mix(in srgb,var(--result-cat) 27%,var(--v2-line,#d7e5ec))!important;
  border-radius:0;
  background:transparent!important;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::before{
  top:8px;
  bottom:8px;
  width:3px;
  border-radius:999px;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3{
  font-size:16px;
  letter-spacing:-.01em;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3::before{
  width:8px;
  height:8px;
  flex-basis:8px;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--result-cat) 10%,transparent);
}

/* Tableau -> lignes cartes. Ne jamais transformer un <td> en flex : cela
   cassait l'alignement vertical de la première colonne. */
#zoa-analyses.zoa-detail-v2 #v2-results .table-responsive{overflow:visible}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table{
  width:100%;
  table-layout:fixed;
  border-collapse:separate!important;
  border-spacing:0 7px!important;
  background:transparent!important;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table thead th{
  padding:0 12px 4px;
  border:0!important;
  color:var(--v2-page-muted,#6f8296);
  background:transparent!important;
  font-size:9.5px;
  font-weight:900;
  letter-spacing:.07em;
  vertical-align:bottom;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr{
  filter:drop-shadow(0 4px 8px rgba(27,66,92,.022));
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody td{
  height:78px;
  padding:9px 11px;
  border-top:1px solid var(--v2-line,#d7e5ec)!important;
  border-bottom:1px solid var(--v2-line,#d7e5ec)!important;
  background:color-mix(in srgb,var(--v2-surface-soft,#f7fafc) 68%,var(--v2-surface,#fff))!important;
  vertical-align:middle!important;
  transition:background .16s ease,border-color .16s ease;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody td:first-child{
  border-left:1px solid var(--v2-line,#d7e5ec)!important;
  border-radius:13px 0 0 13px;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody td:last-child{
  border-right:1px solid var(--v2-line,#d7e5ec)!important;
  border-radius:0 13px 13px 0;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr:hover td{
  background:color-mix(in srgb,var(--result-cat) 3.2%,var(--v2-surface,#fff))!important;
  border-color:color-mix(in srgb,var(--result-cat) 21%,var(--v2-line,#d7e5ec))!important;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr[data-sev="critical"] td:first-child{border-left:3px solid var(--results-pollutants)!important;box-shadow:none}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr[data-sev="warning"] td:first-child{border-left:3px solid var(--results-nutrients)!important;box-shadow:none}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr[data-sev="ok"] td:first-child{border-left:3px solid var(--v2-gauge-ok)!important;box-shadow:none}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table .col-el{width:18%}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table .col-measure{width:19%}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table .col-gauge{width:40%}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table .col-status{width:10%}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table .col-actions{width:13%}

#zoa-analyses.zoa-detail-v2 #v2-results .el-cell{
  display:table-cell!important;
  min-width:0;
  white-space:normal;
}
#zoa-analyses.zoa-detail-v2 #v2-results .chip.chip-el{
  display:inline-grid;
  width:36px;
  height:36px;
  min-width:36px;
  margin:0 8px 0 0;
  place-items:center;
  vertical-align:middle;
  border-radius:11px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48);
}
#zoa-analyses.zoa-detail-v2 #v2-results .el-name{
  display:inline-block;
  max-width:calc(100% - 50px);
  color:var(--v2-page-ink,#102b4d);
  font-size:13px;
  line-height:1.23;
  font-weight:900;
  vertical-align:middle;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-measure{text-align:left!important}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-measure .zoa-measure-value strong,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-measure > div:first-child > strong{
  color:var(--v2-page-ink,#102b4d);
  font-size:18px;
  font-weight:900;
  letter-spacing:-.015em;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-measure .text-muted.small{
  margin-top:5px;
  font-size:11px!important;
  line-height:1.28;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-target-origin{
  min-height:19px;
  padding:2px 6px;
  color:#087c83;
  background:color-mix(in srgb,var(--v2-accent,#10b8c1) 8%,var(--v2-surface,#fff));
}

/* Jauge : la ligne suffit, pas besoin d'une deuxième carte dans la carte. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-gauge-cell{
  min-width:300px;
  padding-left:8px!important;
  padding-right:8px!important;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-gauge-cell .zoa-mini-gauge{
  min-height:68px;
  height:68px!important;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

/* Statuts. */
#zoa-analyses.zoa-detail-v2 #v2-results .status-cell{text-align:center}
#zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill{
  min-height:27px;
  padding:5px 8px;
  border-radius:999px;
  font-size:9.5px;
  font-weight:850;
  box-shadow:none;
}
#zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill.ok{
  color:#147d63;
  border-color:color-mix(in srgb,var(--v2-gauge-ok) 34%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--v2-gauge-ok) 9%,var(--v2-surface,#fff));
}
#zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill.warn{
  color:#9b6812;
  border-color:color-mix(in srgb,var(--v2-gauge-warn) 39%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--v2-gauge-warn) 10%,var(--v2-surface,#fff));
}
#zoa-analyses.zoa-detail-v2 #v2-results .status-cell .pill.bad{
  color:#a94155;
  border-color:color-mix(in srgb,var(--v2-gauge-crit) 39%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--v2-gauge-crit) 10%,var(--v2-surface,#fff));
}

/* Actions : primaire lisible avec lottie blanc, secondaire clair avec lottie teal. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-actions{
  text-align:right!important;
  white-space:normal;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-actions .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:66px;
  min-height:32px;
  margin:2px 0 2px 4px;
  padding:5px 8px;
  border-radius:9px;
  font-size:9px;
  line-height:1;
  font-weight:900;
  box-shadow:none;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-actions .zoa-action-btn{
  color:#fff!important;
  border:1px solid transparent;
  background:linear-gradient(135deg,#15b7c1,#28c995);
  box-shadow:0 6px 13px rgba(21,183,193,.11);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-actions .zoa-action-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 17px rgba(21,183,193,.16);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-actions .zoa-info-btn{
  color:#0a9eab!important;
  border:1px solid color-mix(in srgb,var(--v2-accent,#10b8c1) 45%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--v2-accent,#10b8c1) 3%,var(--v2-surface,#fff));
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-actions .zoa-info-btn:hover{
  color:#087d88!important;
  border-color:color-mix(in srgb,var(--v2-accent,#10b8c1) 68%,var(--v2-line,#d7e5ec));
  background:color-mix(in srgb,var(--v2-accent,#10b8c1) 8%,var(--v2-surface,#fff));
}

/* Mobile : priorité et filtres restent compacts, accordéons inchangés dans leur logique. */
@media (max-width:980px){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .spacing{grid-template-columns:1fr}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box{min-height:72px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel{
    grid-template-columns:1fr;
    gap:7px;
    margin:0 10px 14px!important;
    padding:9px;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-dosing-filters-label{padding-left:2px}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category{margin:0 10px 18px!important}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion{background:transparent}
}
@media (max-width:520px){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-dosing-filters{grid-template-columns:1fr 1fr}
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter[data-filter="all"]{grid-column:1/-1}
}

/* Dark theme. */
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results{
  --v2-gauge-ok:var(--v2-health-ok-a);
  --v2-gauge-ok-2:var(--v2-health-ok-b);
  --v2-gauge-warn:var(--v2-health-warn-a);
  --v2-gauge-warn-2:var(--v2-health-warn-b);
  --v2-gauge-crit:var(--v2-health-crit-a);
  --v2-gauge-crit-2:var(--v2-health-crit-b);
  --v2-gauge-rail:var(--v2-health-rail);
  --v2-gauge-marker:var(--v2-health-marker);
}
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody td,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody td{
  background:var(--v2-surface-raised,#102235)!important;
}
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-filter-panel .zoa-filter{
  background:var(--v2-surface-raised,#102235);
}
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-actions .zoa-info-btn,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-actions .zoa-info-btn{
  color:#68dedb!important;
  background:rgba(18,183,193,.045);
}

/* ==========================================================================
   V2.29 — Révélation des jauges au défilement
   ========================================================================== */

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-mini-gauge.zoa-gauge-reveal{
  opacity:.01;
  transform:translate3d(0,10px,0) scale(.982);
  filter:saturate(.86);
  transition:
    opacity .26s ease,
    transform .38s cubic-bezier(.22,.8,.32,1),
    filter .38s ease;
  will-change:opacity,transform;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-mini-gauge.zoa-gauge-reveal.is-gauge-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:saturate(1);
}

/* Petit feedback lorsque l'on survole une jauge desktop. */
@media (hover:hover) and (pointer:fine){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-mini-gauge{
    transition:
      opacity .42s ease,
      transform .2s ease,
      filter .2s ease;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-mini-gauge:hover{
    filter:saturate(1.06) brightness(1.015);
  }
}

@media (prefers-reduced-motion:reduce){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-mini-gauge.zoa-gauge-reveal{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
}

/* ==========================================================================
   V2.31 — Sécurité visuelle du déploiement ECharts
   ========================================================================== */

/*
 * ECharts anime réellement ses barres de 0 -> 100.
 * Ce clip-path accompagne l'animation et garantit un déploiement
 * visible de gauche à droite même si le navigateur saute une frame canvas.
 */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-mini-gauge.zoa-echart-deploying{
  clip-path:inset(0 100% 0 0 round 8px);
  animation:zoa-v2-gauge-unclip .82s .04s cubic-bezier(.20,.78,.28,1) forwards;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-mini-gauge.zoa-echart-deployed{
  clip-path:inset(0 0 0 0 round 8px);
}

@keyframes zoa-v2-gauge-unclip{
  0%{
    clip-path:inset(0 100% 0 0 round 8px);
  }
  100%{
    clip-path:inset(0 0 0 0 round 8px);
  }
}

@media (prefers-reduced-motion:reduce){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-mini-gauge.zoa-echart-deploying,
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-mini-gauge.zoa-echart-deployed{
    clip-path:none !important;
    animation:none !important;
  }
}



/* ==========================================================================
   V2.34 — Bandeaux sombres animés pour les titres de groupes
   Objectif : rapprocher les catégories du hero sombre V2 sans casser la mise
   en page existante (desktop + mobile).
   ========================================================================== */

@keyframes zoa-v2-band-pan{
  0%   { transform:translate3d(-2%,0,0) scale(1); opacity:.90; }
  50%  { transform:translate3d(2%,1%,0) scale(1.025); opacity:1; }
  100% { transform:translate3d(-2%,0,0) scale(1); opacity:.90; }
}
@keyframes zoa-v2-band-orbit{
  0%   { transform:translate3d(0,0,0) rotate(0deg); }
  50%  { transform:translate3d(-1.2%,1.4%,0) rotate(6deg); }
  100% { transform:translate3d(0,0,0) rotate(0deg); }
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category{
  border-radius:18px;
  box-shadow:0 10px 22px rgba(15,44,72,.05)!important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:56px;
  padding:13px 18px 12px 18px;
  border:0!important;
  border-bottom:1px solid rgba(222,240,249,.16)!important;
  background:
    linear-gradient(135deg,
      #0b3a69 0%,
      color-mix(in srgb,#0c4b82 86%,var(--result-cat) 14%) 54%,
      color-mix(in srgb,#116d94 76%,var(--result-cat) 24%) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 -1px 0 rgba(255,255,255,.04);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::before{
  content:"";
  position:absolute;
  inset:-18% -8%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(560px 180px at 0% 0%, rgba(84,220,213,.14), transparent 66%),
    radial-gradient(360px 160px at 96% 12%, rgba(255,255,255,.06), transparent 68%),
    linear-gradient(115deg, transparent 10%, rgba(255,255,255,.06) 34%, transparent 54%);
  animation:zoa-v2-band-pan 10s ease-in-out infinite;
  transform-origin:center;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::after{
  content:"";
  position:absolute;
  inset:-28% -6% -34% auto;
  width:54%;
  z-index:0;
  pointer-events:none;
  opacity:.52;
  background:
    radial-gradient(circle at 78% 22%, transparent 0 42px, rgba(255,255,255,.08) 43px 44px, transparent 46px),
    radial-gradient(circle at 64% 56%, transparent 0 78px, rgba(255,255,255,.07) 79px 80px, transparent 82px),
    radial-gradient(circle at 84% 78%, transparent 0 122px, rgba(255,255,255,.055) 123px 124px, transparent 126px);
  animation:zoa-v2-band-orbit 13s ease-in-out infinite;
  transform-origin:78% 32%;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head > *{
  position:relative;
  z-index:1;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::marker{
  display:none;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3{
  color:#f4fbff;
  font-size:17px;
  font-weight:900;
  letter-spacing:.01em;
  text-shadow:0 1px 0 rgba(0,0,0,.18);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3::before{
  width:10px;
  height:10px;
  flex:0 0 10px;
  background:var(--result-cat);
  box-shadow:
    0 0 0 6px color-mix(in srgb,var(--result-cat) 18%,transparent),
    0 0 14px color-mix(in srgb,var(--result-cat) 34%,transparent);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head .acc-tools{
  display:flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head .acc-tools .btn{
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  border:1px solid rgba(202,232,243,.28);
  color:#fff !important;
  background:rgba(255,255,255,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.1),
    0 6px 14px rgba(6,26,52,.14);
  backdrop-filter:blur(6px);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head .acc-tools .btn:hover{
  color:#fff;
  border-color:rgba(217,248,246,.42);
  background:rgba(255,255,255,.13);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head .acc-tools .btn:focus-visible{
  outline:2px solid rgba(98,233,223,.55);
  outline-offset:2px;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-mobile .zoa-v2-result-category-head{
  border-radius:0;
}

@media (max-width:980px){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category{
    border-radius:16px;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head{
    min-height:52px;
    padding:11px 14px 10px 14px;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3{
    font-size:15px;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::after{
    width:68%;
    opacity:.45;
  }
}

@media (max-width:700px){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head{
    row-gap:8px;
    flex-wrap:wrap;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head .acc-tools{
    width:100%;
    justify-content:flex-end;
  }
}

@media (prefers-reduced-motion:reduce){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::before,
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::after{
    animation:none!important;
  }
}


/* ==========================================================================
   V2.35 — Correctif bandeaux sombres
   Le fond clair provenait de la classe Bootstrap .bg-light / règles historiques.
   On retire .bg-light dans le template et on verrouille le fond V2 ici.
   ========================================================================== */

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head{
  background-color:#092f59 !important;
  background-image:
    linear-gradient(135deg,#092f59 0%,#0a4272 52%,#0c6486 100%) !important;
  color:#f4fbff !important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::before{
  background:
    radial-gradient(520px 160px at 4% -10%,rgba(69,218,210,.18),transparent 66%),
    radial-gradient(320px 150px at 96% 5%,rgba(255,255,255,.075),transparent 69%),
    linear-gradient(112deg,transparent 14%,rgba(255,255,255,.055) 36%,transparent 56%) !important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3{
  color:#f4fbff !important;
  border:0 !important;
  text-shadow:0 1px 1px rgba(0,15,35,.28);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3::before{
  width:10px !important;
  height:10px !important;
  border-radius:50% !important;
  background:var(--result-cat) !important;
  box-shadow:
    0 0 0 6px rgba(255,255,255,.055),
    0 0 16px var(--result-cat) !important;
}

/* Séparation douce avec le tableau */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head + .card-body{
  border-top:0;
}

/* Dark mode : le bandeau reste distinct du fond de page */
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head{
  background-color:#072746 !important;
  background-image:
    linear-gradient(135deg,#072746 0%,#0a3558 52%,#0b506b 100%) !important;
}



/* ======================================================================
   V2.36 — Bandeaux premium arrondis + animation plus visible
   ====================================================================== */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category{
  border-radius:22px;
  box-shadow:0 10px 24px rgba(16,43,77,.055), 0 2px 8px rgba(16,43,77,.03)!important;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,252,.92));
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head{
  position:relative;
  min-height:58px;
  margin:10px 10px 0;
  padding:14px 18px 14px 18px;
  border:1px solid rgba(255,255,255,.09)!important;
  border-bottom:0!important;
  border-radius:18px 18px 14px 14px;
  overflow:hidden;
  background-color:#0b3b68 !important;
  background-image:
    linear-gradient(135deg,#0a2f58 0%,#0d4777 54%,#0f6b8e 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 12px 24px rgba(7,33,63,.10);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::before,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::after{
  content:"";
  position:absolute;
  inset:-10% auto auto -8%;
  pointer-events:none;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::before{
  inset:-35% auto auto -10%;
  width:72%;
  height:190%;
  background:
    radial-gradient(circle at 18% 44%, rgba(76,223,212,.20) 0 3px, transparent 3px 100%),
    radial-gradient(circle at 52% 26%, rgba(255,255,255,.08) 0 2px, transparent 2px 100%),
    radial-gradient(circle at 76% 68%, rgba(89,212,255,.11) 0 2px, transparent 2px 100%),
    radial-gradient(65% 55% at 22% 42%, rgba(77,226,216,.16), transparent 62%),
    radial-gradient(44% 36% at 88% 22%, rgba(255,255,255,.08), transparent 70%);
  opacity:.95;
  animation:zoaV2GroupGlow 11s ease-in-out infinite alternate;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::after{
  top:-36%;
  right:-10%;
  left:auto;
  width:56%;
  height:190%;
  border-radius:50%;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.12) 0 1px, transparent 1px 100%),
    radial-gradient(circle at center, transparent 0 52%, rgba(255,255,255,.08) 53%, transparent 54%),
    radial-gradient(circle at center, transparent 0 70%, rgba(76,223,212,.14) 71%, transparent 72%),
    radial-gradient(circle at center, transparent 0 86%, rgba(255,255,255,.06) 87%, transparent 88%);
  opacity:.9;
  transform:rotate(-8deg);
  animation:zoaV2GroupRings 13s linear infinite;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3{
  position:relative;
  z-index:1;
  gap:12px;
  color:#f8fcff !important;
  font-size:20px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.01em;
  text-shadow:0 1px 0 rgba(0,0,0,.12);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3::before{
  width:12px !important;
  height:12px !important;
  flex:0 0 12px;
  background:var(--result-cat) !important;
  box-shadow:
    0 0 0 8px color-mix(in srgb, var(--result-cat) 18%, transparent),
    0 0 20px color-mix(in srgb, var(--result-cat) 70%, transparent),
    0 0 34px color-mix(in srgb, var(--result-cat) 42%, transparent) !important;
  animation:zoaV2GroupDotPulse 2.35s ease-in-out infinite;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head + .table-responsive,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head + .card-body{
  margin-top:0;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table thead th{
  background:linear-gradient(180deg, rgba(247,250,252,.95), rgba(255,255,255,.98));
}

@keyframes zoaV2GroupGlow{
  0%{transform:translate3d(0,0,0) scale(1); opacity:.78}
  50%{transform:translate3d(18px,-5px,0) scale(1.05); opacity:1}
  100%{transform:translate3d(30px,7px,0) scale(1.08); opacity:.9}
}

@keyframes zoaV2GroupRings{
  0%{transform:rotate(-8deg) translate3d(0,0,0) scale(1); opacity:.62}
  50%{transform:rotate(2deg) translate3d(-8px,4px,0) scale(1.04); opacity:.95}
  100%{transform:rotate(12deg) translate3d(-14px,10px,0) scale(1.08); opacity:.72}
}

@keyframes zoaV2GroupDotPulse{
  0%,100%{
    transform:scale(1);
    box-shadow:
      0 0 0 8px color-mix(in srgb, var(--result-cat) 18%, transparent),
      0 0 20px color-mix(in srgb, var(--result-cat) 70%, transparent),
      0 0 34px color-mix(in srgb, var(--result-cat) 42%, transparent);
  }
  50%{
    transform:scale(1.15);
    box-shadow:
      0 0 0 11px color-mix(in srgb, var(--result-cat) 14%, transparent),
      0 0 24px color-mix(in srgb, var(--result-cat) 86%, transparent),
      0 0 42px color-mix(in srgb, var(--result-cat) 52%, transparent);
  }
}

@media (max-width: 991.98px){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category{
    border-radius:18px;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head{
    min-height:54px;
    margin:8px 8px 0;
    padding:12px 14px;
    border-radius:16px 16px 12px 12px;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3{
    font-size:17px;
    gap:10px;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::before{
    width:82%;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::after{
    width:70%;
    top:-52%;
  }
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category{
  background:linear-gradient(180deg, rgba(10,28,46,.92), rgba(8,24,40,.95));
  box-shadow:0 12px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.03)!important;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head{
  background-color:#08294a !important;
  background-image:linear-gradient(135deg,#08294a 0%,#0b3860 56%,#0d5673 100%) !important;
}




/* ======================================================================
   V2.37 — Group headers premium full-width + framed group cards
   ====================================================================== */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(58, 190, 221, .26) !important;
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.985), rgba(249,252,253,.965));
  box-shadow:
    0 14px 34px rgba(12, 45, 78, .045),
    0 3px 12px rgba(12, 45, 78, .025),
    inset 0 1px 0 rgba(255,255,255,.9);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,.0) 0%, rgba(45,201,214,.02) 100%);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head{
  position:relative;
  min-height:60px;
  margin:0;
  padding:15px 18px;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  border-radius:24px 24px 0 0;
  overflow:hidden;
  background-color:#0b3b68 !important;
  background-image:linear-gradient(135deg,#0a2f58 0%,#0d4777 56%,#10708f 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(255,255,255,.06);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::before{
  content:"";
  position:absolute;
  inset:-22% auto auto -4%;
  width:58%;
  height:180%;
  pointer-events:none;
  background:
    radial-gradient(60% 55% at 24% 40%, rgba(77,226,216,.18), transparent 66%),
    radial-gradient(36% 30% at 64% 18%, rgba(255,255,255,.08), transparent 70%),
    radial-gradient(circle at 28% 56%, rgba(90,224,236,.28) 0 2px, transparent 2px 100%),
    radial-gradient(circle at 72% 26%, rgba(255,255,255,.10) 0 1.8px, transparent 1.8px 100%);
  animation:zoaV2HeaderGlowShift 8.5s ease-in-out infinite alternate;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::after{
  content:"";
  position:absolute;
  top:-72%;
  right:-4%;
  width:240px;
  height:240px;
  pointer-events:none;
  border-radius:50%;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.12) 0 1px, transparent 1px 100%),
    radial-gradient(circle at center, transparent 0 53%, rgba(255,255,255,.08) 54%, transparent 55%),
    radial-gradient(circle at center, transparent 0 71%, rgba(77,226,216,.15) 72%, transparent 73%),
    radial-gradient(circle at center, transparent 0 86%, rgba(255,255,255,.06) 87%, transparent 88%);
  opacity:.95;
  transform:rotate(-8deg);
  animation:zoaV2HeaderRingFloat 10.5s linear infinite;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  color:#f7fbff !important;
  font-size:19px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.01em;
  text-shadow:0 1px 0 rgba(0,0,0,.12);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3::before{
  width:9px !important;
  height:9px !important;
  flex:0 0 9px;
  border-radius:50%;
  background:var(--result-cat) !important;
  box-shadow:
    0 0 0 5px color-mix(in srgb, var(--result-cat) 16%, transparent),
    0 0 18px color-mix(in srgb, var(--result-cat) 50%, transparent);
  animation:zoaV2HeaderDotOrbit 2.6s ease-in-out infinite;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head + .table-responsive,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head + .card-body{
  margin-top:0;
  padding-top:8px;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table thead th{
  background:linear-gradient(180deg, rgba(249,252,254,.98), rgba(255,255,255,1));
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-row{
  border-left:0 !important;
  border-right:0 !important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category .table-responsive{
  padding:0 12px 12px;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category .card-body{
  padding:12px;
}

@keyframes zoaV2HeaderGlowShift{
  0%{transform:translate3d(0,0,0) scale(1); opacity:.78}
  50%{transform:translate3d(16px,-4px,0) scale(1.04); opacity:1}
  100%{transform:translate3d(30px,6px,0) scale(1.08); opacity:.9}
}

@keyframes zoaV2HeaderRingFloat{
  0%{transform:rotate(-8deg) translate3d(0,0,0) scale(1); opacity:.62}
  50%{transform:rotate(2deg) translate3d(-10px,4px,0) scale(1.05); opacity:.96}
  100%{transform:rotate(10deg) translate3d(-14px,8px,0) scale(1.08); opacity:.74}
}

@keyframes zoaV2HeaderDotOrbit{
  0%,100%{
    transform:scale(1);
    box-shadow:
      0 0 0 5px color-mix(in srgb, var(--result-cat) 16%, transparent),
      0 0 18px color-mix(in srgb, var(--result-cat) 50%, transparent);
  }
  50%{
    transform:scale(1.18);
    box-shadow:
      0 0 0 8px color-mix(in srgb, var(--result-cat) 12%, transparent),
      0 0 24px color-mix(in srgb, var(--result-cat) 70%, transparent);
  }
}

@media (max-width: 991.98px){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category{
    border-radius:18px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head{
    min-height:54px;
    padding:12px 14px;
    border-radius:18px 18px 0 0;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head h3{
    font-size:16px;
    font-weight:780;
    gap:9px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head::after{
    width:180px;
    height:180px;
    top:-70%;
    right:-8%;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category .table-responsive,
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category .card-body{
    padding-left:8px;
    padding-right:8px;
    padding-bottom:8px;
  }
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category{
  border-color:rgba(76, 223, 212, .22) !important;
  background:linear-gradient(180deg, rgba(9,25,42,.94), rgba(7,20,35,.97));
  box-shadow:0 14px 36px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category::before,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category::before{
  background:linear-gradient(180deg, rgba(255,255,255,.01), rgba(77,226,216,.035));
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category-head{
  background-color:#08294a !important;
  background-image:linear-gradient(135deg,#08294a 0%,#0b3860 56%,#0d5b75 100%) !important;
}




/* ======================================================================
   V2.38 — Entêtes de colonnes centrés + bloc Priorités premium
   ====================================================================== */

/* Entêtes du tableau : centrage uniforme des 5 colonnes. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table thead th,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table thead th.text-end{
  text-align:center !important;
  vertical-align:middle;
}

/* ----------------------------------------------------------------------
   Bloc À corriger / Attention
   ---------------------------------------------------------------------- */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel{
  margin:14px 18px 12px !important;
  border:0;
  background:transparent;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel > .shadow-sm{
  overflow:hidden;
  border:1px solid rgba(55,164,195,.20);
  border-radius:20px;
  background:
    radial-gradient(500px 160px at 0 0,rgba(36,202,211,.045),transparent 70%),
    linear-gradient(180deg,rgba(250,253,254,.98),rgba(245,250,252,.96));
  box-shadow:
    0 10px 24px rgba(13,50,79,.035),
    inset 0 1px 0 rgba(255,255,255,.88) !important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .card-body{
  padding:12px;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .spacing{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  width:100%;
  margin:0 !important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:auto !important;
  max-width:none !important;
  min-height:112px;
  margin:0 !important;
  padding:52px 14px 14px !important;
  border:1px solid rgba(116,151,172,.18) !important;
  border-radius:16px;
  background:#fff !important;
  box-shadow:
    0 7px 18px rgba(15,52,81,.035),
    inset 0 1px 0 rgba(255,255,255,.95);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-75px;
  right:-55px;
  width:180px;
  height:180px;
  border-radius:50%;
  opacity:.72;
  transform:translateZ(0);
  transition:transform .35s ease,opacity .35s ease;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box:hover::before{
  transform:scale(1.08);
  opacity:.95;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box.critical{
  border-color:rgba(238,91,118,.25) !important;
  background:
    linear-gradient(135deg,rgba(255,246,248,.98),#fff 44%) !important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box.critical::before{
  background:radial-gradient(circle,rgba(239,92,117,.14),rgba(239,92,117,.035) 52%,transparent 70%);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box.attention{
  border-color:rgba(242,163,27,.28) !important;
  background:
    linear-gradient(135deg,rgba(255,250,239,.98),#fff 44%) !important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box.attention::before{
  background:radial-gradient(circle,rgba(242,163,27,.16),rgba(242,163,27,.04) 52%,transparent 70%);
}

/* Titre intégré dans la carte, au lieu du badge qui chevauche la bordure. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-legend{
  position:absolute;
  z-index:2;
  top:12px;
  left:14px;
  right:14px;
  display:flex;
  align-items:center;
  margin:0;
  transform:none;
  padding:0;
  background:transparent;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-legend .pill.title{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:30px;
  margin:0;
  padding:4px 7px 4px 4px;
  border:0 !important;
  border-radius:10px;
  background:transparent !important;
  box-shadow:none !important;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
}

/* Icône premium à gauche du titre. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-legend .pill.title::before{
  display:grid;
  width:27px;
  height:27px;
  min-width:27px;
  place-items:center;
  border-radius:9px;
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:900;
  box-shadow:0 5px 12px rgba(13,50,79,.10);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-box.critical .zoa-chip-legend .pill.title{
  color:#c9405a;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-box.critical .zoa-chip-legend .pill.title::before{
  content:"!";
  background:linear-gradient(135deg,#f46f86,#e94866);
  box-shadow:0 6px 14px rgba(233,72,102,.20);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-box.attention .zoa-chip-legend .pill.title{
  color:#b86f05;
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-box.attention .zoa-chip-legend .pill.title::before{
  content:"▲";
  background:linear-gradient(135deg,#f7bc4d,#ee9410);
  box-shadow:0 6px 14px rgba(238,148,16,.20);
  font-size:10px;
}

/* Compteur séparé et compact : on masque visuellement les parenthèses. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-legend .pill.title > span{
  display:inline-grid;
  min-width:24px;
  height:22px;
  margin-left:1px;
  padding:0 6px;
  place-items:center;
  border-radius:999px;
  font-size:0;
  font-weight:850;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel #zoa-count-critical,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel #zoa-count-warning{
  font-size:10px;
  line-height:1;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-box.critical .zoa-chip-legend .pill.title > span{
  color:#c9405a;
  background:rgba(239,92,117,.10);
  border:1px solid rgba(239,92,117,.14);
}
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-chip-box.attention .zoa-chip-legend .pill.title > span{
  color:#aa6808;
  background:rgba(242,163,27,.11);
  border:1px solid rgba(242,163,27,.16);
}

/* Puces d'éléments : moins "badge Bootstrap", plus dashboard V2. */
#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-critical,
#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-warning{
  display:flex;
  align-items:flex-start;
  align-content:flex-start;
  gap:7px;
  flex-wrap:wrap;
  margin:0;
  padding:0;
}

#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-critical :is(a,button,.pill,.badge),
#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-warning :is(a,button,.pill,.badge){
  min-height:28px;
  padding:6px 10px;
  border-radius:9px;
  font-size:10.5px;
  line-height:1;
  font-weight:750;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 3px 8px rgba(18,53,80,.025);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}

#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-critical :is(a,button,.pill,.badge){
  color:#c43e58;
  border:1px solid rgba(239,92,117,.22);
  background:#fff1f4;
}
#zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-warning :is(a,button,.pill,.badge){
  color:#b56c00;
  border:1px solid rgba(242,163,27,.24);
  background:#fff7e8;
}

@media (hover:hover) and (pointer:fine){
  #zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-critical :is(a,button,.pill,.badge):hover,
  #zoa-analyses.zoa-detail-v2 #v2-results #zoa-list-warning :is(a,button,.pill,.badge):hover{
    transform:translateY(-1px);
    box-shadow:0 5px 12px rgba(18,53,80,.07),inset 0 1px 0 rgba(255,255,255,.92);
  }
}

@media (max-width:700px){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .spacing{
    grid-template-columns:1fr;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box{
    min-height:98px;
    padding-top:50px !important;
  }
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel > .shadow-sm,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel > .shadow-sm{
  border-color:rgba(74,174,198,.18);
  background:linear-gradient(180deg,rgba(10,28,45,.95),rgba(8,23,39,.97));
}
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box{
  background:#0e2032 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box.critical,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box.critical{
  background:linear-gradient(135deg,rgba(74,30,44,.30),#0e2032 45%) !important;
}
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box.attention,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box.attention{
  background:linear-gradient(135deg,rgba(83,56,18,.26),#0e2032 45%) !important;
}




/* ======================================================================
   V2.39 — Priorités : contenu plus respirant / moins collé à gauche
   ====================================================================== */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .card-body{
  padding:14px 16px;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .spacing{
  gap:14px;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box{
  min-height:116px;
  padding:54px 24px 17px !important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-legend{
  top:14px;
  left:20px;
  right:20px;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel #zoa-list-critical,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel #zoa-list-warning{
  width:100%;
  padding:0 4px;
  gap:8px;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel #zoa-list-critical :is(a,button,.pill,.badge),
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel #zoa-list-warning :is(a,button,.pill,.badge){
  min-height:29px;
  padding:6px 11px;
  border-radius:10px;
}

/* Sur les cartes peu remplies, éviter l'impression de contenu écrasé dans le coin. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box.critical #zoa-list-critical,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box.attention #zoa-list-warning{
  align-items:center;
}

@media (max-width:900px){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box{
    padding-left:20px !important;
    padding-right:20px !important;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-legend{
    left:17px;
    right:17px;
  }
}

@media (max-width:700px){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .card-body{
    padding:10px;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-box{
    min-height:100px;
    padding:50px 16px 14px !important;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel .zoa-chip-legend{
    top:11px;
    left:14px;
    right:14px;
  }
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel #zoa-list-critical,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-priority-panel #zoa-list-warning{
  padding:0 0 0 12px;
}
}

/* ==========================================================================
   V2.40 — Focus animé après clic sur une priorité
   ========================================================================== */

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr{
  --zoa-focus-accent:var(--v2-accent,#10b8c1);
  transform-origin:center center;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr[data-sev="critical"]{
  --zoa-focus-accent:var(--results-pollutants,#ee6478);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr[data-sev="warning"]{
  --zoa-focus-accent:var(--results-nutrients,#f2a42a);
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit{
  position:relative;
  z-index:8;
  animation:zoaV2RowFocusZoom 1.18s cubic-bezier(.18,.78,.25,1) both;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit td{
  animation:zoaV2RowFocusSurface 1.18s ease-out both;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit td:first-child{
  box-shadow:
    inset 3px 0 0 var(--zoa-focus-accent),
    -7px 0 22px color-mix(in srgb,var(--zoa-focus-accent) 12%,transparent) !important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit .zoa-mini-gauge{
  animation:zoaV2GaugeFocus 1.05s ease-out both;
}

/* Mobile : le même effet est appliqué à la carte accordéon. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion details.zoa-v2-row-focus-hit{
  position:relative;
  z-index:8;
  transform-origin:center center;
  animation:zoaV2MobileFocusZoom 1.15s cubic-bezier(.18,.78,.25,1) both;
  box-shadow:
    0 0 0 2px color-mix(in srgb,var(--v2-accent,#10b8c1) 36%,transparent),
    0 14px 34px color-mix(in srgb,var(--v2-accent,#10b8c1) 14%,transparent);
}

@keyframes zoaV2RowFocusZoom{
  0%{
    transform:scale(1);
    filter:drop-shadow(0 4px 8px rgba(27,66,92,.02));
  }
  28%{
    transform:scale(1.018);
    filter:drop-shadow(0 12px 19px color-mix(in srgb,var(--zoa-focus-accent) 20%,transparent));
  }
  48%{
    transform:scale(1.012);
    filter:drop-shadow(0 9px 15px color-mix(in srgb,var(--zoa-focus-accent) 14%,transparent));
  }
  100%{
    transform:scale(1);
    filter:drop-shadow(0 4px 8px rgba(27,66,92,.022));
  }
}

@keyframes zoaV2RowFocusSurface{
  0%,100%{
    border-color:var(--v2-line,#d7e5ec);
  }
  24%,52%{
    border-color:color-mix(in srgb,var(--zoa-focus-accent) 52%,var(--v2-line,#d7e5ec));
    background:
      linear-gradient(
        90deg,
        color-mix(in srgb,var(--zoa-focus-accent) 7%,var(--v2-surface,#fff)),
        color-mix(in srgb,var(--zoa-focus-accent) 2%,var(--v2-surface,#fff)) 48%,
        var(--v2-surface,#fff)
      ) !important;
  }
}

@keyframes zoaV2GaugeFocus{
  0%,100%{
    filter:saturate(1) brightness(1);
  }
  30%,55%{
    filter:saturate(1.13) brightness(1.025);
  }
}

@keyframes zoaV2MobileFocusZoom{
  0%,100%{transform:scale(1)}
  30%{transform:scale(1.022)}
  52%{transform:scale(1.012)}
}

@media (prefers-reduced-motion:reduce){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit{
    animation:none!important;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit td{
    animation:none!important;
    border-color:color-mix(in srgb,var(--zoa-focus-accent) 45%,var(--v2-line,#d7e5ec))!important;
    background:color-mix(in srgb,var(--zoa-focus-accent) 6%,var(--v2-surface,#fff))!important;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion details.zoa-v2-row-focus-hit{
    animation:none!important;
  }
}

/* ==========================================================================
   V2.41 — Focus renforcé / spotlight sur la ligne ciblée
   ========================================================================== */

/* Pendant le focus, les autres lignes du même groupe reculent légèrement. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody.zoa-v2-focus-scope tr.zoa-row:not(.zoa-v2-row-focus-hit){
  opacity:.52;
  filter:saturate(.72) brightness(1.02);
  transition:opacity .44s ease, filter .44s ease;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-row{
  transition:
    opacity .44s ease,
    filter .44s ease,
    transform .44s ease;
}

/* La ligne ciblée reste en zoom plus longtemps avant de revenir. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit{
  z-index:12;
  animation:zoaV2RowFocusZoomHold 2.30s linear both !important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit td{
  animation:zoaV2RowFocusSurfaceHold 2.30s linear both !important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit .zoa-mini-gauge{
  animation:zoaV2GaugeFocusHold 2.22s linear both !important;
}

/* Accent lumineux à gauche de la ligne ciblée. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit td:first-child{
  position:relative;
  box-shadow:
    inset 4px 0 0 var(--zoa-focus-accent),
    -9px 0 26px color-mix(in srgb,var(--zoa-focus-accent) 22%,transparent) !important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit td:first-child::after{
  content:"";
  position:absolute;
  left:0;
  top:12%;
  bottom:12%;
  width:4px;
  border-radius:0 5px 5px 0;
  background:var(--zoa-focus-accent);
  box-shadow:
    0 0 12px color-mix(in srgb,var(--zoa-focus-accent) 70%,transparent),
    0 0 24px color-mix(in srgb,var(--zoa-focus-accent) 36%,transparent);
  animation:zoaV2FocusEdgePulse 1.05s ease-in-out 2;
}

/* Mobile : même principe de spotlight sur la carte concernée. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion.zoa-v2-focus-scope
  details.zoa-acc-item:not(.zoa-v2-row-focus-hit){
  opacity:.52;
  filter:saturate(.72);
  transition:opacity .44s ease, filter .44s ease;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion details.zoa-v2-row-focus-hit{
  animation:zoaV2MobileFocusZoomHold 2.30s linear both !important;
  box-shadow:
    0 0 0 2px color-mix(in srgb,var(--v2-accent,#10b8c1) 42%,transparent),
    0 18px 40px color-mix(in srgb,var(--v2-accent,#10b8c1) 18%,transparent) !important;
}

@keyframes zoaV2RowFocusZoomHold{
  0%{
    transform:scale(1);
    filter:drop-shadow(0 3px 6px rgba(27,66,92,.02));
    animation-timing-function:cubic-bezier(.18,.78,.25,1);
  }
  14%{
    transform:scale(1.026);
    filter:drop-shadow(0 15px 24px color-mix(in srgb,var(--zoa-focus-accent) 26%,transparent));
    animation-timing-function:linear;
  }
  64%{
    transform:scale(1.026);
    filter:drop-shadow(0 15px 24px color-mix(in srgb,var(--zoa-focus-accent) 24%,transparent));
    animation-timing-function:cubic-bezier(.22,.61,.36,1);
  }
  100%{
    transform:scale(1);
    filter:drop-shadow(0 3px 6px rgba(27,66,92,.02));
  }
}

@keyframes zoaV2RowFocusSurfaceHold{
  0%{
    background:transparent;
    animation-timing-function:cubic-bezier(.18,.78,.25,1);
  }
  14%{
    background:
      linear-gradient(
        90deg,
        color-mix(in srgb,var(--zoa-focus-accent) 12%,var(--v2-surface,#fff)),
        color-mix(in srgb,var(--zoa-focus-accent) 5%,var(--v2-surface,#fff)) 48%,
        color-mix(in srgb,var(--zoa-focus-accent) 2%,var(--v2-surface,#fff))
      ) !important;
    animation-timing-function:linear;
  }
  64%{
    background:
      linear-gradient(
        90deg,
        color-mix(in srgb,var(--zoa-focus-accent) 12%,var(--v2-surface,#fff)),
        color-mix(in srgb,var(--zoa-focus-accent) 5%,var(--v2-surface,#fff)) 48%,
        color-mix(in srgb,var(--zoa-focus-accent) 2%,var(--v2-surface,#fff))
      ) !important;
    animation-timing-function:cubic-bezier(.22,.61,.36,1);
  }
  100%{
    background:transparent;
  }
}

@keyframes zoaV2GaugeFocusHold{
  0%{
    filter:saturate(1) brightness(1);
    animation-timing-function:cubic-bezier(.18,.78,.25,1);
  }
  14%{
    filter:saturate(1.18) brightness(1.035);
    animation-timing-function:linear;
  }
  64%{
    filter:saturate(1.18) brightness(1.035);
    animation-timing-function:cubic-bezier(.22,.61,.36,1);
  }
  100%{
    filter:saturate(1) brightness(1);
  }
}

@keyframes zoaV2FocusEdgePulse{
  0%,100%{
    opacity:.72;
    transform:scaleY(.88);
  }
  50%{
    opacity:1;
    transform:scaleY(1.06);
  }
}

@keyframes zoaV2MobileFocusZoomHold{
  0%{
    transform:scale(1);
    animation-timing-function:cubic-bezier(.18,.78,.25,1);
  }
  14%{
    transform:scale(1.026);
    animation-timing-function:linear;
  }
  64%{
    transform:scale(1.026);
    animation-timing-function:cubic-bezier(.22,.61,.36,1);
  }
  100%{
    transform:scale(1);
  }
}

@media (prefers-reduced-motion:reduce){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody.zoa-v2-focus-scope tr.zoa-row:not(.zoa-v2-row-focus-hit),
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion.zoa-v2-focus-scope details.zoa-acc-item:not(.zoa-v2-row-focus-hit){
    opacity:.72;
    filter:none;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit,
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit td,
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion details.zoa-v2-row-focus-hit{
    animation:none!important;
  }
}

/* ==========================================================================
   V2.42 — La ligne focalisée passe réellement au-dessus du groupe
   ========================================================================== */

/*
 * Les cartes de catégorie utilisent overflow:hidden pour conserver leur
 * contour premium. Pendant le spotlight, on libère temporairement le contenu
 * afin que le scale de la ligne puisse dépasser du cadre sans être coupé.
 */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category.zoa-v2-category-focus{
  overflow:visible !important;
  z-index:30;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category.zoa-v2-category-focus > .card-body,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category.zoa-v2-category-focus .table-responsive,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category.zoa-v2-category-focus .zoa-v2-results-table,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category.zoa-v2-category-focus .zoa-v2-results-table tbody{
  overflow:visible !important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category.zoa-v2-category-focus .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit{
  position:relative;
  z-index:50 !important;
}

/* Le halo reste visible autour de toute la ligne, pas uniquement à gauche. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category.zoa-v2-category-focus .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit{
  filter:
    drop-shadow(0 13px 22px color-mix(in srgb,var(--zoa-focus-accent) 20%,transparent))
    drop-shadow(0 0 8px color-mix(in srgb,var(--zoa-focus-accent) 10%,transparent));
}

/* Evite qu'une catégorie voisine ne recouvre le spotlight. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category:not(.zoa-v2-category-focus){
  z-index:1;
}

/* Mobile : la carte accordéon peut elle aussi dépasser légèrement du cadre. */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category.zoa-v2-category-focus .zoa-v2-results-mobile,
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category.zoa-v2-category-focus .zoa-v2-results-accordion{
  overflow:visible !important;
}




/* ======================================================================
   V2.44 — Correctif bordure gauche du spotlight
   La ligne avait trois accents superposés : bordure de statut + inset
   + pseudo-element. On conserve une seule vraie bordure de statut et
   uniquement un halo externe pendant le focus.
   ====================================================================== */
#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit td:first-child{
  box-shadow:
    -8px 0 24px color-mix(in srgb,var(--zoa-focus-accent) 22%,transparent) !important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-table tbody tr.zoa-v2-row-focus-hit td:first-child::after{
  content:none !important;
  display:none !important;
}



/* ======================================================================
   V2.46 — Ordre de page / ancre du plan de dosage
   ====================================================================== */
#zoa-analyses.zoa-detail-v2 #v2-dosing,
#zoa-analyses.zoa-detail-v2 #v2-advanced,
#zoa-analyses.zoa-detail-v2 #v2-results,
#zoa-analyses.zoa-detail-v2 #v2-ro{
  scroll-margin-top:132px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-section{
  margin-top:18px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-section > #zoa-dosing-mount{
  margin-bottom:0!important;
}


/* ======================================================================
   V2.47 — Regroupement des graphiques en haut de page
   ====================================================================== */
#zoa-analyses.zoa-detail-v2 #v2-overview,
#zoa-analyses.zoa-detail-v2 #v2-interpretation,
#zoa-analyses.zoa-detail-v2 #v2-advanced{
  scroll-margin-top:132px;
}

/* Le bloc Moyennes & ratios suit immédiatement la synthèse visuelle. */
#zoa-analyses.zoa-detail-v2 #v2-overview + #v2-advanced,
#zoa-analyses.zoa-detail-v2 #v2-overview + .zoa-v2-legacy-card--advanced{
  margin-top:18px;
}

/* --------------------------------------------------------------------------
   Modale de correction de valeur — autonome V2
   -------------------------------------------------------------------------- */
body#module-zoaicp-router #zoaEditValueDialog:not([open]){
  display:none;
}

body#module-zoaicp-router #zoaEditValueDialog[open]{
  display:grid;
  width:auto;
  max-width:none;
  place-items:center;
  border:0;
  padding:0;
  background:transparent;
  overflow:visible;
}

body#module-zoaicp-router #zoaEditValueDialog::backdrop{
  background:rgba(2,18,32,.68);
  backdrop-filter:blur(2px);
}

body#module-zoaicp-router #zoa-edit-value-form.modal-content{
  width:min(92vw,386px);
  margin:0;
  overflow:hidden;
  border:1px solid var(--v2-line,#d7e5ec);
  border-radius:16px;
  color:var(--v2-page-ink,#102b4d);
  background:var(--v2-surface,#fff);
  box-shadow:0 24px 70px rgba(6,31,67,.24);
}

body#module-zoaicp-router #zoaEditValueDialog .modal-title{
  padding:15px 17px 12px;
  border-bottom:1px solid var(--v2-line,#d7e5ec);
  color:var(--v2-page-ink,#102b4d);
  font-size:17px;
  font-weight:900;
}

body#module-zoaicp-router #zoaEditValueDialog .modal-body{
  padding:15px 17px;
}

body#module-zoaicp-router #zoaEditValueDialog .form-group{
  margin-bottom:12px;
}

body#module-zoaicp-router #zoaEditValueDialog .sub{
  display:block;
  margin-bottom:5px;
  color:var(--v2-page-muted,#6f8296);
  font-size:11px;
  font-weight:800;
}

body#module-zoaicp-router #zoaEditValueDialog .form-control{
  width:100%;
  min-height:38px;
  border:1px solid var(--v2-line,#d7e5ec);
  border-radius:9px;
  color:var(--v2-page-ink,#102b4d);
  background:var(--v2-surface-soft,#f7fafc);
  box-shadow:none;
}

body#module-zoaicp-router #zoaEditValueDialog .checkbox{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--v2-page-muted,#6f8296);
  font-size:12px;
}

body#module-zoaicp-router #zoaEditValueDialog .modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:11px 17px 15px;
  border-top:1px solid var(--v2-line,#d7e5ec);
}

body#module-zoaicp-router #zoaEditValueDialog .modal-actions .btn{
  min-height:34px;
  padding:6px 12px;
  border-radius:9px;
  font-size:11px;
  font-weight:850;
}

body#module-zoaicp-router #zoaEditValueDialog .modal-actions .cancel{
  color:var(--v2-page-muted,#6f8296);
  border:1px solid var(--v2-line,#d7e5ec);
  background:var(--v2-surface,#fff);
}

body#module-zoaicp-router #zoaEditValueDialog .modal-actions .primary{
  color:#fff;
  border:1px solid transparent;
  background:linear-gradient(135deg,#15b7c1,#28c995);
}


/* SOURCE: views/css/v2/detail-results-mobile.css */

/* ==========================================================================
   Aqua Manager — Resultats d'analyse V2
   V2.90 — mobile

   Ce fichier est l'unique couche mobile du bloc #v2-results.
   Il reprend les proportions efficaces de la V1, avec le langage graphique V2 :
   - categories presque pleine largeur ;
   - bandeaux sombres arrondis ;
   - cartes element neutres ;
   - severite uniquement sur la colonne MESURE ;
   - jauge et actions sans chevauchement.
   ========================================================================== */

@media (max-width: 980px){
  /* La page détaillée V2 pilote elle-même le basculement table / accordéon. */
  #zoa-analyses.zoa-detail-v2 #v2-results .desktop-only{
    display:none !important;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .mobile-only{
    display:block !important;
  }


  /* Groupe categorie ------------------------------------------------------ */
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category{
    margin:0 4px 14px !important;
    padding:0;
    overflow:hidden;
    border-radius:18px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-mobile{
    width:100%;
    min-width:0;
    overflow:hidden;
    border-radius:17px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-mobile > .zoa-v2-result-category-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:10px;
    width:100%;
    min-height:60px;
    margin:0;
    padding:12px 12px 12px 15px;
    box-sizing:border-box;
    border-radius:17px 17px 0 0;
    flex-wrap:nowrap;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-mobile > .zoa-v2-result-category-head h3{
    min-width:0;
    margin:0;
    font-size:15.5px;
    line-height:1.18;
    font-weight:850;
    white-space:normal;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-mobile > .zoa-v2-result-category-head .acc-tools{
    display:flex;
    width:auto;
    min-width:0;
    margin:0;
    justify-content:flex-end;
    flex:0 0 auto;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-mobile > .zoa-v2-result-category-head .acc-tools .btn{
    display:inline-flex;
    min-width:88px;
    min-height:34px;
    padding:6px 10px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    font-size:9px;
    line-height:1;
    font-weight:850;
    letter-spacing:.055em;
    white-space:nowrap;
  }

  /* Le p-0 exterieur est volontaire : c'est le body mobile imbrique qui
     creait le retrait Bootstrap. Il doit rester sans padding. */
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-mobile > .card-body{
    padding:0 !important;
  }

  /* Liste --------------------------------------------------------------- */
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion{
    display:grid;
    gap:10px;
    padding:7px;
    background:
      linear-gradient(180deg,
        color-mix(in srgb,var(--v2-accent,#10b8c1) 1.8%,var(--v2-surface-soft,#f7fafc)),
        var(--v2-surface-soft,#f7fafc));
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zoa-acc-item{
    width:100%;
    margin:0;
    overflow:hidden;
    border:1px solid var(--v2-line,#d7e5ec);
    border-radius:14px;
    background:var(--v2-surface,#fff);
    box-shadow:0 4px 12px rgba(23,64,95,.035);
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion details[open]{
    border-color:color-mix(in srgb,var(--v2-accent,#10b8c1) 24%,var(--v2-line,#d7e5ec));
    box-shadow:0 7px 18px rgba(23,64,95,.055);
  }

  /* Resume -------------------------------------------------------------- */
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion summary.zoa-acc-sum{
    display:block;
    min-width:0;
    padding:11px 11px 12px;
    background:var(--v2-surface,#fff);
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion details[open] summary.zoa-acc-sum{
    background:linear-gradient(180deg,
      var(--v2-surface,#fff),
      color-mix(in srgb,var(--v2-accent,#10b8c1) 2%,var(--v2-surface-soft,#f7fafc)));
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zd-el-head{
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    min-width:0;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .chip.chip-el{
    width:36px;
    height:36px;
    min-width:36px;
    border-radius:10px;
    font-size:10.5px;
    font-weight:900;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zd-el-title{
    min-width:0;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zd-el-title .el-name{
    display:-webkit-box;
    min-width:0;
    overflow:hidden;
    color:var(--v2-page-ink,#102b4d);
    font-size:14.5px;
    line-height:1.2;
    font-weight:900;
    white-space:normal;
    overflow-wrap:anywhere;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zd-el-right{
    display:flex;
    align-items:center;
    gap:6px;
    flex:0 0 auto;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .range-badge{
    display:inline-flex;
    min-height: 25px;
    padding: 0px 13px;
    align-items:center;
    border-radius:999px;
    font-size: 10.5px;
    line-height:1;
    font-weight:850;
    white-space:nowrap;
  }

  /* Statuts de plage — autonomes V2. */
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .range-badge.ok{
    color:#23825f;
    border:1px solid color-mix(in srgb,var(--results-major) 38%,var(--v2-line,#d7e5ec));
    background:color-mix(in srgb,var(--results-major) 11%,var(--v2-surface,#fff));
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .range-badge.warn{
    color:#a36a10;
    border:1px solid color-mix(in srgb,var(--results-nutrients) 40%,var(--v2-line,#d7e5ec));
    background:color-mix(in srgb,var(--results-nutrients) 12%,var(--v2-surface,#fff));
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .range-badge.out,
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .range-badge.bad{
    color:#b7445a;
    border:1px solid color-mix(in srgb,var(--results-pollutants) 40%,var(--v2-line,#d7e5ec));
    background:color-mix(in srgb,var(--results-pollutants) 11%,var(--v2-surface,#fff));
  }


  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .range-badge.nd{
    opacity:1;
    color:#526a7d;
    border:1px solid color-mix(in srgb,#6f8296 28%,var(--v2-line,#d7e5ec));
    background:color-mix(in srgb,#6f8296 7%,var(--v2-surface,#fff));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .collapse-btn{
    display:grid;
    width:30px;
    height:30px;
    padding:0;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--v2-accent,#10b8c1) 42%,var(--v2-line,#d7e5ec));
    border-radius:9px;
    color:#0a8d98;
    background:color-mix(in srgb,var(--v2-accent,#10b8c1) 3%,var(--v2-surface,#fff));
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .collapse-btn svg{
    width:16px;
    height:16px;
  }

  /* Mesure -> cible ------------------------------------------------------ */
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow{
    display:grid;
    grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);
    gap:6px;
    align-items:center;
    margin-top:10px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow:not(:has(.col--target)){
    grid-template-columns:minmax(0,1fr);
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow .col{
    display:flex;
    min-width:0;
    min-height:68px;
    padding:6px 6px 5px;
    box-sizing:border-box;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px solid var(--v2-line,#d7e5ec);
    border-radius:11px;
    background:color-mix(in srgb,var(--v2-accent,#10b8c1) 1.2%,var(--v2-surface-soft,#f7fafc));
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow .col--measured{
    border-left-width:4px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow:not(:has(.col--target)) .col--measured{
    grid-column:1 / -1;
    width:100%;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow .k{
    color:var(--v2-page-muted,#6f8296);
    font-size:10.2px;
    line-height:1.1;
    font-weight:850;
    letter-spacing:.025em;
    text-align:center;
    text-transform:uppercase;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow .v{
    margin-top:2px;
    color:var(--v2-page-ink,#102b4d);
    font-size:21px;
    line-height:1.02;
    font-weight:950;
    text-align:center;
    white-space:nowrap;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow .unit{
    font-size:9.8px;
    line-height:1;
    font-weight:800;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow .arrow{
    display:grid;
    width:26px;
    height:26px;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--v2-accent,#10b8c1) 14%,var(--v2-line,#d7e5ec));
    border-radius:50%;
    color:#0a9ca5;
    background:color-mix(in srgb,var(--v2-accent,#10b8c1) 7%,var(--v2-surface,#fff));
    font-size:13px;
    font-weight:850;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .unit-button{
    margin-top:4px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-edit-inline{
    min-height:24px;
    padding:3px 7px;
    border-radius:7px;
    font-size:8.5px;
    font-weight:850;
  }

  /* Corps ouvert / jauge ------------------------------------------------- */
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-body{
    padding:7px;
    border-top:1px solid var(--v2-line,#d7e5ec);
    background:color-mix(in srgb,var(--v2-accent,#10b8c1) 1.8%,var(--v2-surface-soft,#f7fafc));
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-gauge-card{
    padding:10px 10px 7px;
    border:1px solid var(--v2-line,#d7e5ec);
    border-radius:13px;
    background:var(--v2-surface,#fff);
    box-shadow:none;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-gauge-head{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:8px;
    align-items:start;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-gauge-head .t{
    color:var(--v2-page-ink,#102b4d);
    font-size:13.5px;
    line-height:1.15;
    font-weight:900;
    white-space:nowrap;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-gauge-head .s{
    min-width:0;
    color:var(--v2-page-muted,#6f8296);
    font-size:9.8px;
    line-height:1.2;
    text-align:right;
    white-space:normal;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-gauge-card .zoa-mini-gauge{
    width:100% !important;
    height:96px !important;
    min-height:96px;
    margin:1px 0 0;
  }

  /* Actions : style desktop, mais deux boutons pleine largeur côte à côte sur mobile. */
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin-top:8px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-actions .btn{
    display:inline-flex;
    width:100% !important;
    min-width:0;
    height:32px !important;
    min-height:32px !important;
    margin:0 !important;
    padding:5px 8px !important;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    gap:5px;
    border-radius:9px !important;
    font-size:9px;
    line-height:1;
    font-weight:900;
    box-shadow:none;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-actions .btn:only-child{
    grid-column:1 / -1;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-actions .zoa-action-btn{
    color:#fff !important;
    border:1px solid transparent !important;
    background:linear-gradient(135deg,#15b7c1,#28c995) !important;
    box-shadow:0 6px 13px rgba(21,183,193,.11) !important;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-actions .zoa-info-btn{
    color:#0a9eab !important;
    border:1px solid color-mix(in srgb,var(--v2-accent,#10b8c1) 45%,var(--v2-line,#d7e5ec)) !important;
    background:color-mix(in srgb,var(--v2-accent,#10b8c1) 3%,var(--v2-surface,#fff)) !important;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-actions .zoa-cart-lottie,
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-actions [data-lottie]{
    flex:0 0 auto;
  }

}

@media (max-width: 380px){
  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-result-category{
    margin-left:2px !important;
    margin-right:2px !important;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-mobile > .zoa-v2-result-category-head{
    grid-template-columns:minmax(0,1fr) 82px;
    padding-left:12px;
    padding-right:9px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-mobile > .zoa-v2-result-category-head h3{
    font-size:14.5px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-mobile > .zoa-v2-result-category-head .acc-tools .btn{
    min-width:82px;
    padding-left:7px;
    padding-right:7px;
    font-size:8.5px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion{
    padding:5px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zd-el-head{
    grid-template-columns:36px minmax(0,1fr) auto;
    gap:6px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .range-badge{
    padding-left:6px;
    padding-right:6px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-gauge-head{
    grid-template-columns:1fr;
    gap:3px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-gauge-head .s{
    text-align:left;
  }
}

/* Dark mode --------------------------------------------------------------- */
@media (max-width: 980px){
  [data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zoa-acc-item,
  .theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .zoa-acc-item{
    background:var(--v2-surface,#0b1828);
    border-color:var(--v2-line,#223b4e);
    box-shadow:0 5px 16px rgba(0,0,0,.11);
  }

  [data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow .col,
  .theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .sum-line2--uiarrow .col{
    background:var(--v2-surface-raised,#102235);
    border-color:var(--v2-line,#223b4e);
  }

  [data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-gauge-card,
  .theme-dark #zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-accordion .acc-gauge-card{
    background:var(--v2-surface-raised,#102235);
    border-color:var(--v2-line,#223b4e);
  }
}


/* SOURCE: views/css/v2/detail-dosing.css */

﻿/* ========================================================================== 
   Aqua Manager — Analyse détaillée V2
   Plan de dosage — V2.89
   Lecture structurée + lignes interactives + hiérarchie renforcée.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Wrapper V2 : un seul niveau de card
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-section{
  margin-top:24px;
  scroll-margin-top:132px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-section > #zoa-dosing-mount,
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-mount{
  width:100%;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-dosing-card.zoa-v2-dosing-card{
  --dose-accent:#18bfc1;
  --dose-accent-2:#31cfad;
  --dose-navy:#0a4a75;
  --dose-navy-2:#0d6387;
  --dose-ok:#22b98a;
  --dose-warn:#ed9e24;
  --dose-bad:#ee5b75;
  --dose-info:#4d99d2;
  position:relative;
  overflow:hidden;
  width:100%;
  margin:0!important;
  border:1px solid var(--v2-line,#d7e5ec)!important;
  border-radius:22px!important;
  background:var(--v2-surface,#fff)!important;
  box-shadow:var(--v2-shadow,0 14px 34px rgba(23,64,95,.075))!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-dosing-card.zoa-v2-dosing-card::before{
  content:"";
  position:absolute;
  z-index:5;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,#24c9c3 0%,#56d8c2 52%,#6fa9ea 100%);
  pointer-events:none;
}

/* --------------------------------------------------------------------------
   En-tête
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card > .zoa-dosing-header-actions{
  position:relative;
  z-index:2;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-height:90px;
  margin:0!important;
  padding:18px 22px 16px!important;
  border:0!important;
  border-bottom:1px solid rgba(99,224,210,.18)!important;
  border-radius:0!important;
  background:radial-gradient(430px 155px at 100% 0%,rgba(68,220,211,.13),transparent 72%),radial-gradient(330px 180px at 0 100%,rgba(28,139,195,.10),transparent 72%),linear-gradient(122deg,var(--detail-navy,#07386b),var(--detail-ocean,#0c5f91))!important;
  box-shadow:none!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-v2-dosing-head-icon{
  display:grid!important;
  place-items:center!important;
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  border:1px solid rgba(99,224,210,.34)!important;
  border-radius:14px!important;
  color:#ffffff!important;
  background:rgba(255,255,255,.07)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 6px 16px rgba(3,32,61,.10)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .header-card-left{
  min-width:0;
  flex:1 1 420px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-v2-section-head-kicker{
  margin-bottom:4px!important;
  color:#63e0d2!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.095em!important;
  text-transform:uppercase!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-v2-section-head-title{
  color:#ffffff!important;
  font-size:22px!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-v2-section-head-subtitle{
  margin-top:5px!important;
  color:rgba(255,255,255,.72)!important;
  font-size:12px!important;
  line-height:1.4!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .header-card-right{
  margin-left:auto;
  flex:0 0 auto;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-plan-cart-action-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-add-plan-cart-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:11px!important;
  color:#063f5b!important;
  background:linear-gradient(135deg,#54ddd0,#21c887)!important;
  box-shadow:0 8px 20px rgba(23,190,170,.16)!important;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
  text-transform:uppercase;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-add-plan-cart-btn:hover{
  transform:translateY(-1px);
  filter:saturate(1.04);
  box-shadow:0 10px 24px rgba(23,190,170,.22)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-cart-feedback-slot,
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-row-cart-feedback-slot{
  min-height:0;
}

/* --------------------------------------------------------------------------
   Contenu + filtres
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card > .card-content{
  padding:14px 16px 18px!important;
  background:var(--v2-surface,#fff)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-dosing-filters-wrap{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 13px!important;
  padding:7px!important;
  border:1px solid var(--v2-line,#d7e5ec)!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--dose-accent) 2.2%,var(--v2-surface-soft,#f7fafc))!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-dosing-filters-label{
  padding-left:5px;
  color:var(--v2-page-muted,#6c8092)!important;
  font-size:9.75px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  white-space:nowrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-dosing-filters{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  width:100%!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-dosing-filters .btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid var(--v2-line,#d7e5ec)!important;
  border-radius:9px!important;
  color:var(--v2-page-muted,#63798d)!important;
  background:var(--v2-surface,#fff)!important;
  box-shadow:none!important;
  font-size:9.75px!important;
  font-weight:900!important;
  transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-dosing-filters .btn:hover{
  border-color:color-mix(in srgb,var(--dose-accent) 36%,var(--v2-line,#d7e5ec))!important;
  color:var(--dose-navy)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-dosing-filters .btn.is-active{
  border-color:color-mix(in srgb,var(--dose-accent) 58%,var(--v2-line,#d7e5ec))!important;
  color:#087f88!important;
  background:color-mix(in srgb,var(--dose-accent) 7%,var(--v2-surface,#fff))!important;
  box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--dose-accent) 58%,transparent)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-dosing-filters .count{
  display:inline-grid!important;
  place-items:center;
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-radius:999px;
  color:inherit!important;
  background:color-mix(in srgb,currentColor 8%,transparent)!important;
  font-size:8.75px!important;
  font-weight:900!important;
}

/* --------------------------------------------------------------------------
   Cartes de dosage — résumé compact
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-list{
  display:grid!important;
  gap:13px!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-row.zoa-dosing-row{
  position:relative;
  display:block;
  overflow:visible;
  margin:0!important;
  padding:0!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  background:
    radial-gradient(430px 130px at 0 0,color-mix(in srgb,var(--dose-accent) 10%,transparent),transparent 72%) padding-box,
    linear-gradient(102deg,color-mix(in srgb,var(--dose-accent) 11%,var(--v2-surface,#fff)),color-mix(in srgb,var(--dose-navy) 5.5%,var(--v2-surface,#fff)) 66%,color-mix(in srgb,var(--dose-accent) 4%,var(--v2-surface,#fff))) padding-box,
    linear-gradient(180deg,#062b58 0%,#0a4a75 34%,#0b638d 68%,#45d3bc 100%) border-box!important;
  box-shadow:0 7px 20px rgba(10,74,117,.12),inset 0 1px 0 rgba(255,255,255,.72)!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-row.zoa-dosing-row:hover{
  transform:translateY(-1px);
  border-color:transparent!important;
  box-shadow:0 10px 24px rgba(10,74,117,.11)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-row.zoa-dosing-row.is-expanded{
  border-color:transparent!important;
  box-shadow:0 13px 30px rgba(20,78,108,.085)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-row.zoa-dosing-row::after{
  content:none;
  display:none;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-main{
  position:relative;
  z-index:2;
  display:grid!important;
  grid-template-columns:minmax(340px,1fr) auto!important;
  gap:20px!important;
  align-items:center!important;
  width:100%;
  min-width:0;
  min-height:92px;
  box-sizing:border-box;
  padding:14px 15px 13px 16px!important;
  border-radius:14px!important;
  background:
    linear-gradient(100deg,color-mix(in srgb,var(--dose-accent) 12%,var(--v2-surface,#fff)),color-mix(in srgb,var(--dose-navy) 5%,var(--v2-surface,#fff)) 58%,color-mix(in srgb,var(--dose-accent) 3.5%,var(--v2-surface,#fff)))!important;
  cursor:pointer;
  transition:background .18s ease,border-radius .18s ease,box-shadow .18s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-row.is-expanded .zd-main{
  border-radius:14px 14px 0 0!important;
  background:
    linear-gradient(100deg,color-mix(in srgb,var(--dose-accent) 7%,var(--v2-surface,#fff)),color-mix(in srgb,var(--dose-navy) 3%,var(--v2-surface,#fff)) 68%,var(--v2-surface,#fff))!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-main:focus-visible{
  outline:2px solid color-mix(in srgb,var(--dose-accent) 62%,#fff);
  outline-offset:-3px;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--dose-accent) 28%,transparent);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-main:hover{
  background:
    linear-gradient(100deg,color-mix(in srgb,var(--dose-accent) 6.5%,var(--v2-surface,#fff)),color-mix(in srgb,var(--dose-navy) 2.5%,var(--v2-surface,#fff)) 60%,var(--v2-surface,#fff))!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-main-left{
  min-width:0;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-head{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-width:0;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .chip.chip-el{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  padding:0!important;
  border:1px solid #6fd4df!important;
  border-radius:11px!important;
  color:#08758d!important;
  background:linear-gradient(145deg,#f2fdff 0%,#def6fa 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 3px 9px rgba(1,74,105,.12)!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-title{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px 7px!important;
  min-width:0;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-title .el-name{
  color:var(--v2-page-ink,#102d50)!important;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:950!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-title .delta{
  display:inline-flex!important;
  align-items:center!important;
  min-height:21px!important;
  padding:0 7px!important;
  border:1px solid color-mix(in srgb,var(--dose-navy) 12%,var(--v2-line,#d7e5ec))!important;
  border-radius:999px!important;
  color:var(--v2-page-muted,#687e90)!important;
  background:color-mix(in srgb,var(--dose-navy) 2.6%,var(--v2-surface,#fff))!important;
  font-size:10.25px!important;
  line-height:1!important;
  font-weight:850!important;
  white-space:nowrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .range-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
  padding:0 8px!important;
  border:1px solid var(--v2-line,#d7e5ec)!important;
  border-radius:999px!important;
  font-size:8.75px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .range-badge.out{
  color:#d93355!important;
  border-color:#f1b9c5!important;
  background:#fff1f4!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .range-badge.in{
  color:#557487!important;
  border-color:#d8e5eb!important;
  background:#f4f8fa!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-product{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  width:max-content;
  max-width:calc(100% - 49px);
  margin:8px 0 0 49px!important;
  padding:5px 6px 5px 8px!important;
  min-width:0;
  border:1px solid color-mix(in srgb,var(--dose-accent) 24%,var(--v2-line,#d7e5ec))!important;
  border-radius:9px!important;
  color:var(--v2-page-muted,#647a8d)!important;
  background:color-mix(in srgb,var(--dose-accent) 4%,var(--v2-surface,#fff))!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-product-label{
  flex:0 0 auto;
  padding-right:7px;
  border-right:1px solid color-mix(in srgb,var(--dose-navy) 11%,var(--v2-line,#d7e5ec));
  color:#0b919b;
  font-size:8px;
  line-height:1;
  font-weight:950;
  letter-spacing:.065em;
  text-transform:uppercase;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-product .prod-text{
  min-width:0;
  max-width:640px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:color-mix(in srgb,var(--v2-page-ink,#102d50) 80%,var(--v2-page-muted,#60788c))!important;
  font-size:11.75px!important;
  line-height:1.35!important;
  font-weight:760!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-cart-mini-btn,
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-action-btn{
  flex:0 0 auto;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-cart-mini-btn{
  display:inline-grid!important;
  place-items:center!important;
  width:29px!important;
  min-width:29px!important;
  height:29px!important;
  padding:0!important;
  border:1px solid color-mix(in srgb,var(--dose-accent) 38%,var(--v2-line,#d7e5ec))!important;
  border-radius:8px!important;
  color:#0b8095!important;
  background:var(--v2-surface,#fff)!important;
  box-shadow:none!important;
  transition:background .16s ease,transform .16s ease,border-color .16s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-cart-mini-btn:hover{
  transform:translateY(-1px);
  border-color:var(--dose-accent)!important;
  background:color-mix(in srgb,var(--dose-accent) 6%,var(--v2-surface,#fff))!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .prod-note{
  margin:6px 0 0 49px!important;
  color:var(--v2-page-muted,#6d8193)!important;
  font-size:10.5px!important;
}

/* KPI : valeur d'abord, libellé ensuite */
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-main-right{
  display:grid!important;
  grid-template-columns:auto auto auto!important;
  gap:10px!important;
  align-items:center!important;
  justify-content:end!important;
  min-width:0;
  padding-left:20px;
  border-left:1px solid color-mix(in srgb,var(--dose-navy) 12%,var(--v2-line,#d7e5ec));
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpis-wrap{
  min-width:0;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpis{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(82px,1fr))!important;
  gap:0!important;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--dose-accent) 20%,var(--v2-line,#d7e5ec))!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--dose-navy) 4.5%,var(--v2-surface-soft,#f7fafc))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.58)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpi{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:82px!important;
  min-height:54px!important;
  padding:8px 12px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  text-align:center!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpi + .zd-kpi{
  border-left:1px solid var(--v2-line,#d7e5ec)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpi-value{
  order:1;
  color:var(--v2-page-ink,#102d50)!important;
  font-size:13.5px!important;
  line-height:1.12!important;
  font-weight:950!important;
  white-space:nowrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpi-label{
  order:2;
  margin:3px 0 0!important;
  color:var(--v2-page-muted,#718496)!important;
  font-size:8.5px!important;
  line-height:1.05!important;
  font-weight:800!important;
  letter-spacing:.015em!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpi-note{
  margin-top:5px!important;
  color:var(--v2-page-muted,#718496)!important;
  font-size:9.5px!important;
  line-height:1.2!important;
  text-align:right!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-prio{
  display:flex!important;
  align-items:center!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-prio .icp-meta-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:31px!important;
  padding:0 10px!important;
  border:1px solid color-mix(in srgb,var(--dose-accent) 34%,var(--v2-line,#d7e5ec))!important;
  border-radius:999px!important;
  color:var(--dose-navy)!important;
  background:color-mix(in srgb,var(--dose-accent) 6%,var(--v2-surface,#fff))!important;
  font-size:8.75px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  white-space:nowrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-prio .icp-meta-badge .dot{display:none!important}

/* Chevron intégré au résumé */
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-collapse-trigger{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin:0!important;
  padding:0!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:auto!important;
  min-width:74px!important;
  height:38px!important;
  padding:0 10px 0 12px!important;
  border:1px solid color-mix(in srgb,var(--dose-accent) 52%,var(--v2-line,#d7e5ec))!important;
  border-radius:10px!important;
  color:#087d91!important;
  background:color-mix(in srgb,var(--dose-accent) 7%,var(--v2-surface,#fff))!important;
  box-shadow:none!important;
  font-size:9.5px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--dose-accent) 62%,var(--v2-line,#d7e5ec))!important;
  background:color-mix(in srgb,var(--dose-accent) 7%,var(--v2-surface,#fff))!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn .collapse-label-open{display:none}
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn[aria-expanded="true"] .collapse-label-open{display:inline}
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn[aria-expanded="true"] .collapse-label-closed{display:none}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn .dosing-chevron{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
  transition:transform .2s cubic-bezier(.22,.72,.2,1);
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn[aria-expanded="true"]{
  color:#fff!important;
  border-color:var(--dose-navy)!important;
  background:linear-gradient(145deg,var(--dose-navy),var(--dose-navy-2))!important;
  box-shadow:0 7px 16px rgba(10,74,117,.14)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn[aria-expanded="true"] .dosing-chevron{
  transform:rotate(180deg);
}

/* --------------------------------------------------------------------------
   Tiroir de suivi : zone clairement distincte
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .row-expand{
  position:relative;
  z-index:1;
  display:block!important;
  flex:none!important;
  clear:both;
  overflow-anchor:none;
  backface-visibility:visible;
  transform:none!important;
  transition:max-height .26s cubic-bezier(.22,.78,.3,1),opacity .18s ease!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  box-sizing:border-box;
  margin:0!important;
  padding:0!important;
  border-top:1px solid rgba(94,224,216,.42)!important;
  border-radius:0 0 14px 14px!important;
  background:linear-gradient(145deg,#073d68 0%,var(--dose-navy) 54%,var(--dose-navy-2) 100%)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .row-expand::before{
  content:"";
  position:absolute;
  top:0;
  left:16px;
  right:16px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#63e4d7,var(--dose-accent-2),rgba(255,255,255,0) 88%);
  opacity:.82;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .row-expand-inner{
  position:relative;
  transform:none!important;
  box-sizing:border-box;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:16px 16px 15px!important;
  border-radius:0 0 13px 13px!important;
  color:#fff;
  background:
    radial-gradient(460px 190px at 0 0,rgba(48,209,202,.16),transparent 70%),
    radial-gradient(360px 180px at 100% 0,rgba(111,169,234,.13),transparent 72%),
    linear-gradient(145deg,rgba(4,52,91,.94),rgba(10,74,117,.96) 54%,rgba(13,99,135,.96))!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-progress{
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  border-top:0!important;
  display:block!important;
  gap:0!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-progress-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:10px!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-progress-title{
  color:#fff!important;
  font-size:13.5px!important;
  line-height:1.3!important;
  font-weight:950!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-progress-title::before{
  content:"PROGRESSION DU PLAN";
  display:block;
  margin-bottom:3px;
  color:#62e2d5;
  font-size:8px;
  line-height:1;
  font-weight:950;
  letter-spacing:.09em;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dose-remaining{
  display:flex!important;
  align-items:baseline!important;
  gap:4px!important;
  min-height:34px;
  padding:6px 10px!important;
  border:1px solid rgba(199,235,246,.24)!important;
  border-radius:9px!important;
  color:rgba(232,246,251,.82)!important;
  background:rgba(255,255,255,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
  font-size:11.5px!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dose-remaining .dr-label{
  color:rgba(222,242,249,.72)!important;
  font-size:10.75px!important;
  font-weight:850!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dose-remaining .dr-value{
  color:#fff!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:950!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dose-remaining .dr-unit{
  color:rgba(222,242,249,.72)!important;
  font-size:11px!important;
  font-weight:850!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-gauge{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 54px!important;
  gap:9px!important;
  align-items:center!important;
  margin-bottom:12px!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-gauge-track{
  position:relative!important;
  height:16px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(199,235,246,.22)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.13)!important;
  box-shadow:inset 0 1px 3px rgba(0,29,53,.18),inset 0 1px 0 rgba(255,255,255,.05)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-gauge-fill{
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#2bd1aa 0%,#18c49e 52%,#0fba96 100%)!important;
  box-shadow:0 0 12px rgba(43,209,170,.20),inset 0 1px 0 rgba(255,255,255,.22)!important;
  transition:width .38s cubic-bezier(.22,.72,.2,1)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-gauge-percent{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:46px!important;
  min-height:31px!important;
  padding:0 8px!important;
  border:1px solid rgba(100,226,216,.36)!important;
  border-radius:999px!important;
  color:#fff!important;
  background:rgba(255,255,255,.11)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:950!important;
  text-align:center!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-days{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin-top:14px!important;
  padding-top:12px!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-days-head{
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 8px!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-days-kicker{
  color:#fff!important;
  font-size:11.5px!important;
  line-height:1.2!important;
  font-weight:900!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-days-hint{
  color:rgba(229,244,251,.74)!important;
  font-size:9.5px!important;
  line-height:1.25!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-days__strip{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(112px,1fr))!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  justify-content:stretch!important;
  text-align:left!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card label.zd-day{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  cursor:pointer;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-day__check{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-day__pill{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:7px!important;
  min-height:42px!important;
  padding:7px 9px!important;
  border:1px solid rgba(199,235,246,.22)!important;
  border-radius:10px!important;
  color:#f5fbfd!important;
  background:rgba(255,255,255,.09)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-day__left{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-day__j{
  display:inline-grid!important;
  place-items:center!important;
  min-width:27px!important;
  height:24px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  color:rgba(232,246,251,.82)!important;
  background:rgba(255,255,255,.10)!important;
  font-size:9.25px!important;
  font-weight:900!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-day__dose{
  color:#fff!important;
  font-size:10.25px!important;
  font-weight:950!important;
  white-space:nowrap;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-day__state{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:27px!important;
  padding:0 9px!important;
  border:1px solid rgba(199,235,246,.24)!important;
  border-radius:999px!important;
  color:rgba(235,248,252,.90)!important;
  background:rgba(255,255,255,.075)!important;
  font-size:10.25px!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-day__done{display:none}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card label.zd-day.is-checked .zd-day__pill{
  border-color:rgba(84,226,180,.54)!important;
  background:rgba(38,196,151,.18)!important;
  box-shadow:inset 0 0 0 1px rgba(84,226,180,.08),inset 0 1px 0 rgba(255,255,255,.04)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card label.zd-day.is-checked .zd-day__state{
  border-color:rgba(84,226,180,.58)!important;
  color:#93f3d0!important;
  background:rgba(38,196,151,.14)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card label.zd-day.is-checked .zd-day__todo{display:none}
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card label.zd-day.is-checked .zd-day__done{display:inline;color:#93f3d0!important}

/* --------------------------------------------------------------------------
   Archives
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-archived-block{
  margin-top:16px!important;
  padding-top:15px!important;
  border-top:1px dashed var(--v2-line,#d7e5ec)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .arch-header{
  margin-bottom:9px!important;
  padding:0 2px!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .arch-header .title{
  color:var(--v2-page-ink,#102d50)!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:950!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .arch-header .sub{
  margin-top:3px!important;
  color:var(--v2-page-muted,#6d8193)!important;
  font-size:10.75px!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-archive-list{
  display:grid!important;
  gap:7px!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-archive-row,
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-row.archived{
  display:grid!important;
  grid-template-columns:70px minmax(0,1fr) 110px auto!important;
  gap:10px!important;
  align-items:center!important;
  padding:10px 11px!important;
  border:1px solid var(--v2-line,#d7e5ec)!important;
  border-radius:11px!important;
  background:var(--v2-surface-soft,#f7fafc)!important;
  color:var(--v2-page-muted,#657b8e)!important;
  box-shadow:none!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-archive-row .prod-name,
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-row.archived .prod-name{
  color:var(--v2-page-ink,#102d50)!important;
  font-size:11.5px!important;
  font-weight:900!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-archive-row .prod-sub,
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-row.archived .prod-sub{
  margin-top:2px!important;
  color:var(--v2-page-muted,#728597)!important;
  font-size:9.75px!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-archive-row .cell.total,
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-row.archived .cell.total{
  color:var(--v2-page-ink,#102d50)!important;
  font-size:11.5px!important;
  font-weight:950!important;
  text-align:right!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .js-unarchive-dose{
  min-height:31px!important;
  padding:0 10px!important;
  border:1px solid #e7bcc5!important;
  border-radius:9px!important;
  color:#b53c54!important;
  background:var(--v2-surface,#fff)!important;
  font-size:9.5px!important;
  font-weight:900!important;
}

/* --------------------------------------------------------------------------
   États / animations
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .alert-bloc.empty{
  margin:0!important;
  padding:18px!important;
  border:1px dashed var(--v2-line,#d7e5ec)!important;
  border-radius:12px!important;
  color:var(--v2-page-muted,#6d8193)!important;
  background:var(--v2-surface-soft,#f7fafc)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-pop{animation:zoaV2DosePop .28s ease}
@keyframes zoaV2DosePop{
  0%{transform:scale(.96);opacity:.72}
  65%{transform:scale(1.035)}
  100%{transform:scale(1);opacity:1}
}

/* --------------------------------------------------------------------------
   Dark mode
   -------------------------------------------------------------------------- */

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .range-badge.out,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .range-badge.out{
  color:#ff91a5!important;
  border-color:#6b3644!important;
  background:#341d29!important;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .range-badge.in,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .range-badge.in{
  color:#b1c3cf!important;
  border-color:#31495b!important;
  background:#122638!important;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-add-plan-cart-btn,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-add-plan-cart-btn{color:#062f42!important}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn{
  color:#fff!important;
  border-color:rgba(99,224,210,.52)!important;
  background:linear-gradient(145deg,#0a496d,#0b3758)!important;
  box-shadow:0 4px 12px rgba(0,0,0,.15)!important;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn:hover,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn:hover{
  color:#fff!important;
  border-color:rgba(111,232,222,.72)!important;
  background:linear-gradient(145deg,#0b547a,#0c4162)!important;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn .collapse-label,
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn .dosing-chevron,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn .collapse-label,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn .dosing-chevron{
  color:#fff!important;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-prio .icp-meta-badge,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-prio .icp-meta-badge{
  color:#8edce0!important;
  border-color:#2c596b!important;
  background:#10283a!important;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card label.zd-day.is-checked .zd-day__pill,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card label.zd-day.is-checked .zd-day__pill{
  border-color:#286455!important;
  background:#102c2a!important;
}

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card label.zd-day.is-checked .zd-day__done,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card label.zd-day.is-checked .zd-day__done{color:#78ddb1!important}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width:1120px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-main{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-main-right{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    padding-left:49px;
    border-left:0;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media (max-width:760px){
  /* ----------------------------------------------------------------------
     Mobile V2.76 — une vraie fiche compacte, sans héritage desktop forcé
     ---------------------------------------------------------------------- */

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-section{
    margin-top:16px;
    scroll-margin-top:102px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-dosing-card.zoa-v2-dosing-card{
    border-radius:16px!important;
  }

  /* Header */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card > .zoa-dosing-header-actions{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:10px 11px!important;
    align-items:center!important;
    min-height:0!important;
    padding:14px 12px 12px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-v2-dosing-head-icon{
    grid-column:1;
    grid-row:1;
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
    border-radius:11px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .header-card-left{
    grid-column:2;
    grid-row:1;
    min-width:0!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-v2-section-head-kicker{
    margin-bottom:3px!important;
    font-size:8.5px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-v2-section-head-title{
    font-size:18px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-v2-section-head-subtitle{
    margin-top:4px!important;
    font-size:10.5px!important;
    line-height:1.35!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .header-card-right{
    grid-column:1 / -1;
    grid-row:2;
    width:100%!important;
    margin:0!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-plan-cart-action-wrap{
    width:100%!important;
    align-items:stretch!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-add-plan-cart-btn{
    width:100%!important;
    min-height:38px!important;
    padding:0 12px!important;
    border-radius:10px!important;
    font-size:9px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card > .card-content{
    padding:9px!important;
  }

  /* Filtres : le filtre principal sur une ligne, les deux autres dessous. */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-dosing-filters-wrap{
    grid-template-columns:1fr!important;
    gap:6px!important;
    margin-bottom:9px!important;
    padding:7px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-dosing-filters-label{
    padding:1px 2px!important;
    font-size:8.75px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-dosing-filters{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
    overflow:visible!important;
    padding:0!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-dosing-filters .btn{
    min-width:0!important;
    min-height:32px!important;
    padding:0 8px!important;
    font-size:8.5px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zoa-dosing-filters .btn:first-child{
    grid-column:1 / -1;
  }

  /* Liste / carte */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-list{
    gap:13px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-row.zoa-dosing-row{
    display:block;
    border-radius:14px!important;
    border-color:transparent!important;
    background:
      linear-gradient(155deg,color-mix(in srgb,var(--dose-accent) 8%,var(--v2-surface,#fff)),color-mix(in srgb,var(--dose-navy) 4.5%,var(--v2-surface,#fff)) 72%) padding-box,
      linear-gradient(180deg,#062b58 0%,#0a4a75 34%,#0b638d 68%,#45d3bc 100%) border-box!important;
    box-shadow:0 8px 20px rgba(10,74,117,.11),0 1px 0 rgba(255,255,255,.8) inset!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-row.zoa-dosing-row:hover{
    transform:none!important;
  }

  /* Résumé : empilement logique en 2 étages */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-main{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    padding:0 11px 11px!important;
    border-radius:13px!important;
    background:linear-gradient(180deg,color-mix(in srgb,var(--dose-accent) 3%,var(--v2-surface,#fff)),color-mix(in srgb,var(--dose-navy) 2.5%,var(--v2-surface,#fff)))!important;
    cursor:pointer;
    touch-action:manipulation;
    overflow:hidden;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-main-left{
    min-width:0!important;
    padding:0 0 10px!important;
    border-bottom:1px solid color-mix(in srgb,var(--dose-accent) 30%,var(--v2-line,#d7e5ec))!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-head{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) minmax(62px,auto)!important;
    grid-template-areas:
      "chip name range"
      "chip delta range"!important;
    column-gap:9px!important;
    row-gap:5px!important;
    align-items:center!important;
    margin:0 -11px 0!important;
    padding:10px 12px 10px 11px!important;
    border-radius:13px 13px 0 0!important;
    background:
      radial-gradient(220px 110px at 104% -8%,rgba(71,225,215,.18),transparent 64%),
      radial-gradient(170px 95px at 74% 112%,rgba(24,145,197,.14),transparent 70%),
      linear-gradient(136deg,#062b58 0%,#083e70 58%,#0b638d 100%)!important;
    box-shadow:inset 0 -1px 0 rgba(255,255,255,.10);
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .chip.chip-el{
    grid-area:chip!important;
    align-self:center!important;
    justify-self:start!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    border-radius:10px!important;
    border-color:#6fd4df!important;
    color:#08758d!important;
    background:linear-gradient(145deg,#f2fdff 0%,#def6fa 100%)!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-title{
    display:contents!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-title .el-name{
    grid-area:name!important;
    align-self:end!important;
    justify-self:stretch!important;
    width:100%!important;
    color:#fff!important;
    font-size:14.5px!important;
    line-height:1.2!important;
    font-weight:950!important;
    text-align:center!important;
    text-shadow:0 1px 1px rgba(0,31,54,.22);
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-title .delta{
    grid-area:delta!important;
    align-self:start!important;
    justify-self:center!important;
    min-height:20px!important;
    padding:0 7px!important;
    border:1px solid rgba(255,255,255,.28)!important;
    border-radius:999px!important;
    color:#d9f5f7!important;
    background:rgba(255,255,255,.08)!important;
    font-size:8.75px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .range-badge{
    grid-area:range!important;
    align-self:center!important;
    justify-self:end!important;
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    transform:none!important;
    min-height:20px!important;
    margin:0!important;
    padding:0 7px!important;
    font-size:8px!important;
    box-shadow:0 2px 8px rgba(0,28,50,.14)!important;
  }

  /* Produit : vrai sous-bloc pleine largeur, plus de marge héritée à gauche. */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-product{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) 32px 32px!important;
    gap:6px!important;
    align-items:center!important;
    width:100%!important;
    max-width:none!important;
    margin:10px 0 0!important;
    padding:7px 7px 7px 9px!important;
    border:1px solid color-mix(in srgb,var(--dose-accent) 42%,var(--v2-line,#d7e5ec))!important;
    border-radius:10px!important;
    background:linear-gradient(100deg,color-mix(in srgb,var(--dose-accent) 10%,var(--v2-surface,#fff)),color-mix(in srgb,var(--dose-navy) 3%,var(--v2-surface,#fff)))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 3px 8px rgba(9,86,116,.04)!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-product-label{
    font-size:7.25px!important;
    white-space:nowrap!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-product .prod-text{
    min-width:0!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    color:var(--v2-page-ink,#102d50)!important;
    font-size:10.25px!important;
    line-height:1.3!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-product .zoa-cart-mini-btn{
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    margin:0!important;
    padding:0!important;
    border-radius:8px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .prod-note{
    margin:7px 0 0!important;
    font-size:9.5px!important;
  }

  /* KPI : une seule rangée, puis priorité + suivi en pied. */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-main-right{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "kpis kpis"
      "prio trigger"!important;
    gap:8px 8px!important;
    align-items:center!important;
    margin-top:10px!important;
    padding:0!important;
    border:0!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpis-wrap{
    grid-area:kpis!important;
    min-width:0!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpis{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0!important;
    width:100%!important;
    overflow:hidden!important;
    padding:0!important;
    border:1px solid color-mix(in srgb,var(--dose-accent) 36%,var(--v2-line,#d7e5ec))!important;
    border-radius:10px!important;
    background:linear-gradient(180deg,color-mix(in srgb,var(--dose-navy) 8%,var(--v2-surface,#fff)),color-mix(in srgb,var(--dose-accent) 5%,var(--v2-surface,#fff)))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.68)!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpi{
    min-width:0!important;
    min-height:48px!important;
    padding:7px 4px 6px!important;
    border:0!important;
    border-right:1px solid color-mix(in srgb,var(--dose-navy) 8%,var(--v2-line,#d7e5ec))!important;
    border-radius:0!important;
    background:transparent!important;
    text-align:center!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpi:last-child{
    border-right:0!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpi-value{
    font-size:11px!important;
    line-height:1.12!important;
    white-space:nowrap!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpi-label{
    margin-top:2px!important;
    font-size:7.25px!important;
    line-height:1.1!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpi-note{
    margin:5px 0 0!important;
    color:var(--v2-page-muted,#708496)!important;
    font-size:8.5px!important;
    line-height:1.3!important;
    text-align:center!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-prio{
    grid-area:prio!important;
    min-width:0!important;
    margin:0!important;
    justify-self:start!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-prio .desktop-only{
    display:inline-flex!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-prio .icp-meta-badge{
    min-height:29px!important;
    padding:0 9px!important;
    font-size:8px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-collapse-trigger{
    grid-area:trigger!important;
    justify-self:end!important;
    align-self:center!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    width:auto!important;
    min-width:82px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 8px 0 10px!important;
    border:1px solid color-mix(in srgb,var(--dose-accent) 56%,var(--v2-line,#d7e5ec))!important;
    border-radius:9px!important;
    color:#08637b!important;
    background:linear-gradient(135deg,color-mix(in srgb,var(--dose-accent) 12%,var(--v2-surface,#fff)),color-mix(in srgb,var(--dose-navy) 5%,var(--v2-surface,#fff)))!important;
    box-shadow:0 3px 8px rgba(10,90,120,.06)!important;
    font-size:8.75px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn .collapse-label{
    display:inline!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn .collapse-label-open{display:none!important}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn[aria-expanded="true"] .collapse-label-open{display:inline!important}
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn[aria-expanded="true"] .collapse-label-closed{display:none!important}

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn .dosing-chevron{
    width:14px!important;
    height:14px!important;
  }

  /* Tiroir mobile */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .row-expand{
    border-radius:0 0 12px 12px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .row-expand::before{
    left:11px!important;
    right:11px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .row-expand-inner{
    margin:0!important;
    padding:11px 10px 12px!important;
    border-radius:0 0 11px 11px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-progress-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    align-items:start!important;
    margin-bottom:9px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-progress-title{
    min-width:0!important;
    font-size:12.5px!important;
    line-height:1.25!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-progress-title::before{
    margin-bottom:3px!important;
    font-size:7.5px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dose-remaining{
    justify-self:end!important;
    min-height:34px!important;
    padding:6px 8px!important;
    white-space:nowrap!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dose-remaining .dr-label{
    font-size:9.25px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dose-remaining .dr-value{
    font-size:15px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dose-remaining .dr-unit{
    font-size:9.5px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-gauge{
    grid-template-columns:minmax(0,1fr) 48px!important;
    gap:7px!important;
    margin-bottom:11px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-gauge-track{
    height:14px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-gauge-percent{
    min-width:44px!important;
    min-height:30px!important;
    padding:0 6px!important;
    font-size:13px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-days{
    margin-top:11px!important;
    padding-top:10px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-days-head{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    flex-direction:row!important;
    gap:8px!important;
    margin-bottom:7px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-days-kicker{
    font-size:10.75px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-days-hint{
    display:none!important;
  }

  /* Plus de rail horizontal : 2 colonnes lisibles et compactes. */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-days__strip{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card label.zd-day{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    flex:none!important;
    margin:0!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card label.zd-day:only-child{
    grid-column:1 / -1!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-day__pill{
    min-height:42px!important;
    padding:6px 7px!important;
    border-radius:9px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-day__left{
    gap:5px!important;
    min-width:0!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-day__j{
    min-width:27px!important;
    height:24px!important;
    padding:0 6px!important;
    font-size:9.5px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-day__dose{
    font-size:10.5px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-day__state{
    min-height:28px!important;
    padding:0 9px!important;
    font-size:10px!important;
  }

  /* Archives */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-archive-row,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-row.archived{
    grid-template-columns:1fr!important;
    gap:7px!important;
    padding:10px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-archive-row .cell.total,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dosing-row.archived .cell.total{
    text-align:left!important;
  }
}

@media (max-width:390px){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-main{
    padding:0 11px 11px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-product{
    grid-template-columns:auto minmax(0,1fr) 30px 30px!important;
    gap:5px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-el-product .zoa-cart-mini-btn{
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-kpi-value{
    font-size:10.25px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-prio .icp-meta-badge{
    min-height:28px!important;
    padding:0 8px!important;
    font-size:7.75px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .collapse-btn{
    min-width:78px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-progress-head{
    grid-template-columns:1fr!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .dose-remaining{
    justify-self:end!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card .zd-days-head{
    display:block!important;
  }
}

@media (prefers-reduced-motion:reduce){
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card *,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card *::before,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}


/* SOURCE: views/css/v2/detail-section-unified.css */

/* ========================================================================== 
   Aqua Manager — Analyse détaillée V2
   Harmonisation globale des grandes sections — V2.75

   Ce fichier est volontairement une couche FINALE et courte :
   - géométrie commune des grandes cartes ;
   - bordure premium haute ;
   - en-têtes blancs unifiés ;
   - rythme vertical commun ;
   - tailles Lottie desktop/mobile.

   Les anciennes couches V2.55 / V2.56 / V2.57 / V2.58 ont été fusionnées
   ici afin d'éviter les redéfinitions successives.
   ========================================================================== */

#zoa-analyses.zoa-detail-v2{
  --v2-section-radius:22px;
  --v2-section-gap:20px;
  --v2-section-topline:linear-gradient(90deg,#25c8c4 0%,#5bd8c1 52%,#6fa9ea 100%);
  --v2-section-shadow:var(--v2-shadow,0 14px 34px rgba(23,64,95,.075));
}

/* --------------------------------------------------------------------------
   Rythme vertical de la page
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 #v2-overview,
#zoa-analyses.zoa-detail-v2 #v2-advanced,
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-legacy,
#zoa-analyses.zoa-detail-v2 #v2-ro,
#zoa-analyses.zoa-detail-v2 #v2-interpretation,
#zoa-analyses.zoa-detail-v2 #v2-dosing{
  box-sizing:border-box;
}

#zoa-analyses.zoa-detail-v2 #v2-overview{
  margin-top:18px!important;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced,
#zoa-analyses.zoa-detail-v2 .zoa-v2-detail-legacy,
#zoa-analyses.zoa-detail-v2 #v2-ro,
#zoa-analyses.zoa-detail-v2 #v2-interpretation,
#zoa-analyses.zoa-detail-v2 #v2-dosing{
  margin-top:var(--v2-section-gap)!important;
}

/* Les classes historiques mb-3 / card ne doivent plus créer un second rythme. */
#zoa-analyses.zoa-detail-v2 #v2-advanced,
#zoa-analyses.zoa-detail-v2 #v2-results,
#zoa-analyses.zoa-detail-v2 #v2-interpretation,
#zoa-analyses.zoa-detail-v2 #v2-ro,
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card{
  margin-bottom:0!important;
}

/* --------------------------------------------------------------------------
   Grandes cartes
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 #v2-overview,
#zoa-analyses.zoa-detail-v2 #v2-interpretation,
#zoa-analyses.zoa-detail-v2 #v2-advanced,
#zoa-analyses.zoa-detail-v2 #v2-results,
#zoa-analyses.zoa-detail-v2 #v2-ro,
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card{
  position:relative!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  width:100%;
  padding:0!important;
  border:1px solid var(--v2-line,#d7e5ec)!important;
  border-top-color:transparent!important;
  border-radius:var(--v2-section-radius)!important;
  background:var(--v2-surface,#fff)!important;
  box-shadow:var(--v2-section-shadow)!important;
}

/* Une seule bordure premium, portée par la carte elle-même. */
#zoa-analyses.zoa-detail-v2 #v2-overview::before,
#zoa-analyses.zoa-detail-v2 #v2-interpretation::before,
#zoa-analyses.zoa-detail-v2 #v2-advanced::before,
#zoa-analyses.zoa-detail-v2 #v2-results::before,
#zoa-analyses.zoa-detail-v2 #v2-ro::before,
#zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:8!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:auto!important;
  height:3px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:var(--v2-section-topline)!important;
  pointer-events:none!important;
}

/* --------------------------------------------------------------------------
   En-têtes V2 communs — bandeau bleu Aqua Manager
   (RO conserve volontairement son bandeau bleu spécifique.)
   -------------------------------------------------------------------------- */

#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified{
  position:relative!important;
  z-index:2;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  flex-wrap:wrap;
  align-self:stretch!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:82px;
  margin:0!important;
  padding:14px 18px 13px!important;
  overflow:hidden;
  border:0!important;
  border-bottom:1px solid rgba(99,224,210,.18)!important;
  border-radius:0!important;
  color:#fff!important;
  background:
    radial-gradient(330px 170px at 100% -20%,rgba(78,222,217,.17),transparent 70%),
    radial-gradient(240px 160px at 78% 120%,rgba(62,150,214,.14),transparent 72%),
    linear-gradient(112deg,#07386b 0%,#084a76 58%,#0a6c89 100%)!important;
  box-shadow:none!important;
}

/* Cercles décoratifs sobres, comme les autres cards V2. */
#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:0!important;
  top:-90px!important;
  right:58px!important;
  width:185px!important;
  height:185px!important;
  border:1px solid rgba(113,231,223,.105)!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:0 0 0 40px rgba(113,231,223,.028)!important;
  pointer-events:none!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified::after{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  right:-38px!important;
  bottom:-118px!important;
  width:215px!important;
  height:215px!important;
  border:1px solid rgba(126,193,231,.075)!important;
  border-radius:50%!important;
  pointer-events:none!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified > *{
  position:relative;
  z-index:1;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-icon-unified{
  position:relative;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  overflow:hidden!important;
  border:1px solid rgba(113,231,223,.30)!important;
  border-radius:14px!important;
  color:#fff!important;
  background:rgba(255,255,255,.075)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-icon-unified .zoa-lottie-ico,
#zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon--lottie .zoa-lottie-ico{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:32px!important;
  height:32px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  line-height:0!important;
  transform:none!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-icon-unified .zoa-lottie-ico svg,
#zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon--lottie .zoa-lottie-ico svg{
  display:block!important;
  width:32px!important;
  height:32px!important;
  margin:0!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-copy{
  min-width:0;
  flex:1 1 420px;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-kicker{
  display:block;
  margin:0!important;
  color:#65e5df!important;
  font-size:9.5px!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:.105em!important;
  text-transform:uppercase!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified .zoa-v2-section-head-title{
  margin:3px 0 0!important;
  color:#fff!important;
  font-size:21px!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.022em!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified .zoa-v2-section-head-subtitle,
#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified .zoa-v2-section-head-aside{
  color:rgba(255,255,255,.69)!important;
  font-size:11.5px!important;
  line-height:1.38!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified .zoa-v2-section-head-subtitle{
  margin:4px 0 0!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified .zoa-v2-section-head-aside{
  margin:0 0 0 auto!important;
  flex:0 1 360px;
  text-align:right;
}

/* Badges d'état du header Interprétation. */
#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified .zoa-v2-detail-validated{
  margin-left:auto!important;
  padding:7px 10px!important;
  border:1px solid rgba(105,231,190,.35)!important;
  border-radius:999px!important;
  color:#9df0c8!important;
  background:rgba(38,195,139,.10)!important;
  box-shadow:none!important;
}

#zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified .zoa-v2-detail-validated--automatic{
  color:#d4e7ef!important;
  border-color:rgba(198,224,235,.23)!important;
  background:rgba(255,255,255,.075)!important;
}


/* Quelques anciens wrappers possèdent encore des dimensions propres. */
#zoa-analyses.zoa-detail-v2 #v2-advanced > .zoa-v2-kpi-section-head{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:0!important;
}

#zoa-analyses.zoa-detail-v2 #v2-advanced #zoa-kpis{
  width:100%!important;
  box-sizing:border-box!important;
}

#zoa-analyses.zoa-detail-v2 #v2-results .zoa-v2-results-head .summary-title,
#zoa-analyses.zoa-detail-v2 #v2-advanced > .zoa-v2-kpi-section-head > .summary-title{
  width:auto;
}

#zoa-analyses.zoa-detail-v2 #v2-interpretation .zoa-v2-detail-validated{
  margin-left:auto;
  align-self:flex-start;
}

/* --------------------------------------------------------------------------
   Dark mode
   -------------------------------------------------------------------------- */

[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-overview,
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-interpretation,
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-advanced,
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-results,
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 #v2-ro,
[data-theme="dark"] #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-overview,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-interpretation,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-advanced,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-results,
.theme-dark #zoa-analyses.zoa-detail-v2 #v2-ro,
.theme-dark #zoa-analyses.zoa-detail-v2 .zoa-v2-dosing-card{
  background:var(--v2-surface,#11253e)!important;
}



/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width:991px){
  #zoa-analyses.zoa-detail-v2{
    --v2-section-gap:16px;
    --v2-section-radius:18px;
  }

  #zoa-analyses.zoa-detail-v2 #v2-overview{
    margin-top:16px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified{
    align-items:flex-start!important;
    padding:15px 15px 13px!important;
  }
  /* Les textes restent à droite du badge Lottie sur mobile.
     La base flex 420px du desktop ne doit pas provoquer un retour sous l'icône. */
  #zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified > .zoa-v2-section-head-copy,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified > .summary-title,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-unified > div:not(.header-card-right){
    min-width:0!important;
    flex:1 1 0!important;
  }


  #zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-icon-unified{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
    border-radius:13px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-icon-unified .zoa-lottie-ico,
  #zoa-analyses.zoa-detail-v2 #v2-advanced .zoa-v2-kpi-section-icon--lottie .zoa-lottie-ico{
    width:29px!important;
    height:29px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-title{
    font-size:18px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-subtitle,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-aside{
    font-size:12px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-aside{
    margin-left:56px!important;
    flex:1 1 100%;
    text-align:left;
  }
}

@media (max-width:640px){
  #zoa-analyses.zoa-detail-v2{
    --v2-section-gap:14px;
    --v2-section-radius:16px;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-kicker{
    font-size:9.5px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-title{
    font-size:17px!important;
  }

  #zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-subtitle,
  #zoa-analyses.zoa-detail-v2 .zoa-v2-section-head-aside{
    line-height:1.4!important;
  }
}
