/* 51VIPAI shared desktop research system. Loaded after each page's layout CSS. */
:root{--bg:#f4f7f8;--paper:#f4f7f8;--surface:#fff;--card:#fff;--surface-2:#edf2f4;--surface2:#edf2f4;--paper-2:#edf2f4;--ink:#20313d;--ink-2:#425767;--ink-3:#526675;--muted:#526675;--line:#dce4e8;--rule:#dce4e8;--rule-2:#dce4e8;--accent:#087e83;--blue:#356bb0;--rust:#087e83;--rust-2:#087e83;--gold:#876a28;--green:#177b56;--red:#bb3e45;--navy:#20313d;--shadow:none;--sans:"PingFang SC","Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;--body:var(--sans);--disp:var(--sans);--serif:var(--sans);--cjk:var(--sans);--workspace-header:64px}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;background-image:none}
body.dark{--bg:#14212a;--paper:#14212a;--surface:#1d2e39;--card:#1d2e39;--surface2:#263b47;--surface-2:#263b47;--paper-2:#263b47;--ink:#e4edf1;--ink-2:#c4d3dc;--muted:#adbec9;--ink-3:#adbec9;--line:#3a4f5c;--rule:#3a4f5c;--accent:#6bd1ce;--rust:#6bd1ce;--blue:#8bb9f1;--green:#70cfa0;--red:#ff969a}
body::before,body::after,.etf-header::before{display:none}
button,input,select{font-family:inherit;font-size:14px}button,a,input,select,summary{touch-action:manipulation}button,select,input{border-radius:6px}button{cursor:pointer}button:disabled{cursor:default}
:where(a,button,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--sans);letter-spacing:0;color:var(--ink)}h1{font-size:30px;line-height:1.35}h2{font-size:22px;line-height:1.5}h3{font-size:17px}
a{color:var(--accent)}.mono,table{font-variant-numeric:tabular-nums}.eyebrow,.part-num,.section-number,.card-label{display:none}
.etf-header,.unified-header,.topbar{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:none}
.etf-nav,.topinner{min-height:64px;height:64px;max-width:none;margin:0;padding:0 24px;display:flex;gap:40px;border:0}
.etf-brand,.brand{font:750 21px var(--sans);color:var(--ink);letter-spacing:0;flex-shrink:0}.etf-brand small,.brand-mark{display:none}.brand span{color:var(--accent)}
.etf-nav-links,.globalnav{display:flex;height:64px;gap:28px;align-items:center;margin:0}.etf-nav-links>a,.etf-nav-links>.nav-us-menu>a,.globalnav>a,.stocks-nav-parent>a{font-size:15px;font-weight:600;padding:0;min-width:0;border:0!important;color:var(--muted);background:none;height:64px;display:flex;align-items:center}
.etf-nav-links a.active,.globalnav a.active{color:var(--accent);background:none}.etf-nav-links>a.active,.etf-nav-links>.nav-us-menu>a.active{box-shadow:inset 0 -3px var(--accent)}
.theme-button,.topright{margin-left:auto}.theme-button,.theme{width:36px;height:36px;color:var(--ink);border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.nav-us-dropdown{background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 25px #20313d15}.etf-nav-links .nav-us-dropdown>a{font-size:14px}.etf-nav-links .nav-us-dropdown>a.ready{background:var(--surface)}
.hero-heading h1,.unified-header .hero-heading h1,.dca-head h1{font-size:30px;color:var(--ink);letter-spacing:0}.hero-heading p{color:var(--muted)}
.panel,.sidebar-card,.article-card,.guide-card,.dca-app{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:none}
.primary-link,.run-button{background:var(--accent);color:white;border-radius:6px;box-shadow:none}.outline-button{color:var(--ink);border-color:var(--line);border-radius:6px}
.article-header{border-top:0}.article-header h1{font-size:32px}.article-body{font-size:17px;line-height:1.9}.article-body h2{font-size:23px}.article-layout{max-width:870px}
table{font-size:14px}th{font-size:13px}th,td{border-color:var(--line)}
/* Dossier hierarchy */
.dossier-workspace>.wrap{padding:0 24px;max-width:none}.breadcrumb{font-size:12px;margin:14px 0}.hero{padding:18px 0;gap:20px;grid-template-columns:minmax(0,1fr) 310px}.titleline h1{font-size:27px}.hero-tags,.symbol-pill{font-size:12px}.companylogo{width:56px;height:50px}.quote-label,.quote .subtime{font-size:12px}.price{font-size:32px}.price-change{font-size:15px}.quote .btn,.btn{font-size:13px;min-height:34px;padding:6px 10px}.snapshot-line{font-size:12px;background:none;border:0;padding:0;margin:0 0 16px;line-height:1.6}.snapshot-line .dot{display:none}
.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);margin-bottom:10px}.metric{border:0;border-right:1px solid var(--line);border-radius:0;padding:14px 18px;min-height:110px;background:none}.metric:last-child{border:0}.metric-top{font-size:14px;flex-wrap:wrap}.metric-top .chip{font-size:12px;padding:0;background:none}.metric-value{font-size:26px;margin:6px 0}.metric-meta{font-size:12px}.company-details{padding:8px 0;margin-bottom:8px}.company-details summary{font-size:13px;cursor:pointer;color:var(--muted)}.company-details[open]{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.company-excerpt{font-size:15px;line-height:1.8;margin:12px 0}.overview-facts>div{font-size:14px}.tabs-shell{top:64px;margin-bottom:22px}.tabs{gap:28px}.tabs a{font-size:15px;padding:15px 0}.tabs small{font-size:12px}.section{scroll-margin-top:130px;margin-bottom:36px}.section-head h2{font-size:22px}.section-head p{font-size:13px}.source-btn,.panel-sub,.chart-note,.table-foot,.table-caption{font-size:12px;line-height:1.7}.panel-head h3{font-size:17px}.panel-inner{padding:20px}.panel-head{gap:14px;flex-wrap:wrap}.finance-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:18px}.kv-list>div{font-size:14px}.chart-controls{flex-wrap:wrap;gap:12px}.history-range{font-size:13px;display:flex;align-items:center;gap:8px}.history-range select,.select-min{font-size:13px;min-height:34px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:5px 9px;max-width:100%}.switch button{font-size:13px;min-height:34px}.chart svg text{font-size:12px}.legend{font-size:13px}
#financialTable{max-height:450px;overflow:auto;isolation:isolate}#financialTable table{font-size:14px;min-width:100%}#financialTable th,#financialTable td{padding:11px 14px;min-width:115px;white-space:nowrap}#financialTable th{position:sticky;top:0;z-index:2;background:var(--surface2);font-size:13px}#financialTable th:first-child,#financialTable td:first-child{position:sticky;left:0;min-width:180px;background:var(--surface);z-index:1;text-align:left}#financialTable th:first-child{z-index:3;background:var(--surface2)}#financialTable small{font-size:12px}.table-toolbar{flex-wrap:wrap;gap:12px}.business-grid{gap:18px}.business-bar-label{font-size:14px;align-items:baseline}.business-bar-track{height:9px}.business-group h4{font-size:14px;color:var(--muted);margin:14px 0}.business-group+.business-group{border-top:1px solid var(--line);margin-top:20px}.business-caution{font-size:13px;color:var(--muted);border-left:3px solid var(--line);padding-left:12px}.business-grid td:first-child{white-space:normal}.business-detail{font-size:14px}
.rail-title{font-size:15px}.rail-title span,.rail-tools,.rail-snapshot{font-size:12px}.rail-company strong{font-size:14px}.rail-company small{font-size:12px}.rail-price,.rail-change{font-size:13px}.rail-columns,.rail-footer,.rail-footer small{font-size:12px}.rail-search input{font-size:14px;height:36px}.stock-row{min-height:58px}.rail-collapsed .rail-company strong{font-size:12px}.tag-preview{font-size:12px}
.calls-layout{grid-template-columns:230px minmax(0,1fr)}.calls-list{max-height:920px}.call-detail{padding:18px}.document-reader{height:780px;min-height:65vh}.call-title{font-size:14px}.call-date,.quarter-heading,.coverage,.reader-toolbar{font-size:12px}.note-band,.empty{font-size:13px}.reader-toolbar{gap:12px}.footer{font-size:13px}
/* Dashboard: real destinations, compact research entry points. */
.dashboard{max-width:1320px;margin:auto;padding:32px 28px}.dashboard-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px}.dashboard-heading h1{margin:0}.dashboard-heading p{color:var(--muted);font-size:14px;margin:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px}.dashboard-block{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.dashboard-block h2{font-size:20px;margin:0 0 8px}.dashboard-block p{font-size:14px;color:var(--muted)}.dashboard-companies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px}.dashboard-company{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink)}.dashboard-company img{width:28px;height:28px;object-fit:contain}.dashboard-company strong{font-size:15px}.dashboard-company small{display:block;color:var(--muted);font-size:12px}.dashboard-links{display:grid;gap:16px}.dashboard-links a{font-size:16px;font-weight:600}.dashboard-links p{margin:4px 0 0}.dashboard-wide{grid-column:1/-1}.dashboard-block-head{display:flex;justify-content:space-between;align-items:center}.dashboard-block-head a{font-size:13px}
@media(max-width:1100px){.finance-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{padding:12px}.metric-value{font-size:22px}.hero{grid-template-columns:minmax(0,1fr) 260px}.dashboard-companies{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.hero{background:none;border:0;border-radius:0;padding:8px 0 12px}.quote #quoteSummary{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:12px;justify-content:end}.quote-label,.quote .subtime{grid-column:1/-1}.quote .price-change{margin:0}.quote .subtime{margin-top:3px;max-width:310px}.quote .actions{margin-top:8px}.company-details>summary{padding:2px 0;line-height:1.7}.metric-top .chip{color:var(--muted)}
.brand{gap:0}.market-ticker{background:var(--surface2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.market-ticker::before,.market-ticker::after{display:none}.market-ticker-item b,.market-ticker-item strong{color:var(--ink)}.market-ticker-item em.flat{color:var(--muted)}.market-ticker-item{border-color:var(--line);font-size:12px}.market-ticker-track{animation-play-state:paused}.guide-card{box-shadow:none}.guide-card h2{font-size:28px}
#financialTable thead th small{display:block;white-space:normal;max-width:130px}#financialTable thead th:first-child small{max-width:180px}#financialTable thead th>br{display:none}
.asset-row label,.parameter-grid label,.search-field,.filter-field{font-size:12px}.asset-row input,.asset-row select,.parameter-grid input,.parameter-grid select,.asset-actions button,.primary-button,.secondary-button{font-size:14px}.form-note,.source-note,.index-source,.table-summary>p,.etf-footer{font-size:12px}.fund-table,.compare-table{font-size:14px}.panel-heading h2{font-size:22px}.holding-row span,.holding-row strong,.holding-legend span{font-size:12px}
.article-header .eyebrow{display:block;font-size:12px;letter-spacing:0;color:var(--muted)}
.financial-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:12px 0 18px}.metric-link{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;border:0;background:none;color:var(--ink);padding:0;text-align:left;font-size:14px}.metric-link span{color:var(--accent)}.metric-link:hover{color:var(--accent);text-decoration:underline}#metricDialog{width:min(840px,90vw);max-width:90vw}#metricDialog .chart{height:auto;min-height:260px}#metricDialog .chart svg{width:100%;height:auto}.financial-table-panel{margin-top:0}.business-group h4{margin-top:0}
