Jump to content

MediaWiki:Gadget-wix-interactive.css: Difference between revisions

From Insurer Brain
Content deleted Content added
No edit summary
No edit summary
Line 998: Line 998:
right: 0.25rem;
right: 0.25rem;
}
}
}


/* ================================================================
LIABILITY WATERFALL — data-wix-module="liability-waterfall"
Waterfall chart decomposing an insurance liability into IFRS 17
building blocks.
================================================================ */


/* ── 32. Chart Area ─────────────────────────────────────────────
Canvas wrapper with fixed height.
──────────────────────────────────────────────────────────────── */

.wix-wf-chart {
position: relative;
height: 290px;
margin-bottom: 0.5rem;
}

.wix-wf-chart canvas {
width: 100%;
height: 100%;
}


/* ── 33. Detail Card ────────────────────────────────────────────
Info panel below the chart for the selected block.
──────────────────────────────────────────────────────────────── */

.wix-wf-detail {
background: var(--wix-bg);
border: 1px solid var(--wix-border-subtle);
border-radius: var(--wix-radius);
padding: 0.85rem 1rem;
margin-top: 1rem;
min-height: 3.5rem;
}

.wix-wf-detail-title {
font-weight: 600;
margin-bottom: 0.2rem;
}

.wix-wf-detail-body {
font-size: 0.85em;
color: var(--wix-text-muted);
line-height: 1.6;
}
}

Revision as of 17:44, 6 April 2026

/* ================================================================
   WIX-INTERACTIVE.CSS — Wiki Interactive Experience: Complex Widgets
   ================================================================
   Loaded via ResourceLoader alongside wix-interactive.js.
   Depends on design tokens defined in wix-core.css.

   Dispatches styles by widget type. Each widget uses a distinct
   class prefix (e.g. wix-sim- for simulators).
   ================================================================ */


/* ================================================================
   POOL SIMULATOR — data-wix-module="pool-simulator"
   Side-by-side comparison: self-insured vs pooled risk.
   ================================================================ */


/* ── 1. Panels Grid ──────────────────────────────────────────────
   Two-column layout for the Alone / Pool panels.
   Stacks vertically on narrow screens.
   ──────────────────────────────────────────────────────────────── */

