/* FVT extensions: scope all rules; reuse the host Finance OS tokens. */
.btfo-fvt-stack{display:grid;gap:16px;min-width:0}
.btfo-fvt-card{min-width:0;margin-block:14px;padding:clamp(16px,2vw,24px);overflow:hidden}
.btfo-fvt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0;margin-bottom:16px}
.btfo-fvt-head small{display:block;color:var(--bt-accent,#64b5ed);font-size:11px;letter-spacing:.12em;font-weight:700}
.btfo-fvt-head h2{margin:5px 0 6px;font-size:clamp(18px,2vw,24px);line-height:1.25;color:var(--bt-text,#eef2fa)}
.btfo-fvt-head p{margin:0;max-width:760px;color:var(--bt-muted,#919baa);font-size:13px;line-height:1.65}
.btfo-fvt-empty{display:flex;align-items:center;gap:15px;min-height:118px;border:1px dashed var(--bt-line,#39424d);border-radius:14px;padding:18px;background:var(--bt-card2,rgba(95,120,160,.05))}
.btfo-fvt-empty-icon{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:12px;background:var(--bt-card,#253344);color:var(--bt-muted,#919baa);font-size:25px}
.btfo-fvt-empty strong{display:block;margin-bottom:4px;color:var(--bt-text,#eef2fa)}
.btfo-fvt-empty p{margin:0;line-height:1.55;color:var(--bt-muted,#919baa);font-size:13px}
.btfo-fvt-note{font-size:12px;line-height:1.6;color:var(--bt-muted,#919baa);margin:14px 0 0}
.btfo-fvt-warning{color:#ce6f35;font-weight:600;border-radius:8px;padding:9px 12px;background:rgba(247,164,79,.12)}
.btfo-fvt-rotation{border:1px solid var(--bt-line,#39424d);border-radius:13px;padding:15px;margin-bottom:10px;min-width:0}
.btfo-fvt-rotation header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.btfo-fvt-rotation header strong{font-size:16px;color:var(--bt-text,#eef2fa)}
.btfo-fvt-rotation header small{color:var(--bt-muted,#919baa);font-size:12px}
.btfo-fvt-mini-list{display:grid;gap:8px}
.btfo-fvt-mini-list>div{display:grid;grid-template-columns:minmax(68px,1fr) minmax(90px,1.5fr) minmax(82px,1fr);align-items:center;gap:8px;font-size:12px;color:var(--bt-muted,#919baa)}
.btfo-fvt-mini-list>div strong{color:var(--bt-text,#eef2fa)}
.btfo-fvt-mini-list>div b{text-align:right;font-variant-numeric:tabular-nums}
.btfo-fvt-positive{color:var(--bt-success,#22b989)}
.btfo-fvt-negative{color:var(--bt-danger,#ec6868)}
.btfo-fvt-rotation footer{margin-top:11px;color:var(--bt-muted,#919baa);font-size:12px}
.btfo-fvt-card a{color:var(--bt-accent,#64b5ed);text-decoration:underline;text-underline-offset:3px}
.btfo-fvt-card a:focus-visible{outline:3px solid var(--bt-accent,#64b5ed);outline-offset:3px;border-radius:3px}
.btfo-fvt-heat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,132px),1fr));gap:9px;min-width:0}
.btfo-fvt-heat-tile{display:flex;flex-direction:column;gap:9px;min-height:88px;padding:12px;border-radius:12px;border:1px solid var(--bt-line,#39424d);font-variant-numeric:tabular-nums;animation:btfo-fvt-rise .4s ease both;color:var(--bt-text,#eef2fa);background:var(--bt-card2,#24313f)}
.btfo-fvt-heat-tile.is-up{background:linear-gradient(135deg,rgba(11,118,84,var(--btfo-fvt-intensity)),var(--bt-card2,#24313f));border-color:rgba(40,172,121,.32)}
.btfo-fvt-heat-tile.is-down{background:linear-gradient(135deg,rgba(164,44,58,var(--btfo-fvt-intensity)),var(--bt-card2,#24313f));border-color:rgba(227,73,94,.3)}
.btfo-fvt-heat-tile strong{font-size:13px;font-weight:700}
.btfo-fvt-heat-tile span{font-size:22px;font-weight:750;line-height:1}
.btfo-fvt-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border-radius:10px;border:1px solid var(--bt-line,#39424d)}
.btfo-fvt-table{width:100%;min-width:620px;border-collapse:collapse;font-size:13px;color:var(--bt-text,#eef2fa)}
.btfo-fvt-table th,.btfo-fvt-table td{padding:13px 12px;text-align:left;border-bottom:1px solid var(--bt-line,#39424d);vertical-align:middle}
.btfo-fvt-table thead th{color:var(--bt-muted,#919baa);background:var(--bt-card2,#24313f);font-size:11px;white-space:nowrap}
.btfo-fvt-table tbody th{font-weight:700;white-space:nowrap}.btfo-fvt-table tbody th small{display:block;font-weight:400;color:var(--bt-muted,#919baa)}
.btfo-fvt-table tbody tr:last-child td,.btfo-fvt-table tbody tr:last-child th{border-bottom:0}
@keyframes btfo-fvt-rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:600px){.btfo-fvt-rotation header{align-items:flex-start;flex-direction:column;gap:4px}.btfo-fvt-mini-list>div{grid-template-columns:55px minmax(80px,1fr) minmax(72px,1fr);font-size:11px}.btfo-fvt-heat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.btfo-fvt-heat-tile{min-height:82px;padding:11px}.btfo-fvt-empty{padding:14px}.btfo-fvt-head h2{font-size:19px}}
@media (prefers-reduced-motion:reduce){.btfo-fvt-heat-tile{animation:none!important}}
