:root{color:#18202d;font-synthesis:none;text-rendering:optimizelegibility;--red:#c93a3a;--green:#168a58;--ink:#18202d;--muted:#6d7584;--line:#dfe5ec;--panel:#fff;--blue:#245f9d;--amber:#b7791f;background:#eef2f5;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#eef2f5;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:20px}.view-switch{border:1px solid var(--line);background:#f8fafc;border-radius:8px;grid-template-columns:repeat(2,minmax(96px,1fr));gap:6px;margin-bottom:14px;padding:6px;display:inline-grid}.view-tab{color:#4b5563;background:0 0;border:1px solid #0000;border-radius:8px;height:38px;padding:0 16px;font-weight:650}.view-tab.active{color:#1f4e79;background:#fff;border-color:#1f4e79}.topbar{border:1px solid var(--line);background:var(--panel);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.brand-block,.topbar-actions,.toolbar-band,.progress-group,.metric,.panel-title-row,.detail-header{align-items:center;display:flex}.brand-block{gap:12px}.brand-icon,.metric-icon{color:#fff;background:#1f4e79;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}h1,h2,p{margin:0}h1{font-size:22px;font-weight:700}.brand-block p,.panel-title-row p{color:var(--muted);margin-top:4px;font-size:13px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.search-box{border:1px solid var(--line);min-width:250px;height:40px;color:var(--muted);background:#f7f9fb;border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-box input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.primary-button,.tab,.icon-button{border:1px solid var(--line);height:40px;color:var(--ink);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.primary-button{color:#fff;background:#1f4e79;border-color:#1f4e79;padding:0 15px;font-weight:650}.primary-button:disabled{cursor:not-allowed;opacity:.72}.toolbar-band{border:1px solid var(--line);background:#f8fafc;border-radius:8px;justify-content:space-between;gap:16px;margin-top:14px;padding:10px}.tabs,.window-tabs{gap:6px;display:inline-grid}.tabs{grid-template-columns:repeat(3,minmax(68px,1fr))}.window-tabs{grid-template-columns:repeat(4,minmax(64px,1fr))}.tab,.window-tab{color:#4b5563;white-space:nowrap;background:0 0;padding:0 16px}.tab.active,.window-tab.active{color:#1f4e79;background:#fff;border-color:#1f4e79;font-weight:700}.window-tab{border:1px solid var(--line);border-radius:8px;justify-content:center;align-items:center;height:40px;display:inline-flex}.progress-group{justify-content:flex-end;gap:10px;min-width:300px}.status-pill{color:#1f4e79;white-space:nowrap;background:#e8f0f8;border-radius:999px;flex:none;padding:6px 10px;font-size:12px;font-weight:700}.progress-track{background:#d9e1ea;border-radius:999px;flex:120px;width:160px;height:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:#1f4e79;height:100%;transition:width .25s;display:block}.progress-text{min-width:132px;color:var(--muted);text-align:right;flex:none;font-size:13px}.notice{color:#245f9d;background:#f1f7ff;border:1px solid #c9d8ea;border-radius:8px;margin-top:14px;padding:12px 14px}.notice.error{color:#a72b2b;background:#fff4f4;border-color:#efc7c7}.metric-grid{grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-top:14px;display:grid}.metric{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:10px;min-height:76px;padding:14px}.metric-icon{color:#245f9d;background:#eef5fb;width:34px;height:34px}.metric span{color:var(--muted);font-size:12px;display:block}.metric strong{margin-top:3px;font-size:20px;line-height:1.1;display:block}.chart-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:12px;margin-top:14px;display:grid}.panel,.table-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px}.panel{padding:14px}.panel-title,.panel-title-row .panel-title{font-size:16px;font-weight:750}.chart{width:100%;min-height:340px}.heatmap-chart,.rank-chart{min-height:380px}.table-panel{margin-top:14px}.panel-title-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:14px 16px}.panel-title-row>span{color:var(--muted);white-space:nowrap;font-size:13px}.table-scroll,.detail-table-wrap{max-width:100%;overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:1280px}.data-table.compact{min-width:760px}.data-table th,.data-table td{text-align:right;white-space:nowrap;border-bottom:1px solid #eef1f5;height:46px;padding:0 12px;font-size:13px}.data-table th:first-child,.data-table td:first-child{z-index:1;text-align:left;background:#fff;min-width:150px;position:sticky;left:0}.data-table th{z-index:2;color:#596170;background:#f8fafc;font-weight:700;position:sticky;top:0}.data-table th:first-child{z-index:3;background:#f8fafc}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:#f8fafc}.board-link,.table-sort{color:inherit;background:0 0;border:0}.board-link{text-align:left;gap:2px;padding:0;display:grid}.board-link span{font-weight:700}.board-link small{color:var(--muted)}.table-sort{color:#596170;align-items:center;gap:4px;padding:0;font-weight:700;display:inline-flex}.table-sort.active{color:#1f4e79}.positive{color:var(--red)}.negative{color:var(--green)}.flat,.muted{color:var(--muted)}.money-cell-value,.cell-note{display:block}.cell-note{color:var(--muted);margin-top:2px;font-size:11px}.detail-panel{z-index:10;border-left:1px solid var(--line);background:#fff;width:min(880px,96vw);height:100vh;padding:18px;position:fixed;top:0;right:0;overflow:auto;box-shadow:-14px 0 40px #18202d29}.detail-header{justify-content:space-between;gap:14px}.detail-code{color:var(--muted);font-size:13px}.detail-header h2{margin-top:2px;font-size:24px}.icon-button{width:38px;padding:0}.detail-chart{min-height:360px;margin-top:16px}.fund-dashboard{gap:14px;display:grid}.fund-dashboard>*,.fund-layout>*,.fund-search-results,.fund-rank-panel,.fund-side-panel{min-width:0}.fund-header,.fund-controls,.fund-detail-title,.fund-result{align-items:center;display:flex}.fund-header{border:1px solid var(--line);background:var(--panel);border-radius:8px;justify-content:space-between;gap:16px;padding:16px 18px}.fund-header h1{font-size:22px}.fund-header p{color:var(--muted);margin-top:4px;font-size:13px}.fund-controls{border:1px solid var(--line);background:#f8fafc;border-radius:8px;justify-content:space-between;gap:12px;padding:10px}.fund-search-box{flex:1;max-width:440px}.fund-type-tabs{grid-template-columns:repeat(6,minmax(58px,1fr));gap:6px;display:grid}.fund-type-tab{border:1px solid var(--line);color:#4b5563;background:0 0;border-radius:8px;height:38px;padding:0 12px}.fund-type-tab.active{color:#1f4e79;background:#fff;border-color:#1f4e79;font-weight:700}.fund-search-results{padding:0}.panel-title-row.slim{padding:10px 12px}.fund-result-list{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:8px;padding:12px;display:grid}.fund-result{border:1px solid var(--line);min-height:52px;color:var(--ink);text-align:left;background:#fff;border-radius:8px;justify-content:space-between;gap:10px;min-width:0;padding:10px 12px}.fund-result strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fund-result span,.fund-result small{color:var(--muted);white-space:nowrap}.fund-layout{grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr);gap:12px;display:grid}.fund-rank-panel{margin-top:0}.fund-table{min-width:1040px}.fund-flow-table{min-width:1060px}.fund-flow-summary{background:#fbfcfe;border-bottom:1px solid #eef1f5;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px;padding:12px;display:grid}.flow-summary-item{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;min-height:72px;padding:10px 12px}.flow-summary-item span,.flow-summary-item small{color:var(--muted);font-size:12px;display:block}.flow-summary-item strong{text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:18px;display:block;overflow:hidden}.flow-summary-item small{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;overflow:hidden}.load-more-row{border-top:1px solid #eef1f5;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px;display:flex}.load-more-button{border:1px solid var(--line);color:#1f4e79;background:#fff;border-radius:8px;min-width:160px;height:38px;padding:0 18px;font-weight:700}.load-more-button:disabled{color:var(--muted);cursor:not-allowed}.fund-side-panel{align-self:start;padding:14px;position:sticky;top:14px}.selected-flow-card{background:#f7fbff;border:1px solid #c9d8ea;border-radius:8px;margin-top:12px;padding:12px}.inline-flow-card{background:#fff;margin:0 12px 12px}.selected-flow-title{border-bottom:1px solid #dce8f5;justify-content:space-between;gap:10px;padding-bottom:10px;display:flex}.selected-flow-title span{color:var(--muted)}.selected-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.inline-flow-card .selected-flow-grid{grid-template-columns:repeat(6,minmax(108px,1fr))}.empty-state{min-height:180px;color:var(--muted);place-items:center;display:grid}.fund-detail-title{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;margin-top:14px;padding-bottom:12px}.fund-detail-title h2{font-size:20px}.fund-detail-title span,.fund-detail-title small{color:var(--muted)}.fund-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.fund-metric{border:1px solid var(--line);background:#f8fafc;border-radius:8px;min-height:66px;padding:10px 12px}.fund-metric span{color:var(--muted);font-size:12px;display:block}.fund-metric strong{margin-top:4px;font-size:18px;display:block}.fund-chart{min-height:260px;margin-top:12px}.fund-history-table{min-width:680px}.spinning{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.metric-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.chart-grid{grid-template-columns:1fr}}@media (width<=760px){.app-shell{padding:12px}.topbar,.toolbar-band,.fund-header,.fund-controls{flex-direction:column;align-items:stretch}.tabs,.window-tabs{width:100%}.topbar-actions,.progress-group{justify-content:stretch}.search-box,.progress-group,.primary-button,.fund-search-box{width:100%;min-width:0;max-width:none}.fund-type-tabs{grid-template-columns:repeat(3,minmax(58px,1fr))}.fund-flow-summary{grid-template-columns:1fr}.inline-flow-card .selected-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fund-layout{grid-template-columns:1fr}.fund-side-panel{position:static}.fund-side-panel.has-selection{order:-1}.progress-track{flex:1;width:auto}.metric-grid{grid-template-columns:1fr}.chart,.heatmap-chart,.rank-chart{min-height:320px}}