.wix-sim-panels {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

@media (max-width: 640px) {
  .wix-sim-panels {
    grid-template-columns: 1fr;
  }
}


/* ── 2. Panel Base + Variants ────────────────────────────────────
   Each panel is a card with a colored top border.
   ──────────────────────────────────────────────────────────────── */

.wix-sim-panel {
  background: var(--wix-bg-subtle);
  border: 1px solid var(--wix-border);
  border-radius: var(--wix-radius);
  padding: 1.25rem;
}

.wix-sim-panel--alone {
  border-top: 3px solid var(--wix-wrong);
}

.wix-sim-panel--pool {
  border-top: 3px solid var(--wix-correct);
}


/* ── 3. Panel Header ─────────────────────────────────────────────
   Small label + title at top of each panel.
   ──────────────────────────────────────────────────────────────── */

.wix-sim-label {
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
  margin-bottom: 0.2rem;
}

.wix-sim-label--alone {
  color: var(--wix-wrong);
}

.wix-sim-label--pool {
  color: var(--wix-correct);
}

.wix-sim-title {
  font-weight: 600;
  margin-bottom: 0.75rem;
}


/* ── 4. Stat Boxes ───────────────────────────────────────────────
   Row of key figures (savings, total spent).
   ──────────────────────────────────────────────────────────────── */

.wix-sim-stats {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.wix-sim-stat {
  flex: 1;
  background: var(--wix-bg);
  border: 1px solid var(--wix-border-subtle);
  border-radius: var(--wix-radius);
  padding: 0.5rem 0.65rem;
}

.wix-sim-stat-label {
  font-size: 0.85em;
  color: var(--wix-text-muted);
  margin-bottom: 0.15rem;
}

.wix-sim-stat-val {
  font-weight: 700;
}


/* ── 5. Chart Area ───────────────────────────────────────────────
   Canvas wrapper with fixed height.
   ──────────────────────────────────────────────────────────────── */

.wix-sim-chart {
  position: relative;
  height: 140px;
  margin-top: 0.5rem;
}

.wix-sim-chart canvas {
  width: 100%;
  height: 100%;
}


/* ── 6. Event Log ────────────────────────────────────────────────
   Single-line status message below the chart.
   ──────────────────────────────────────────────────────────────── */

.wix-sim-log {
  margin-top: 0.75rem;
  font-size: 0.85em;
  min-height: 1.25em;
  line-height: 1.45;
}

.wix-sim-log--hit {
  color: var(--wix-wrong);
  font-weight: 600;
}

.wix-sim-log--safe {
  color: var(--wix-text-muted);
}


/* ── 7. Controls Bar ─────────────────────────────────────────────
   Flex row: buttons + year display + speed slider.
   ──────────────────────────────────────────────────────────────── */

.wix-sim-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.wix-sim-year {
  font-size: 0.85em;
  color: var(--wix-text-muted);
  min-width: 5.5rem;
}

.wix-sim-speed {
  font-size: 0.85em;
  color: var(--wix-text-muted);
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.wix-sim-speed input[type="range"] {
  width: 4.5rem;
  vertical-align: middle;
}


/* ── 8. Summary ──────────────────────────────────────────────────
   Results panel shown after the simulation ends.
   ──────────────────────────────────────────────────────────────── */

.wix-sim-summary {
  margin-top: 1rem;
  padding: 1.25rem;
  border-radius: var(--wix-radius);
  background: var(--wix-bg-subtle);
  border: 1px solid var(--wix-border);
}

.wix-sim-summary-title {
  font-weight: 600;
  margin-bottom: 0.75rem;
}

.wix-sim-summary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

@media (max-width: 480px) {
  .wix-sim-summary-grid {
    grid-template-columns: 1fr;
  }
}

.wix-sim-summary-heading {
  font-weight: 600;
  margin-bottom: 0.35rem;
}

.wix-sim-summary-heading--alone {
  color: var(--wix-wrong);
}

.wix-sim-summary-heading--pool {
  color: var(--wix-correct);
}

.wix-sim-summary-item {
  font-size: 0.85em;
  line-height: 1.6;
}


/* ── 9. Mobile Adjustments ───────────────────────────────────────
   Tighter padding on narrow screens.
   ──────────────────────────────────────────────────────────────── */

@media (max-width: 480px) {
  .wix-sim-panel {
    padding: 1rem;
  }

  .wix-sim-stat {
    padding: 0.4rem 0.5rem;
  }
}


/* ================================================================
   INSURER ENGINES — data-wix-module="insurer-engines"
   Two-engine profit simulator: underwriting + investment.
   ================================================================ */


/* ── 10. Outer Wrapper ───────────────────────────────────────────
    Single containing card for the entire widget.
    ──────────────────────────────────────────────────────────────── */

.wix-eng-wrapper {
  background: var(--wix-bg-subtle);
  border: 1px solid var(--wix-border);
  border-radius: var(--wix-radius);
  padding: 1.5rem;
}

@media (max-width: 480px) {
  .wix-eng-wrapper {
    padding: 1rem;
  }
}


/* ── 11. Fixed Info Row ──────────────────────────────────────────
    Key facts strip at the top (policies, premiums, expenses).
    ──────────────────────────────────────────────────────────────── */

.wix-eng-fixed {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  margin-bottom: 1.25rem;
  padding: 0.65rem 1rem;
  border-radius: var(--wix-radius);
  background: var(--wix-bg-subtle);
  font-size: 0.85em;
  color: var(--wix-text-muted);
}

.wix-eng-fixed span {
  color: var(--wix-text);
  font-weight: 600;
}


/* ── 11. Scenario Strip ──────────────────────────────────────────
    Row of preset scenario buttons.
    ──────────────────────────────────────────────────────────────── */

.wix-eng-section-label {
  font-size: 0.85em;
  color: var(--wix-text-muted);
  margin-bottom: 0.4rem;
}

.wix-eng-scenario-strip {
  display: flex;
  gap: 0.4rem;
  margin-bottom: 1rem;
}

.wix-eng-scenario-btn {
  flex: 1;
  padding: 0.55rem 0.5rem;
  border-radius: var(--wix-radius);
  border: 1px solid var(--wix-border);
  background: var(--wix-bg);
  font: inherit;
  font-size: 0.85em;
  color: var(--wix-text-muted);
  cursor: pointer;
  text-align: center;
  line-height: 1.35;
  transition:
    border-color var(--wix-transition),
    background   var(--wix-transition),
    color        var(--wix-transition);
  -webkit-tap-highlight-color: transparent;
}

.wix-eng-scenario-btn:hover {
  border-color: var(--wix-accent);
  background: var(--wix-accent-light);
}

.wix-eng-scenario-btn--active {
  border-color: var(--wix-accent);
  background: var(--wix-accent-light);
  color: var(--wix-accent);
  font-weight: 600;
}


/* ── 12. Slider Rows ─────────────────────────────────────────────
    Label + range input + value display.
    ──────────────────────────────────────────────────────────────── */

.wix-eng-slider-row {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.65rem;
}

.wix-eng-slider-label {
  font-size: 0.85em;
  color: var(--wix-text-muted);
  min-width: 8rem;
}

.wix-eng-slider-row input[type="range"] {
  flex: 1;
}

.wix-eng-slider-val {
  font-weight: 600;
  min-width: 4rem;
  text-align: right;
}


/* ── 13. Divider ─────────────────────────────────────────────────
    Horizontal rule between sections.
    ──────────────────────────────────────────────────────────────── */

.wix-eng-divider {
  height: 1px;
  background: var(--wix-border-subtle);
  margin: 1.25rem 0;
}


/* ── 14. Engine Cards ────────────────────────────────────────────
    Underwriting and investment engine displays.
    ──────────────────────────────────────────────────────────────── */

.wix-eng-card {
  border: 1px solid var(--wix-border);
  border-radius: var(--wix-radius);
  padding: 1rem;
  background: var(--wix-bg);
  margin-bottom: 0.65rem;
}

.wix-eng-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.wix-eng-title {
  font-size: 0.85em;
  color: var(--wix-text-muted);
}

.wix-eng-val {
  font-weight: 700;
}

.wix-eng-detail {
  font-size: 0.85em;
  color: var(--wix-text-muted);
  margin-top: 0.35rem;
  line-height: 1.55;
}

.wix-eng-bar-track {
  height: 6px;
  border-radius: 3px;
  background: var(--wix-bg-subtle);
  margin-top: 0.6rem;
}

.wix-eng-bar {
  height: 6px;
  border-radius: 3px;
  transition: width 0.35s ease, background 0.35s ease;
  min-width: 2px;
}


/* ── 15. Combined Ratio Box ──────────────────────────────────────
    Single-line metric between the two engine cards.
    ──────────────────────────────────────────────────────────────── */

.wix-eng-cr {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  padding: 0.65rem 1rem;
  border-radius: var(--wix-radius);
  background: var(--wix-bg-subtle);
  margin-bottom: 0.65rem;
}

.wix-eng-cr-label {
  font-size: 0.85em;
  color: var(--wix-text-muted);
}

.wix-eng-cr-val {
  font-weight: 700;
}

.wix-eng-cr-sub {
  font-size: 0.85em;
  color: var(--wix-text-muted);
  margin-left: auto;
}


/* ── 16. Total Profit Box ────────────────────────────────────────
    Bottom-line result card.
    ──────────────────────────────────────────────────────────────── */

.wix-eng-total {
  border: 1px solid var(--wix-border);
  border-radius: var(--wix-radius);
  padding: 1rem;
  background: var(--wix-bg);
  margin-bottom: 0.65rem;
}

.wix-eng-total-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.wix-eng-total-label {
  font-size: 0.85em;
  color: var(--wix-text-muted);
}

.wix-eng-total-val {
  font-weight: 700;
}

.wix-eng-total-sub {
  font-size: 0.85em;
  color: var(--wix-text-muted);
  margin-top: 0.2rem;
}


/* ── 17. Callout ─────────────────────────────────────────────────
    Contextual message below the total.
    ──────────────────────────────────────────────────────────────── */

.wix-eng-callout {
  padding: 0.65rem 1rem;
  border-radius: var(--wix-radius);
  font-size: 0.85em;
  line-height: 1.55;
  border-left: 4px solid transparent;
  transition:
    background   var(--wix-transition),
    color        var(--wix-transition),
    border-color var(--wix-transition);
}

.wix-eng-callout--profit {
  background: var(--wix-correct-bg);
  border-left-color: var(--wix-correct);
  color: var(--wix-correct);
}

.wix-eng-callout--loss {
  background: var(--wix-wrong-bg);
  border-left-color: var(--wix-wrong);
  color: var(--wix-wrong);
}


/* ── 18. Insurer Engines Mobile ──────────────────────────────────
    Adjustments for narrow screens.
    ──────────────────────────────────────────────────────────────── */

@media (max-width: 480px) {
  .wix-eng-slider-label {
    min-width: 6rem;
  }

  .wix-eng-card,
  .wix-eng-total {
    padding: 0.75rem;
  }

  .wix-eng-cr {
    flex-wrap: wrap;
  }

  .wix-eng-cr-sub {
    margin-left: 0;
    width: 100%;
  }
}


/* ================================================================
   PREMIUM MATCHING — data-wix-module="premium-matching"
   Revenue recognition: front-loaded vs matched.
   ================================================================ */


/* ── 19. Mode Toggle Buttons ────────────────────────────────────
   Row of two mode-selection buttons.
   ──────────────────────────────────────────────────────────────── */

.wix-pm-modes {
  display: flex;
  gap: 0.4rem;
  margin-bottom: 1.25rem;
}

.wix-pm-mode-btn {
  padding: 0.45rem 0.85rem;
  border-radius: var(--wix-radius);
  border: 1px solid var(--wix-border);
  background: var(--wix-bg);
  font: inherit;
  font-size: 0.85em;
  color: var(--wix-text-muted);
  cursor: pointer;
  transition:
    border-color var(--wix-transition),
    background   var(--wix-transition),
    color        var(--wix-transition);
  -webkit-tap-highlight-color: transparent;
}

.wix-pm-mode-btn:hover {
  border-color: var(--wix-accent);
  background: var(--wix-accent-light);
}

.wix-pm-mode-btn--active {
  border-color: var(--wix-accent);
  background: var(--wix-accent-light);
  color: var(--wix-accent);
  font-weight: 600;
}


/* ── 20. Stat Cards Row ─────────────────────────────────────────
   Three side-by-side metric cards.
   ──────────────────────────────────────────────────────────────── */

.wix-pm-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.65rem;
  margin-bottom: 1.25rem;
}

@media (max-width: 480px) {
  .wix-pm-stats {
    grid-template-columns: 1fr;
  }
}

.wix-pm-stat {
  background: var(--wix-bg-subtle);
  border: 1px solid var(--wix-border);
  border-radius: var(--wix-radius);
  padding: 0.65rem 0.85rem;
}

.wix-pm-stat-label {
  font-size: 0.85em;
  color: var(--wix-text-muted);
  margin-bottom: 0.15rem;
}

.wix-pm-stat-val {
  font-size: 1.25em;
  font-weight: 700;
}

.wix-pm-stat-val--profit {
  color: var(--wix-correct);
}


/* ── 21. Chart Area ─────────────────────────────────────────────
   Canvas wrapper with fixed height.
   ──────────────────────────────────────────────────────────────── */

.wix-pm-chart {
  position: relative;
  height: 280px;
  margin-bottom: 0.5rem;
}

.wix-pm-chart canvas {
  width: 100%;
  height: 100%;
}

@media (max-width: 480px) {
  .wix-pm-chart {
    height: 220px;
  }
}


/* ── 22. Legend ──────────────────────────────────────────────────
   Horizontal legend row below the chart.
   ──────────────────────────────────────────────────────────────── */

.wix-pm-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
  font-size: 0.85em;
  color: var(--wix-text-muted);
}

.wix-pm-legend-item {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

.wix-pm-swatch {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 2px;
}

.wix-pm-swatch--rev {
  background: var(--wix-correct);
}

.wix-pm-swatch--exp {
  background: var(--wix-wrong);
}

.wix-pm-swatch--profit {
  background: var(--wix-accent);
}


/* ================================================================
   RESERVE SENSITIVITY — data-wix-module="reserve-sensitivity"
   Slider showing reserve reassessment impact on P&L and equity.
   ================================================================ */


/* ── 23. Slider Row ─────────────────────────────────────────────
   Range input flanked by -5% / +5% labels.
   ──────────────────────────────────────────────────────────────── */

.wix-rs-slider-row {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1.25rem;
}

.wix-rs-slider-row input[type="range"] {
  flex: 1;
}

.wix-rs-bound {
  font-size: 0.85em;
  color: var(--wix-text-muted);
  flex-shrink: 0;
}


/* ── 24. Stat Cards Grid ────────────────────────────────────────
   Two-column grid of metric cards.
   ──────────────────────────────────────────────────────────────── */

.wix-rs-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 1.25rem;
}

@media (max-width: 480px) {
  .wix-rs-cards {
    grid-template-columns: 1fr;
  }
}

.wix-rs-card {
  background: var(--wix-bg);
  border: 1px solid var(--wix-border-subtle);
  border-radius: var(--wix-radius);
  padding: 0.75rem 1rem;
}

.wix-rs-card-label {
  font-size: 0.85em;
  color: var(--wix-text-muted);
  margin-bottom: 0.15rem;
}

.wix-rs-card-num {
  font-size: 1.3em;
  font-weight: 700;
}

.wix-rs-card-num--pos {
  color: var(--wix-correct);
}

.wix-rs-card-num--neg {
  color: var(--wix-wrong);
}

.wix-rs-card-num--muted {
  color: var(--wix-text-muted);
}


/* ── 25. Bar Charts ─────────────────────────────────────────────
   Horizontal bidirectional bars with a center line.
   ──────────────────────────────────────────────────────────────── */

.wix-rs-bars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 1.25rem;
}

