/* Componentes editoriais do Artigo 3 — herdam os tokens do design system Agro. */

.a3-panel {
  margin: 40px 0;
  overflow: hidden;
  border: 1px solid var(--wm-line);
  border-radius: var(--wm-radius);
  background: #fff;
  box-shadow: var(--wm-shadow-sm);
}

.a3-panel-head {
  padding: 26px 28px 18px;
  border-bottom: 1px solid var(--wm-line);
  background: linear-gradient(135deg, #fff 0%, var(--wm-green-pale) 100%);
}

.a3-eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  color: var(--wm-green);
  font: 800 .72rem/1 'Outfit', sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.a3-eyebrow::before {
  width: 22px;
  height: 2px;
  background: var(--wm-terra-soft);
  content: "";
}

.a3-panel-head h3 {
  margin: 0 0 7px !important;
  color: var(--wm-ink);
  font-size: 1.45rem !important;
}

.a3-panel-head p {
  margin: 0 !important;
  color: var(--wm-mute) !important;
  font-size: .94rem !important;
  line-height: 1.55 !important;
}

/* 1. Premissas dos dois regimes */
.premise-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  padding: 26px 28px 18px;
}

.premise-card {
  position: relative;
  min-height: 190px;
  padding: 24px;
  border: 1px solid var(--wm-line);
  border-radius: 12px;
  background: var(--wm-sand);
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.premise-card:hover {
  transform: translateY(-4px);
  border-color: var(--wm-green-line);
  box-shadow: var(--wm-shadow-md);
}

.premise-card.split {
  border-color: var(--wm-green-line);
  background: var(--wm-green-pale);
}

.premise-label {
  display: inline-flex;
  margin-bottom: 16px;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--wm-forest);
  color: #fff;
  font: 800 .7rem/1 'Outfit', sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.premise-card.split .premise-label { background: var(--wm-green); }
.premise-card h4 { margin: 0 0 10px; color: var(--wm-ink); font: 800 1.05rem/1.25 'Outfit', sans-serif; }
.premise-card p { margin: 0 !important; color: var(--wm-body-c) !important; font-size: .9rem !important; line-height: 1.58 !important; }

.tax-premise {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 28px 28px;
  padding: 18px 20px;
  border: 1px solid var(--wm-amber-line);
  border-radius: 11px;
  background: var(--wm-amber-bg);
}

.tax-premise strong { color: var(--wm-amber) !important; font: 800 1.55rem/1 'Outfit', sans-serif; }
.tax-premise span { color: #805009; font: 600 .83rem/1.45 'DM Sans', sans-serif; }

/* 2. Venda isolada: valor + três prazos */
.sale-calc {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, .72fr);
  gap: 16px;
  padding: 24px 28px 18px;
}

.sale-field,
.sale-result {
  padding: 20px;
  border: 1px solid var(--wm-line);
  border-radius: 12px;
  background: var(--wm-sand);
}

.sale-field label { display: block; margin-bottom: 10px; color: var(--wm-ink); font: 800 .88rem/1.2 'Outfit', sans-serif; }
.money-input { display: flex; align-items: center; overflow: hidden; border: 1.5px solid var(--wm-line); border-radius: 9px; background: #fff; }
.money-input:focus-within { border-color: var(--wm-green); box-shadow: 0 0 0 4px rgba(22,163,74,.13); }
.money-input span { padding-left: 13px; color: var(--wm-mute); font: 700 .84rem/1 'DM Sans', sans-serif; }
.money-input input { min-width: 0; width: 100%; padding: 12px; border: 0; outline: 0; background: transparent; color: var(--wm-forest); font: 800 1.2rem/1 'Outfit', sans-serif; }
.sale-field small { display: block; margin-top: 9px; color: var(--wm-mute); font: 400 .76rem/1.4 'DM Sans', sans-serif; }

.sale-result {
  border-color: var(--wm-green-line);
  background: linear-gradient(145deg, var(--wm-forest), var(--wm-forest-deep));
  color: #fff;
}
.sale-result span { display: block; margin-bottom: 8px; color: rgba(255,255,255,.7); font: 600 .76rem/1.2 'DM Sans', sans-serif; }
.sale-result strong { display: block; color: var(--wm-green-soft) !important; font: 800 1.65rem/1 'Outfit', sans-serif; font-variant-numeric: tabular-nums; }

.term-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 4px 28px 0;
}

.term-tab,
.chart-toggle,
.storm-tab {
  padding: 12px 14px;
  border: 1px solid var(--wm-line);
  border-radius: 10px;
  background: #fff;
  color: var(--wm-mute);
  cursor: pointer;
  font: 800 .82rem/1.2 'Outfit', sans-serif;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
}

.term-tab:hover,
.chart-toggle:hover,
.storm-tab:hover { transform: translateY(-2px); border-color: var(--wm-green); color: var(--wm-green); }
.term-tab[aria-selected="true"],
.chart-toggle[aria-pressed="true"],
.storm-tab[aria-selected="true"] { border-color: var(--wm-forest); background: var(--wm-forest); color: #fff; }

.term-pane { padding: 26px 28px 28px; }
.term-pane[hidden] { display: none; }

.term-track {
  position: relative;
  height: 8px;
  margin: 34px 12px 64px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--wm-green-pale), var(--wm-green-line));
}

