#v-fundamentals { --rv-teal:#4f817c; --rv-warm:#ad784e; }
:root[data-theme="dark"] #v-fundamentals { --rv-teal:#8fbbb3; --rv-warm:#d7ad86; }
@media(prefers-color-scheme:dark) { :root:not([data-theme="light"]) #v-fundamentals { --rv-teal:#8fbbb3; --rv-warm:#d7ad86; } }
.rv-card { border:1px solid var(--border); border-radius:10px; background:var(--panel); padding:20px; margin:20px 0; min-width:0; }
.rv-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:16px; }
.rv-heading h3, .rv-heading h4 { margin:0 0 6px; font-size:15px; }
.rv-heading p, .rv-caption, .rv-empty { color:var(--muted); font-size:12px; line-height:1.7; margin:6px 0; }
.rv-heading label { font-size:12px; color:var(--muted); display:grid; gap:5px; }
.rv-heading select { font:inherit; padding:8px; border:1px solid var(--border); border-radius:6px; background:var(--panel); color:var(--text); }
.rv-spark { width:100%; height:54px; display:block; margin:12px 0 3px; }
.rv-trend-button { display:block; border:0; background:none; color:var(--accent); font:inherit; font-size:11px; padding:8px 0 0; text-align:left; cursor:pointer; }
.rv-trend-button:hover { text-decoration:underline; }
.rv-scroll { overflow-x:auto; max-width:100%; }
.rv-waterfall { display:block; width:100%; height:auto; }
.rv-sources { display:flex; flex-wrap:wrap; gap:16px; margin-top:12px; font-size:12px; }
.rv-dot-list { --rv-label-width:190px; display:grid; gap:3px; font-variant-numeric:tabular-nums; }
.rv-dot-axis { position:relative; height:14px; margin:0 110px 7px var(--rv-label-width); color:var(--muted); font-size:10px; }
.rv-dot-axis span:first-child { position:absolute; left:3%; transform:translateX(-50%); }
.rv-dot-axis span:last-child { position:absolute; right:3%; transform:translateX(50%); }
.rv-dot-row { display:grid; grid-template-columns:var(--rv-label-width) minmax(90px,1fr) 110px; align-items:center; padding:12px 0; border-top:1px solid var(--border); }
.rv-dot-label { font-size:13px; font-weight:600; padding-right:10px; overflow-wrap:anywhere; }
.rv-dot-label small { display:block; color:var(--muted); font-size:10px; line-height:1.6; font-weight:400; margin-top:3px; }
.rv-dot-value { font-size:13px; text-align:right; }
.rv-dot-track { position:relative; height:28px; background:linear-gradient(var(--border),var(--border)) center / 94% 1px no-repeat; }
.rv-dot-zero,.rv-dot-reference { position:absolute; top:0; bottom:0; border-left:1px solid var(--border); }
.rv-dot-reference { border-left:2px dashed var(--rv-warm); }
.rv-dot { position:absolute; top:8px; width:12px; height:12px; border-radius:50%; transform:translateX(-50%); background:var(--accent); box-shadow:0 0 0 3px var(--panel); }
.rv-dot-stem { position:absolute; top:12px; height:4px; background:var(--accent-soft); }
.rv-selected .rv-dot { background:var(--rv-teal); }
.rv-selected .rv-dot-label { color:var(--accent); }
.fd-table .rv-heat-cell { background:color-mix(in srgb,var(--accent) var(--rv-intensity),var(--panel)); }
.fd-table tbody tr:hover .rv-heat-cell { background:color-mix(in srgb,var(--accent) var(--rv-intensity),var(--panel)); }
.fd-table .rv-unavailable { color:var(--muted); }
.rv-heat-legend { display:flex; align-items:center; gap:10px; font-size:11px; color:var(--muted); margin:12px 0 0; }
.rv-heat-legend span { width:95px; height:8px; border-radius:4px; background:linear-gradient(to right,var(--panel),var(--accent)); }
@media(max-width:600px) {
  .rv-card { padding:14px; }
  .rv-dot-axis { margin:0 0 8px; }
  .rv-dot-row { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .rv-dot-track { grid-column:1 / -1; grid-row:2; }
  .rv-dot-value { grid-column:2; grid-row:1; }
}