@media (max-width: 480px) {
  .wix-rs-bars {
    grid-template-columns: 1fr;
  }
}

.wix-rs-bar-label {
  font-size: 0.85em;
  color: var(--wix-text-muted);
  margin-bottom: 0.35rem;
}

.wix-rs-bar-track {
  height: 32px;
  background: var(--wix-bg);
  border: 1px solid var(--wix-border-subtle);
  border-radius: var(--wix-radius);
  position: relative;
  overflow: hidden;
}

.wix-rs-bar-fill {
  position: absolute;
  top: 0;
  height: 100%;
  transition: left 0.15s ease, width 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85em;
  font-weight: 600;
  color: #fff;
}

.wix-rs-bar-center {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  background: var(--wix-border);
}


/* ================================================================
   IFRS TIMELINE — data-wix-module="ifrs-timeline"
   Interactive horizontal milestone timeline.
   ================================================================ */


/* ── 26. Track ──────────────────────────────────────────────────
   Horizontal line with positioned dots.
   ──────────────────────────────────────────────────────────────── */

.wix-tl-track {
  position: relative;
  margin: 0 0 1.25rem;
  padding: 0 0.75rem;
}

.wix-tl-line {
  position: absolute;
  top: 7px;
  left: 0.75rem;
  right: 0.75rem;
  height: 2px;
  background: var(--wix-border);
}

