:root{--bg: #0a0a0b;--bg-1: #101012;--bg-2: #15151a;--bg-3: #1d1d23;--line: rgba(201, 169, 106, .16);--line-soft: rgba(231, 227, 214, .08);--line-strong: rgba(201, 169, 106, .4);--gold: #c9a96a;--gold-bright: #e3cb8e;--gold-dim: #8c7440;--cream: #e9e5d8;--text: #e7e3d6;--text-dim: #a59f90;--muted: #726c5f;--pos: #86c79a;--neg: #db8c74;--amber: #d9b25b;--shadow: 0 18px 50px rgba(0, 0, 0, .55);--radius: 12px}#root{min-height:100vh}.dashboard{width:min(1520px,100%);margin:0 auto;padding:28px}.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-bottom:18px;padding:30px 32px;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(700px 300px at 88% 0%,rgba(201,169,106,.16),transparent 60%),linear-gradient(135deg,#121113,#0c0c0d 60%);box-shadow:var(--shadow)}.hero-brand{display:flex;align-items:center;gap:18px;min-width:0}.hero-logo{height:60px;width:auto;flex:none;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}.hero-titles{min-width:0}.brand-name{margin:0;font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:700;letter-spacing:.01em;line-height:1.05;background:linear-gradient(100deg,#e7c48a,#c9a96a 45%,#9c7c44);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold)}.hero h1{margin:5px 0 0;max-width:760px;font-size:clamp(.95rem,1.5vw,1.2rem);line-height:1.15;letter-spacing:.16em;text-transform:none;color:var(--gold);opacity:.62;font-weight:500}.hero p:not(.eyebrow){max-width:780px;margin-top:12px;color:var(--text-dim)}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:600;color:var(--gold)}.hero-controls{display:grid;gap:10px;justify-items:end;align-content:center}.user-chip{display:inline-flex;align-items:center;gap:8px;color:var(--text-dim);font-size:.82rem}.primary-btn{padding:9px 16px;border-radius:8px;background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#1a1407;font-weight:700;letter-spacing:.01em;transition:filter .15s ease,transform .05s ease}.primary-btn:hover{filter:brightness(1.08)}.primary-btn:active{transform:translateY(1px)}.link-btn{border:none;background:none;color:var(--gold);cursor:pointer;font-size:.82rem;padding:0 2px}.link-btn:hover{color:var(--gold-bright)}.segmented{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--bg-1)}.segmented button{padding:8px 16px;border-radius:7px;background:transparent;color:var(--text-dim);font-weight:500;white-space:nowrap;transition:background .15s ease,color .15s ease}.segmented button:hover{color:var(--cream)}.segmented button.active{background:linear-gradient(135deg,#c9a96a38,#c9a96a1a);color:var(--gold-bright);box-shadow:inset 0 0 0 1px var(--line-strong)}.segmented.compact button{padding:6px 12px;font-size:.85rem}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:18px}.product-card{display:grid;gap:4px;padding:18px;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg,var(--bg-2),var(--bg-1));color:var(--text);transition:border-color .18s ease,transform .08s ease,box-shadow .18s ease}.product-card:hover{transform:translateY(-2px);border-color:var(--line-strong)}.product-card span{color:var(--text-dim);font-size:.82rem}.product-card strong{font-size:1.5rem;color:var(--cream);letter-spacing:-.01em}.product-card small{color:var(--muted);font-size:.76rem}.product-card.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 14px 36px #c9a96a1f}.product-card.selected strong{color:var(--gold-bright)}.delay-banner{margin-bottom:16px;padding:10px 14px;border-radius:10px;font-size:.84rem;border:1px solid rgba(217,178,91,.28);background:#d9b25b14;color:#e0c98a}.workspace-toolbar{display:flex;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}.workspace-toolbar>.segmented{flex-wrap:wrap}.panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--bg-2),var(--bg-1));box-shadow:var(--shadow)}.panel-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}.panel h2{margin:4px 0 0;font-size:1.15rem;color:var(--cream);font-weight:600}.field-inline{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-dim)}input,select,textarea{box-sizing:border-box;background:var(--bg-1);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:8px 11px;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px #c9a96a2e}select option{background:#141318;color:var(--text)}.panel-toolbar input{min-width:240px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}thead th{position:sticky;top:0;text-align:left;padding:12px 14px;font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);background:#121116;border-bottom:1px solid var(--line);white-space:nowrap}tbody td{padding:12px 14px;border-bottom:1px solid var(--line-soft);color:var(--text);vertical-align:middle}tbody tr:hover td{background:#c9a96a0d}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td strong{color:var(--cream)}td small{display:block;color:var(--muted);font-size:.74rem}.expandable-row{cursor:pointer}.expandable-row.expanded td{background:#c9a96a14}.expandable-row.expanded td:first-child{box-shadow:inset 3px 0 0 var(--gold)}.toggle-cell{color:var(--gold);width:28px;text-align:center}.drilldown-row td{background:var(--bg);padding:0}.drilldown{padding:16px 18px}.drilldown-table{margin-top:4px;background:var(--bg-1);border:1px solid var(--line-soft);border-radius:8px;overflow:hidden}.drilldown-table thead th{background:#100f14;font-size:.68rem}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover,th.sorted{color:var(--gold-bright)}.sort-ind{margin-left:5px;font-size:.68rem;opacity:.4}th.sorted .sort-ind{opacity:1}.fund-pill{display:inline-block;padding:3px 10px;border-radius:999px;border:1px solid var(--line-strong);background:#c9a96a14;color:var(--gold-bright);font-size:.76rem;font-weight:600;white-space:nowrap}.direction{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.76rem;font-weight:600}.direction.subscription{background:#86c79a24;color:var(--pos)}.direction.redemption{background:#db8c7424;color:var(--neg)}.direction.transfer_in,.direction.transfer_out{background:#6ea8d824;color:#6ea8d8}.direction.reinvest{background:#c9a96a29;color:var(--gold)}.direction.cash_dividend{background:#b48cd029;color:#b48cd0}.positive{color:var(--pos)}.negative{color:var(--neg)}.pending-row td{background:#d9b25b0f}.pending-tag{padding:2px 8px;border-radius:999px;background:#d9b25b29;color:var(--amber);font-size:.72rem}.empty{color:var(--muted);padding:22px;text-align:center}.flow-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;padding:18px 20px}.metric-card{display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(160deg,var(--bg-3),var(--bg-1))}.metric-card span{color:var(--gold);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.metric-card strong{font-size:1.5rem;color:var(--cream)}.metric-card small{color:var(--muted);font-size:.76rem}.rank{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--bg-3);color:var(--text-dim);font-weight:700;font-size:.8rem}.rank-1{background:linear-gradient(135deg,#e3cb8e,#b9923f);color:#1a1407}.rank-2{background:linear-gradient(135deg,#d6d6d6,#9a9a9a);color:#1a1a1a}.rank-3{background:linear-gradient(135deg,#d6a373,#a06a3c);color:#1a1407}.bar-cell{width:180px}.bar{display:block;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--gold-dim),var(--gold-bright))}.toolbar-actions{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap}.combo-label{color:var(--text-dim);font-size:.78rem;letter-spacing:.04em}.admin-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start}.admin-msg{grid-column:1 / -1}.entry-form{display:grid;gap:14px}.entry-form.panel{padding:20px}.entry-form h2{margin:0;color:var(--cream)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 14px;align-items:end}.form-grid label{display:grid;gap:6px;font-size:.8rem;color:var(--text-dim)}.entry-form input,.entry-form select{width:100%}.entry-form .primary-btn{justify-self:start}.export-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}.export-controls .ex-field{display:grid;gap:6px;font-size:.78rem;color:var(--text-dim)}.entry-form .export-controls select{width:auto;min-width:150px;max-width:240px}.export-controls .toggle-btn{align-self:flex-end}.toggle-btn{padding:9px 14px;border-radius:8px;border:1px solid var(--line);background:var(--bg-1);color:var(--text-dim);font-size:.82rem;font-weight:500;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease}.toggle-btn:hover{color:var(--cream);border-color:var(--line-strong)}.toggle-btn.on{background:linear-gradient(135deg,#c9a96a38,#c9a96a1a);color:var(--gold-bright);border-color:var(--gold)}.export-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.inline-form{margin:0 20px 16px;padding:16px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--bg-1)}.state-screen{display:grid;place-items:center;min-height:100vh}.login-card{display:grid;gap:12px;width:min(380px,92vw);padding:30px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(170deg,var(--bg-2),var(--bg-1));box-shadow:var(--shadow)}.login-card h1{margin:0;font-size:1.5rem;color:var(--cream)}.login-card label{display:grid;gap:6px;font-size:.84rem;color:var(--text-dim)}.login-card input{width:100%}.login-card .primary-btn{margin-top:4px}.login-card button:disabled{opacity:.45;cursor:not-allowed}.login-brand{display:flex;align-items:center;gap:14px}.login-logo{height:52px;width:auto;flex:none;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}.login-hint{color:var(--muted);font-size:.82rem;margin:0}.login-error{color:var(--neg);font-size:.84rem;margin:0}.type-pill{padding:2px 9px;border-radius:999px;font-size:.74rem;font-weight:600;border:1px solid var(--line)}.type-pill.inst{background:#6ea8d824;color:#8fc0e8}.type-pill.indiv{background:#86c79a1f;color:var(--pos)}.pill-row{display:flex;flex-wrap:wrap;gap:4px}.fund-pill.ghost{opacity:.5;border-style:dashed;background:transparent}.intro-cell{display:grid;gap:3px;font-size:.84rem}.intro-cell span{display:inline-flex;align-items:center;gap:6px}.lvl{font-size:.66rem;font-weight:700;padding:1px 6px;border-radius:4px;font-style:normal}.lvl1{background:#c9a96a2e;color:var(--gold-bright)}.lvl2{background:#6ea8d82e;color:#8fc0e8}.merged-to{display:block;color:var(--gold);font-size:.72rem}.charts-grid{display:grid;gap:18px}.chart-panel{padding-bottom:6px}.chart-body{padding:16px 20px 20px;display:grid;gap:14px}.chart-subtitle{margin:4px 0 0;color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.type-pill,.lvl,.merged-to{white-space:nowrap}.intro-cell{gap:4px}.intro-cell span{white-space:nowrap}.intro-cell .lvl{flex:0 0 auto}.drilldown{padding:18px;display:grid;gap:18px;background:linear-gradient(180deg,rgba(201,169,106,.04),var(--bg));border-top:1px solid var(--line)}.drilldown-tabs{justify-self:start}.drilldown-section{display:grid;gap:8px}.drilldown-title{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold)}.drilldown-note{margin:0 0 10px;font-size:.78rem;color:var(--muted);padding:6px 10px;background:#b48cd01a;border-radius:8px}.drilldown-table{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg-1)}.drilldown-table thead th{background:#16141b;color:var(--gold-dim);font-size:.68rem}.drilldown-table td,.drilldown-table th{padding:9px 12px}.drilldown-table tbody tr:hover td{background:#c9a96a0f}.drilldown-table tbody tr:last-child td{border-bottom:none}.drilldown-table tfoot td{background:#16141b;border-bottom:none}.drilldown-table tfoot .txn-class-row td{border-top:1px solid var(--line-soft);color:var(--gold-dim);font-weight:500;font-size:.82rem}.drilldown-table tfoot .txn-class-row~.txn-class-row td{border-top:none}.drilldown-table tfoot .txn-total-row td{border-top:1px solid var(--line);color:var(--gold);font-weight:700;font-size:.92rem}.chart-body{gap:10px}.class-chip{display:inline-block;padding:2px 9px;border-radius:6px;font-size:.74rem;font-weight:600;border:1px solid rgba(180,140,208,.35);background:#b48cd01f;color:#c8a6e0;white-space:nowrap}.overview{display:grid;gap:18px}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px}.overview-card{border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(600px 200px at 90% 0%,rgba(201,169,106,.1),transparent 60%),linear-gradient(135deg,#151417,#0d0d0e 62%);box-shadow:var(--shadow);padding:20px 22px;display:flex;flex-direction:column;gap:14px}.ov-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ov-head h3{margin:3px 0 0;font-size:1.18rem;color:var(--cream);font-weight:600}.ov-change{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.ov-change strong{font-size:2rem;line-height:1;font-weight:700;letter-spacing:-.01em}.ov-change small{color:var(--text-dim);font-size:.68rem;margin-top:5px}.ov-change.positive strong{color:#86c79a}.ov-change.negative strong{color:#db8c74}.ov-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ov-metric{background:#c9a96a0d;border:1px solid var(--line);border-radius:12px;padding:11px 13px;display:flex;flex-direction:column;gap:3px}.ov-metric>span{color:var(--text-dim);font-size:.72rem}.ov-metric>strong{font-size:1.15rem;color:var(--cream);font-weight:600}.ov-metric>strong.positive{color:#86c79a}.ov-metric>strong.negative{color:#db8c74}.ov-metric>small{font-size:.68rem;color:var(--text-dim)}.ov-class-table{width:100%;border-collapse:collapse;font-size:.84rem}.ov-class-table th{text-align:left;color:var(--text-dim);font-weight:500;padding:4px 6px;border-bottom:1px solid var(--line);font-size:.72rem}.ov-class-table td{padding:6px;border-bottom:1px solid rgba(231,227,214,.04);color:var(--cream)}.ov-class-table .num{text-align:right}.ov-asof{color:var(--text-dim);font-size:.68rem;margin:0}.company-switch button.active{color:var(--gold-bright)}.hemei-app{display:grid;gap:18px}.hemei-overview{display:grid;gap:18px;padding:20px}.hm-asof{text-align:right;font-size:.78rem;color:var(--muted);letter-spacing:.04em;margin-bottom:-10px}.hm-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hm-kpis .metric-value{font-size:1.5rem;color:var(--cream);display:block}.hm-kpis .metric-value.positive{color:var(--green, #86c79a)}.hm-kpis .metric-value.negative{color:var(--red, #db8c74)}.hm-kpis .metric-label{color:var(--gold);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.hm-kpis .metric-value small{color:var(--muted);font-size:.8rem}.hm-kpis-scale{grid-template-columns:repeat(4,1fr);margin-bottom:12px}.hm-kpi-primary .metric-value{font-size:1.85rem}.hm-kpi-card{text-align:left;font:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}.hm-kpi-card:hover:not(:disabled){border-color:var(--line-strong)}.hm-kpi-card:disabled{opacity:.45;cursor:default}.hm-kpi-card.active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.hm-kpi-card.active .metric-label{color:var(--gold-bright)}@media (max-width: 720px){.hm-kpis-scale{grid-template-columns:repeat(2,1fr)}}.hm-kpis-fees{grid-template-columns:repeat(2,1fr);margin-bottom:12px}.hm-toolbar{display:flex;justify-content:flex-end}.hm-line{display:grid;gap:10px}.hm-line-head{display:flex;align-items:baseline;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.hm-line-name{font-size:1.35rem;color:var(--cream);font-weight:700;letter-spacing:.5px}.hm-line-meta{font-size:.85rem;color:var(--muted)}.hm-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px}.hm-card{text-align:left;display:grid;gap:6px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(160deg,var(--bg-3),var(--bg-1));cursor:pointer;transition:border-color .15s}.hm-card:hover{border-color:var(--line-strong)}.hm-card-name{font-size:.9rem;color:var(--cream);font-weight:600}.hm-card-nav{font-size:1.7rem;color:var(--cream);line-height:1.1}.hm-card-chg{font-size:.9rem}.hm-pill{font-size:.68rem;padding:1px 7px;border-radius:6px;background:var(--bg-1);border:1px solid var(--line);color:var(--cream)}.hm-pill.ghost{color:var(--muted)}.hm-card-foot{display:flex;flex-direction:column;gap:3px;font-size:.92rem;margin-top:4px}.hm-foot-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.hm-foot-k{color:var(--muted);font-size:.8rem}.hm-foot-v{color:var(--text);font-weight:600;white-space:nowrap}.hm-foot-v.positive{color:var(--green, #86c79a)}.hm-foot-v.negative{color:var(--red, #db8c74)}.hm-card-perf{display:flex;flex-direction:column;gap:1px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.hm-perf-amt{font-size:.9rem;color:var(--gold);font-weight:600}.hm-perf-dist{font-size:.68rem;color:var(--muted)}.hm-table{width:100%}.hm-table .hm-group-row td{padding:10px 6px 4px;font-size:.76rem;color:var(--gold);font-weight:600}.hm-table .hm-row{cursor:pointer}.hm-table .hm-row:hover{background:#c9a96a0d}.hm-table .muted{color:var(--muted)}.hm-picker{display:grid;gap:10px;margin-bottom:18px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(160deg,var(--bg-3),var(--bg-1))}.hm-picker-row{display:grid;grid-template-columns:88px 1fr;align-items:start;gap:14px}.hm-picker-row+.hm-picker-row{padding-top:10px;border-top:1px solid var(--line-soft)}.hm-picker-label{font-size:.74rem;color:var(--gold);letter-spacing:.04em;padding-top:6px}.hm-picker-btns{display:flex;flex-wrap:wrap;gap:7px}.hm-pick{padding:6px 14px;border-radius:9px;border:1px solid var(--line);background:var(--bg-1);color:var(--muted);font-size:.82rem;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.hm-pick:hover{color:var(--cream);border-color:var(--line-strong)}.hm-pick.active{background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#1a1408;border-color:transparent;font-weight:600}.hemei-product{padding:20px}.hemei-product .chart-block{margin-top:18px}.hemei-product .chart-block h3{color:var(--cream);font-size:1.15rem;font-weight:600;margin:0 0 4px}.hm-note{font-size:.8rem;color:var(--muted);margin:0 0 8px}.chart-block{display:block}.data-table{border-collapse:collapse}.data-table th,.data-table td{padding:7px 8px;border-bottom:1px solid var(--line-soft);color:var(--cream);font-size:.84rem}.data-table th{color:var(--muted);font-weight:500;text-align:left}.data-table .num{text-align:right}.hm-select{background:var(--bg-1);border:1px solid var(--line);color:var(--cream);border-radius:8px;padding:6px 10px;font-size:.85rem}:root{color:#e7e3d6;background:#0a0a0b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(1200px 600px at 80% -10%,rgba(201,169,106,.08),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(201,169,106,.05),transparent 55%),#0a0a0b}button,input,select{font:inherit}button{border:0;cursor:pointer}
