/* b02.css – блок 02 «Взносы инвестора». Префикс b02-. Переключатели и панель берутся из s00-*. */

.b02-chart-card {
  background: #ffffff;
  border: 1px solid #d4ded7;
  border-radius: 8px;
  padding: 16px 18px 12px;
  margin: 0 0 18px;
}
.b02-chart-title,
.b02-strip-title {
  font-size: 15.5px;
  font-weight: 700;
  color: var(--ink, #080e1b);
  margin: 0 0 8px;
  line-height: 1.3;
}
.b02-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  font-size: 12.5px;
  color: var(--muted, #626d77);
  margin: 0 0 8px;
}
.b02-legend span { display: inline-flex; align-items: center; gap: 7px; }
.b02-legend i { display: inline-block; width: 14px; height: 10px; border-radius: 2px; flex: none; }
.b02-legend i.is-eq { background: #2e5c3e; }
.b02-legend i.is-cash { background: #b37d2e; }
.b02-legend i.is-debt { background: #3d6b8f; }
.b02-legend i.is-line { height: 0; border-top: 3px solid #244e38; border-radius: 0; width: 18px; }
.b02-legend i.is-cod { height: 0; border-top: 2px dashed #626d77; border-radius: 0; width: 18px; }

.b02-svg { width: 100%; overflow-x: auto; }
.b02-svg svg { display: block; width: 100%; height: auto; }
.b02-svg text {
  font-variant-numeric: tabular-nums;
  paint-order: stroke;
  stroke: #ffffff;
  stroke-width: 3px;
  stroke-linejoin: round;
}
.b02-bar-group { cursor: default; }
.b02-bar-group:hover rect { opacity: 0.85; }

.b02-strip-card {
  background: #ffffff;
  border: 1px solid #d4ded7;
  border-radius: 8px;
  padding: 16px 18px 16px;
  margin: 0 0 18px;
}
.b02-strip-bar {
  display: flex;
  width: 100%;
  height: 26px;
  border-radius: 5px;
  overflow: hidden;
  margin: 4px 0 12px;
  background: #eef1ef;
}
.b02-strip-seg { height: 100%; min-width: 2px; border-right: 2px solid #ffffff; box-sizing: border-box; }
.b02-strip-seg:last-child { border-right: 0; }
.b02-strip-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 6px 22px;
  font-size: 13px;
  line-height: 1.35;
}
.b02-strip-list li { display: flex; align-items: baseline; gap: 8px; }
.b02-strip-list i { display: inline-block; width: 11px; height: 11px; border-radius: 2px; flex: none; transform: translateY(1px); }
.b02-strip-list .b02-nm { flex: 1 1 auto; min-width: 0; }
.b02-strip-list .b02-vl { flex: none; font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }
.b02-strip-note { font-size: 12.5px; line-height: 1.5; color: var(--muted, #626d77); margin: 10px 0 0; }

.b02-peak-line {
  font-size: 14.5px;
  line-height: 1.55;
  margin: 0 0 12px;
  padding: 10px 14px;
  border-left: 3px solid #b37d2e;
  background: #fbf1de;
  border-radius: 0 6px 6px 0;
  color: var(--ink, #080e1b);
}
.b02-read { background: #eaeee5; border-radius: 6px; padding: 14px 16px; margin: 0 0 12px; }
.b02-read p { font-size: 14.5px; line-height: 1.6; margin: 0; color: var(--ink, #080e1b); }
.b02-foot { font-size: 12.5px; line-height: 1.5; color: var(--muted, #626d77); margin: 8px 0 14px; }

a.b02-xlsx {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #2e5c3e;
  color: #2e5c3e;
  background: transparent;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 14px;
  text-decoration: none;
  margin: 0 0 16px;
}
a.b02-xlsx:hover { background: #e3efe6; }
a.b02-xlsx svg { flex: none; }

#strategy-capital .b02-tile-sub-extra { display: block; margin-top: 2px; }

@media (max-width: 480px) {
  .b02-chart-card, .b02-strip-card { padding: 12px 10px 10px; }
  .b02-strip-list { grid-template-columns: 1fr; }
}

.b02-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 22px; }
.b02-kpi-grid .deck-kpi-card { margin: 0; }
@media (max-width: 1180px) { .b02-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .b02-kpi-grid { grid-template-columns: 1fr; } }

/* постатейная смета RD11 */
#strategy-capital .b02-cx-card .b02-strip-note { font-size: 12.5px; line-height: 1.5; }
.b02-cx-card { background: #ffffff; border: 1px solid #d4ded7; border-radius: 8px; padding: 16px 18px 16px; margin: 0 0 18px; }
.b02-cx-ctrl { margin: 4px 0 10px; }
#strategy-capital .b02-cx-comp { font-size: 13.5px; line-height: 1.5; margin: 0 0 12px; color: var(--ink, #080e1b); }
.b02-cx-sum { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 12px; }
.b02-cx-key { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 9px 12px; border: 1px solid #e2e8e4; border-radius: 6px; font-size: 13.5px; line-height: 1.35; }
.b02-cx-key.is-vat { background: #f7f8f6; color: var(--muted, #626d77); }
.b02-cx-kl { min-width: 0; }
#strategy-capital .b02-cx-kl small { display: block; font-size: 12px; color: var(--muted, #626d77); margin-top: 2px; }
.b02-cx-kv { flex: none; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.b02-cx-kv em { display: block; font-style: normal; font-weight: 400; font-size: 12px; color: var(--muted, #626d77); }
#strategy-capital .b02-cx-card p.b02-cx-hint, #strategy-capital .b02-cx-card p.b02-strip-note { font-size: 12.5px; line-height: 1.5; color: var(--muted, #626d77); margin: 0 0 8px; }
/* таблица по высоте экрана: шапка и итог прилипают, прокрутка внутри */
.b02-cx-list { max-height: calc(100vh - 110px); max-height: calc(100dvh - 110px); overflow: auto; -webkit-overflow-scrolling: touch; border: 1px solid #e2e8e4; border-radius: 6px; overscroll-behavior: contain; }
.b02-cx-list:focus-visible { outline: 2px solid #2e5c3e; outline-offset: 2px; }
#strategy-capital .b02-cx-table { width: 100%; min-width: 0; margin: 0; border-collapse: separate; border-spacing: 0; font-size: 13px; line-height: 1.35; table-layout: fixed; }
.b02-cx-c2 { width: 220px; } .b02-cx-c3 { width: 126px; } .b02-cx-c4 { width: 62px; } .b02-cx-c5 { width: 172px; }
#strategy-capital .b02-cx-table th, #strategy-capital .b02-cx-table td { font-size: 13px; line-height: 1.35; padding: 5px 10px; border-bottom: 1px solid #eef1ef; vertical-align: top; text-align: left; }
#strategy-capital .b02-cx-table thead th { position: sticky; top: 0; z-index: 2; background: #ffffff; font-weight: 600; font-size: 12px; padding-top: 7px; padding-bottom: 7px; color: var(--muted, #626d77); border-bottom: 1px solid #d4ded7; white-space: nowrap; }
#strategy-capital .b02-cx-table thead th:nth-child(2), #strategy-capital .b02-cx-table thead th:nth-child(3), #strategy-capital .b02-cx-table thead th:nth-child(4) { text-align: right; }
#strategy-capital .b02-cx-ghead th, #strategy-capital .b02-cx-ghead td { background: #f3f5f2; border-top: 1px solid #e2e8e4; font-weight: 700; padding-top: 7px; padding-bottom: 7px; }
#strategy-capital .b02-cx-gbtn { all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: baseline; gap: 8px; font-size: 13.5px; font-weight: 700; color: var(--ink, #080e1b); }
.b02-cx-gbtn::before { content: '▾'; color: var(--muted, #626d77); font-weight: 400; width: 10px; flex: none; }
.b02-cx-gbtn[aria-expanded="false"]::before { content: '▸'; }
.b02-cx-gbtn:focus-visible { outline: 2px solid #2e5c3e; outline-offset: 2px; border-radius: 2px; }
.b02-cx-grp.is-closed tr:not(.b02-cx-ghead) { display: none; }
.b02-cx-dot { display: inline-block; width: 10px; height: 10px; border-radius: 2px; flex: none; transform: translateY(1px); }
.b02-cx-cnt { font-weight: 400; font-size: 12px; color: var(--muted, #626d77); white-space: nowrap; }
#strategy-capital .b02-cx-art { overflow-wrap: anywhere; }
#strategy-capital .b02-cx-table .b02-cx-calc { text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; color: var(--muted, #626d77); }
#strategy-capital .b02-cx-table .b02-cx-amt { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 600; }
#strategy-capital .b02-cx-table .b02-cx-sh { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--muted, #626d77); }
#strategy-capital .b02-cx-table .b02-cx-ghead .b02-cx-sh { color: var(--ink, #080e1b); }
#strategy-capital .b02-cx-mark { font-size: 11px; font-weight: 400; padding: 0 5px; border-radius: 3px; background: #fbf1de; color: #7a5418; white-space: nowrap; }
#strategy-capital .b02-cx-duty { display: block; font-size: 11.5px; color: #2f4f7a; margin-top: 2px; }
#strategy-capital .b02-cx-tag { display: inline-block; font-size: 11.5px; line-height: 1.3; padding: 1px 6px; border-radius: 3px; background: #eef1ef; color: #444f49; white-space: nowrap; }
.b02-cx-tag.is-direct { background: #e3efe6; color: #244e38; }
.b02-cx-tag.is-none { background: #fbf1de; color: #7a5418; }
#strategy-capital .b02-cx-table tfoot td { position: sticky; bottom: 0; z-index: 2; background: #eaeee5; font-weight: 700; border-top: 1px solid #d4ded7; border-bottom: 0; }
#strategy-capital .b02-cx-table tfoot small { display: block; font-weight: 400; font-size: 12px; color: var(--muted, #626d77); }
/* capex-readability.css задаёт таблицам 16px !important – здесь своя плотность */
#strategy-capital .b02-cx-table th, #strategy-capital .b02-cx-table td { font-size: 13px !important; line-height: 1.35 !important; }
#strategy-capital .b02-cx-table thead th { font-size: 12px !important; }
#strategy-capital .b02-cx-table small { font-size: 12px !important; }
#strategy-capital .b02-cx-table .b02-cx-duty { font-size: 11.5px !important; }
@media (max-width: 1100px) { .b02-cx-sum { grid-template-columns: 1fr; gap: 6px; } .b02-cx-c2 { width: 180px; } .b02-cx-c5 { width: 160px; } }
@media (max-width: 760px) {
  .b02-cx-card { padding: 12px 10px 10px; }
  .b02-cx-list { max-height: calc(100vh - 90px); max-height: calc(100dvh - 90px); overflow-x: hidden; }
  #strategy-capital .b02-cx-table, #strategy-capital .b02-cx-table tbody, #strategy-capital .b02-cx-table tfoot { display: block; width: 100%; }
  #strategy-capital .b02-cx-table colgroup, #strategy-capital .b02-cx-table thead { display: none; }
  #strategy-capital .b02-cx-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "art art" "calc amt" "bs sh"; column-gap: 10px; row-gap: 3px; padding: 7px 10px; border-bottom: 1px solid #eef1ef; }
  #strategy-capital .b02-cx-table th, #strategy-capital .b02-cx-table td { display: block; padding: 0; border: 0; background: transparent; position: static; min-width: 0; }
  #strategy-capital .b02-cx-table .b02-cx-art { grid-area: art; }
  #strategy-capital .b02-cx-table .b02-cx-calc { grid-area: calc; text-align: left; white-space: normal; }
  #strategy-capital .b02-cx-table .b02-cx-amt { grid-area: amt; }
  #strategy-capital .b02-cx-table .b02-cx-bs { grid-area: bs; }
  #strategy-capital .b02-cx-table .b02-cx-sh { grid-area: sh; }
  #strategy-capital .b02-cx-table tr.b02-cx-ghead { grid-template-areas: "art amt" "art sh"; background: #f3f5f2; }
  #strategy-capital .b02-cx-table tr.b02-cx-ghead th { grid-area: art; }
  #strategy-capital .b02-cx-table tr.b02-cx-ghead td.b02-cx-bs { display: none; }
  #strategy-capital .b02-cx-table tfoot { position: sticky; bottom: 0; z-index: 2; }
  #strategy-capital .b02-cx-table tfoot tr { grid-template-areas: "art art" "amt sh"; background: #eaeee5; }
  #strategy-capital .b02-cx-table tfoot .b02-cx-amt { text-align: left; }
  #strategy-capital .b02-cx-table tfoot td:first-child { grid-area: art; }
  #strategy-capital .b02-cx-table tfoot td.b02-cx-bs { display: none; }
}
