/* FINNOWIN_CHART_UX_V630_BEGIN */
:root{
  --chart-blue:#2f6df6;--chart-green:#18a987;--chart-amber:#e6a23c;--chart-red:#e65b68;
  --chart-sector:#93a4b8;--chart-grid:#e4ebf4;--chart-axis:#66788f;
  --chart-tooltip-bg:#0b1726;--chart-tooltip-fg:#f8fbff;
}
.card,.card *{min-width:0}.card-head>div{min-width:0}
.card-head h1,.card-head h2,.card-head h3,.chart-card h3,.metric-card .label,.assumption-row span{overflow-wrap:anywhere}
.assumption-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.assumption-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(88px,42%);gap:12px;align-items:center}
.assumption-row b,.ina-summary-item b,.metric-card .value,.chart-value{max-width:100%;text-align:right;overflow-wrap:anywhere;line-height:1.16;font-variant-numeric:tabular-nums}
.ina-summary-item b{font-size:clamp(15px,1.25vw,19px)!important}.metric-card .value{font-size:clamp(18px,1.7vw,24px)!important}
.f-chart{position:relative;width:100%;min-height:248px;overflow:hidden;border-radius:13px;background:linear-gradient(180deg,rgba(47,109,246,.018),rgba(47,109,246,0))}
.f-chart.compact{min-height:228px}.f-chart svg{display:block;width:100%;height:auto;overflow:visible}
.f-chart-grid{stroke:var(--chart-grid);stroke-width:1;vector-effect:non-scaling-stroke}.f-chart-zero{stroke:color-mix(in srgb,var(--chart-axis) 58%,transparent);stroke-width:1.2;stroke-dasharray:4 5}
.f-chart-axis-label{fill:var(--chart-axis);font-size:10.5px;font-weight:650;font-family:inherit;font-variant-numeric:tabular-nums}
.f-chart-line{fill:none;stroke:var(--chart-blue);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.f-chart-area{fill:rgba(47,109,246,.07)}
.f-chart-marker{fill:var(--surface,#fff);stroke:var(--chart-blue);stroke-width:2;vector-effect:non-scaling-stroke}.f-chart-marker.latest{fill:var(--chart-blue);stroke:var(--surface,#fff);stroke-width:2.5}
.f-chart-hit{fill:transparent;stroke:transparent;cursor:crosshair;pointer-events:all}.f-chart-crosshair{opacity:0;stroke:color-mix(in srgb,var(--chart-blue) 58%,transparent);stroke-width:1;stroke-dasharray:4 4;pointer-events:none}.f-chart.has-tip .f-chart-crosshair{opacity:1}
.f-chart-tooltip{position:absolute;z-index:15;display:none;min-width:142px;max-width:230px;pointer-events:none;transform:translate(-50%,calc(-100% - 12px));background:var(--chart-tooltip-bg);color:var(--chart-tooltip-fg);border:1px solid rgba(255,255,255,.12);border-radius:11px;box-shadow:0 14px 34px rgba(2,12,27,.24);padding:9px 11px;font-size:11px;line-height:1.35}.f-chart.has-tip .f-chart-tooltip{display:block}
.f-chart-tooltip b,.f-chart-tooltip strong{display:block}.f-chart-tooltip b{font-size:11px;color:#c7d5e7;margin-bottom:3px}.f-chart-tooltip span{display:block;color:#9eb0c5;margin-bottom:2px}.f-chart-tooltip strong{font-size:14px;color:#fff;font-variant-numeric:tabular-nums}
.f-chart-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:8px 2px 0;color:var(--text-muted,var(--muted));font-size:11.5px}.f-chart-legend span{display:inline-flex;align-items:center;gap:6px}.f-chart-legend i{display:inline-block;width:16px;height:3px;border-radius:999px;background:var(--chart-blue)}.f-chart-legend .series-1{background:var(--chart-green)}.f-chart-legend .series-2{background:var(--chart-amber)}.f-chart-legend .sector{background:var(--chart-sector)}
.f-bar-series-0{fill:var(--chart-blue)}.f-bar-series-1{fill:var(--chart-green)}.f-bar-series-2{fill:var(--chart-amber)}.f-bar-negative{fill:var(--chart-red)!important}.f-bar-hit{cursor:crosshair}
.f-zero-series{min-height:190px;display:grid;place-items:center;text-align:center;border:1px dashed var(--border,var(--line));border-radius:13px;background:var(--surface-soft,var(--soft));padding:22px}.f-zero-series strong{font-size:15px}.f-zero-series p{margin:6px 0 0;color:var(--text-muted,var(--muted));font-size:12px;line-height:1.5}
.f-ratio-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.f-ratio-card{padding:19px!important;min-height:332px!important}.f-ratio-card .ratio-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;margin-bottom:8px}.f-ratio-card .ratio-card-head h3{margin:3px 0 0;font-size:18px}.f-ratio-card .ratio-latest{text-align:right}.f-ratio-card .ratio-latest b{display:block;font-size:22px;font-variant-numeric:tabular-nums}.f-ratio-card .ratio-latest small{display:block;color:var(--text-muted,var(--muted));margin-top:3px;font-size:10.5px}
.f-gauge{width:min(100%,260px);margin:0 auto;position:relative;text-align:center}.f-gauge svg{display:block;width:100%;height:auto}.f-gauge-track{fill:none;stroke:#e5ebf3;stroke-width:18;stroke-linecap:round}.f-gauge-value{fill:none;stroke:var(--chart-blue);stroke-width:18;stroke-linecap:round}.f-gauge-needle{stroke:#17263a;stroke-width:3.5;stroke-linecap:round}.f-gauge-hub{fill:#17263a}.f-gauge-label{fill:var(--chart-axis);font-size:10px;font-family:inherit}.f-gauge-copy{margin-top:-12px}.f-gauge-copy b{display:block;font-size:clamp(30px,4vw,42px);line-height:1;letter-spacing:-.035em}.f-gauge-copy span{display:block;color:var(--text-muted,var(--muted));font-size:13px;margin-top:5px}
.score-hero.mini{grid-template-columns:minmax(150px,230px) minmax(0,1fr)!important;gap:18px!important}.score-hero.mini .f-gauge{margin:0}
.workspace-content>.coverage-strip{display:none!important}.chart-periods{display:none!important}.chart-legend{gap:12px!important}.chart-legend>span{display:inline-flex;align-items:center;gap:5px}.line-chart{overflow:hidden}.bar-col small{font-size:10.5px!important}
body.theme-dark{--ink:#eaf2ff;--muted:#99abc0;--muted2:#70859d;--line:#213750;--line2:#192c40;--paper:#0b1726;--canvas:#06111d;--soft:#102033;--blue:#5b8cff;--blue-soft:#10294d;--green:#2bc59a;--green-soft:#0c342d;--red:#ff6d7a;--red-soft:#351922;--amber:#efb54a;--amber-soft:#352811;--surface:#0b1726;--surface-soft:#102033;--border:#213750;--text:#eaf2ff;--text-muted:#99abc0;--chart-blue:#6b96ff;--chart-green:#32c8a2;--chart-amber:#f0b958;--chart-red:#ff7482;--chart-sector:#8095ab;--chart-grid:#1e344c;--chart-axis:#94a9c0;--chart-tooltip-bg:#eaf2ff;--chart-tooltip-fg:#0a1524;background:#06111d!important;color:#eaf2ff}
.theme-dark .card,.theme-dark .metric-card,.theme-dark .chart-card,.theme-dark .soft-card,.theme-dark .ina-summary-item,.theme-dark .assumption-row,.theme-dark .table-wrap,.theme-dark .data-table,.theme-dark .modal,.theme-dark .company-card{background:#0b1726!important;border-color:#213750!important;color:#eaf2ff!important}
.theme-dark .assumption-row,.theme-dark .soft-card,.theme-dark .ina-summary-item,.theme-dark .f-zero-series{background:#102033!important}.theme-dark .hero-card,.theme-dark .company-header{background:linear-gradient(135deg,#0b223d,#11385e)!important}.theme-dark .data-table th,.theme-dark .data-table td.sticky-first,.theme-dark .data-table .sticky-first{background:#0e1d2e!important}.theme-dark .data-table tbody tr:hover{background:#102033!important}
.theme-dark .input,.theme-dark .select,.theme-dark .search-input,.theme-dark input,.theme-dark select{background:#102033!important;color:#eaf2ff!important;border-color:#29425e!important}.theme-dark .pill,.theme-dark .btn-secondary,.theme-dark .top-theme{background:#102033!important;color:#eaf2ff!important;border-color:#29425e!important}.theme-dark .pill.active{background:#5b8cff!important;border-color:#5b8cff!important;color:#fff!important}
.theme-dark .f-gauge-track{stroke:#20344b}.theme-dark .f-gauge-needle{stroke:#dbe7f5}.theme-dark .f-gauge-hub{fill:#dbe7f5}.theme-dark .f-chart-marker{fill:#0b1726}.theme-dark .f-chart-tooltip{background:#eaf2ff;color:#0b1726;border-color:#d8e3ef}.theme-dark .f-chart-tooltip b{color:#46617d}.theme-dark .f-chart-tooltip span{color:#617891}.theme-dark .f-chart-tooltip strong{color:#081421}.theme-dark .score-ring:after{background:#0b1726!important}.theme-dark .component-track{background:#20344b!important}.theme-dark .notice.info{background:#10294d!important;color:#b9d5ff!important}.theme-dark .notice.warn{background:#352811!important;color:#f3cf87!important}.theme-dark .notice.error{background:#351922!important;color:#ffadb5!important}.theme-dark .notice.success{background:#0c342d!important;color:#a8ead7!important}
@media(max-width:980px){.f-ratio-chart-grid{grid-template-columns:1fr!important}.assumption-list{grid-template-columns:1fr}}@media(max-width:760px){.f-chart-axis-label{font-size:9px}.f-ratio-card{min-height:300px!important}.score-hero.mini{grid-template-columns:1fr!important;text-align:center}.score-hero.mini .f-gauge{margin:auto}.assumption-row{grid-template-columns:minmax(0,1fr) minmax(80px,48%)}}
/* FINNOWIN_CHART_UX_V630_BASE_END */


/* FINNOWIN_CHART_UX_V630_PROFESSIONAL_BEGIN */
:root{
  --chart-blue:#2f6df6;
  --chart-teal:#10a889;
  --chart-amber:#e59a14;
  --chart-coral:#e65b68;
  --chart-violet:#7657e8;
  --chart-cyan:#178fbf;
  --chart-slate:#718399;
}

/* The V620 assumption rule caused labels to collapse letter-by-letter in
   narrow 3-column cards. Never break normal words into individual letters. */
.assumption-row span,
.f-summary-cell span,
.f-rating-meta,
.f-rating-meta span,
.f-rating-meta small{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* Overview trio gets dedicated layout instead of generic assumptions. */
.f-overview-trio{
  align-items:stretch;
}
.f-overview-trio>.card{
  min-width:0;
  min-height:330px;
}
.f-summary-card .card-head,
.f-rating-card .card-head{
  min-height:58px;
}
.f-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.f-summary-cell{
  min-width:0;
  min-height:92px;
  padding:15px 15px 14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--border,var(--line));
  border-radius:14px;
  background:linear-gradient(
    145deg,
    var(--surface-soft,var(--soft)),
    color-mix(in srgb,var(--surface-soft,var(--soft)) 84%,#fff)
  );
}
.f-summary-cell span{
  display:block;
  color:var(--text-muted,var(--muted));
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.f-summary-cell b{
  display:block;
  color:var(--text,var(--ink));
  font-size:clamp(17px,1.45vw,22px);
  line-height:1.15;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  text-align:left;
  overflow-wrap:anywhere;
}

.f-rating-stack{
  min-height:235px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
}
.f-rating-meta{
  width:100%;
  display:grid;
  place-items:center;
  text-align:center;
  gap:3px;
}
.f-rating-meta strong{
  font-size:18px;
  line-height:1.2;
}
.f-rating-meta span{
  color:var(--text-muted,var(--muted));
  font-size:13px;
  font-weight:750;
}
.f-rating-meta small{
  color:var(--text-muted,var(--muted));
  font-size:11px;
}

/* Real per-chart color. V620 always fell back to blue. */
.f-chart{
  --series-color:var(--chart-blue);
  --series-soft:color-mix(in srgb,var(--series-color) 12%,transparent);
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb,var(--series-color) 4%,transparent),
      transparent 70%
    );
}
.f-chart-line{
  stroke:var(--series-color)!important;
  stroke-width:3.35!important;
}
.f-chart-area{
  fill:color-mix(in srgb,var(--series-color) 12%,transparent)!important;
}
.f-chart-marker{
  fill:var(--surface,#fff)!important;
  stroke:var(--series-color)!important;
  stroke-width:2.6!important;
  filter:drop-shadow(0 1px 1px rgba(17,38,70,.12));
}
.f-chart-marker.latest{
  fill:var(--series-color)!important;
  stroke:var(--surface,#fff)!important;
  stroke-width:3!important;
}
.f-chart-hit.is-hovered + .f-chart-marker,
.f-chart-marker:hover{
  stroke-width:4!important;
}
.f-chart-crosshair{
  stroke:color-mix(in srgb,var(--series-color) 62%,transparent)!important;
}
.f-chart-hit.is-hovered{
  filter:drop-shadow(0 0 5px color-mix(in srgb,var(--series-color) 52%,transparent));
}
.f-chart-legend i{
  width:20px!important;
  height:4px!important;
  background:var(--series-color);
}
.f-chart-legend strong{
  color:var(--text,var(--ink));
}

/* Bar/lollipop are visually different chart primitives. */
.f-bar-chart .f-bar-hit{
  opacity:.90;
  transition:opacity .12s ease,filter .12s ease;
}
.f-bar-chart .f-bar-hit.is-hovered{
  opacity:1;
  filter:brightness(1.05) drop-shadow(0 4px 7px rgba(20,45,80,.16));
}
.f-lollipop-stem{
  stroke:var(--series-color);
  stroke-width:3;
  stroke-linecap:round;
  opacity:.48;
  vector-effect:non-scaling-stroke;
}
.f-lollipop-dot{
  fill:var(--surface,#fff);
  stroke:var(--series-color);
  stroke-width:3;
  vector-effect:non-scaling-stroke;
}
.f-lollipop-chart .f-chart-hit.is-hovered{
  filter:drop-shadow(0 0 5px color-mix(in srgb,var(--series-color) 60%,transparent));
}

/* Larger visible points. */
.f-chart svg .f-chart-marker{
  vector-effect:non-scaling-stroke;
}
.f-chart-axis-label{
  font-size:11px!important;
  font-weight:700!important;
}

/* Ratio cards advertise the category color instead of every chart being blue. */
.f-ratio-card{
  position:relative;
  overflow:hidden;
  min-height:350px!important;
}
.f-ratio-accent{
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:var(--series-color);
}
.f-ratio-card .eyebrow{
  color:var(--series-color)!important;
}
.f-ratio-card .ratio-latest b{
  color:var(--series-color);
  font-size:24px!important;
}
.f-ratio-card .ratio-card-head{
  padding-top:4px;
}
.f-ratio-card .ratio-card-head h3{
  line-height:1.2;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Zero series becomes an explicit information block, not a fake flat chart. */
.f-zero-series{
  min-height:205px!important;
  grid-template-columns:auto minmax(0,1fr);
  place-items:center start!important;
  text-align:left!important;
  gap:16px;
  border-style:solid!important;
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb,var(--series-color,var(--chart-slate)) 7%,var(--surface-soft,var(--soft))),
      var(--surface-soft,var(--soft))
    )!important;
}
.f-zero-icon{
  width:54px;
  height:54px;
  border-radius:16px;
  display:grid;
  place-items:center;
  color:#fff;
  background:var(--series-color,var(--chart-slate));
  font-size:22px;
  font-weight:900;
}

/* More legible gauge with three semantic ranges. */
.f-gauge{
  width:min(100%,280px)!important;
}
.f-gauge-track{
  stroke:#edf1f6!important;
  stroke-width:15!important;
}
.f-gauge-value{display:none!important}
.f-gauge-seg{
  fill:none;
  stroke-width:15;
  stroke-linecap:round;
  opacity:.92;
}
.f-gauge-seg.low{stroke:var(--chart-coral)}
.f-gauge-seg.mid{stroke:var(--chart-amber)}
.f-gauge-seg.high{stroke:var(--chart-teal)}
.f-gauge-needle{
  stroke:#17263a!important;
  stroke-width:4!important;
}
.f-gauge-hub{fill:#17263a!important}
.f-gauge-copy{
  margin-top:-9px!important;
}
.f-gauge-copy b{
  font-size:clamp(34px,4vw,48px)!important;
}

/* Better tooltip, easier to read over light and dark charts. */
.f-chart-tooltip{
  min-width:158px!important;
  padding:10px 12px!important;
  font-size:12px!important;
}
.f-chart-tooltip strong{
  font-size:15px!important;
}

/* Rich but disciplined dark palette. */
body.theme-dark{
  --canvas:#07111d!important;
  --paper:#0b1726!important;
  --surface:#0b1726!important;
  --surface-soft:#102033!important;
  --line:#213750!important;
  --line2:#192c40!important;
  --border:#213750!important;
  --ink:#eaf2ff!important;
  --text:#eaf2ff!important;
  --muted:#97aac0!important;
  --text-muted:#97aac0!important;
  --blue:#6b96ff!important;
  --green:#35c9a3!important;
  --amber:#f4bc59!important;
  --red:#ff7482!important;
  --chart-blue:#6b96ff!important;
  --chart-teal:#35c9a3!important;
  --chart-amber:#f4bc59!important;
  --chart-coral:#ff7482!important;
  --chart-violet:#9a84ff!important;
  --chart-cyan:#54c2e8!important;
  --chart-slate:#8fa6bc!important;
  --chart-grid:#1d334a!important;
  --chart-axis:#9bb0c6!important;
  background:#07111d!important;
}
.theme-dark .f-summary-cell{
  background:linear-gradient(145deg,#102033,#0d1c2c)!important;
  border-color:#243b54!important;
}
.theme-dark .f-chart-marker,
.theme-dark .f-lollipop-dot{
  fill:#0b1726!important;
}
.theme-dark .f-gauge-track{
  stroke:#1c3148!important;
}
.theme-dark .f-gauge-needle{
  stroke:#edf5ff!important;
}
.theme-dark .f-gauge-hub{
  fill:#edf5ff!important;
}
.theme-dark .f-zero-series{
  background:#102033!important;
}

/* Existing generic assumption blocks remain usable elsewhere, but on narrow
   cards values get one full row instead of crushing labels. */
.grid-3>.card .assumption-list{
  grid-template-columns:1fr!important;
}
.grid-3>.card .assumption-row{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.grid-3>.card .assumption-row span{
  min-width:0;
}
.grid-3>.card .assumption-row b{
  min-width:72px;
  white-space:nowrap;
}

/* Do not let labels become one character per line anywhere. */
.card span,
.card p,
.card small,
.metric-card .label{
  word-break:normal;
}

@media(max-width:1120px){
  .f-overview-trio{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .f-overview-trio>.card:last-child{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  .f-overview-trio{
    grid-template-columns:1fr!important;
  }
  .f-overview-trio>.card:last-child{
    grid-column:auto;
  }
  .f-summary-grid{
    grid-template-columns:1fr 1fr;
  }
  .f-chart-axis-label{
    font-size:9.5px!important;
  }
}
@media(max-width:430px){
  .f-summary-grid{
    grid-template-columns:1fr;
  }
}
/* FINNOWIN_CHART_UX_V630_PROFESSIONAL_END */


/* FINNOWIN_PLOTLY_CHARTS_V640_BEGIN */
:root{
  --fin-blue:#2563eb;
  --fin-teal:#0f9d8a;
  --fin-gold:#d49018;
  --fin-coral:#d95d6a;
  --fin-violet:#7357d8;
  --fin-cyan:#2389ad;
  --fin-slate:#64748b;
  --fin-chart-grid:#e3eaf2;
}

/* Plotly is the primary interactive engine from V6.4 onward. */
.f-plotly-wrap{
  width:100%;
  min-width:0;
  position:relative;
}
.f-plotly-chart{
  width:100%;
  min-width:0;
  border-radius:14px;
  overflow:hidden;
}
.f-plotly-chart .plot-container,
.f-plotly-chart .svg-container,
.f-plotly-chart .main-svg{
  width:100%!important;
}
.f-plotly-chart .main-svg{
  background:transparent!important;
}
.f-plotly-chart .modebar{
  display:none!important;
}

/* Ratio cards use one semantic accent, not a rainbow inside one graph. */
.f-ratio-card{
  position:relative;
  overflow:hidden;
  min-height:390px!important;
  padding:19px!important;
}
.f-ratio-accent{
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:4px;
  background:var(--series-color,var(--fin-blue));
}
.f-ratio-card .eyebrow{
  color:var(--series-color,var(--fin-blue))!important;
}
.f-ratio-card .ratio-latest b{
  color:var(--series-color,var(--fin-blue));
  font-size:23px!important;
  font-variant-numeric:tabular-nums;
}
.f-ratio-card .ratio-card-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:16px!important;
  align-items:start!important;
  margin-bottom:8px!important;
}
.f-ratio-card .ratio-card-head h3{
  margin:4px 0 3px;
  line-height:1.22;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.f-ratio-card .ratio-latest{
  min-width:94px;
  text-align:right;
}
.f-ratio-card .ratio-latest small{
  display:block;
  margin-top:3px;
  color:var(--muted);
}

/* Zero values get an explicit state instead of a useless flat chart. */
.f-zero-series{
  min-height:210px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:17px!important;
  text-align:left!important;
  padding:25px!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:linear-gradient(
    145deg,
    color-mix(in srgb,var(--soft) 88%,#fff),
    var(--soft)
  )!important;
}
.f-zero-badge{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:var(--fin-slate);
  color:#fff;
  font-weight:900;
  font-size:24px;
  box-shadow:0 8px 24px rgba(44,62,82,.12);
}
.f-zero-series strong{
  display:block;
  font-size:15px;
  margin-bottom:6px;
}
.f-zero-series p{
  margin:0;
  line-height:1.55;
  color:var(--muted);
  font-size:12px;
}

/* Clean overview cards. */
.f-overview-trio{
  align-items:stretch;
}
.f-overview-trio>.card{
  min-width:0;
  min-height:318px;
}
.f-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.f-summary-cell{
  min-width:0;
  min-height:92px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:12px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--soft);
}
.f-summary-cell span{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  line-height:1.35;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.f-summary-cell b{
  display:block;
  max-width:100%;
  color:var(--ink);
  font-size:clamp(17px,1.45vw,22px);
  font-weight:900;
  line-height:1.15;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}
.f-rating-meta{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:9px;
  margin-top:-10px;
  color:var(--muted);
}
.f-rating-meta strong{
  color:var(--ink);
  font-size:18px;
}
.f-finance-mini{
  margin-top:-6px;
}

/* Scorecard copy under the gauge. */
.f-score-copy{
  text-align:center;
  margin-top:-2px;
}
.f-score-copy h3{
  margin:0 0 6px;
  font-size:18px;
}
.f-score-copy p{
  max-width:520px;
  margin:0 auto 10px;
}

/* Old SVG markers should not visually leak if an untouched legacy widget remains. */
.f-chart-marker,
.chart-dot{
  transition:none!important;
}
.line-chart .chart-dot{
  r:0!important;
}

/* Do not split labels character-by-character. */
.card span,
.card p,
.card small,
.card h1,
.card h2,
.card h3,
.metric-card .label,
.assumption-row span{
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.assumption-row{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.assumption-row b{
  min-width:70px;
  max-width:100%;
  overflow-wrap:anywhere;
}

/* Professional dark theme with restrained semantic colors. */
body.theme-dark{
  --canvas:#07111d!important;
  --paper:#0b1726!important;
  --surface:#0b1726!important;
  --surface-soft:#101f31!important;
  --soft:#101f31!important;
  --line:#20364d!important;
  --line2:#192c40!important;
  --border:#20364d!important;
  --ink:#e7f0fb!important;
  --text:#e7f0fb!important;
  --muted:#94a9bf!important;
  --text-muted:#94a9bf!important;
  --blue:#6794ff!important;
  --green:#35c7a2!important;
  --amber:#e8b354!important;
  --red:#f27682!important;
  background:#07111d!important;
}
.theme-dark .f-summary-cell,
.theme-dark .f-zero-series{
  background:#101f31!important;
  border-color:#263e57!important;
}
.theme-dark .f-zero-badge{
  background:#7289a0;
}
.theme-dark .card,
.theme-dark .chart-card{
  box-shadow:0 10px 30px rgba(0,0,0,.10);
}
.theme-dark .f-plotly-chart .main-svg{
  background:transparent!important;
}

/* Cards adapt before labels get crushed. */
@media(max-width:1120px){
  .f-overview-trio{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .f-overview-trio>.card:last-child{
    grid-column:1/-1;
  }
}
@media(max-width:820px){
  .f-ratio-chart-grid{
    grid-template-columns:1fr!important;
  }
  .f-overview-trio{
    grid-template-columns:1fr!important;
  }
  .f-overview-trio>.card:last-child{
    grid-column:auto;
  }
}
@media(max-width:520px){
  .f-summary-grid{
    grid-template-columns:1fr;
  }
  .f-ratio-card .ratio-card-head{
    grid-template-columns:1fr!important;
  }
  .f-ratio-card .ratio-latest{
    text-align:left;
  }
}
/* FINNOWIN_PLOTLY_CHARTS_V640_END */