.wix-tl-dots {
  display: flex;
  justify-content: space-between;
  position: relative;
}


/* ── 27. Dot Wraps ──────────────────────────────────────────────
   Clickable dot + year label pairs along the track.
   ──────────────────────────────────────────────────────────────── */

.wix-tl-dot-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  z-index: 1;
  -webkit-tap-highlight-color: transparent;
}

.wix-tl-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid var(--wix-accent);
  background: var(--wix-bg);
  transition:
    border-color var(--wix-transition),
    background   var(--wix-transition),
    transform    var(--wix-transition);
}

.wix-tl-dot-wrap:hover .wix-tl-dot {
  transform: scale(1.2);
}

.wix-tl-dot-wrap--active .wix-tl-dot {
  border-color: var(--wix-accent);
  background: var(--wix-accent);
  transform: scale(1.3);
}

/* Insurance-specific category */
.wix-tl-dot-wrap--ins .wix-tl-dot {
  border-color: var(--wix-wrong);
}

.wix-tl-dot-wrap--ins.wix-tl-dot-wrap--active .wix-tl-dot {
  background: var(--wix-wrong);
  border-color: var(--wix-wrong);
}

.wix-tl-year {
  font-size: 0.75em;
  color: var(--wix-text-muted);
  margin-top: 0.35rem;
  white-space: nowrap;
}

