.research-workbench { grid-template-columns: 18% minmax(0, 1fr); grid-template-areas: "outline canvas"; }
.research-workbench .step-canvas { border-right: 0; }
.analysis-history { min-width: 0; padding: .75rem; }
.step-version { font-size: .75rem; color: #7a7669; }
.research-workbench .visualization.analysis-page-charts { overflow: visible; }
.analysis-page-charts { display: block; min-width: 0; container-type: inline-size; }
.analysis-page-summary { color: #174f48; font-family: inherit; font-size: .875rem; line-height: 1.65; margin: 0 0 .65rem; font-weight: 600; }
.analysis-page-kpis { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .5rem; margin-bottom: .75rem; }
.analysis-page-kpi { position: relative; min-width: 0; border: 1px solid #cfd5d1; border-radius: 8px; padding: .55rem .65rem; background: #fbfaf5; }
.analysis-page-kpi > span { display: block; color: #6b746f; font-size: .75rem; }
.analysis-page-kpi > strong { display: block; margin-top: .3rem; color: #0d5d52; font-family: inherit; font-size: .9375rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.analysis-chart-source { min-height: 1.5rem; padding: .1rem .3rem; border: 0; background: transparent; color: #426d67; font-size: .6875rem; }
.analysis-page-kpi .analysis-chart-source { position: absolute; right: .4rem; top: .4rem; }
.analysis-chart-grid-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: .75rem; }
.analysis-chart-card { min-width: 0; margin: 0; border: 1px solid var(--color-line); padding: .65rem; background: var(--color-surface); }
.analysis-chart-card[data-wide="true"] { grid-column: 1 / -1; }
.analysis-chart-tabs { display: flex; flex-wrap: wrap; gap: .25rem; border-bottom: 1px solid #dcdcd3; margin-bottom: .8rem; }
.analysis-chart-tabs button { background: transparent; border: 0; border-radius: 0; padding: .45rem .7rem; color: #687773; border-bottom: 2px solid transparent; }
.analysis-chart-tabs button[aria-selected="true"] { color: #12695f; border-color: #167e75; }
.analysis-chart-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem; margin: .3rem 0 .6rem; }
.analysis-chart-header h3 { font-family: "Noto Serif SC", "Songti SC", SimSun, serif; color: #164f48; font-size: 1rem; font-weight: 600; margin: 0; }
.analysis-chart-header h3 { flex: 1 1 9rem; }
.analysis-chart-header .analysis-chart-tabs { margin: 0; border: 0; flex: 0 1 auto; min-width: 0; max-width: 100%; }
.analysis-chart-header .analysis-chart-tabs button { padding: .25rem .35rem; font-size: .75rem; }
.analysis-chart-header, .analysis-chart-legend { box-sizing: border-box; }
.analysis-legend-axis { font-size: .65rem; color: #6b746f; }
.analysis-pie-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.analysis-pie-year { min-width: 0; border: 1px solid #e0e4db; border-radius: 8px; padding: .7rem; }
.analysis-pie-year h4 { margin: 0 0 .65rem; color: #174f48; font-size: .9rem; }
.analysis-debt-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.analysis-debt-pair .analysis-single-chart + .analysis-single-chart { margin: 0; padding: 0; border: 0; }
.analysis-debt-pair .analysis-pie-pair { grid-template-columns: minmax(0,1fr); }
.analysis-debt-pair .analysis-donut-layout { grid-template-columns: minmax(120px,42%) minmax(0,1fr); }
.analysis-pie-leader { stroke: #75857e; stroke-width: .8; }
.analysis-pie-value { fill: #314740; font-family: inherit; font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.analysis-chart-window { width: auto; min-width: 6rem; flex: 0 0 auto; background: transparent; border: 1px solid #dcdcd3; padding: .25rem .4rem; color: #50635d; font-size: .78rem; }
.analysis-single-chart { min-width: 0; margin: 0; }
.analysis-single-chart + .analysis-single-chart { margin-top: .7rem; padding-top: .4rem; border-top: 1px solid #e0e1d8; }
.analysis-chart-holder { min-width: 0; width: 100%; }
.analysis-data-svg { width: 100%; height: auto; display: block; overflow: visible; }
.analysis-axis-label, .analysis-bar-value, .analysis-axis-unit { font-family: inherit; font-size: 12px; fill: #40534d; font-variant-numeric: tabular-nums; }
.analysis-bar-value { font-weight: 650; paint-order: stroke; stroke: var(--color-surface); stroke-width: 3px; stroke-linejoin: round; }
.analysis-axis-unit { font-weight: 600; }
.analysis-chart-grid { stroke: #dedfd6; stroke-width: 1; }
.analysis-zero-line { stroke: #7d9084; stroke-width: 1.2; }
.analysis-quantile-band { fill: #dcece5; opacity: .65; }
.analysis-quantile-median { stroke: #7d9084; stroke-width: 1.2; stroke-dasharray: 4 4; }
.analysis-chart-legend { display: flex; justify-content: flex-start; flex-wrap: wrap; gap: .35rem 1.1rem; padding: 0 .25rem .6rem; font-size: .78rem; color: #3e4e47; }
.analysis-chart-legend > span { display: inline-flex; align-items: center; gap: .45rem; }
.analysis-chart-legend button { display: inline-flex; align-items: center; gap: .35rem; min-height: 1.75rem; border: 1px solid #cbcfc9; border-radius: 6px; padding: .15rem .4rem; background: var(--color-surface); color: #41534e; font-size: .75rem; font-weight: 500; }
.analysis-chart-legend button[aria-pressed="false"] { color: #66706f; opacity: .55; }
.analysis-chart-legend .analysis-legend-pair { gap: 0; }
.analysis-legend-pair > button:first-child { border-radius: 6px 0 0 6px; }
.analysis-chart-legend .analysis-series-values { border-radius: 0 6px 6px 0; border-left: 0; padding-inline: .3rem; }
.analysis-chart-legend .analysis-values-toggle { margin-left: auto; border-color: #9eb5af; color: #155e56; }
.analysis-latest-values { display: flex; flex-wrap: wrap; gap: .25rem .85rem; margin: .2rem 0 0; padding-top: .4rem; border-top: 1px solid #e2e4db; font-size: .75rem; color: #52635c; font-variant-numeric: tabular-nums; }
.analysis-latest-values strong { color: #174f48; font-weight: 650; }
.analysis-donut-layout { display: grid; grid-template-columns: minmax(140px, 40%) minmax(0, 1fr); align-items: center; gap: .65rem; }
.analysis-donut-legend { display: grid; gap: .6rem; font-size: .75rem; }
.analysis-donut-legend article { display: flex; align-items: center; gap: .4rem; }
.analysis-donut-legend article span { min-width: 0; }
.analysis-donut-legend i { width: .6rem; height: .6rem; flex: 0 0 .6rem; background: var(--series-color); }
.analysis-donut-legend strong { flex: 0 0 auto; font-variant-numeric: tabular-nums; }
.analysis-donut-total { font: 700 18px Inter, "Noto Sans SC", "Microsoft YaHei", sans-serif; fill: #174f48; }
.analysis-chart-legend i { width: 1.5rem; height: .55rem; background: var(--series-color); }
.analysis-chart-legend i.line { height: 0; background: transparent; border-top: 2px solid var(--series-color); }
.analysis-chart-legend i.dashed { border-top-style: dashed; }
.analysis-band-label, .analysis-chart-note { color: #667970; font-size: .75rem; line-height: 1.6; margin: .2rem 0 .6rem; }
.analysis-chart-table-wrap { overflow-x: auto; max-width: 100%; }
.analysis-chart-table { width: 100%; border-collapse: collapse; font-size: .75rem; font-variant-numeric: tabular-nums; }
.analysis-chart-table th, .analysis-chart-table td { border-bottom: 1px solid #e0e1d8; text-align: right; padding: .5rem .6rem; white-space: nowrap; }
.analysis-chart-table th:first-child, .analysis-chart-table td:first-child { text-align: left; }
.analysis-chart-table th { color: #475d57; background: #f2f0e9; font-weight: 600; }
.analysis-page-findings { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.3rem; }
.analysis-finding-column > h3 { font-size: 1rem; border-bottom: 1px solid #d8ddd3; padding-bottom: .6rem; }
.analysis-finding { padding: .5rem 0 1rem; border-bottom: 1px solid #e6e6dc; line-height: 1.75; }
.analysis-finding p { margin: 0 0 .5rem; }
.analysis-finding-link { border: 0; background: transparent; color: #167e75; padding: 0; margin-right: .75rem; font-size: .8rem; }
.analysis-finding-column.risk h3 { color: #9b603c; }
.analysis-sources { margin: .75rem .9rem 1.4rem; border-top: 1px solid #d8ddd3; padding-top: .8rem; }
.analysis-sources > summary { color: #167e75; cursor: pointer; padding: .35rem 0; }
.analysis-sources .audit-scroll { overflow: visible; max-height: none; height: auto; padding: .75rem 0; }
.analysis-sources .audit-card { margin-bottom: .65rem; }
.analysis-source-pages { display: flex; align-items: center; justify-content: flex-end; gap: .8rem; padding: .6rem 0; font-size: .8rem; }
.analysis-source-pages button { padding: .3rem .6rem; }
.analysis-page-ai { border: 1px solid #cbd8d3; border-radius: 8px; background: #fbfcf8; padding: .65rem .8rem; line-height: 1.75; font-size: .8125rem; }
.analysis-page-ai > h3 { color: #167e75; font-family: "Noto Serif SC", "Songti SC", SimSun, serif; font-size: 1.1rem; font-weight: 500; margin: 0 0 .8rem; }
.analysis-page-ai h1, .analysis-page-ai h2, .analysis-page-ai h3, .analysis-page-ai h4, .analysis-page-ai h5 { font-size: 1rem; }
.analysis-page-ai p { margin: .55rem 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.analysis-page-ai pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.analysis-page-ai ul, .analysis-page-ai ol { padding-left: 1.3rem; }
.analysis-page-ai .ai-chat-table { overflow-x: auto; max-width: 100%; }
.analysis-page-ai table { width: 100%; border-collapse: collapse; }
.analysis-page-ai td, .analysis-page-ai th { border-bottom: 1px solid #d8ddd3; padding: .45rem; text-align: left; }
.analysis-page-ai-state { color: #62756a; }
.analysis-page-charts button:focus-visible, .analysis-page-charts select:focus-visible, .analysis-sources summary:focus-visible { outline: 2px solid #167e75; outline-offset: 3px; }
@container (max-width: 639px) {
  .analysis-chart-grid-layout { grid-template-columns: minmax(0, 1fr); }
  .analysis-pie-pair { grid-template-columns: minmax(0, 1fr); }
  .analysis-debt-pair { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 70rem) {
  .research-workbench { grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr); grid-template-areas: "outline canvas"; }
  .analysis-page-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .analysis-page-kpi > strong { font-size: .9375rem; }
}
@media (max-width: 48rem) {
  .research-workbench { display: block; min-height: 0; }
  .research-workbench .workflow-outline { display: none; }
  .analysis-page-kpis { gap: .5rem; }
  .analysis-page-kpi { padding: .55rem; }
  .analysis-chart-grid-layout { grid-template-columns: minmax(0, 1fr); gap: .65rem; }
  .analysis-pie-pair { grid-template-columns: minmax(0,1fr); }
  .analysis-debt-pair { grid-template-columns: minmax(0,1fr); }
  .analysis-page-findings { grid-template-columns: minmax(0,1fr); gap: .5rem; }
  .analysis-page-summary { font-size: .875rem; }
  .analysis-page-ai { padding: .8rem; }
  .analysis-chart-legend { gap: .4rem .7rem; }
  .analysis-axis-label, .analysis-axis-unit, .analysis-bar-value { font-size: 11px; }
}
.analysis-chart-gaps { margin-top: 12px; }
.analysis-chart-gaps > summary { width: fit-content; max-width: 100%; padding: 4px 0; cursor: pointer; color: var(--color-primary, #0f766e); font-size: 13px; line-height: 1.5; }
.analysis-chart-gaps > summary:focus-visible { outline: 2px solid #167e75; outline-offset: 3px; }
.analysis-chart-gaps[open] > summary { margin-bottom: 6px; }
.analysis-chart-gap { margin: 4px 0; color: var(--text-muted, #64748b); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
