/* FinView workspace: one layout contract above the retained legacy components. */
:root {
  --fvp-gap: 16px; --fvp-radius: 12px; --fvp-rail: 208px;
  --fvp-header-h: 64px; --fvp-tabs-h: 46px;
  --fv-control-md: 38px; --fv-control-lg: 44px;
  --fv-bg: #f3f5f8; --fvp-bg: var(--fv-bg);
  --fv-accent: #087c78; --fvp-accent: var(--fv-accent);
  --fvp-accent-soft: #e5f4f1; --fv-radius-lg: 12px;
}
html[data-theme=dark] { --fv-bg:#0b1421; --fv-accent:#54d5c2; --fvp-accent-soft:#143c39; }
html, body { min-height:100%; }
body.fv-workspace { font-size:14px; line-height:1.7; min-width:0!important; }
body.fv-workspace.trends-page .main-content > :is(.trends-filter-panel,.module-status-banner,.trends-overview,.trends-main-grid,.trend-table-panel) { margin:24px!important; width:calc(100% - 48px)!important; min-width:0!important; }
body.fv-workspace .fv-pro .trends-overview { grid-auto-rows:1fr!important; }
body.fv-workspace .fv-pro .trends-filter-grid { width:100%; min-width:0; gap:16px!important; }
body.fv-workspace .fv-pro :is(.field,.filter-field,.special-field) > :is(input,select) { width:100%!important; min-width:0!important; }
body.fv-workspace.fv-document-page { height:auto!important; overflow:auto!important; }
body.fv-workspace .fv-pro .topbar .title-wrap::after { display:none!important; }
body.fv-workspace .fv-pro .topbar .title-wrap > div::after { display:none!important; }
body.fv-workspace .fv-pro .sidebar { background:#101e31!important; border-color:#233249!important; }
body.fv-workspace .fv-pro .special-kpis { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:12px!important; background:none!important; border:0!important; padding:16px 24px!important; }
body.fv-workspace .fv-pro .special-kpi { padding:18px!important; min-height:128px!important; border:1px solid var(--fvp-line)!important; border-radius:12px!important; background:var(--fvp-panel)!important; gap:10px!important; }
body.fv-workspace .fv-pro .special-kpi .value b { font-size:24px!important; line-height:1.5!important; }
body.fv-workspace .fv-pro .special-kpi :is(.value,.special-unit-value,.value b) { max-width:100%; min-width:0; overflow:visible!important; text-overflow:clip!important; }
body.fv-workspace .fv-pro .special-kpi .special-unit-value { display:flex!important; flex-direction:column-reverse!important; align-items:flex-end; gap:4px; }
body.fv-workspace .fv-pro .special-kpi .value b { white-space:nowrap!important; }
body.fv-workspace .fv-pro .special-kpi .label { font-size:12px!important; line-height:1.7!important; }
body.fv-workspace .fv-pro .special-kpi .value { font-size:24px!important; line-height:1.5!important; white-space:normal!important; overflow-wrap:anywhere; flex-wrap:wrap; }
body.fv-workspace .fv-pro .special-kpi .value small { font-size:11px!important; }
body.fv-workspace .fv-pro .special-kpi .note { font-size:11px!important; line-height:1.8!important; }
.fv-chart-selector { display:grid; gap:8px; color:var(--fvp-muted); font-size:12px; }
.fv-chart-selector select { width:100%; min-height:44px; padding:8px 12px; border:1px solid var(--fvp-line); border-radius:8px; background:var(--fvp-panel); color:var(--fvp-ink); font:inherit; }
.fv-chart-note { color:var(--fvp-muted); font-size:11px; line-height:1.9; margin:12px 0; }
.fv-yield-row { display:grid; grid-template-columns:minmax(70px,1fr) minmax(40px,1fr) auto; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--fvp-line-soft); font-size:12px; }
.fv-yield-row small { display:block; color:var(--fvp-muted); font-size:10px; }
.fv-yield-track { position:relative; height:8px; background:var(--fvp-panel-head); border-radius:4px; overflow:hidden; }
.fv-yield-track::before { content:''; position:absolute; left:50%; width:1px; height:100%; background:var(--fvp-muted); }
.fv-yield-track i { position:absolute; top:0; height:100%; background:#087c78; }
.fv-yield-track i.negative { background:#bd5a54; }
body.fv-workspace .fv-pro #returnChart { max-height:520px; overflow:auto; }
.fv-workspace .fvp__hint + .fvp__hint { display:none; }
.fv-workspace .auth-panel { min-width:0; }
.fv-workspace .auth-card { padding:32px!important; border-radius:16px!important; }
.fv-workspace :is(.auth-field input,.captcha-input) { min-height:46px!important; font-size:16px; }
.fv-workspace .captcha-refresh { min-width:44px; min-height:44px; }
.fv-workspace .captcha-status { display:block; width:100%; margin-top:8px; font-size:12px; line-height:1.8; }
.fv-workspace .help-shell { max-width:1280px; }
.fv-workspace .help-head { padding:8px 0 20px; }
.fv-workspace .help-nav { border-radius:12px; max-height:calc(100dvh - 60px); overflow:auto; }
.fv-workspace .help-card { border-radius:12px; }
.fv-workspace .help-card h2 { color:var(--fvp-ink); }
body.fv-workspace .fv-pro .profile-grid { gap:20px!important; }
.fv-workspace [hidden] { display:none!important; }
body.fv-workspace .fv-pro .section-stack.hidden { display:none!important; }
.fv-workspace .sidebar-collapse-toggle { display:none!important; }
.fv-workspace .hub-mobile-nav { display:none!important; }
body.fv-workspace .fv-pro .market-overview-kpis { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:12px!important; border:0!important; background:none!important; }
body.fv-workspace .fv-pro .market-kpi strong { display:block!important; overflow:visible!important; text-overflow:clip!important; white-space:normal!important; overflow-wrap:anywhere; }
body.fv-workspace .fv-pro .market-kpi strong .money-unit { display:block; font-size:11px!important; font-weight:400; line-height:1.8; color:var(--fvp-muted); }
.fv-more-kpis { grid-column:1/-1; }
.fv-more-kpis summary { cursor:pointer; color:var(--fvp-muted); padding:4px 0; min-height:32px; font-size:12px; }
.fv-secondary-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding-top:12px; }
body.fv-workspace .fv-pro[data-fvp-preset=wide] .fvp-cols-main { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
body.fv-workspace .fv-pro[data-fvp-preset=flow] .fvp-cols-main { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)!important; }
body.fv-workspace .fv-pro .side-nav .nav-group { width:100%; min-width:0; padding:0!important; }
body.fv-workspace .fv-pro .side-nav .nav-row { min-width:0; width:100%; }
body.fv-workspace .fv-pro .side-nav .nav-item { padding-inline-end:26px!important; }
body.fv-workspace .fv-pro .side-nav .nav-label { flex:1; min-width:0; white-space:normal; }
body.fv-workspace .fv-pro .side-nav .nav-tile { flex:none; width:20px!important; height:20px!important; background:none!important; }
body.fv-workspace .fv-pro .side-nav .nav-tile svg { width:18px!important; height:18px!important; }
body.fv-workspace .fv-pro .side-nav .nav-hot { display:none!important; }
body.fv-workspace .fv-pro .nav-group-toggle { width:100%; padding:12px!important; color:#9baec4!important; min-height:40px; }
.fv-workspace *, .fv-workspace *::before, .fv-workspace *::after { box-sizing:border-box; }
.fv-workspace :is(button,a,input,select,textarea):focus-visible { outline:3px solid var(--fvp-accent); outline-offset:3px; }
.fv-skip { position:fixed; inset-block-start:-100px; inset-inline-start:20px; z-index:10000; padding:12px 20px; background:var(--fvp-panel); color:var(--fvp-ink); }
.fv-skip:focus { inset-block-start:12px; }
body.fv-workspace .fv-pro { grid-template-columns:var(--fvp-rail) minmax(0,1fr)!important; }
body.fv-workspace .fv-pro .main-content { display:block!important; overflow-y:auto!important; overflow-x:clip!important; scroll-padding-top:128px; scrollbar-gutter:stable; padding-bottom:28px!important; }
body.fv-workspace .fv-pro .sidebar { align-items:stretch!important; padding:24px 12px 16px!important; overflow-y:auto!important; gap:16px!important; }
body.fv-workspace .fv-pro .sidebar .brand-mark { display:flex!important; align-items:center; width:auto!important; height:40px!important; gap:10px; padding-inline:8px!important; margin:0 0 16px; }
body.fv-workspace .fv-pro .sidebar .brand-mark svg { width:30px; height:30px; flex:none; }
body.fv-workspace .fv-pro .sidebar .fv-brand__text { display:flex; flex-direction:column; }
.fv-workspace .fv-brand__name { font-size:22px; color:#f3f7fc; line-height:1.3; }
.fv-workspace .fv-brand__tag { color:#92a7be; font-size:8px; letter-spacing:.12em; }
body.fv-workspace .fv-pro .side-nav { gap:4px; align-items:stretch; }
body.fv-workspace .fv-pro .side-nav .nav-item { display:flex!important; align-items:center; justify-content:flex-start; width:100%!important; height:auto!important; min-height:42px; padding:8px 12px!important; gap:12px; font-size:13px; border-radius:8px; color:#b4c3d7; }
body.fv-workspace .fv-pro .side-nav .nav-item > span:not(.nav-icon) { position:static!important; width:auto!important; height:auto!important; overflow:visible!important; clip-path:none!important; }
body.fv-workspace .fv-pro .side-nav .nav-item.active { background:#173c46!important; color:#80e1d5!important; box-shadow:inset -3px 0 #54d5c2; }
html[dir=ltr] body.fv-workspace .fv-pro .side-nav .nav-item.active { box-shadow:inset 3px 0 #54d5c2; }
.fv-nav-group { color:#8399b2; font-size:10px; letter-spacing:.04em; padding:20px 12px 4px; }
.fv-workspace .nav-icon { display:grid; place-items:center; width:20px; height:20px; flex:none; }
.fv-workspace .nav-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linejoin:round; stroke-linecap:round; }
.fv-nav-foot { margin-block-start:auto; color:#9baec4; font-size:11px; padding:20px 12px 0; border-block-start:1px solid #26374d; }
.fv-nav-foot strong { display:block; color:#d4e6eb; font-size:12px; }
body.fv-workspace .fv-pro .topbar { position:sticky!important; top:0; z-index:40; min-height:64px!important; height:auto!important; background:var(--fvp-panel)!important; color:var(--fvp-ink)!important; border-bottom:1px solid var(--fvp-line)!important; padding:12px 24px!important; gap:16px!important; flex-wrap:wrap!important; box-shadow:none!important; }
body.fv-workspace .fv-pro .topbar :is(h1,.title-wrap h1) { color:var(--fvp-ink)!important; font-size:18px!important; line-height:1.7!important; }
body.fv-workspace .fv-pro .topbar h1::after { display:none!important; }
body.fv-workspace .fv-pro .topbar :is(.account-chip,.who,.who strong) { color:var(--fvp-ink-2)!important; }
html[data-density=compact] body.fv-workspace .fv-pro :is(.data-table,.special-table,.sym-table) :is(td,th) { padding-block:6px!important; }
body.fv-workspace .fv-pro .topbar .title-wrap { min-width:0; gap:12px; }
body.fv-workspace .fv-pro .topbar .title-wrap p { color:var(--fvp-muted)!important; }
body.fv-workspace .fv-pro .topbar :is(.icon-button,.account-chip,.account-chip-button,.primary-button,.text-button,.fv-tool) { min-height:36px!important; height:36px!important; max-height:none!important; min-width:36px!important; width:auto; max-width:none!important; border-radius:8px; color:var(--fvp-ink-2)!important; background:var(--fvp-panel-head)!important; border:1px solid var(--fvp-line)!important; }
body.fv-workspace .fv-pro .topbar .primary-button { padding-inline:12px!important; }
body.fv-workspace .fv-pro .topbar .topbar-actions { flex:1 1 auto!important; justify-content:flex-end; gap:8px!important; flex-wrap:wrap!important; }
body.fv-workspace .fv-pro .topbar .connection-badge { background:var(--fvp-panel-head)!important; color:var(--fvp-muted)!important; border:1px solid var(--fvp-line)!important; }
body.fv-workspace .fv-pro .topbar .global-search { max-width:280px; }
body.fv-workspace .fv-pro .topbar .global-search input { color:var(--fvp-ink)!important; background:var(--fvp-panel-head)!important; min-height:36px!important; }
body.fv-workspace .fv-pro .clock-box { display:none!important; }
body.fv-workspace .fv-pro .fvp-ticker { min-height:34px!important; padding-inline:24px; background:var(--fvp-panel); color:var(--fvp-ink); border-bottom:1px solid var(--fvp-line); }
.fv-workspace .fvp-ticker__label { color:var(--fvp-muted); font-size:10px; }
.fv-workspace .fvp-ticker__name { color:var(--fvp-muted); }
.fv-workspace .fvp-ticker__value { color:var(--fvp-ink); font-size:12px; }
body.fv-workspace .fv-pro .fvp-tabbar { min-height:48px!important; overflow-x:auto; flex-wrap:nowrap; padding-inline:24px!important; background:var(--fvp-panel)!important; border-bottom:1px solid var(--fvp-line); gap:8px; }
.fv-workspace .fvp-tab { min-height:46px!important; font-size:13px!important; color:var(--fvp-muted)!important; padding:10px 12px!important; flex:none; }
.fv-workspace .fvp-tab[aria-selected=true] { color:var(--fvp-accent)!important; font-weight:700; box-shadow:inset 0 -2px var(--fvp-accent); }
.fv-workspace .fvp-preset { min-height:28px; }
.fv-workspace .fvp-presets { flex:none; }
body.fv-workspace .fv-pro .section-stack { display:grid!important; overflow:visible!important; padding:24px!important; gap:24px!important; align-content:start!important; height:auto!important; }
body.fv-workspace .fv-pro :is(.fvp-panelgrid,.fvp-rows-auto-auto-1,.fvp-rows-auto-1,.fvp-cols-radar,.fvp-cols-desk) { min-height:0!important; height:auto!important; overflow:visible!important; gap:16px!important; grid-template-rows:auto!important; align-content:start!important; }
body.fv-workspace .fv-pro :is(.panel,.special-card,.v2-panel,.personal-panel,.chart-panel) { min-width:0!important; height:auto!important; max-height:none!important; border:1px solid var(--fvp-line)!important; border-radius:12px!important; background:var(--fvp-panel)!important; overflow:hidden; box-shadow:0 2px 4px #10213a03!important; }
body.fv-workspace .fv-pro :is(.panel-header,.special-card>header) { min-height:58px!important; padding:16px 20px!important; background:var(--fvp-panel)!important; border-bottom:1px solid var(--fvp-line-soft)!important; gap:12px; flex-wrap:wrap; }
body.fv-workspace .fv-pro :is(.panel-header h2,.panel-header h3,.special-card h3) { font-size:14px!important; line-height:1.7!important; color:var(--fvp-ink); }
body.fv-workspace .fv-pro :is(.panel-header p,.special-card header p) { font-size:11px!important; line-height:1.7!important; color:var(--fvp-muted); }
body.fv-workspace .fv-pro :is(.panel-body,.special-card-body) { padding:20px!important; }
body.fv-workspace .fv-pro .panel > :is(.market-rank-list,.market-radar-grid,.section-grid,.recent-list,.saved-list) { padding:16px 20px!important; max-height:440px; overflow:auto; }
body.fv-workspace .fv-pro .fvp-heat { min-height:290px!important; padding:16px!important; gap:5px!important; }
body.fv-workspace .fv-pro .fvp-cols-main > .fvp-stack { display:contents!important; }
body.fv-workspace .fv-pro .fvp-cols-main .market-rank-list { max-height:320px!important; overflow:auto!important; }
body.fv-workspace .fv-pro .fvp-heat { height:360px!important; max-height:480px!important; }
.fv-workspace .fvp-heat__row { gap:5px!important; min-height:64px; }
.fv-workspace .fvp-heat__cell { border-radius:5px!important; padding:10px!important; min-width:0; }
.fv-workspace .fvp-heat__name { font-size:12px!important; white-space:normal; }
.fv-workspace .fvp-heat__ret { font-size:14px!important; direction:ltr; unicode-bidi:isolate; }
.fv-workspace .fvp-heat__val { font-size:11px!important; }
body.fv-workspace .fv-pro :is(.market-state-grid,.market-kpis) { grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:12px!important; }
body.fv-workspace .fv-pro .market-kpi { border:1px solid var(--fvp-line)!important; border-radius:10px!important; padding:16px 18px!important; min-height:112px!important; background:var(--fvp-panel)!important; }
body.fv-workspace .fv-pro .market-kpi>strong { font-size:22px!important; line-height:1.65!important; }
body.fv-workspace .fv-pro .market-kpi>span { font-size:12px!important; }
body.fv-workspace .fv-pro .market-kpi>small { font-size:11px!important; }
body.fv-workspace .fv-pro .market-kpi.primary { border-top:3px solid var(--fvp-accent)!important; }
body.fv-workspace .fv-pro .kpi-grid:not(.fvp-rates) { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:12px!important; background:none!important; border:0!important; overflow:visible!important; }
body.fv-workspace .fv-pro .kpi-grid:not(.fvp-rates) .kpi-card { display:flex!important; flex-direction:column; padding:18px!important; min-height:136px!important; border:1px solid var(--fvp-line)!important; border-radius:12px!important; background:var(--fvp-panel)!important; }
body.fv-workspace .fv-pro .kpi-grid:not(.fvp-rates) .kpi-icon { display:none!important; }
body.fv-workspace .fv-pro .kpi-grid:not(.fvp-rates) .kpi-card > div:last-child { display:flex!important; flex-direction:column; gap:8px; width:100%; flex:1; }
body.fv-workspace .fv-pro .kpi-grid:not(.fvp-rates) .kpi-card span { white-space:normal!important; overflow:visible!important; text-overflow:clip!important; font-size:12px; line-height:1.8; }
body.fv-workspace .fv-pro .kpi-grid:not(.fvp-rates) .kpi-card :is(strong,.money-number) { display:block!important; font-size:24px!important; line-height:1.5!important; overflow:visible!important; }
body.fv-workspace .fv-pro .kpi-grid:not(.fvp-rates) .kpi-card .money-pair { display:flex!important; flex-direction:column!important; align-items:flex-start; gap:2px; }
body.fv-workspace .fv-pro .kpi-grid:not(.fvp-rates) .kpi-card :is(small,.money-unit) { font-size:11px!important; line-height:1.8!important; white-space:normal!important; overflow:visible!important; -webkit-line-clamp:unset; margin:0; }
body.fv-workspace .fv-pro .kpi-grid:not(.fvp-rates) .kpi-card small { margin-block-start:auto; }
body.fv-workspace .fv-pro :is(.module-kpi-grid,.special-kpis,.market-overview-kpis,.fv-secondary-kpis) { grid-auto-rows:1fr!important; align-items:stretch!important; }
body.fv-workspace .fv-pro .market-overview-kpis { grid-auto-rows:auto!important; }
body.fv-workspace .fv-pro .market-decision-card { padding:16px!important; min-height:104px!important; border-radius:10px!important; }
body.fv-workspace .fv-pro .market-decision-card strong { font-size:17px!important; line-height:1.7!important; }
body.fv-workspace .fv-pro .market-decision-summary { padding:16px 20px!important; border-radius:10px!important; font-size:12px!important; line-height:1.8!important; }
body.fv-workspace .fv-pro :is(.table-wrap,.table-scroll,.special-table-scroll,.data-table-wrap,.v2-table-wrap,.sym-table-scroll) { max-width:100%!important; max-height:560px; overflow:auto!important; overscroll-behavior-inline:contain; scrollbar-width:thin; }
body.fv-workspace .fv-pro :is(.data-table,.special-table,.sym-table) { font-size:12px!important; }
body.fv-workspace .fv-pro :is(.data-table,.special-table,.sym-table) :is(th,td) { height:auto!important; padding:10px 12px!important; line-height:1.7!important; font-size:12px!important; font-variant-numeric:tabular-nums; }
body.fv-workspace .fv-pro :is(.data-table,.special-table,.sym-table) th { font-size:11px!important; position:sticky; top:0; background:var(--fvp-panel-head)!important; z-index:2; }
body.fv-workspace .fv-pro :is(.data-table,.special-table,.sym-table) tbody tr:hover td { background-color:var(--fvp-accent-soft); }
body.fv-workspace .fv-pro .fvp-status { min-height:30px; position:static!important; padding:8px 24px!important; background:var(--fvp-panel)!important; color:var(--fvp-muted)!important; border-top:1px solid var(--fvp-line); flex-wrap:wrap; }
.fv-workspace .fvp-status__value { color:var(--fvp-ink-2)!important; }
body.fv-workspace .fv-pro .specialized-board { padding:24px!important; gap:20px!important; height:auto!important; overflow:visible!important; display:grid!important; grid-template-rows:auto!important; }
body.fv-workspace .fv-pro :is(.special-grid,.special-chart-stack) { height:auto!important; overflow:visible!important; gap:16px!important; }
body.fv-workspace .fv-pro .special-line-chart { min-height:260px; }
body.fv-workspace .fv-pro :is(.filter-panel,.special-filter-rail) { padding:16px!important; border-radius:12px!important; background:var(--fvp-panel)!important; gap:12px!important; }
body.fv-workspace .fv-pro :is(input,select,textarea) { font:inherit; color:var(--fvp-ink); max-width:100%; }
body.fv-workspace .fv-pro :is(.special-field input,.special-field select,.filter-field input,.filter-field select) { min-height:38px!important; }
body.fv-workspace .fv-pro :is(.sym-body,.sym-pro-body,.sym-section,.sym-grid) { height:auto!important; max-height:none!important; overflow:visible!important; gap:16px!important; }
body.fv-workspace .fv-pro .sym-body { padding:24px!important; }
body.fv-workspace .fv-pro .sym-hero { display:flex!important; align-items:center!important; justify-content:space-between; flex-wrap:wrap!important; height:auto!important; min-height:106px!important; padding:20px 24px!important; gap:20px!important; background:var(--fvp-panel)!important; }
body.fv-workspace .fv-pro .sym-hero-id { flex:1 1 240px; }
body.fv-workspace .fv-pro .sym-name-row { flex-wrap:wrap; }
body.fv-workspace .fv-pro .sym-name-row h1 { font-size:25px!important; line-height:1.7!important; }
body.fv-workspace .fv-pro .sym-name-row p { font-size:12px!important; line-height:1.8!important; }
body.fv-workspace .fv-pro .sym-headline { display:flex!important; flex-direction:column!important; height:auto!important; min-width:180px; gap:2px!important; }
body.fv-workspace .fv-pro .sym-headline strong { font-size:25px!important; line-height:1.7!important; }
body.fv-workspace .fv-pro .sym-headline :is(span,small) { font-size:12px!important; line-height:1.7!important; }
body.fv-workspace .fv-pro .sym-hero-actions { display:flex!important; flex-wrap:wrap!important; gap:8px!important; height:auto!important; }
body.fv-workspace .fv-pro .sym-hero-actions :is(button,input) { min-height:36px!important; height:36px!important; max-height:none!important; max-width:none!important; }
body.fv-workspace .fv-pro .sym-vitals { margin:0 24px!important; border:1px solid var(--fvp-line)!important; border-radius:10px!important; background:var(--fvp-panel)!important; }
body.fv-workspace .fv-pro .sym-vital { padding:12px 16px!important; min-width:0; }
body.fv-workspace .fv-pro .sym-row { gap:16px!important; }
body.fv-workspace .fv-pro .sym-panel-head { padding:16px 20px!important; min-height:68px!important; background:var(--fvp-panel)!important; border-bottom:1px solid var(--fvp-line-soft)!important; }
body.fv-workspace .fv-pro .sym-panel-head h2 { font-size:14px!important; line-height:1.8!important; }
body.fv-workspace .fv-pro .sym-panel-head p { font-size:11px!important; line-height:1.8!important; }
body.fv-workspace .fv-pro .sym-panel-body { padding:20px!important; }
body.fv-workspace .fv-pro .sym-panel-tools { flex-wrap:wrap; gap:8px!important; }
body.fv-workspace .fv-pro .sym-panel-tools :is(button,select) { min-height:34px!important; font-size:12px!important; }
body.fv-workspace .fv-pro :is(.sym-rowline,.sym-readout-row) { padding-block:10px!important; font-size:12px!important; line-height:1.8; gap:16px!important; }
body.fv-workspace .fv-pro .sym-empty { padding:24px 18px!important; min-height:126px; display:flex; flex-direction:column; justify-content:center; gap:10px; line-height:1.9; }
body.fv-workspace .fv-pro .sym-empty small { font-size:11px; color:var(--fvp-muted); }
body.fv-workspace .fv-pro :is(.sym-chart,#symTrend) { min-height:320px; }
body.fv-workspace .fv-pro :is(.sym-vitals,.sym-vitals-grid) { grid-template-columns:repeat(6,minmax(0,1fr))!important; }
body.fv-workspace .fv-pro :is(.sym-panel,.sym-card) { border-radius:12px!important; }
.fv-tool { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:6px 11px; min-height:38px; border:1px solid var(--fvp-line); border-radius:8px; background:var(--fvp-panel); color:var(--fvp-ink); cursor:pointer; white-space:nowrap; font:inherit; font-size:12px; }
.fv-tool svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; }
.fv-tool--accent { color:var(--fvp-accent)!important; background:var(--fvp-accent-soft)!important; }
.fv-mobile-menu { display:none!important; }
.fv-mobile-nav { display:none; }
.fv-dialog { color:var(--fvp-ink); background:var(--fvp-panel); border:1px solid var(--fvp-line); border-radius:18px; padding:0; max-width:min(680px,calc(100vw - 32px)); width:680px; max-height:88dvh; box-shadow:0 24px 100px #081c3540; }
.fv-dialog::backdrop { background:#071a325e; backdrop-filter:blur(3px); }
.fv-dialog--drawer { margin:16px; margin-inline-start:auto; width:480px; max-height:calc(100dvh - 32px); height:calc(100dvh - 32px); }
.fv-dialog-head { display:flex; align-items:center; gap:12px; padding:20px 24px; border-bottom:1px solid var(--fvp-line); position:sticky; top:0; background:var(--fvp-panel); z-index:2; }
.fv-dialog-head h2 { margin:0; font-size:18px; line-height:1.7; }
.fv-dialog-head p { margin:0; color:var(--fvp-muted); font-size:12px; }
.fv-dialog-close { margin-inline-start:auto; border:1px solid var(--fvp-line); border-radius:8px; background:var(--fvp-panel); color:var(--fvp-ink); width:40px; height:40px; font-size:24px; cursor:pointer; flex:none; }
.fv-dialog-body { padding:24px; }
.fv-dialog-body :is(p,li) { font-size:13px; line-height:1.9; }
.fv-dialog-body h3 { font-size:15px; margin:22px 0 8px; }
.fv-dialog-body a { color:var(--fvp-accent); text-underline-offset:3px; }
.fv-guide-kpi { padding:16px; border:1px solid var(--fvp-line); border-radius:10px; margin:12px 0; }
.fv-guide-kpi strong { display:block; font-size:14px; }
.fv-guide-kpi p { margin:8px 0 0; color:var(--fvp-muted); }
.fv-unit-table { width:100%; border-collapse:collapse; font-size:12px; margin-block:16px; }
.fv-unit-table :is(th,td) { text-align:start; padding:12px 8px; border-bottom:1px solid var(--fvp-line); }
.fv-unit-table bdi { font-variant-numeric:tabular-nums; }
.fv-ai-state { padding:14px 16px; border-radius:10px; background:var(--fvp-panel-head); color:var(--fvp-muted); font-size:12px; line-height:1.8; }
.fv-ai-prompts { display:grid; gap:8px; margin:20px 0; }
.fv-ai-prompts button { text-align:start; padding:12px 16px; min-height:44px; color:var(--fvp-ink-2); border:1px solid var(--fvp-line); border-radius:10px; background:var(--fvp-panel); font:inherit; font-size:13px; cursor:pointer; }
.fv-ai-form { display:grid; gap:12px; }
.fv-ai-form select,.fv-ai-form textarea { width:100%; padding:12px; border:1px solid var(--fvp-line); border-radius:9px; background:var(--fvp-panel); color:var(--fvp-ink); font:inherit; font-size:14px; }
.fv-ai-form textarea { resize:vertical; min-height:100px; }
.fv-ai-actions { display:flex; gap:8px; flex-wrap:wrap; }
.fv-ai-actions button { border:1px solid var(--fvp-line); border-radius:8px; padding:10px 16px; min-height:44px; background:var(--fvp-panel-head); color:var(--fvp-ink); font:inherit; font-size:13px; cursor:pointer; }
.fv-ai-actions button:first-child { background:#087c78; color:white; border-color:#087c78; }
.fv-ai-actions button:disabled { opacity:.55; cursor:default; }
.fv-ai-result { margin-top:24px; border-top:1px solid var(--fvp-line); padding-top:20px; white-space:pre-wrap; overflow-wrap:anywhere; }
.fv-ai-result h3 { white-space:normal; }
.fv-ai-result ul { white-space:normal; padding-inline-start:20px; }
.fv-evidence-meta { font-size:11px; color:var(--fvp-muted); }
.fv-demo { background:#fff3cd; color:#654c04; border-bottom:1px solid #e8ce8b; padding:8px 20px; text-align:center; font-size:12px; }
.fv-report-intro { display:flex; align-items:start; justify-content:space-between; gap:24px; }
.fv-report-intro h2 { margin:0; font-size:28px; letter-spacing:-.02em; }
.fv-report-intro p { margin:8px 0; color:var(--fvp-muted); max-width:65ch; }
.fv-reports-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.fv-report-card { border:1px solid var(--fvp-line); border-radius:12px; background:var(--fvp-panel); padding:24px; display:flex; flex-direction:column; gap:12px; }
.fv-report-card .fv-report-number { font:12px monospace; color:var(--fvp-muted); }
.fv-report-card h3 { font-size:18px; margin:0; }
.fv-report-card p { color:var(--fvp-muted); font-size:13px; line-height:1.9; margin:0; }
.fv-report-card .fv-tool { align-self:flex-start; margin-top:auto; border:1px solid var(--fvp-line); border-radius:8px; text-decoration:none; color:var(--fvp-accent); min-height:38px; }
.fv-report-tags { display:flex; flex-wrap:wrap; gap:6px; }
.fv-report-tags span { padding:4px 8px; border-radius:5px; background:var(--fvp-panel-head); font-size:11px; color:var(--fvp-ink-2); }
@media(min-width:1600px) { body.fv-workspace .fv-pro .section-stack { padding:28px 32px!important; } }
@media(max-width:1250px) and (min-width:901px) {
  :root { --fvp-rail:176px; }
  body.fv-workspace .fv-pro .topbar { padding:12px 16px!important; }
  body.fv-workspace .fv-pro .topbar .global-search { display:none!important; }
  body.fv-workspace .fv-pro .section-stack { padding:20px!important; }
  body.fv-workspace .fv-pro .fvp-cols-main { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)!important; }
  .fv-reports-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:901px) {
  body.fv-workspace .fv-pro .sidebar { display:flex!important; }
  body.fv-workspace .fv-pro :is(.fvp-cols-main,.special-grid) { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)!important; }
  body.fv-workspace .fv-pro .market-state-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
}
@media(max-width:900px) {
  html,body,body.fv-workspace,body.fv-workspace.fv-pro-body { height:auto!important; max-height:none!important; overflow:visible!important; }
  .fv-workspace { padding-bottom:calc(72px + env(safe-area-inset-bottom))!important; }
  body.fv-workspace .fv-pro { width:100%!important; min-width:0!important; }
  body.fv-workspace .fv-pro .workspace-controls { display:flex!important; flex-wrap:wrap!important; min-width:0!important; max-width:100%!important; width:100%!important; gap:6px!important; padding:6px!important; }
  body.fv-workspace .fv-pro .workspace-controls :disabled { display:none!important; }
  body.fv-workspace .fv-pro .workspace-select { flex:1 1 80px!important; min-width:0!important; max-width:100%!important; }
  body.fv-workspace .fv-pro .workspace-controls button { flex:0 0 auto; }
  body.fv-workspace.trends-page .main-content > :is(.trends-filter-panel,.module-status-banner,.trends-overview,.trends-main-grid,.trend-table-panel) { margin:16px!important; width:calc(100% - 32px)!important; }
  body.fv-workspace .fv-pro .trends-main-grid { grid-template-columns:minmax(0,1fr)!important; gap:16px!important; }
  body.fv-workspace .fv-pro .field > :is(input,select) { min-height:44px!important; font-size:16px!important; }
  body.fv-workspace .fv-pro { display:block!important; height:auto!important; max-height:none!important; overflow:visible!important; }
  body.fv-workspace .fv-pro .main-content { height:auto!important; max-height:none!important; overflow:visible!important; padding:0!important; }
  body.fv-workspace .fv-pro .sidebar { display:none!important; }
  body.fv-workspace .fv-pro .topbar { position:sticky!important; padding:12px 16px!important; gap:8px!important; }
  body.fv-workspace .fv-pro .topbar h1 { font-size:16px!important; }
  body.fv-workspace .fv-pro .topbar .topbar-actions { gap:6px!important; }
  body.fv-workspace .fv-pro .topbar :is(button,.icon-button,.fv-tool,.account-chip-button) { min-height:44px!important; height:44px!important; min-width:44px!important; }
  body.fv-workspace .fv-pro .topbar :is(.global-search,.who,.connection-badge,.fv-tool-label,#logoutButton,.clock-box) { display:none!important; }
  body.fv-workspace .fv-pro .topbar :is(.fvp-display,.visual-manager,#accountChip,#alertMenu,#refreshButton) { display:none!important; }
  body.fv-workspace .fv-pro .topbar .title-wrap { flex:1; }
  body.fv-workspace .fv-pro .topbar .topbar-actions { flex:0 1 auto!important; }
  .fv-mobile-menu { display:inline-flex!important; }
  body.fv-workspace .fv-pro .fvp-tabbar { padding-inline:12px!important; gap:0!important; }
  body.fv-workspace .fv-pro .fvp-ticker { padding-inline:16px!important; }
  body.fv-workspace .fv-pro :is(.section-stack,.specialized-board,.sym-body) { padding:16px!important; gap:16px!important; }
  body.fv-workspace .fv-pro :is(.fvp-cols-main,.fvp-cols-radar,.fvp-cols-desk,.special-grid,.fvp-cols-1-1-1,.fvp-cols-1-1,.sym-grid) { grid-template-columns:minmax(0,1fr)!important; }
  body.fv-workspace .fv-pro :is(.market-state-grid,.market-kpis,.special-kpis,.market-decision-cards,.sym-vitals,.sym-vitals-grid) { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body.fv-workspace .fv-pro .market-overview-kpis { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
  .fv-secondary-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .fv-more-kpis summary { min-height:44px; padding:10px 0; }
  body.fv-workspace .fv-pro[data-fvp-preset] .fvp-cols-main { grid-template-columns:minmax(0,1fr)!important; }
  body.fv-workspace .fv-pro .market-kpi { padding:14px!important; min-height:108px!important; }
  body.fv-workspace .fv-pro .market-kpi>strong { font-size:20px!important; }
  body.fv-workspace .fv-pro .special-kpis { padding:0!important; }
  body.fv-workspace .fv-pro .special-kpi { padding:14px!important; min-height:132px!important; }
  body.fv-workspace .fv-pro .special-kpi .value b { font-size:20px!important; }
  body.fv-workspace .fv-pro .kpi-grid:not(.fvp-rates) { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body.fv-workspace .fv-pro .kpi-grid:not(.fvp-rates) .kpi-card { padding:14px!important; min-height:132px!important; }
  body.fv-workspace .fv-pro .kpi-grid:not(.fvp-rates) .kpi-card :is(strong,.money-number) { font-size:20px!important; }
  body.fv-workspace .fv-pro :is(.panel-header,.special-card>header) { padding:14px 16px!important; }
  body.fv-workspace .fv-pro :is(.filter-panel,.special-filter-rail) { display:flex!important; flex-wrap:wrap!important; }
  body.fv-workspace .fv-pro :is(.special-field,.filter-field) { flex:1 1 140px!important; width:auto!important; min-width:0!important; }
  body.fv-workspace .fv-pro :is(.special-field input,.special-field select,.filter-field input,.filter-field select) { min-height:44px!important; font-size:16px!important; }
  body.fv-workspace .fv-pro :is(.sym-hero,.sym-identity) { height:auto!important; min-height:100px!important; flex-wrap:wrap!important; }
  body.fv-workspace .fv-pro .sym-hero { padding:16px!important; gap:12px!important; }
  body.fv-workspace .fv-pro .sym-hero-id { flex:1 1 160px; }
  body.fv-workspace .fv-pro .sym-hero-actions { width:100%!important; flex:1 0 100%!important; justify-content:flex-start; }
  .fv-workspace .auth-aside { padding:24px!important; min-height:0!important; }
  .fv-workspace .auth-aside-inner { padding:0!important; }
  .fv-workspace .auth-aside h1 { font-size:20px!important; margin:0!important; }
  .fv-workspace .auth-aside :is(p,.auth-rule,.auth-points,.auth-source) { display:none!important; }
  body.fv-workspace .fv-pro .sym-hero-actions :is(button,input),body.fv-workspace .fv-pro .sym-panel-tools :is(button,select) { min-height:44px!important; height:44px!important; }
  body.fv-workspace .fv-pro .sym-search { flex:1 1 100%; max-width:none!important; width:100%!important; }
  body.fv-workspace .fv-pro .sym-search input { font-size:16px!important; width:100%!important; }
  body.fv-workspace .fv-pro .sym-vitals { margin:0 16px!important; }
  body.fv-workspace .fv-pro .sym-panel-head { padding:14px 16px!important; }
  body.fv-workspace .fv-pro .sym-panel-body { padding:16px!important; }
  .fv-workspace :is(.mobile-bottom-nav,.bottom-nav,.mobile-nav,.market-ticker) { display:none!important; }
  .fv-mobile-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); position:fixed; inset-inline:0; bottom:0; min-height:66px; padding:8px 8px calc(8px + env(safe-area-inset-bottom)); background:var(--fvp-panel); border-top:1px solid var(--fvp-line); z-index:80; }
  .fv-mobile-nav :is(a,button) { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:48px; font:inherit; font-size:10px; color:var(--fvp-muted); background:none; border:0; text-decoration:none; }
  .fv-mobile-nav [aria-current=page] { color:var(--fvp-accent); font-weight:700; }
  .fv-dialog--drawer { margin:8px; width:calc(100vw - 16px); max-width:calc(100vw - 16px); height:calc(100dvh - 16px); max-height:calc(100dvh - 16px); }
  .fv-dialog-body { padding:20px; }
  .fv-dialog-head { padding:16px 20px; }
  .fv-reports-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fv-report-intro h2 { font-size:23px; }
}
@media(max-width:520px) {
  .fv-workspace .fvp-presets { display:none!important; }
  body.fv-workspace .fv-pro .topbar .title-wrap { flex-basis:100%; }
  body.fv-workspace .fv-pro .topbar .topbar-actions { width:100%; justify-content:flex-end; }
  body.fv-workspace .fv-pro :is(.special-kpis,.sym-vitals,.sym-vitals-grid) { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body.fv-workspace .fv-pro .fvp-heat { min-height:320px!important; }
  .fv-reports-grid { grid-template-columns:minmax(0,1fr); }
  .fv-report-card { padding:20px; }
  .fv-report-intro { display:block; }
}
@media(max-width:600px) {
  body.fv-workspace .fv-pro .fv-long-value { grid-column:1/-1!important; }
}
@media(max-width:360px) {
  body.fv-workspace .fv-pro :is(.special-kpis,.market-overview-kpis,.fv-secondary-kpis) { grid-template-columns:minmax(0,1fr)!important; }
  body.fv-workspace .fv-pro .kpi-grid:not(.fvp-rates) { grid-template-columns:minmax(0,1fr)!important; }
  body.fv-workspace .fv-pro .special-kpi { min-height:120px!important; }
}
@media(prefers-reduced-motion:reduce) { .fv-workspace *, .fv-workspace *::before, .fv-workspace *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media print {
  html,body,body.fv-workspace .fv-pro,body.fv-workspace .fv-pro .main-content { display:block!important; height:auto!important; overflow:visible!important; max-height:none!important; }
  .fv-workspace :is(.sidebar,.topbar,.fv-mobile-nav,.fvp-ticker,.fvp-status,.fv-demo) { display:none!important; }
  .fv-workspace .panel { break-inside:avoid; box-shadow:none!important; }
}