.term-marker {
  position: absolute;
  top: 50%;
  width: 20px;
  height: 20px;
  transform: translate(-50%, -50%);
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--wm-green);
  box-shadow: 0 0 0 1px var(--wm-green-line), 0 3px 8px rgba(10,54,34,.18);
}
.term-marker.current { background: var(--wm-terra); }
.term-marker em { position: absolute; top: 24px; left: 50%; width: 128px; transform: translateX(-50%); color: var(--wm-ink); font: normal 700 .74rem/1.3 'Outfit', sans-serif; text-align: center; }
.term-summary { padding: 17px 19px; border: 1px solid var(--wm-green-line); border-radius: 10px; background: var(--wm-green-pale); color: var(--wm-forest); font: 700 .92rem/1.5 'Outfit', sans-serif; }
.term-summary.loss { border-color: var(--wm-red-line); background: var(--wm-red-bg); color: var(--wm-red); }
.term-summary.tie { border-color: var(--wm-amber-line); background: var(--wm-amber-bg); color: #805009; }

/* 3. Gráfico anual */
.chart-controls {
  display: flex;
  gap: 8px;
  padding: 22px 28px 4px;
}

.chart-toggle { flex: 1; }
.year-chart { padding: 24px 28px 30px; }
.chart-legend { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 20px; color: var(--wm-mute); font: 600 .76rem/1 'DM Sans', sans-serif; }
.chart-legend span { display: inline-flex; align-items: center; gap: 7px; }
.chart-legend i { width: 10px; height: 10px; border-radius: 3px; background: var(--wm-terra); }
.chart-legend .split i { background: var(--wm-green); }

.month-chart {
  display: grid;
  grid-template-columns: repeat(12, minmax(32px, 1fr));
  gap: 7px;
  align-items: end;
  min-height: 250px;
  padding: 18px 14px 0;
  border-left: 1px solid var(--wm-line);
  border-bottom: 1px solid var(--wm-line);
  background: repeating-linear-gradient(to top, transparent 0, transparent 49px, rgba(228,233,226,.72) 50px);
}

.month-group { position: relative; display: grid; grid-template-columns: repeat(2, 1fr); align-items: end; gap: 3px; height: 218px; }
.month-bar {
  position: relative;
  align-self: end;
  min-height: 4px;
  height: calc(var(--value) / 191 * 190px);
  border-radius: 6px 6px 2px 2px;
  background: var(--wm-terra);
  transition: height .3s ease, opacity .2s ease, transform .2s ease;
}
.month-bar.split { background: var(--wm-green); }
.month-bar:hover { z-index: 2; transform: scaleX(1.18); box-shadow: 0 6px 14px rgba(10,54,34,.16); }
.month-bar::after { position: absolute; bottom: calc(100% + 7px); left: 50%; z-index: 4; padding: 5px 7px; transform: translateX(-50%); border-radius: 5px; background: var(--wm-forest-deep); color: #fff; content: "R$ " attr(data-value) " mil"; font: 700 .66rem/1 'DM Sans', sans-serif; opacity: 0; pointer-events: none; white-space: nowrap; transition: opacity .15s; }
.month-bar:hover::after { opacity: 1; }
.month-label { position: absolute; right: 0; bottom: -27px; left: 0; color: var(--wm-mute); font: 700 .67rem/1 'Outfit', sans-serif; text-align: center; text-transform: uppercase; }
.year-chart.show-current .month-bar.split,
.year-chart.show-split .month-bar.current { display: none; }
.year-chart.show-current .month-group,
.year-chart.show-split .month-group { grid-template-columns: 1fr; }
.chart-total { display: flex; justify-content: space-between; gap: 18px; margin-top: 48px; padding: 17px 19px; border: 1px solid var(--wm-green-line); border-radius: 10px; background: var(--wm-green-pale); color: var(--wm-forest); font: 700 .87rem/1.45 'Outfit', sans-serif; }
.chart-total strong { color: var(--wm-green) !important; font-size: 1.15rem; }

/* 4. Tabela mensal completa */
.annual-table-wrap { overflow-x: auto; padding: 24px 0 8px; scrollbar-color: var(--wm-green) var(--wm-green-pale); }
.annual-table {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--wm-body-c);
  font: 500 .75rem/1.35 'DM Sans', sans-serif;
}
.annual-table th,
.annual-table td { min-width: 54px; padding: 11px 9px; border-right: 1px solid var(--wm-line); border-bottom: 1px solid var(--wm-line); text-align: center; font-variant-numeric: tabular-nums; }
.annual-table thead th { position: sticky; top: 0; z-index: 2; background: var(--wm-forest); color: #fff; font: 800 .72rem/1.2 'Outfit', sans-serif; }
.annual-table th:first-child,
.annual-table td:first-child { position: sticky; left: 0; z-index: 1; min-width: 205px; max-width: 205px; border-left: 1px solid var(--wm-line); background: #fff; text-align: left; font-weight: 700; }
.annual-table thead th:first-child { z-index: 3; background: var(--wm-forest); }
.annual-table tbody tr:first-child td { border-top: 0; }
.annual-table tbody tr:hover td { background: var(--wm-green-pale); }
.annual-table tbody tr:hover td:first-child { background: #def3e5; }
.annual-table tr.row-current td { background: var(--wm-amber-bg); }
.annual-table tr.row-current td:first-child { background: #f9ecd0; }
.annual-table tr.row-split td { background: var(--wm-green-pale); }
.annual-table tr.row-split td:first-child { background: #def3e5; }
.table-note { margin: 14px 28px 24px; color: var(--wm-mute); font: 500 .75rem/1.45 'DM Sans', sans-serif; }

/* 5. Mudança de pico e tempestade de caixa */
.peak-shift {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: stretch;
  padding: 26px 28px 28px;
}
.peak-card { padding: 22px; border: 1px solid var(--wm-line); border-radius: 12px; background: var(--wm-sand); transition: transform .24s ease, box-shadow .24s ease; }
.peak-card:hover { transform: translateY(-4px); box-shadow: var(--wm-shadow-md); }
.peak-card.split { border-color: var(--wm-green-line); background: var(--wm-green-pale); }
.peak-card span { display: block; margin-bottom: 8px; color: var(--wm-mute); font: 800 .7rem/1 'Outfit', sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.peak-card strong { display: block; margin-bottom: 10px; color: var(--wm-terra) !important; font: 800 1.25rem/1.15 'Outfit', sans-serif; }
.peak-card.split strong { color: var(--wm-green) !important; }
.peak-card p { margin: 0 !important; color: var(--wm-body-c) !important; font-size: .84rem !important; line-height: 1.5 !important; }
.peak-arrow { align-self: center; color: var(--wm-green); font: 800 1.8rem/1 'Outfit', sans-serif; }

.storm-tabs { display: flex; gap: 8px; padding: 22px 28px 0; }
.storm-tab { flex: 1; }
.storm-body { padding: 22px 28px 28px; }
.storm-month { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.storm-metric { padding: 19px; border: 1px solid var(--wm-line); border-radius: 11px; background: var(--wm-sand); text-align: center; }
.storm-metric span { display: block; margin-bottom: 8px; color: var(--wm-mute); font: 700 .72rem/1.3 'DM Sans', sans-serif; }
.storm-metric strong { display: block; color: var(--wm-ink) !important; font: 800 1.35rem/1 'Outfit', sans-serif; font-variant-numeric: tabular-nums; }
.storm-metric.current { border-color: var(--wm-amber-line); background: var(--wm-amber-bg); }
.storm-metric.current strong { color: var(--wm-amber) !important; }
.storm-metric.split { border-color: var(--wm-green-line); background: var(--wm-green-pale); }
.storm-metric.split strong { color: var(--wm-green) !important; }
.storm-caption { margin: 16px 0 0 !important; color: var(--wm-mute) !important; font-size: .81rem !important; line-height: 1.5 !important; }

.alert-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 30px 0 38px; }
.alert-card { padding: 22px; border: 1px solid var(--wm-line); border-radius: 12px; background: #fff; box-shadow: var(--wm-shadow-sm); transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease; }
.alert-card:hover { transform: translateY(-4px); border-color: var(--wm-green-line); box-shadow: var(--wm-shadow-md); }
.alert-num { display: grid; width: 34px; height: 34px; margin-bottom: 14px; place-items: center; border-radius: 50%; background: var(--wm-green); color: #fff; font: 800 .8rem/1 'Outfit', sans-serif; }
.alert-card h4 { margin: 0 0 9px; color: var(--wm-ink); font: 800 1rem/1.25 'Outfit', sans-serif; }
.alert-card p { margin: 0 !important; color: var(--wm-mute) !important; font-size: .86rem !important; line-height: 1.55 !important; }

.source-note-a3 { margin: 34px 0; padding: 16px 18px; border-left: 4px solid var(--wm-terra-soft); border-radius: 0 9px 9px 0; background: var(--wm-sand); color: var(--wm-mute); font: 500 .8rem/1.58 'DM Sans', sans-serif; }

@media (max-width: 760px) {
  .premise-grid,
  .sale-calc,
  .alert-grid { grid-template-columns: 1fr; }
  .tax-premise { align-items: flex-start; flex-direction: column; }
  .term-tabs { grid-template-columns: 1fr; }
  .chart-controls { display: grid; grid-template-columns: 1fr; }
  .year-chart { overflow-x: auto; }
  .month-chart { min-width: 620px; }
  .chart-legend,
  .chart-total { min-width: 620px; }
  .peak-shift { grid-template-columns: 1fr; }
  .peak-arrow { transform: rotate(90deg); text-align: center; }
  .storm-month { grid-template-columns: 1fr; }
  .a3-panel-head { padding: 24px 22px 17px; }
  .premise-grid,
  .sale-calc { padding: 22px; }
  .tax-premise { margin: 0 22px 24px; }
  .term-tabs { padding: 4px 22px 0; }
  .term-pane,
  .year-chart,
  .storm-body { padding: 22px; }
  .chart-controls,
  .storm-tabs { padding-right: 22px; padding-left: 22px; }
  .peak-shift { padding: 22px; }
  .table-note { margin-right: 22px; margin-left: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .premise-card,
  .term-tab,
  .chart-toggle,
  .storm-tab,
  .month-bar,
  .peak-card,
  .alert-card { transition: none; }
}

/* ═══════════════════════════════════════════════════════
   ARTIGO 4 · INDICADORES DE ESTOQUE
═══════════════════════════════════════════════════════ */
.metric-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 24px 28px 0;
}
.metric-tab,
.family-tab,
.sku-tab {
  border: 1px solid var(--wm-line);
  border-radius: 10px;
  background: #fff;
  color: var(--wm-mute);
  cursor: pointer;
  font: 700 .8rem/1.25 'Outfit', sans-serif;
  transition: border-color .2s, background .2s, color .2s, transform .2s;
}
.metric-tab { min-height: 78px; padding: 14px 10px; }
.metric-tab span { display: block; margin-bottom: 7px; color: var(--wm-terra); font-size: .68rem; letter-spacing: .1em; }
.metric-tab[aria-selected="true"],
.family-tab[aria-selected="true"],
.sku-tab[aria-selected="true"] { border-color: var(--wm-forest); background: var(--wm-forest); color: #fff; }
.metric-tab[aria-selected="true"] span { color: var(--wm-green-soft); }
.metric-tab:hover,
.family-tab:hover,
.sku-tab:hover { transform: translateY(-2px); border-color: var(--wm-green); }
.metric-detail { margin: 16px 28px 28px; padding: 22px; border: 1px solid var(--wm-green-line); border-radius: 12px; background: linear-gradient(135deg, var(--wm-green-pale), #fff); }
.metric-detail[hidden], .sku-panel[hidden] { display: none; }
.metric-detail > span { display: block; margin-bottom: 7px; color: var(--wm-green); font: 800 .7rem/1 'Outfit', sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.metric-detail strong { display: block; color: var(--wm-forest); font: 700 1.08rem/1.3 'Outfit', sans-serif; }
.metric-detail p { margin: 8px 0 0 !important; font-size: .92rem; }

.formula-box { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin: 24px 0 28px; padding: 20px 24px; border: 1px solid var(--wm-green-line); border-left: 5px solid var(--wm-green); border-radius: 10px; background: var(--wm-green-pale); }
.formula-box > span { color: var(--wm-mute); font: 800 .74rem/1 'Outfit', sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.formula-box strong { color: var(--wm-forest); font: 700 1.08rem/1.35 'Outfit', sans-serif; text-align: right; }
.formula-box.monthly { align-items: flex-start; flex-direction: column; gap: 7px; }
.formula-box.monthly strong { text-align: left; }
.formula-box small { color: var(--wm-mute); font-size: .82rem; }
.formula-box.dual { flex-wrap: wrap; }
.formula-box.dual em { color: var(--wm-terra); font: 800 .72rem/1 'Outfit', sans-serif; text-transform: uppercase; }

.average-calculator { display: grid; grid-template-columns: 1fr auto 1fr auto 1.15fr; align-items: end; gap: 12px; padding: 26px 28px 30px; }
.average-calculator label { color: var(--wm-ink); font: 700 .78rem/1.35 'Outfit', sans-serif; }
.average-calculator .money-input { display: flex; margin-top: 8px; }
.average-calculator .money-input > span { display: flex; align-items: center; padding: 0 10px; border: 1px solid var(--wm-line); border-right: 0; border-radius: 8px 0 0 8px; background: var(--wm-sand); color: var(--wm-mute); }
.average-calculator input { width: 100%; min-width: 0; padding: 13px 10px; border: 1px solid var(--wm-line); border-radius: 0 8px 8px 0; color: var(--wm-forest); font: 800 1rem/1 'Outfit', sans-serif; }
.average-calculator input:focus { outline: 2px solid var(--wm-green-soft); outline-offset: 2px; }
.calc-symbol { align-self: center; padding-top: 20px; color: var(--wm-terra); font: 800 1.15rem/1 'Outfit', sans-serif; }
.average-result { padding: 16px; border-radius: 10px; background: var(--wm-forest); color: #fff; }
.average-result span { display: block; margin-bottom: 5px; color: var(--wm-green-soft); font: 700 .7rem/1 'Outfit', sans-serif; text-transform: uppercase; }
.average-result strong { color: #fff !important; font: 800 1.15rem/1.2 'Outfit', sans-serif; }

.turnover-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 26px 0 30px; }
.turnover-grid article,
.decision-grid article { padding: 22px; border: 1px solid var(--wm-line); border-radius: 12px; background: #fff; box-shadow: var(--wm-shadow-sm); transition: transform .2s, box-shadow .2s, border-color .2s; }
.turnover-grid article:hover,
.decision-grid article:hover { transform: translateY(-3px); border-color: var(--wm-green-line); box-shadow: var(--wm-shadow-md); }
.turnover-grid article:nth-child(1), .turnover-grid article:nth-child(3) { border-top: 4px solid var(--wm-green); }
.turnover-grid article:nth-child(2), .turnover-grid article:nth-child(4) { border-top: 4px solid var(--wm-terra); }
.turnover-grid span,
.decision-grid span { display: block; margin-bottom: 8px; color: var(--wm-forest); font: 800 1rem/1.2 'Outfit', sans-serif; }
.turnover-grid p,
.decision-grid p { margin: 0 !important; font-size: .9rem; }

.family-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 24px 28px 0; }
.family-tab { padding: 10px 13px; }
.family-display { margin: 18px 28px 28px; padding: 24px; border-radius: 12px; background: var(--wm-forest); color: #fff; }
.family-display span { display: block; color: var(--wm-green-soft); font: 800 .72rem/1 'Outfit', sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.family-display strong { display: block; margin: 8px 0; color: #fff !important; font: 800 2rem/1 'Outfit', sans-serif; }
.family-display p { margin: 0 !important; color: rgba(255,255,255,.76) !important; font-size: .9rem; }
.compact-table { margin: 26px 0 30px; border: 1px solid var(--wm-line); border-radius: 12px; }
.compact-table .annual-table { min-width: 700px; }

.direction-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 26px 0 30px; }
.direction-grid article { position: relative; overflow: hidden; padding: 26px; border-radius: 14px; color: #fff; }
.direction-grid .past { background: linear-gradient(135deg, var(--wm-terra), #704623); }
.direction-grid .future { background: linear-gradient(135deg, var(--wm-green), var(--wm-forest)); }
.direction-grid span { display: block; margin-bottom: 8px; font: 800 .7rem/1 'Outfit', sans-serif; letter-spacing: .1em; text-transform: uppercase; opacity: .72; }
.direction-grid strong { color: #fff !important; font: 800 1.25rem/1.2 'Outfit', sans-serif; }
.direction-grid p { margin: 10px 0 20px !important; color: rgba(255,255,255,.82) !important; font-size: .9rem; }
.direction-arrow { font: 800 .8rem/1 'Outfit', sans-serif; letter-spacing: .06em; text-transform: uppercase; }

.connection-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; padding: 26px 28px 16px; }
.connection-grid > div { min-width: 0; padding: 15px 10px; border: 1px solid var(--wm-line); border-radius: 10px; background: var(--wm-sand); text-align: center; }
.connection-grid > div.coverage { border-color: var(--wm-green-line); background: var(--wm-green-pale); }
.connection-grid span { display: block; min-height: 30px; color: var(--wm-mute); font: 700 .68rem/1.25 'Outfit', sans-serif; }
.connection-grid strong { display: block; margin: 7px 0; color: var(--wm-forest); font: 800 1rem/1.15 'Outfit', sans-serif; }
.connection-grid small { display: block; color: var(--wm-mute); font-size: .65rem; line-height: 1.3; }
.scenario-gap { display: flex; align-items: center; justify-content: center; gap: 13px; margin: 0 28px 28px; padding: 17px; border-radius: 10px; background: var(--wm-forest); color: #fff; }
.scenario-gap span { color: rgba(255,255,255,.66); font: 700 .7rem/1 'Outfit', sans-serif; text-transform: uppercase; }
.scenario-gap strong { color: #fff !important; font: 800 1.12rem/1 'Outfit', sans-serif; }
.scenario-gap i { padding: 6px 9px; border-radius: 999px; background: var(--wm-green); color: #fff; font: 800 .72rem/1 'Outfit', sans-serif; font-style: normal; }

.sku-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 24px 28px 0; }
.sku-tab { min-height: 54px; padding: 10px; }
.sku-panel { margin: 16px 28px 28px; padding: 24px; border: 1px solid var(--wm-green-line); border-radius: 12px; background: linear-gradient(135deg, var(--wm-green-pale), #fff); }
.sku-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-bottom: 18px; }
.sku-metrics > div { padding: 14px; border-radius: 9px; background: #fff; box-shadow: var(--wm-shadow-sm); }
.sku-metrics span { display: block; color: var(--wm-mute); font: 700 .68rem/1 'Outfit', sans-serif; text-transform: uppercase; }
.sku-metrics strong { display: block; margin-top: 5px; color: var(--wm-forest); font: 800 1.18rem/1 'Outfit', sans-serif; }
.sku-panel p { margin: 0 0 15px !important; font-size: .92rem; }
.sku-decision { padding: 12px 14px; border-left: 4px solid var(--wm-green); border-radius: 6px; background: #fff; color: var(--wm-forest); font: 700 .85rem/1.4 'Outfit', sans-serif; }
.sku-table-wrap { margin: 26px 0 30px; border: 1px solid var(--wm-line); border-radius: 12px; }
.sku-table { min-width: 1050px; }

.decision-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 26px 0 30px; }
.decision-grid article { border-left: 4px solid var(--wm-green); }

@media (max-width: 760px) {
  .metric-tabs { grid-template-columns: repeat(2, 1fr); padding: 22px 22px 0; }
  .metric-detail { margin-right: 22px; margin-left: 22px; }
  .average-calculator { grid-template-columns: 1fr; align-items: stretch; padding: 22px; }
  .calc-symbol { padding: 0; text-align: center; }
  .family-tabs, .sku-tabs { padding-right: 22px; padding-left: 22px; }
  .family-display, .sku-panel { margin-right: 22px; margin-left: 22px; }
  .connection-grid { grid-template-columns: repeat(2, 1fr); padding: 22px; }
  .connection-grid > div:last-child { grid-column: 1 / -1; }
  .scenario-gap { margin-right: 22px; margin-left: 22px; }
  .sku-tabs { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 520px) {
  .metric-tabs, .turnover-grid, .direction-grid, .decision-grid, .sku-tabs { grid-template-columns: 1fr; }
  .metric-tab { min-height: 58px; }
  .formula-box { align-items: flex-start; flex-direction: column; gap: 8px; }
  .formula-box strong { text-align: left; }
  .formula-box.dual em { align-self: center; }
  .family-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .family-tab { font-size: .72rem; }
  .family-display strong { font-size: 1.55rem; }
  .connection-grid { grid-template-columns: 1fr; }
  .connection-grid > div:last-child { grid-column: auto; }
  .scenario-gap { flex-wrap: wrap; }
  .sku-metrics { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .metric-tab, .family-tab, .sku-tab, .turnover-grid article, .decision-grid article { transition: none; }
}
