/* Report-result visual: one shared scale for index contributions, exact figures per row. */
.viz-enhanced .score-strip,.viz-enhanced .score-key{display:none!important}
body[data-page=aramco].viz-enhanced #health .report-five,
body[data-page=aramco].viz-enhanced #takeaway,
body[data-page=aramco].viz-enhanced #comparison{display:none}
.viz-impact{--viz-ink:#16304c;--viz-soft:#65758b;--viz-line:#e1e9f2;--viz-good:#15816e;--viz-bad:#b76553;--viz-neutral:#7690a8;position:relative;isolation:isolate;overflow:hidden;margin-top:24px;border:1px solid #dce7f2;border-radius:24px;background:linear-gradient(155deg,#fff 66%,#f5faff);box-shadow:0 22px 50px #193e641a,0 4px 12px #193e640d;color:var(--viz-ink)}
.viz-impact::before{content:"";position:absolute;z-index:-1;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#188574,#3a70db,#c48269);opacity:.85}
.viz-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:26px;padding:27px 30px 21px}
.viz-kicker{display:block;color:#3b64b5;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.viz-heading h3{margin:8px 0 7px;color:#122b4c;font:800 clamp(22px,2.25vw,30px)/1.38 var(--ar)}
body.en .viz-heading h3{font-family:var(--en);line-height:1.22}
.viz-heading p{margin:0;max-width:700px;color:#586b82;font-size:14px;line-height:1.75}
.viz-bridge{display:flex;align-items:center;gap:12px;max-width:370px;padding:13px 16px;border:1px solid #e2eaf4;border-radius:16px;background:#f6f9fd;box-shadow:0 7px 16px #1b466009;font-size:11px;font-weight:700;line-height:1.4;color:#5c7087}
.viz-bridge span,.viz-bridge strong{display:grid;gap:3px}
.viz-bridge bdi{font:800 21px/1 var(--en);color:#345c9d}
.viz-bridge strong bdi{color:#b76553}
.viz-bridge>span:nth-child(2){font-size:19px;color:#99aabe}
.viz-chart-head{display:grid;grid-template-columns:1fr 1fr;max-width:260px;margin:0 50px 0 auto;padding:0 0 9px;direction:ltr;color:#7990a7;font:800 10px/1.3 var(--ar);text-align:center}
body.en .viz-chart-head{font-family:var(--en)}
.viz-chart-head span:first-child{color:var(--viz-bad)}.viz-chart-head span:last-child{color:var(--viz-good)}
html[dir=rtl] .viz-chart-head{margin:0 auto 0 50px}
.viz-rows{border-top:1px solid var(--viz-line)}
.viz-row{border-bottom:1px solid var(--viz-line);background:#fff;transition:background .22s ease,box-shadow .22s ease}
.viz-row:last-child{border-bottom:0}
.viz-row[open]{background:#f8fbff}
.viz-row summary{display:grid;grid-template-columns:minmax(175px,1fr) minmax(190px,1.15fr) minmax(245px,1.12fr) 18px;align-items:center;gap:18px;min-height:102px;padding:16px 26px;cursor:pointer;list-style:none}
.viz-row summary::-webkit-details-marker{display:none}
.viz-row summary:focus-visible{outline:3px solid #3d70d2;outline-offset:-4px}
.viz-row summary:hover{background:#f8fbff}
.viz-name{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;column-gap:8px;min-width:0}
.viz-number{grid-row:1/3;display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#edf3fc;color:#4d6ea0;font:800 11px var(--en)}
.viz-name strong{font-size:15px;line-height:1.45;color:#1b3450}
.viz-state{grid-column:2;color:var(--viz-neutral);font-size:11px;font-weight:800}
.viz-delta{grid-column:2;display:inline-flex;justify-self:start;max-width:100%;padding:2px 7px;border-radius:7px;background:#edf2f6;color:var(--viz-neutral);font:800 12px/1.35 var(--en)}
.viz-row.support .viz-delta{background:#e6f5f0;color:var(--viz-good)}
.viz-row.pressure .viz-delta{background:#fbece8;color:var(--viz-bad)}
html[dir=rtl] .viz-delta{font-family:var(--ar)}
.viz-unit{grid-column:2;color:#7b8da0;font-size:10px;line-height:1.35}
.viz-row.support .viz-state{color:var(--viz-good)}.viz-row.pressure .viz-state{color:var(--viz-bad)}
.viz-values{display:flex;align-items:center;gap:10px;min-width:0}
.viz-quarter{display:grid;gap:4px;min-width:0}
.viz-quarter small{font-size:10px;line-height:1.25;color:var(--viz-soft);white-space:nowrap}
.viz-quarter bdi{font:800 15px/1.2 var(--en);white-space:nowrap;color:#243e5a}
.viz-quarter:last-child bdi{color:var(--viz-neutral)}
.viz-row.support .viz-quarter:last-child bdi{color:var(--viz-good)}
.viz-row.pressure .viz-quarter:last-child bdi{color:var(--viz-bad)}
.viz-arrow{flex:none;color:#9aacc2;font:800 16px var(--en)}
.viz-effect{display:grid;gap:9px;min-width:0}
.viz-effect-top{display:flex;align-items:baseline;justify-content:center;gap:6px;color:var(--viz-neutral)}
.viz-effect-top bdi{font:800 17px/1 var(--en)}
.viz-effect-top small{font-size:10px;font-weight:700}
.viz-row.support .viz-effect-top{color:var(--viz-good)}
.viz-row.pressure .viz-effect-top{color:var(--viz-bad)}
.viz-axis{display:flex;align-items:center;width:100%;height:18px}
.viz-axis-half{display:flex;align-items:center;width:50%;height:8px;background:#f0f4f8}
.viz-axis-half.negative{justify-content:flex-end;border-radius:8px 0 0 8px}
.viz-axis-half.positive{justify-content:flex-start;border-radius:0 8px 8px 0}
.viz-axis-half i{display:block;height:8px;border-radius:8px;background:var(--viz-bad);transform:scaleX(0);transition:transform .65s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--viz-order)*70ms)}
.viz-axis-half.negative i{transform-origin:right}
.viz-axis-half.positive i{background:var(--viz-good);transform-origin:left}
.viz-impact.is-visible .viz-axis-half i{transform:scaleX(1)}
.viz-zero{position:relative;z-index:1;flex:none;width:2px;height:18px;background:#5f7892;border-radius:2px;box-shadow:0 0 0 2px #fff}
.viz-open{color:#91a6bc;font-size:18px;transition:transform .2s ease}
.viz-row[open] .viz-open{transform:rotate(180deg)}
.viz-explain{margin:0;padding:0 32px 17px 70px;color:#4e637a;font-size:13px;line-height:1.7}
html[dir=rtl] .viz-explain{padding:0 70px 17px 32px}
.viz-context,.viz-disclaimer{margin:0;padding:14px 30px;color:#4f6580;font-size:13px;line-height:1.65}
.viz-context{background:#f0f6fc;border-top:1px solid #e2eaf4}
.viz-disclaimer{background:#f8fbfe;border-top:1px solid #e2eaf4;font-size:12px}
#app .viz-impact{margin:20px 0 15px}
#app .viz-heading{padding:22px 25px 18px}
#app .viz-heading h3{font-size:23px}
#app .viz-heading p{font-size:13px}
#app .viz-row summary{min-height:86px;padding:12px 22px}
.viz-deep{margin:16px 0 4px;border:1px solid #dce7f2;border-radius:16px;background:#f8fbfe;overflow:hidden}
.viz-deep>summary{padding:16px 22px;cursor:pointer;color:#315caa;font-weight:800;list-style:none}
.viz-deep>summary::-webkit-details-marker{display:none}
.viz-deep>summary::after{content:"⌄";float:inline-end;color:#6b85a8}
.viz-deep[open]>summary::after{transform:rotate(180deg)}
.viz-deep>summary:focus-visible{outline:3px solid #3d70d2;outline-offset:-4px}
.viz-deep .metric-grid{padding:0 18px 16px}
.viz-deep .detail{margin:0 18px 18px}
@media(max-width:980px){
  .viz-heading{grid-template-columns:1fr;gap:15px}
  .viz-bridge{max-width:none;justify-content:space-between}
  .viz-row summary{grid-template-columns:minmax(140px,1fr) minmax(180px,1.2fr) minmax(180px,1.3fr) 15px;gap:11px;padding-inline:18px}
  .viz-quarter small{white-space:normal}
}
@media(max-width:700px){
  .viz-impact{margin-top:18px;border-radius:19px;box-shadow:0 16px 30px #193e6416,0 3px 9px #193e640b}
  .viz-heading{padding:22px 18px 15px}
  .viz-heading h3{font-size:23px}
  .viz-heading p{font-size:13px}
  .viz-bridge{padding:11px 12px}
  .viz-chart-head{max-width:none;width:calc(100% - 44px);margin:0 auto 5px!important}
  .viz-row summary,#app .viz-row summary{grid-template-columns:minmax(0,1fr) 18px;gap:11px;min-height:0;padding:17px 18px}
  .viz-name{grid-column:1;grid-row:1}
  .viz-open{grid-column:2;grid-row:1}
  .viz-values{grid-column:1/-1;grid-row:2;justify-content:space-between;padding-inline:31px 8px}
  .viz-effect{grid-column:1/-1;grid-row:3;padding-inline:31px 8px}
  .viz-effect-top{justify-content:flex-start}
  .viz-explain,html[dir=rtl] .viz-explain{padding:0 18px 18px;font-size:12px}
  .viz-context,.viz-disclaimer{padding:13px 18px;font-size:12px}
  #app .viz-heading{padding:20px 17px 15px}
}
@media(max-width:360px){
  .viz-quarter bdi{font-size:13px}
  .viz-quarter small{font-size:9px}
  .viz-values{gap:4px}
  .viz-arrow{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .viz-axis-half i{transform:scaleX(1)!important;transition:none!important}
  .viz-row,.viz-open{transition:none!important}
}
