/* Batch74: professional, readable and interactive business charts. */
body.erp-mode .intel-grid-main { grid-template-columns: minmax(0, 1fr) !important; }
body.erp-mode .intel-trend { padding: 18px !important; }
body.erp-mode .intel-trend > header { padding-bottom: 13px; border-bottom: 1px solid #edf2f7; }
body.erp-mode .intel-trend > header h3 { color: #172f4d; font-size: 17px; }
body.erp-mode .intel-trend > header p { font-size: 10px; }
body.erp-mode #intelTrendChart.intel-chart { min-height: 520px; }
body.erp-mode .b73-chart-stage { height: 400px; border-color: #dce6f0; border-radius: 12px; background: linear-gradient(180deg, #ffffff, #f8fbff); box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
body.erp-mode .b73-grid line { stroke: #e5ecf4; }
body.erp-mode .b73-grid text, body.erp-mode .b73-axis text, body.erp-mode .b73-threshold text { fill: #52677f; font-size: 13px; font-weight: 400; font-variant-numeric: tabular-nums; text-rendering: geometricPrecision; }
body.erp-mode .b74-axis-lines line { stroke: #aebdce; stroke-width: 1.15; vector-effect: non-scaling-stroke; }
body.erp-mode .b73-grid .b74-y-tick, body.erp-mode .b73-axis .b74-x-tick { stroke: #9fb0c2; }
body.erp-mode .b74-axis-titles text { fill: #405a75; font-size: 13px; font-weight: 600; text-rendering: geometricPrecision; }
body.erp-mode .b73-series .b73-line { stroke-width: 3; }
body.erp-mode .b73-series .b73-area { opacity: .06; }
body.erp-mode .b74-end-label { pointer-events: none; }
body.erp-mode .b74-end-label rect { fill: #fff; stroke: var(--series); stroke-width: 1; opacity: .96; vector-effect: non-scaling-stroke; }
body.erp-mode .b74-end-label text { fill: var(--series); font-size: 11px; font-weight: 600; text-rendering: geometricPrecision; }
body.erp-mode .b73-crosshair { stroke: #45637f; opacity: .65; }
body.erp-mode .b73-chart-tooltip { top: 18px; width: 205px; padding: 12px 13px; }
body.erp-mode .b73-chart-tooltip b { font-size: 11px; }
body.erp-mode .b73-chart-tooltip span, body.erp-mode .b73-chart-tooltip strong { font-size: 10px; }
body.erp-mode .intel-market-card { padding: 17px !important; }
body.erp-mode .intel-market-pulse { display: grid; grid-template-columns: repeat(2, minmax(230px, 1fr)); gap: 11px; }
body.erp-mode .intel-market-meta { grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.erp-mode .intel-market-meta span { min-height: 55px; }

body.erp-mode .viz-main-grid { grid-template-columns: minmax(0, 1fr) !important; }
body.erp-mode .viz-chart-panel { padding: 18px !important; }
body.erp-mode .viz-chart-panel > header { align-items: center; padding-bottom: 13px; border-bottom: 1px solid #edf2f7; }
body.erp-mode .viz-chart-panel h2 { font-size: 18px; }
body.erp-mode .viz-chart { min-height: 440px; border-color: #dce6f0; border-radius: 12px; background: linear-gradient(180deg, #fff, #f8fbff); }
body.erp-mode .viz-chart-scroll { height: 420px; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; }
body.erp-mode .viz-chart-stage { position: relative; width: 100%; height: 100%; min-width: 0; outline: none; }
body.erp-mode .viz-chart-stage:focus-visible { box-shadow: inset 0 0 0 3px rgba(37,99,235,.14); }
body.erp-mode .viz-chart svg { width: 100%; min-width: 720px; height: 100%; overflow: visible; }
body.erp-mode .viz-grid line { stroke: #e4ecf4; }
body.erp-mode .viz-grid text, body.erp-mode .viz-x-labels text { fill: #52677f; font-size: 13px; font-weight: 400; font-variant-numeric: tabular-nums; text-rendering: geometricPrecision; }
body.erp-mode .viz-axis-lines line { stroke: #aebdce; stroke-width: 1.15; vector-effect: non-scaling-stroke; }
body.erp-mode .viz-axis-tick { stroke: #9fb0c2 !important; }
body.erp-mode .viz-axis-titles text { fill: #405a75; font-size: 13px; font-weight: 600; text-rendering: geometricPrecision; }
body.erp-mode .viz-series { color: var(--viz-series-color); }
body.erp-mode .viz-series .viz-line { fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; filter: drop-shadow(0 3px 4px rgba(25,58,104,.08)); }
body.erp-mode .viz-series .viz-line-muted { opacity: .34; stroke-width: 1.5; }
body.erp-mode .viz-series .viz-area { fill: currentColor; opacity: .065; }
body.erp-mode .viz-series .viz-bar { fill: currentColor; opacity: .72; }
body.erp-mode .viz-series .viz-point { fill: #fff; stroke: currentColor; stroke-width: 2.3; vector-effect: non-scaling-stroke; transition: r .16s ease, stroke-width .16s ease, filter .16s ease; }
body.erp-mode .viz-series .viz-point.selected { r: 7; stroke-width: 3.2; filter: drop-shadow(0 3px 5px rgba(37,99,235,.3)); }
body.erp-mode .viz-end-label { pointer-events: none; }
body.erp-mode .viz-end-label rect { fill: #fff; stroke: currentColor; stroke-width: 1; opacity: .96; vector-effect: non-scaling-stroke; }
body.erp-mode .viz-end-label text { fill: currentColor; font-size: 11px; font-weight: 600; text-rendering: geometricPrecision; }
body.erp-mode .viz-crosshair { stroke: #45637f; stroke-width: 1; stroke-dasharray: 4 4; opacity: .64; pointer-events: none; vector-effect: non-scaling-stroke; }
body.erp-mode .viz-hit-area { fill: transparent; cursor: crosshair; }
body.erp-mode .viz-floating-tooltip { position: absolute; top: 16px; z-index: 4; width: 210px; padding: 12px 13px; border: 1px solid rgba(25,58,104,.18); border-radius: 10px; background: rgba(255,255,255,.97); box-shadow: 0 12px 30px rgba(20,45,78,.15); opacity: 0; pointer-events: none; transform: translate(-50%, -5px); transition: opacity .15s ease, transform .15s ease; }
body.erp-mode .viz-floating-tooltip.visible { opacity: 1; transform: translate(-50%, 0); }
body.erp-mode .viz-floating-tooltip > b { display: block; margin-bottom: 7px; color: #1d334f; font-size: 11px; }
body.erp-mode .viz-floating-tooltip span { display: grid; grid-template-columns: 7px 1fr auto auto; align-items: center; gap: 7px; color: #65778d; font-size: 10px; line-height: 1.9; }
body.erp-mode .viz-floating-tooltip i { width: 7px; height: 7px; border-radius: 50%; }
body.erp-mode .viz-floating-tooltip i.sales { background: #2563eb; }
body.erp-mode .viz-floating-tooltip i.receipt { background: #0f9f8d; }
body.erp-mode .viz-floating-tooltip i.revenue { background: #e07b39; }
body.erp-mode .viz-floating-tooltip strong { color: #1d334f; }
body.erp-mode .viz-floating-tooltip em { color: #0f8f7f; font-style: normal; }
body.erp-mode .viz-point-detail { min-height: 48px; background: #f3f7fc; }
body.erp-mode .viz-point-detail strong { font-size: 13px; }
body.erp-mode .viz-point-detail .mixed { color: #4d6380; }
body.erp-mode .viz-ranking-panel .viz-ranking { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; }
body.erp-mode .viz-dual-delta span { display: block; white-space: nowrap; }
body.erp-mode .b73-chart-svg, body.erp-mode .viz-chart svg { text-rendering: geometricPrecision; shape-rendering: geometricPrecision; }
body.erp-mode .b73-series .b73-point, body.erp-mode .viz-series .viz-point { shape-rendering: geometricPrecision; }

@media (max-width: 780px) {
  body.erp-mode #intelTrendChart.intel-chart { min-height: 450px; }
  body.erp-mode .b73-chart-stage { height: 350px; overflow-x: auto; }
  body.erp-mode .b73-chart-svg { width: 820px; min-width: 820px; }
  body.erp-mode .intel-market-pulse { grid-template-columns: minmax(0, 1fr); }
  body.erp-mode .intel-market-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.erp-mode .viz-chart { min-height: 390px; }
  body.erp-mode .viz-chart-scroll { height: 370px; }
  body.erp-mode .viz-chart-stage { width: 820px; min-width: 820px; }
  body.erp-mode .viz-chart svg { width: 820px; min-width: 820px; }
  body.erp-mode .viz-floating-tooltip { position: sticky; left: 112px !important; }
  body.erp-mode .viz-ranking-panel .viz-ranking { grid-template-columns: minmax(0, 1fr); }
  body.erp-mode .viz-legend { flex-wrap: wrap; white-space: normal; }
}
@media (max-width: 430px) {
  body.erp-mode .viz-point-detail { flex-direction: column; align-items: flex-start; }
  body.erp-mode .intel-market-meta { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  body.erp-mode .viz-floating-tooltip, body.erp-mode .viz-series .viz-point { transition: none !important; }
}
