.company-financials { --financial-accent: var(--bs-info); }
.financials-hero { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:1rem; }
.financials-control-card,.financials-compare-card,.financial-section { background:var(--panel); color:var(--body-color); border-color:var(--border-color); }
.financial-comparison-companies { display:flex; flex-wrap:wrap; gap:.5rem; }
.financial-company-chip { display:inline-flex; align-items:center; gap:.5rem; max-width:min(100%,360px); padding:.42rem .55rem; border:1px solid var(--border-color); border-radius:.55rem; background:var(--panel-2); }
.financial-company-chip>span:nth-child(2) { display:flex; min-width:0; flex-direction:column; line-height:1.2; }
.financial-company-chip strong,.financial-company-chip small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.financial-company-chip small { color:var(--text-secondary); font-size:.72rem; }
.financial-company-chip button { display:grid; place-items:center; width:1.65rem; height:1.65rem; margin-left:.15rem; padding:0; border:0; border-radius:50%; color:var(--text-secondary); background:transparent; }
.financial-company-chip button:hover,.financial-company-chip button:focus-visible { color:var(--body-color); background:var(--hover-bg); }
.financial-company-dot { flex:0 0 auto; width:.55rem; height:.55rem; border-radius:50%; background:var(--financial-accent); }
.financial-company-chip:nth-child(2) .financial-company-dot { background:#e7a63a; }
.financial-company-chip:nth-child(3) .financial-company-dot { background:#9a72e8; }
.financial-compare-search { max-width:460px; }
.financial-compare-peer-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.5rem; }
.financial-compare-peer { display:flex; align-items:center; justify-content:space-between; gap:.65rem; min-width:0; padding:.55rem .65rem; border:1px solid var(--border-color); border-radius:.55rem; background:var(--panel-2); }
.financial-compare-peer>span { display:flex; min-width:0; flex-direction:column; line-height:1.2; }
.financial-compare-peer strong,.financial-compare-peer small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.financial-compare-peer small { color:var(--text-secondary); font-size:.72rem; }
.financial-peer-action { white-space:nowrap; }
.financials-section-nav { display:flex; gap:.45rem; overflow-x:auto; padding:.2rem 0 .55rem; scrollbar-width:thin; }
.financials-section-nav a { flex:0 0 auto; color:var(--body-color); text-decoration:none; border:1px solid var(--border-color); border-radius:999px; padding:.4rem .75rem; background:var(--panel); font-size:.84rem; }
.financials-section-nav a:hover,.financials-section-nav a:focus { border-color:var(--financial-accent); color:var(--bs-info); }
.financial-section { margin-bottom:1rem; overflow:hidden; scroll-margin-top:5rem; }
.financial-section>.card-header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.6rem; background:color-mix(in srgb,var(--panel) 82%,var(--panel-2)); border-color:var(--border-color); padding:.85rem 1rem; }
.financial-section h2 { font-size:1.05rem; margin:0; }
.financial-section [data-meta] { font-size:.78rem; color:var(--text-secondary); }
.financial-chart-header { align-items:flex-start!important; }
.financial-chart-header>div:first-child { min-width:min(100%,320px); }
.financial-chart-modes,.financial-chart-ranges { display:flex; flex-wrap:wrap; gap:.35rem; }
.financial-chart-modes .btn,.financial-chart-ranges .btn { white-space:nowrap; }
.financial-chart-body { padding:1rem; }
.financial-chart-ranges { margin-bottom:.85rem; }
.financial-chart-canvas { position:relative; width:100%; height:390px; }
.financial-chart-note { color:var(--text-secondary); font-size:.76rem; max-width:950px; }
.financial-chart-section .empty-evidence { min-height:260px; align-items:center; justify-content:center; }
.cash-flow-analysis { --cash-flow-increase:#54a77b; --cash-flow-decrease:#d86f6a; --cash-flow-total:#4f96bd; }
.cash-flow-analysis-body { padding:1rem; }
.cash-flow-analysis-ranges,.cash-flow-analysis-legend { display:flex; flex-wrap:wrap; gap:.45rem; }
.cash-flow-analysis-ranges { margin-bottom:.75rem; }
.cash-flow-analysis-legend { margin-bottom:.75rem; color:var(--text-secondary); font-size:.78rem; }
.cash-flow-analysis-legend span { display:inline-flex; align-items:center; gap:.35rem; }
.cash-flow-swatch { width:.8rem; height:.8rem; border-radius:2px; display:inline-block; }
.cash-flow-swatch.increase { background:var(--cash-flow-increase); }
.cash-flow-swatch.decrease { background:var(--cash-flow-decrease); }
.cash-flow-swatch.total { background:var(--cash-flow-total); }
.cash-flow-analysis-canvas { position:relative; width:100%; height:390px; overflow-x:auto; }
.cash-flow-analysis-canvas canvas { min-width:720px; }
.cash-flow-analysis .empty-evidence { min-height:220px; align-items:center; justify-content:center; }
.cash-flow-analysis-breakdown { margin-top:.8rem; overflow-x:auto; }
.cash-flow-breakdown-table { --bs-table-bg:transparent; --bs-table-color:var(--body-color); --bs-table-border-color:var(--border-color); margin:0; font-size:.82rem; }
.cash-flow-breakdown-table th,.cash-flow-breakdown-table td { white-space:nowrap; }
.cash-flow-breakdown-table td:last-child { text-align:right; font-variant-numeric:tabular-nums; }
.fund-flow-header { align-items:flex-start!important; }
.fund-flow-header>div:first-child { min-width:min(100%,320px); }
.fund-flow-body { padding:1rem; }
.fund-flow-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.8rem; margin-bottom:.75rem; }
.fund-flow-ranges { display:flex; flex-wrap:wrap; gap:.35rem; }
.fund-flow-legend { display:flex; flex-wrap:wrap; gap:.85rem; color:var(--text-secondary); font-size:.78rem; }
.fund-flow-legend span { display:inline-flex; align-items:center; gap:.35rem; }
.fund-flow-swatch { display:inline-block; width:.72rem; height:.72rem; border-radius:2px; }
.fund-flow-swatch.source { background:#52aa7d; }
.fund-flow-swatch.use { background:#df786f; }
.fund-flow-swatch.total { background:#4f9bc3; }
.fund-flow-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.fund-flow-panel { min-width:0; border:1px solid var(--border-color); border-radius:.75rem; background:color-mix(in srgb,var(--panel) 88%,var(--panel-2)); overflow:hidden; }
.fund-flow-panel h3 { margin:0; padding:.8rem 1rem 0; color:var(--text-secondary); font-size:.79rem; font-weight:700; letter-spacing:.055em; text-transform:uppercase; text-align:center; }
.fund-flow-chart-scroll { overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; }
.fund-flow-chart { display:block; width:100%; min-width:560px; height:auto; font-family:inherit; }
.fund-flow-gridline { stroke:color-mix(in srgb,var(--border-color) 76%,transparent); stroke-width:1; }
.fund-flow-connector { stroke:var(--text-secondary); stroke-width:1; stroke-dasharray:3 3; opacity:.6; }
.fund-flow-axis,.fund-flow-label { fill:var(--text-secondary); font-size:11px; }
.fund-flow-value { fill:var(--body-color); font-size:11px; font-weight:700; }
.flow-source { fill:#52aa7d; }
.flow-use { fill:#df786f; }
.flow-total { fill:#4f9bc3; }
.fund-flow-note { color:var(--text-secondary); font-size:.76rem; max-width:1050px; }
.fund-flow-section .empty-evidence { min-height:220px; align-items:center; justify-content:center; }
.financial-table-wrap { overflow-x:auto; overscroll-behavior-inline:contain; min-height:84px; }
.financial-table { --bs-table-bg:var(--panel); --bs-table-color:var(--body-color); --bs-table-border-color:var(--border-color); width:max-content; min-width:100%; margin:0; }
.financial-table caption { caption-side:top; padding:.55rem 1rem; color:var(--text-secondary); font-size:.78rem; }
.financial-table th,.financial-table td { min-width:116px; white-space:nowrap; padding:.56rem .72rem; text-align:right; }
.financial-table th:first-child,.financial-table td:first-child { position:sticky; left:0; z-index:2; min-width:205px; text-align:left; background:var(--panel); box-shadow:1px 0 0 var(--border-color); }
.financial-table thead th { background:color-mix(in srgb,var(--panel) 78%,var(--panel-2)); }
.financial-table thead th:first-child { z-index:3; }
.financial-table tbody tr:hover td { background:var(--hover-bg); }
.financial-table tbody tr:hover td:first-child { background:var(--hover-bg); }
.statement-section>.card-header>div:first-child { min-width:min(100%,340px); }
.statement-section-tools { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:.6rem; }
.statement-table tbody .statement-summary-row>th,.statement-table tbody .statement-summary-row>td { font-weight:650; }
.statement-table tbody .statement-child-row>th,.statement-table tbody .statement-child-row>td { color:var(--text-secondary); background:color-mix(in srgb,var(--panel) 94%,var(--panel-2)); }
.statement-table tbody .statement-child-row>th { padding-left:1.35rem; font-weight:500; }
.statement-table tbody .financial-metric-cell { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.statement-line-label { display:flex; }
.statement-line-label { min-width:0; align-items:center; gap:.45rem; }
.statement-expand-toggle,.statement-chart-button { display:inline-grid; flex:0 0 auto; place-items:center; width:1.45rem; height:1.45rem; padding:0; color:var(--text-secondary); background:transparent; border:0; border-radius:.3rem; font-size:.72rem; }
.statement-expand-toggle:hover,.statement-expand-toggle:focus-visible,.statement-chart-button:hover,.statement-chart-button:focus-visible { color:var(--bs-info); background:var(--hover-bg); outline:0; }
.statement-chart-button:disabled { opacity:.25; pointer-events:none; }
.statement-toggle-spacer { display:inline-block; flex:0 0 auto; width:1.45rem; }
.financial-period-link { display:inline-flex; align-items:center; justify-content:flex-end; gap:.3rem; color:inherit; text-decoration:none; }
.financial-period-link:hover,.financial-period-link:focus-visible { color:var(--bs-info); text-decoration:underline; }
.financial-period-link i { font-size:.65rem; }
.financial-period-state { display:block; margin-top:.1rem; color:var(--text-secondary); font-size:.58rem; font-weight:600; letter-spacing:.035em; text-transform:uppercase; }
.financial-metric-dialog { width:min(820px,calc(100vw - 2rem)); max-width:none; color:var(--body-color); background:var(--panel); border:1px solid var(--border-color); border-radius:.8rem; padding:1rem; box-shadow:0 1.25rem 4rem rgba(0,0,0,.35); }
.financial-metric-dialog::backdrop { background:rgba(7,10,18,.68); backdrop-filter:blur(2px); }
.financial-metric-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.75rem; }
.financial-metric-dialog-header h2 { margin:0 0 .15rem; font-size:1.1rem; }
.financial-metric-dialog-chart { position:relative; height:340px; margin:.75rem 0; }
.ratio-section>.card-header>div:first-child { min-width:min(100%,330px); }
.ratio-section-tools { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:.6rem; }
.ratio-table .ratio-group-row th { position:static; min-width:0; padding:.55rem .75rem; text-align:left; color:var(--body-color); background:color-mix(in srgb,var(--panel-2) 78%,var(--bs-info) 22%); box-shadow:none; font-size:.78rem; letter-spacing:.025em; text-transform:uppercase; }
.ratio-table .ratio-value-row th { display:flex; align-items:center; gap:.45rem; }
.ratio-explain-toggle { display:inline-grid; flex:0 0 auto; place-items:center; width:1.35rem; height:1.35rem; padding:0; color:var(--text-secondary); background:transparent; border:0; border-radius:.25rem; font-size:.68rem; }
.ratio-explain-toggle:hover,.ratio-explain-toggle:focus-visible { color:var(--bs-info); background:var(--hover-bg); outline:0; }
.ratio-definition-row td { position:static; min-width:0; padding:.55rem .8rem .7rem 2.5rem; text-align:left; white-space:normal; color:var(--text-secondary); background:color-mix(in srgb,var(--panel) 92%,var(--panel-2)); box-shadow:none; font-size:.78rem; }
.ratio-definition-row td span { display:block; margin-top:.2rem; }
.ratio-latest-column { background:color-mix(in srgb,var(--panel) 92%,var(--bs-info) 8%)!important; font-weight:650; }
.ratio-latest-label { display:block; margin-top:.1rem; color:var(--bs-info); font-size:.6rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.financial-comparison-table .financial-metric-cell { vertical-align:top; font-weight:650; border-top-width:2px; }
.financial-comparison-table .financial-company-cell { position:sticky; left:205px; z-index:2; min-width:190px; max-width:240px; text-align:left; background:var(--panel); box-shadow:1px 0 0 var(--border-color); }
.financial-comparison-table .financial-company-cell span,.financial-comparison-table .financial-company-cell small { display:block; overflow:hidden; text-overflow:ellipsis; }
.financial-comparison-table .financial-company-cell small { max-width:215px; color:var(--text-secondary); font-weight:400; }
.financial-comparison-table thead th:nth-child(2) { position:sticky; left:205px; z-index:3; min-width:190px; text-align:left; box-shadow:1px 0 0 var(--border-color); }
.financial-comparison-table .financial-primary-row>* { border-top-width:2px; }
.coverage-badge { border-radius:999px; padding:.2rem .55rem; font-size:.72rem; font-weight:600; }
.coverage-badge.available { color:#0f7a55; background:rgba(35,195,137,.13); }
.coverage-badge.partial { color:#9a6600; background:rgba(255,184,0,.14); }
.coverage-badge.unavailable { color:var(--text-secondary); background:var(--panel-2); }
.empty-evidence { display:flex; gap:.85rem; align-items:flex-start; padding:1.15rem; color:var(--text-secondary); }
.empty-evidence>i { font-size:1.45rem; }
.empty-evidence p { margin:.25rem 0 0; max-width:850px; }
.evidence-list { list-style:none; padding:0; margin:0; }
.evidence-list li { padding:.75rem 1rem; border-top:1px solid var(--border-color); }
.evidence-list a { overflow-wrap:anywhere; }
.policy-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.75rem; padding:1rem; }
.policy-tile { border:1px solid var(--border-color); border-radius:.65rem; padding:.8rem; background:var(--panel-2); }
@media (max-width:991.98px) { .fund-flow-grid { grid-template-columns:1fr; } }
@media (max-width:767.98px) { .financials-control-card .btn-group { width:100%; overflow-x:auto; } .financials-control-card .btn { flex:1 0 auto; } .financial-chart-header { align-items:stretch!important; } .financial-chart-modes { width:100%; } .financial-chart-modes>.btn,.financial-chart-modes>.dropdown { flex:1 1 0; } .financial-chart-modes .dropdown>.btn { width:100%; } .financial-chart-ranges,.fund-flow-ranges,.cash-flow-analysis-ranges { flex-wrap:nowrap; overflow-x:auto; padding-bottom:.2rem; width:100%; } .fund-flow-ranges .btn { flex:1 0 auto; } .fund-flow-legend { width:100%; } .financial-chart-canvas,.cash-flow-analysis-canvas { height:285px; } .financial-table th:first-child,.financial-table td:first-child { min-width:190px; } .ratio-section-tools,.statement-section-tools { width:100%; justify-content:space-between; } .ratio-section-tools .btn-group,.statement-section-tools .btn-group { flex:1 1 auto; } .ratio-section-tools .btn,.statement-section-tools .btn { flex:1 1 0; white-space:nowrap; } .financial-metric-dialog-chart { height:270px; } .financial-comparison-table .financial-company-cell,.financial-comparison-table thead th:nth-child(2) { left:190px; min-width:145px; max-width:170px; } .financial-comparison-table .financial-company-cell small { max-width:145px; } }
