:root {
  --muted: #4e6057;
  --soft: #5d6e64;
}

body {
  font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  font-variant-numeric: lining-nums tabular-nums;
}
*, *::before, *::after { letter-spacing: 0; }
small { font-size: 13px; }
button, input, select, textarea { font-size: 14px; }
input, select, textarea { min-width: 0; }
button:focus-visible, a:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.topbar h1, .page-intro h2, .selected-product-copy h2 { font-family: inherit; font-weight: 650; }
.topbar h1 { font-size: 26px; }
.page-intro h2 { font-size: 30px; line-height: 1.4; }
.page-intro p:not(.section-kicker) { font-size: 15px; }
.eyebrow, .section-kicker, .asof, .legend, .section-title .legend { font-size: 13px; }
.section-title h3 { font-size: 21px; }
.section-title p, .panel-head p { font-size: 14px; line-height: 1.65; }
.panel-head h3 { font-size: 18px; }
.panel-head > div { min-width: 0; }
.panel-head, .section-title { flex-wrap: wrap; }
.brand small { font-size: 11px; }
.nav-button { grid-template-columns: 22px minmax(0, 1fr); padding: 12px 10px; }
.nav-button b { font-size: 16px; }
.nav-button small { font-size: 12px; opacity: .9; }
.nav-icon { font-size: 12px; }
.sidebar-note b { font-size: 13px; }
.sidebar-note small { font-size: 12px; color: #bfd0c7; }
.data-badge, .period-tag, .result-count, .tier, .tier.large, .pace { font-size: 13px; }
.performance-head span:first-child { font-size: 15px; }
.performance-value { font-size: 34px; }
.performance-meta, .performance-foot { font-size: 14px; flex-wrap: wrap; }
.performance-value small { font-size: 14px; }
.pure-progress-body { grid-template-columns: 224px minmax(0, 1fr); gap: 20px; }
.radial { width: 216px; height: 216px; }
.radial::after { width: 170px; height: 170px; }
.radial strong { font-size: 34px; }
.radial span { font-size: 13px; }
.monthly-bars { min-width: 0; width: 100%; overflow-x: auto; padding-bottom: 6px; }
.monthly-bars header { font-size: 14px; gap: 12px; flex-wrap: wrap; }
.monthly-bars header small { font-size: 13px; }
.bar-grid { min-width: 480px; height: 220px; grid-template-columns: repeat(9, minmax(46px, 1fr)); gap: 7px; }
.month-bar { grid-template-rows: 24px minmax(130px, 1fr) 28px; gap: 7px; }
.month-bar > span { font-size: 13px; color: var(--muted); }
.month-bar > strong { font-size: 15px; color: var(--ink); font-weight: 650; white-space: nowrap; }
.metric-card { min-width: 0; padding: 18px; }
.metric-card > span { font-size: 14px; }
.metric-card > strong { font-size: 28px; }
.metric-card footer { font-size: 13px; gap: 10px; flex-wrap: wrap; }
.diagnostic-list { max-height: 490px; padding: 8px 18px 16px; scrollbar-gutter: stable; }
.diagnostic-row { grid-template-columns: minmax(80px, 1fr) minmax(40px, .65fr) 88px; gap: 12px; padding: 14px 0; }
.diagnostic-label b { font-size: 15px; font-weight: 650; }
.diagnostic-label small { font-size: 13px; }
.diagnostic-row > span { font-size: 14px; }
.diagnostic-track { height: 8px; }
.filter-bar label > span, .field span { font-size: 13px; }
.filter-bar input, .filter-bar select, .secondary-button.compact,
.gallery-controls input, .gallery-controls select { height: 42px; }
table { font-size: 14px; line-height: 1.6; }
th { font-size: 14px; color: var(--muted); padding: 14px 12px; }
.aw26-table table { min-width: 1120px; }
.aw26-table td { padding-block: 12px; }
.sku-cell b { font-size: 16px; }
.sku-cell small, .sell-through header small { font-size: 13px; }
.sell-through { min-width: 140px; }
.sell-through header { flex-wrap: wrap; }
.sell-through header b { font-size: 16px; }
.table-photo { width: 88px; height: 88px; border-radius: 8px; }
.product-photo { background: #fff; object-fit: contain; }
.table-summary { font-size: 14px; gap: 12px 20px; }
.focus-gallery { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.focus-card-image { height: auto; aspect-ratio: 1.35; background: #fff; }
.focus-card-body { padding: 16px; }
.focus-card-body > header { flex-wrap: wrap; }
.focus-card-body > header > b { font-size: 18px; }
.focus-card-body p { min-height: 44px; margin: 8px 0 12px; font-size: 14px; }
.focus-progress { font-size: 14px; flex-wrap: wrap; }
.focus-progress strong { font-size: 16px; }
.selected-product-image { width: 184px; height: 184px; background: #fff; }
.selected-product-copy h2 { font-size: 32px; }
.selected-product-copy > p:not(.section-kicker) { font-size: 15px; }
.selected-product-copy .pace { display: inline-block; white-space: normal; }
.summary-grid .summary-card { min-height: 140px; min-width: 0; }
.summary-card span { font-size: 14px; }
.summary-card strong { font-size: 26px; overflow-wrap: anywhere; }
.summary-card small { font-size: 13px; }
.product-tab { font-size: 15px; padding: 13px 17px; }
#productWorkbench { scroll-margin-top: 108px; }
.trend-chart { min-height: 320px; }
.chart-canvas { height: 250px; padding: 16px 4px 30px 62px; }
.chart-grid { left: 62px; bottom: 30px; }
.chart-y { font-size: 13px; bottom: 30px; }
.chart-x { margin: 6px 0 0; font-size: 13px; }
.chart-legend { margin-top: 25px; font-size: 14px; flex-wrap: wrap; gap: 10px 18px; }
.diagnosis-card h4 { font-size: 16px; }
.diagnosis-card p { font-size: 14px; line-height: 1.75; }
.diagnosis-card .label { font-size: 12px; flex: none; }
.diagnosis-card header { flex-wrap: wrap; }
.months { grid-template-columns: repeat(8, minmax(116px, 1fr)); }
.month-cell span, .month-cell small { font-size: 13px; }
.month-cell b { font-size: 21px; }
.signal-card h4 { font-size: 17px; }
.signal-card header span, .signal-card .metric-line small, .module-note { font-size: 14px; }
.signal-card header, .signal-card .metric-line { flex-wrap: wrap; gap: 10px; }
.signal-card .metric-line strong { font-size: 28px; }
.signal-card .empty, .empty { font-size: 14px; }
.note-area { font-size: 15px; line-height: 1.7; }
.save-hint { font-size: 13px; }
.task-form { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(145px, 1fr) auto; padding: 12px 0 20px; }
.task-list { padding: 16px 0 0; }
.task-item b { font-size: 15px; overflow-wrap: anywhere; }
.task-item small, .task-item button { font-size: 13px; }
.task-item > div { min-width: 0; }
input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--green); }
.method-note, footer { font-size: 13px; line-height: 1.7; }
.toast { font-size: 14px; }

@media (max-width: 1600px) {
  .pure-layout { grid-template-columns: 1fr; }
  .pure-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1380px) {
  .diagnostic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .focus-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1050px) {
  .pure-progress-body { grid-template-columns: 1fr; justify-items: center; }
  .diagnostic-grid { grid-template-columns: 1fr; }
  .focus-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .task-form { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .pure-kpis { grid-template-columns: 1fr; }
  .metric-card footer { flex-direction: row; }
}
@media (max-width: 600px) {
  .page-intro h2 { font-size: 26px; }
  .section-title { align-items: flex-start; }
  .focus-gallery { grid-template-columns: 1fr; }
  .focus-card-image { height: auto; aspect-ratio: 1.5; }
  .focus-card-body p { min-height: 0; }
  .selected-product-image { width: 100%; height: 240px; }
  .summary-grid { grid-template-columns: 1fr; }
  .summary-grid .summary-card { min-height: 0; }
  .task-form { grid-template-columns: 1fr; }
  .diagnostic-list { max-height: 490px; }
  .diagnostic-row { grid-template-columns: minmax(74px, 1fr) minmax(24px, .45fr) 84px; gap: 8px; }
  .performance-value { font-size: 30px; }
  .performance-card { padding: 18px; }
  .gallery-controls { flex-wrap: wrap; }
  .gallery-controls select { flex: 1; }
}
