/* b03.css - блок 03 «Клиенты и спрос» */
#strategy-commercial .b03-lead { font-size: 16px; line-height: 1.55; color: var(--muted, #626d77); margin: 0 0 22px; max-width: 860px; }
#strategy-commercial .b03-h3 { font-size: 15.5px; font-weight: 700; margin: 0 0 10px; color: var(--ink, #080e1b); letter-spacing: -0.01em; }
#strategy-commercial .b03-panel { margin-bottom: 24px; }
#strategy-commercial .b03-chart-box { margin-top: 22px; background: #fff; border: 1px solid #d1d7d4; border-radius: 10px; padding: 18px 20px 16px; box-sizing: border-box; }
#strategy-commercial .b03-legend { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: 13px; color: var(--ink, #080e1b); margin-bottom: 8px; }
#strategy-commercial .b03-lg { display: inline-flex; align-items: center; gap: 8px; }
#strategy-commercial .b03-sw { display: inline-block; width: 16px; height: 12px; border-radius: 2px; box-sizing: border-box; }
#strategy-commercial .b03-sw-inst { background: #e3efe6; border: 1.5px solid #2e5c3e; }
#strategy-commercial .b03-sw-bill { background: #2e5c3e; }
#strategy-commercial .b03-chart { width: 100%; }
#strategy-commercial .b03-chart svg { display: block; width: 100%; height: auto; font-variant-numeric: tabular-nums; }
#strategy-commercial .b03-read { margin: 10px 0 0; padding: 12px 14px; background: #e9eee9; border-radius: 8px; font-size: 14.5px; line-height: 1.55; color: var(--ink, #080e1b); }
#strategy-commercial .b03-axis { font-size: 12px; fill: #626d77; }
#strategy-commercial .b03-axis-year { font-size: 12px; fill: #626d77; font-weight: 600; }
#strategy-commercial .b03-steplab { font-size: 12px; font-weight: 700; fill: #244e38; }
#strategy-commercial .b03-grid { stroke: #d1d7d4; opacity: .4; stroke-width: 1; }
#strategy-commercial .b03-guide { stroke: #9aa59f; stroke-dasharray: 4 3; stroke-width: 1; }

#strategy-commercial .b03-market { margin-top: 28px; }
#strategy-commercial .b03-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#strategy-commercial .b03-assump { margin: 12px 0 0; padding: 10px 14px; border: 1px dashed #b37d2e; border-radius: 8px; font-size: 14px; line-height: 1.5; color: var(--ink, #080e1b); }
#strategy-commercial .b03-fact { background: #f9fbf9; border: 1px solid #d1d7d4; border-radius: 10px; padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; }
#strategy-commercial .b03-fact b { font-size: 22px; line-height: 1.15; color: #2e5c3e; font-variant-numeric: tabular-nums; }
#strategy-commercial .b03-fact span { font-size: 13px; line-height: 1.45; color: var(--muted, #626d77); }
#strategy-commercial .b03-caption { margin: 12px 0 6px; padding: 10px 14px; background: #fbf1de; border-radius: 8px; font-size: 14px; line-height: 1.5; color: #7a5418; }
#strategy-commercial .b03-caption b { font-weight: 700; }
#strategy-commercial .b03-pay { margin: 8px 0 0; line-height: 1.5; font-size: 14px; color: var(--muted, #626d77); }

#strategy-commercial .b03-canvas-wrap { margin-top: 32px; container: b03c / inline-size; }
#strategy-commercial .b03-market { container: b03m / inline-size; }
#strategy-commercial .b03-canvas { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 8px; }
#strategy-commercial .b03-cell { background: #f9fbf9; border: 1px solid #d1d7d4; border-radius: 10px; padding: 12px 14px 12px; display: flex; flex-direction: column; gap: 8px; min-width: 0; box-sizing: border-box; }
#strategy-commercial .b03-cell-kp { grid-column: 1 / span 2; grid-row: 1 / span 2; }
#strategy-commercial .b03-cell-ka { grid-column: 3 / span 2; grid-row: 1; }
#strategy-commercial .b03-cell-kr { grid-column: 3 / span 2; grid-row: 2; }
#strategy-commercial .b03-cell-vp { grid-column: 5 / span 2; grid-row: 1 / span 2; background: #e3efe6; border-color: #b7cdbd; }
#strategy-commercial .b03-cell-cr { grid-column: 7 / span 2; grid-row: 1; }
#strategy-commercial .b03-cell-ch { grid-column: 7 / span 2; grid-row: 2; }
#strategy-commercial .b03-cell-cs { grid-column: 9 / span 2; grid-row: 1 / span 2; }
#strategy-commercial .b03-cell-cost { grid-column: 1 / span 5; grid-row: 3; }
#strategy-commercial .b03-cell-rev { grid-column: 6 / span 5; grid-row: 3; }
#strategy-commercial .b03-cell-head { display: flex; align-items: flex-start; gap: 8px; }
#strategy-commercial .b03-cell-num { flex: none; width: 20px; height: 20px; border-radius: 50%; background: #2e5c3e; color: #fff; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
#strategy-commercial .b03-cell-title { margin: 0 !important; padding: 0 !important; border: 0 !important; font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--ink, #080e1b); text-transform: none; letter-spacing: 0; }
#strategy-commercial .b03-cell-text { margin: 0; font-size: 13.5px; line-height: 1.45; color: var(--ink, #080e1b); overflow-wrap: anywhere; }
#strategy-commercial .b03-chips { margin-top: auto; display: flex; flex-wrap: wrap; gap: 6px; }
#strategy-commercial .b03-chip { font-size: 11.5px; font-weight: 600; line-height: 1; padding: 4px 8px; border-radius: 999px; }
#strategy-commercial .b03-chip-h { background: #fbf1de; color: #7a5418; }
#strategy-commercial .b03-chip-m { background: #e3efe6; color: #244e38; }
#strategy-commercial .b03-attr { margin: 10px 0 0; font-size: 12px; color: var(--muted, #626d77); }

#strategy-commercial .b03-howto { margin: 22px 0 14px; font-size: 14.5px; line-height: 1.55; max-width: 860px; }
#strategy-commercial .b03-xl { margin: 0 0 18px; }
#strategy-commercial .b03-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; }
#strategy-commercial .b03-xlsx:hover { background: #e3efe6; }

@container b03m (max-width: 760px) {
  #strategy-commercial .b03-facts { grid-template-columns: minmax(0, 1fr); }
}
@container b03c (max-width: 900px) {
  #strategy-commercial .b03-canvas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #strategy-commercial .b03-cell { grid-column: auto !important; grid-row: auto !important; }
  #strategy-commercial .b03-cell-cs { order: 1; } #strategy-commercial .b03-cell-vp { order: 2; }
  #strategy-commercial .b03-cell-ch { order: 3; } #strategy-commercial .b03-cell-cr { order: 4; }
  #strategy-commercial .b03-cell-rev { order: 5; } #strategy-commercial .b03-cell-kr { order: 6; }
  #strategy-commercial .b03-cell-ka { order: 7; } #strategy-commercial .b03-cell-kp { order: 8; }
  #strategy-commercial .b03-cell-cost { order: 9; grid-column: 1 / -1 !important; }
}
@container b03c (max-width: 520px) {
  #strategy-commercial .b03-canvas { grid-template-columns: minmax(0, 1fr); }
  #strategy-commercial .b03-cell-cost { grid-column: auto !important; }
}
@container b03m (max-width: 480px) { #strategy-commercial .b03-facts { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 520px) { #strategy-commercial .b03-chart-box { padding: 14px 12px; } }
