.chart-panel{margin-top:var(--spacing-xl);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.chart-panel__header{margin-bottom:var(--spacing-lg);flex-direction:column;gap:4px;display:flex}.chart-panel__title{font-size:var(--font-size-xl);color:var(--color-text-primary);letter-spacing:-.3px;margin:0;font-weight:800}.chart-panel__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.chart-panel__tabs{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg);gap:4px;display:flex}.chart-panel__tab{font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;user-select:none;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm);border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-weight:600}.chart-panel__tab:hover{color:var(--color-text-primary);background:var(--color-bg-card)}.chart-panel__tab--active{color:var(--color-accent,#4f8cff);border-bottom-color:var(--color-accent,#4f8cff)}.chart-panel__tab-content{flex-direction:column;display:flex}.chart-panel__legend{gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.chart-legend__item{font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;user-select:none;border-radius:var(--radius-sm);transition:background var(--transition-fast);align-items:center;gap:8px;padding:4px 8px;font-weight:500;display:flex}.chart-legend__item:hover{background:var(--color-bg-card)}.chart-legend__item--off{opacity:.4}.chart-legend__swatch{border-radius:4px;width:14px;height:14px}.chart-panel__svg-wrapper{background:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--spacing-md);border:1px solid var(--color-border);touch-action:pan-y;-ms-touch-action:pan-y;width:100%;position:relative;overflow-x:auto}.chart-panel__zoom-bar{justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);border-radius:var(--radius-md);background:#4f8cff1a;border:1px solid #4f8cff59;flex-wrap:wrap;padding:8px 12px;display:flex}.chart-panel__zoom-info{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.chart-panel__zoom-reset{background:var(--color-primary);color:#fff;border-radius:var(--radius-pill);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast);padding:6px 14px;font-weight:600}.chart-panel__zoom-reset:hover{background:var(--color-primary-hover)}.chart-panel__zoom-reset:active{background:var(--color-primary-active)}.chart-panel__hint{margin-top:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;line-height:1.4}.chart-panel__tooltip{pointer-events:none;background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);color:var(--color-text-primary);z-index:5;min-width:220px;padding:10px 12px;position:absolute}.chart-panel__tooltip-title{color:var(--color-text-primary);border-bottom:1px solid var(--color-border);margin-bottom:6px;padding-bottom:4px;font-weight:700}.chart-panel__tooltip-row{font-size:var(--font-size-xs);justify-content:space-between;align-items:center;gap:12px;margin-top:3px;display:flex}.chart-panel__tooltip-label{color:var(--color-text-secondary);align-items:center;gap:6px;display:flex}.chart-panel__tooltip-value{color:var(--color-text-primary);font-weight:700}.chart-panel__tooltip-dot{border-radius:50%;width:8px;height:8px}.chart-panel__table-wrapper{background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);width:100%;max-height:560px;overflow:auto}.chart-panel__table{border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm);color:var(--color-text-primary);width:100%;min-width:720px}.chart-panel__table thead th{z-index:1;background:var(--color-bg-elevated);color:var(--color-text-secondary);text-align:left;font-weight:700;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--color-border-strong);white-space:nowrap;padding:12px 14px;position:sticky;top:0}.chart-panel__table tbody tr{transition:background var(--transition-fast)}.chart-panel__table tbody tr:hover{background:#4f8cff0f}.chart-panel__table tbody td{border-bottom:1px solid var(--color-border);white-space:nowrap;font-variant-numeric:tabular-nums;padding:10px 14px}.chart-panel__table tbody tr:last-child td{border-bottom:none}.chart-panel__table-cell--center,.chart-panel__table thead th.chart-panel__table-cell--center{text-align:center}.chart-panel__table-cell--right,.chart-panel__table thead th.chart-panel__table-cell--right{text-align:right}.chart-panel__table-cell--strong{color:var(--color-text-primary);font-weight:700}.chart-panel__table-row--year>td{background:#22c55e1f;border-bottom:1px solid #22c55e59;font-weight:600}.chart-panel__table-row--year:hover>td{background:#22c55e2e}@media (width<=767px){.chart-panel{padding:var(--spacing-md);border-radius:var(--radius-lg)}.chart-panel__title{font-size:var(--font-size-lg)}.chart-panel__subtitle{font-size:var(--font-size-xs)}.chart-panel__tabs{margin-bottom:var(--spacing-md)}.chart-panel__tab{font-size:var(--font-size-md);text-align:center;flex:1;padding:10px 14px}.chart-panel__legend{margin-bottom:var(--spacing-sm);gap:6px}.chart-legend__item{font-size:var(--font-size-md);gap:6px;min-height:36px;padding:6px 10px}.chart-legend__swatch{width:12px;height:12px}.chart-panel__svg-wrapper{padding:var(--spacing-sm)}.chart-panel__tooltip{font-size:var(--font-size-xs);min-width:180px;max-width:calc(100vw - 80px);padding:8px 10px}.chart-panel__tooltip-row{font-size:var(--font-size-xs)}}