.wix-tl-dot-wrap--active .wix-tl-year {
  color: var(--wix-text);
  font-weight: 600;
}


/* ── 28. Detail Card ────────────────────────────────────────────
   Content panel shown for the selected event.
   ──────────────────────────────────────────────────────────────── */

.wix-tl-card {
  background: var(--wix-bg);
  border: 1px solid var(--wix-border-subtle);
  border-left: 4px solid var(--wix-accent);
  border-radius: var(--wix-radius);
  padding: 0.85rem 1rem;
  min-height: 4.5rem;
  transition: border-left-color var(--wix-transition);
}

.wix-tl-card-title {
  font-weight: 600;
  margin-bottom: 0.2rem;
}

.wix-tl-card-body {
  font-size: 0.85em;
  color: var(--wix-text-muted);
  line-height: 1.6;
}


/* ── 29. Legend ──────────────────────────────────────────────────
   Category legend below the card.
   ──────────────────────────────────────────────────────────────── */

.wix-tl-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
  font-size: 0.85em;
  color: var(--wix-text-muted);
}

.wix-tl-legend-item {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.wix-tl-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.wix-tl-legend-dot--ifrs {
  background: var(--wix-accent);
}

.wix-tl-legend-dot--ins {
  background: var(--wix-wrong);
}


/* ── 30. Navigation Buttons ─────────────────────────────────────
   Previous / Next row.
   ──────────────────────────────────────────────────────────────── */

.wix-tl-nav {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
}


/* ── 31. Timeline Mobile ────────────────────────────────────────
   On narrow screens, hide year labels for non-active dots to
   prevent overlap, and tighten padding.
   ──────────────────────────────────────────────────────────────── */

@media (max-width: 480px) {
  .wix-tl-dot-wrap:not(.wix-tl-dot-wrap--active) .wix-tl-year {
    display: none;
  }

  .wix-tl-track {
    padding: 0 0.25rem;
  }

  .wix-tl-line {
    left: 0.25rem;
    right: 0.25rem;
  }
}


/* ================================================================
   LIABILITY WATERFALL — data-wix-module="liability-waterfall"
   Waterfall chart decomposing an insurance liability into IFRS 17
   building blocks.
   ================================================================ */


/* ── 32. Chart Area ─────────────────────────────────────────────
   Canvas wrapper with fixed height.
   ──────────────────────────────────────────────────────────────── */

.wix-wf-chart {
  position: relative;
  height: 290px;
  margin-bottom: 0.5rem;
}

.wix-wf-chart canvas {
  width: 100%;
  height: 100%;
}


/* ── 33. Detail Card ────────────────────────────────────────────
   Info panel below the chart for the selected block.
   ──────────────────────────────────────────────────────────────── */

.wix-wf-detail {
  background: var(--wix-bg);
  border: 1px solid var(--wix-border-subtle);
  border-radius: var(--wix-radius);
  padding: 0.85rem 1rem;
  margin-top: 1rem;
  min-height: 3.5rem;
}

.wix-wf-detail-title {
  font-weight: 600;
  margin-bottom: 0.2rem;
}

.wix-wf-detail-body {
  font-size: 0.85em;
  color: var(--wix-text-muted);
  line-height: 1.6;
}