:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#eef2f7}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}#root{min-height:100vh}.app-shell{color:#0f172a;background:#eef2f7;grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#cbd5e1;box-sizing:border-box;z-index:20;background:#0f172a;flex-direction:column;gap:28px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;min-height:48px;display:flex}.brand-mark,.metric-icon,.row-icon,.data-icon{flex:none;place-items:center;display:grid}.brand-mark{color:#fff;background:#2563eb;border-radius:8px;width:44px;height:44px}.brand-name{color:#fff;font-size:18px;font-weight:760;line-height:1.2}.brand-subtitle{color:#94a3b8;margin-top:2px;font-size:12px}.nav-list{gap:6px;display:grid}.nav-button,.ghost-button,.primary-button,.icon-button,.action-list button,.clickable-card{font:inherit;cursor:pointer;border:0}.nav-button{color:#cbd5e1;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;display:flex}.nav-button:hover,.nav-button.active{color:#fff;background:#1e293b}.nav-button.active{box-shadow:inset 3px 0 #38bdf8}.sidebar-footer{background:#0f172ab8;border:1px solid #94a3b833;border-radius:8px;margin-top:auto;padding:14px}.health-badge{color:#bbf7d0;background:#16a34a29;border-radius:6px;align-items:center;gap:8px;min-height:30px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.sidebar-footer p{color:#94a3b8;margin-top:12px;font-size:12px;line-height:1.55}.main-panel{min-width:0;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.page-heading{min-width:0}.eyebrow{color:#0369a1;background:#e0f2fe;border-radius:6px;align-items:center;gap:8px;min-height:28px;padding:0 10px;font-size:13px;font-weight:720;display:inline-flex}.topbar h1{letter-spacing:0;margin:8px 0 0;font-size:30px;font-weight:780;line-height:1.18}.topbar-actions{align-items:center;gap:10px;display:flex}.ghost-button,.primary-button,.icon-button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;display:inline-flex}.ghost-button{color:#334155;background:#fff;border:1px solid #dbe3ef;padding:0 14px}.primary-button{color:#fff;background:#2563eb;padding:0 16px}.primary-button:disabled{cursor:not-allowed;color:#94a3b8;background:#e2e8f0}.icon-button{color:#0f172a;background:#fff;border:1px solid #dbe3ef;width:40px}.icon-button.small{border-radius:7px;width:32px;min-height:32px}.icon-button.danger{color:#b91c1c;background:#fff1f2;border-color:#fecdd3}.menu-button{display:none}.view-stack{gap:18px;display:grid}.toolbar-panel{background:#fff;border:1px solid #dbe3ef;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:16px 18px;display:flex;box-shadow:0 12px 36px #0f172a0f}.toolbar-panel h2{color:#0f172a;letter-spacing:0;margin:0;font-size:18px;font-weight:760;line-height:1.25}.toolbar-panel p{color:#64748b;margin:5px 0 0;font-size:13px;line-height:1.5}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metrics-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card,.panel{background:#fff;border:1px solid #dbe3ef;border-radius:8px;box-shadow:0 12px 36px #0f172a0f}.metric-card{box-sizing:border-box;align-items:flex-start;gap:14px;min-height:134px;padding:18px;display:flex}.metric-icon{color:#334155;background:#e2e8f0;border-radius:8px;width:40px;height:40px}.metric-card.positive .metric-icon{color:#15803d;background:#dcfce7}.metric-card.warning .metric-icon{color:#c2410c;background:#ffedd5}.metric-card span{color:#64748b;font-size:13px;font-weight:720;display:block}.metric-card strong{color:#0f172a;margin-top:8px;font-size:27px;line-height:1.05;display:block}.metric-card p{color:#475569;margin-top:9px;font-size:13px}.content-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;display:grid}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.panel{box-sizing:border-box;min-width:0;padding:18px}.chart-panel{min-height:392px}.panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.panel-header h2,.goal-title h2,.data-card h2{color:#0f172a;letter-spacing:0;margin:0;font-size:18px;font-weight:760;line-height:1.25}.panel-header p,.goal-title p,.data-card p{color:#64748b;margin:5px 0 0;font-size:13px;line-height:1.5}.donut-layout{gap:8px;display:grid}.legend-list{gap:9px;display:grid}.legend-item{color:#475569;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:26px;font-size:13px;display:grid}.legend-dot{border-radius:999px;width:9px;height:9px}.legend-item strong{color:#0f172a}.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.insight-item{background:#f8fafc;border-radius:8px;align-content:center;gap:7px;min-height:82px;padding:14px;display:grid}.insight-item span{color:#64748b;font-size:13px;font-weight:700}.insight-item strong{color:#0f172a;font-size:24px}.insight-item p{color:#64748b;margin:0;font-size:12px;line-height:1.35}.insight-item.positive strong{color:#15803d}.action-list{gap:10px;margin-top:16px;display:grid}.action-list button{color:#0f172a;text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;min-height:44px;padding:0 14px;display:flex}.account-list,.debt-list,.holding-table,.cashflow-list{gap:10px;display:grid}.account-row,.debt-item,.table-row,.cashflow-row,.boundary-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.account-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;min-height:70px;padding:12px;display:grid}.row-main,.debt-heading,.goal-title{align-items:center;gap:12px;display:flex}.row-icon{color:#2563eb;background:#dbeafe;border-radius:8px;width:38px;height:38px}.row-main strong,.row-values strong,.debt-heading strong,.table-row strong,.boundary-grid strong{color:#0f172a;font-size:14px;display:block}.row-main span,.row-values span,.debt-heading span,.table-row span,.goal-meta,.goal-footer span,.boundary-grid span{color:#64748b;font-size:13px;display:block}.row-values{text-align:right}.row-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.debt-item{padding:14px}.debt-heading{grid-template-columns:minmax(0,1fr) auto auto;justify-content:space-between;margin-bottom:12px;display:grid}.debt-heading>div:last-child{text-align:right}.progress-track{background:#e2e8f0;border-radius:999px;height:9px;overflow:hidden}.progress-value{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#16a34a);height:100%}.holding-table{overflow-x:auto}.table-row{grid-template-columns:2fr 1fr 1fr 1fr .8fr;align-items:center;gap:14px;min-width:760px;min-height:48px;padding:0 12px;display:grid}.table-row.investment-row{grid-template-columns:2fr 1fr 1fr 1fr .8fr 222px}.table-head{background:#e2e8f0;min-height:36px;font-size:12px;font-weight:760}.positive-text{font-weight:760;color:#15803d!important}.negative-text{font-weight:760;color:#b91c1c!important}.cashflow-row{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:14px;min-height:58px;padding:10px 12px;display:grid}.cashflow-row strong{color:#0f172a;font-size:14px}.cashflow-row span{color:#64748b;font-size:13px;display:block}.cashflow-pill{border-radius:6px;justify-content:center;align-items:center;min-width:44px;min-height:26px;font-weight:760;font-size:12px!important;display:inline-flex!important}.cashflow-pill.income{color:#15803d;background:#dcfce7}.cashflow-pill.expense{color:#c2410c;background:#ffedd5}.goal-grid,.data-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.goal-card{gap:16px;display:grid}.goal-title{grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;display:grid}.goal-title>svg{color:#2563eb;margin-top:2px}.goal-meta,.goal-footer{justify-content:space-between;gap:12px;display:flex}.goal-footer strong{color:#15803d;font-size:24px}.data-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.data-card{text-align:left;min-height:178px}.clickable-card{width:100%;color:inherit;transition:transform .16s,border-color .16s,box-shadow .16s}.clickable-card:hover{border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 16px 42px #0f172a1a}.data-icon{color:#2563eb;background:#dbeafe;border-radius:8px;width:44px;height:44px;margin-bottom:16px}.boundary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.boundary-grid>div{padding:16px}.boundary-grid span{margin-top:8px;line-height:1.55}.fund-app-header,.fund-page-header{background:linear-gradient(90deg,#eefaff,#fff);align-items:center;min-height:76px;padding:0 20px;display:grid}.fund-app-header{grid-template-columns:48px minmax(0,1fr) auto}.fund-page-header{background:#fff;border-bottom:1px solid #eef1f6;grid-template-columns:48px minmax(0,1fr) 48px}.fund-app-header strong,.fund-page-header strong{color:#111827;text-align:center;font-size:22px;font-weight:780}.avatar-mark{background:radial-gradient(circle at 32% 26%,#fff 0 14%,#0000 15%),radial-gradient(circle at 66% 62%,#fff 0 10%,#0000 11%),linear-gradient(135deg,#7dd3fc,#93c5fd);border-radius:999px;width:42px;height:42px}.fund-header-actions button,.plain-icon-button{color:#11183b;cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.plain-icon-button{min-width:40px;min-height:40px;font-size:36px;line-height:1}.plain-icon-button.small{min-width:32px;min-height:32px;font-size:18px}.fund-account-tabs{scrollbar-width:none;background:linear-gradient(90deg,#eefaff,#fff);align-items:center;gap:22px;min-height:58px;padding:0 20px;display:flex;overflow-x:auto}.fund-account-tabs button{color:#7c8496;cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:none;min-height:48px;font-size:18px;position:relative}.fund-account-tabs button.active{color:#11183b;font-weight:780}.fund-account-tabs button.active:after{content:"";background:#3f6df6;border-radius:999px;height:3px;position:absolute;bottom:3px;left:18%;right:18%}.fund-summary-strip{text-align:left;cursor:pointer;background:#fff;border:1px solid #eef1f6;border-left:0;border-right:0;grid-template-columns:minmax(0,1fr) minmax(130px,auto) 24px;align-items:center;gap:12px;width:100%;min-height:110px;padding:18px 20px;display:grid}.fund-summary-strip span,.account-summary-values span,.fund-holding-row span,.analysis-section span,.investment-stat-grid span{color:#8b90a0}.account-summary-list{background:#f2f3f7;display:grid}.account-summary-card{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e5e7eb;gap:18px;width:100%;padding:20px;display:grid}.account-title-row small{color:#5065a8;border:1px solid #bfd0ff;border-radius:4px;padding:2px 6px;font-size:12px}.account-blue-icon{background:#3f6df6;border-radius:6px;width:28px;height:28px}.rise-fall{gap:10px;display:inline-flex}.account-summary-values small{border-radius:6px;margin-top:8px;padding:4px 8px;font-weight:760;display:inline-block}.fund-holding-list{background:#f3f4f8}.holding-list-head{background:#fff;border-bottom:1px solid #e9edf5;grid-template-columns:42px 42px repeat(3,minmax(0,1fr));align-items:center;gap:4px;min-height:56px;padding:0 12px;display:grid}.holding-list-head button{color:#8b90a0;cursor:pointer;background:0 0;border:0;min-height:38px;font-size:13px}.fund-holding-row{background:#fff;border-bottom:1px solid #eef1f6;position:relative}.holding-list-actions button{color:#8b90a0;cursor:pointer;background:0 0;border:0;font-size:17px}.market-ticker{background:#fffffff5;border-radius:18px 18px 0 0;grid-template-columns:minmax(0,1fr) repeat(3,auto);align-items:center;gap:18px;min-height:58px;padding:0 20px;display:grid;position:absolute;bottom:72px;left:0;right:0;box-shadow:0 -10px 28px #0f172a14}.fund-bottom-nav{background:#fff;border-top:1px solid #eef1f6;grid-template-columns:repeat(6,minmax(0,1fr));min-height:72px;display:grid;position:absolute;bottom:0;left:0;right:0}.fund-bottom-nav button{color:#7f8794;cursor:pointer;background:0 0;border:0;place-items:center;gap:4px;font-size:13px;display:grid}.fund-bottom-nav button span{border:2px solid;border-radius:6px;width:24px;height:24px}.fund-bottom-nav button.active{color:#3f6df6}.investment-stat-grid div{background:#f8fafc;border-radius:8px;min-height:88px;padding:14px}.account-manager{background:#fff;min-height:704px;padding:24px 18px 108px}.account-manager-head{color:#656b82;min-height:42px}.account-manager-row{color:#11183b;border-bottom:1px solid #eef1f6;min-height:72px;position:relative}.account-manager-row input{border:0;border-bottom:1px solid #94a3b8;outline:0;width:100%;min-height:38px}.switch-control{justify-self:center;width:48px;height:28px;display:inline-block;position:relative}.switch-control input{opacity:0;position:absolute}.switch-control span{background:#e5e7eb;border-radius:999px;transition:background .16s;position:absolute;inset:0}.switch-control span:after{content:"";background:#fff;border-radius:999px;width:22px;height:22px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0f172a33}.switch-control input:checked+span:after{transform:translate(20px)}.account-sort-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.account-sort-actions button:disabled{opacity:.32;cursor:not-allowed}.fund-bottom-cta{color:#fff;cursor:pointer;background:#4268f5;border:0;border-radius:8px;min-height:58px;font-size:21px;font-weight:760;position:absolute;bottom:20px;left:20px;right:20px}.create-account-form,.holding-entry-form,.sync-trade-form,.auto-invest-setup{background:#fff;min-height:704px;padding:26px 20px 112px;position:relative}.fund-large-field input,.holding-entry-card input,.holding-entry-card select,.fee-rate-row input,.trade-date-row input,.trade-date-row select{color:#11183b;background:0 0;border:0;border-bottom:1px solid #d1d5db;outline:0;width:100%;min-height:48px;font-size:20px}.holding-entry-card{background:#fff;border-radius:8px;gap:14px;padding:18px;display:grid;box-shadow:0 10px 34px #0f172a14}.edit-holding-screen{background:#fff;min-height:704px;padding-bottom:22px;position:relative}.edit-holding-screen .holding-entry-form{min-height:auto;padding-bottom:22px}.edit-holding-screen .fund-bottom-cta{width:calc(100% - 40px);margin:24px 20px 0;position:static}.fund-notice{color:#d7791e;white-space:nowrap;background:#fff9df;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:0 18px;font-size:16px;display:flex;overflow:hidden}.fund-identity{background:#fff;border-bottom:6px solid #f4f6fb;gap:8px;padding:22px 20px;display:grid}.fund-identity strong span{margin-left:8px;font-size:16px}.edit-holding-actions button{color:#4268f5;cursor:pointer;background:#fff;border:1px solid #edf0f5;border-radius:8px;min-height:88px;font-size:20px;box-shadow:0 8px 22px #0f172a14}.edit-holding-actions .buy{color:#ef4e61}.edit-holding-actions .sell{color:#16b978}.holding-edit-summary{color:#7c8496;justify-content:space-between;gap:10px;padding:20px 26px 0;display:flex}.sync-amount-block{border-bottom:1px solid #eef1f6;gap:12px;padding:24px 0;display:grid}.sync-amount-block>span{color:#11183b;font-size:21px}.sync-amount-block input{color:#11183b;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:32px}.fee-rate-row,.trade-date-row{border-bottom:1px solid #eef1f6;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;min-height:68px}.auto-plan-screen{background:#f4f6fb;min-height:704px}.auto-plan-card{background:#fff;gap:14px;padding:22px;display:grid}.auto-plan-card>div:first-child span{color:#4268f5}.auto-plan-metrics span,.auto-plan-card small{color:#8b90a0}.empty-fund-state{color:#8b90a0;text-align:center;background:#fff;border-radius:8px;margin:26px;padding:24px}.add-plan-button{color:#8b90a0;text-align:left;cursor:pointer;background:#fff;border:0;width:100%;min-height:60px;padding:0 22px;font-size:20px}.analysis-screen{background:#f4f6fb;max-height:780px;overflow:auto}.analysis-hero{color:#fff;background:linear-gradient(135deg,#4778f7,#72a7ff);padding:18px 20px 0}.analysis-tabs button,.period-tabs button{color:#ffffffb8;cursor:pointer;white-space:nowrap;background:0 0;border:0;min-height:38px;font-size:17px;position:relative}.analysis-tabs button.active,.period-tabs button.active{color:#fff;font-weight:760}.analysis-tabs button.active:after,.period-tabs button.active:after{content:"";background:#fff;border-radius:999px;height:3px;position:absolute;bottom:0;left:16%;right:16%}.analysis-hero>strong{text-align:center;margin-top:8px;font-size:48px;line-height:1.1;display:block}.analysis-section{background:#fff;margin-top:8px;padding:20px}.analysis-legend{margin:22px 0 6px}.rank-labels{margin-top:16px}.calendar-title-row button{color:#4268f5;cursor:pointer;background:0 0;border:0;font-size:16px}.profit-calendar-grid>div{text-align:center;align-content:center;gap:3px;padding:7px 4px}.profit-calendar-grid strong{color:#0f172a;font-size:13px;line-height:1}.profit-calendar-grid small{white-space:nowrap;font-size:11px;line-height:1.15}.mobile-scrim{display:none}.dialog-backdrop{z-index:50;background:#0f172a7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog-panel{background:#fff;border-radius:8px;width:min(640px,100%);max-height:calc(100vh - 40px);position:relative;overflow:auto;box-shadow:0 24px 70px #0f172a47}.dialog-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex}.dialog-header h2{color:#0f172a;margin:0;font-size:20px;font-weight:780;line-height:1.25}.dialog-header p{color:#64748b;margin:6px 0 0;font-size:13px;line-height:1.5}.record-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;display:grid}.form-field{gap:7px;display:grid}.form-field span{color:#334155;font-size:13px;font-weight:720}.form-field input,.form-field select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:7px;outline:none;width:100%;min-height:40px;padding:0 11px}.form-field input:focus,.form-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.hover-select{position:relative}.hover-select-trigger{color:#0f172a;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;width:100%;min-height:40px;padding:0 34px 0 11px}.hover-select-trigger:after{content:"";border-bottom:1.5px solid #64748b;border-right:1.5px solid #64748b;width:7px;height:7px;position:absolute;top:17px;right:13px;transform:rotate(45deg)}.hover-select-menu{z-index:30;background:#fff;border:1px solid #dbe3ef;border-radius:8px;width:100%;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 40px #0f172a24}.hover-select-menu button{color:#0f172a;min-height:34px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 10px}.hover-select-menu button:hover,.hover-select-menu button.active{color:#1d4ed8;background:#eff6ff}.hover-select-menu button.disabled{color:#94a3b8;cursor:not-allowed}.hover-select-menu button.disabled:hover{color:#94a3b8;background:#f8fafc}.hover-select-tip{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:4px 0 6px;padding:8px 10px;font-size:12px;line-height:1.45}.dialog-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:6px;display:flex}@media (width<=1180px){.app-shell{grid-template-columns:244px minmax(0,1fr)}.metrics-grid,.metrics-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:span 12}.data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.app-shell{grid-template-columns:1fr}.sidebar{width:min(86vw,300px);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-104%)}.sidebar.is-open{transform:translate(0)}.mobile-scrim:not([hidden]){z-index:15;background:#0f172a6b;display:block;position:fixed;inset:0}.main-panel{padding:16px}.topbar{align-items:flex-start}.menu-button{display:inline-flex}.topbar-actions{display:none}.topbar h1{font-size:24px}.metrics-grid,.metrics-grid.compact,.goal-grid,.data-grid,.boundary-grid,.insight-grid{grid-template-columns:1fr}.content-grid{gap:14px}.metric-card{min-height:112px}.account-row,.debt-heading{align-items:flex-start}.toolbar-panel{flex-direction:column;align-items:flex-start}.toolbar-panel .primary-button{width:100%}.cashflow-row{grid-template-columns:minmax(0,1fr) auto}.cashflow-row>strong,.cashflow-row .row-actions{grid-column:1/-1}}@media (width<=520px){.main-panel{padding:12px}.topbar{gap:12px}.eyebrow{max-width:100%}.metric-card,.panel{padding:14px}.account-row{grid-template-columns:1fr;align-items:stretch}.row-values{text-align:left;padding-left:50px}.debt-heading{grid-template-columns:1fr}.debt-heading>div:last-child{text-align:left}.record-form{grid-template-columns:1fr;padding:16px}.dialog-header{padding:16px}}.investment-workspace{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.investment-workspace.single{grid-template-columns:minmax(0,920px)}.investment-phone{background:#fff;border:1px solid #dbe3ef;border-radius:8px;width:100%;min-height:0;position:relative;overflow:visible;box-shadow:0 12px 36px #0f172a0f}.investment-phone button,.investment-phone input,.investment-phone select{font:inherit}.fund-app-header,.fund-page-header{background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;min-height:72px;padding:16px 18px;display:grid}.fund-app-header{grid-template-columns:40px minmax(0,1fr) auto;gap:12px}.fund-page-header{grid-template-columns:42px minmax(0,1fr) 42px;gap:10px}.fund-app-header strong,.fund-page-header strong{color:#0f172a;text-align:left;font-size:18px;font-weight:760;line-height:1.25}.avatar-mark{background:#2563eb;border-radius:8px;width:40px;height:40px;position:relative}.avatar-mark:after{content:"";border:0 solid #fff;border-width:0 0 3px 3px;position:absolute;inset:11px 10px;transform:skew(-12deg)rotate(-38deg)}.fund-header-actions{align-items:center;gap:8px;display:flex}.fund-header-actions button,.plain-icon-button{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ef;border-radius:8px;place-items:center;min-width:38px;min-height:38px;display:inline-grid}.plain-icon-button{font-size:24px;line-height:1}.plain-icon-button.small{border-radius:7px;min-width:32px;min-height:32px;font-size:16px}.fund-account-tabs{scrollbar-width:none;background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;min-height:60px;padding:12px 18px;display:flex;overflow-x:auto}.fund-account-tabs button{color:#475569;cursor:pointer;white-space:nowrap;background:#f8fafc;border:1px solid #dbe3ef;border-radius:8px;flex:none;min-height:36px;padding:0 12px;font-size:14px;position:relative}.fund-account-tabs button.active{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd;font-weight:760}.fund-account-tabs button.active:after{display:none}.fund-summary-strip{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ef;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(160px,auto) 20px;align-items:center;gap:14px;width:auto;min-height:96px;margin:18px;padding:18px;display:grid}.fund-summary-strip span,.account-summary-values span,.fund-holding-row span,.analysis-section span,.investment-stat-grid span,.auto-plan-metrics span,.auto-plan-card small{color:#64748b}.fund-summary-strip strong{color:#0f172a;margin-top:8px;font-size:24px;font-weight:800;line-height:1.1;display:block}.fund-summary-strip .chevron{color:#94a3b8;font-size:28px;line-height:1}.account-summary-list{background:0 0;gap:12px;padding:0 18px 18px;display:grid}.account-summary-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:16px;width:100%;padding:16px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.account-summary-card:hover,.fund-holding-row:hover{border-color:#93c5fd;box-shadow:0 12px 28px #0f172a14}.account-summary-card:hover{transform:translateY(-1px)}.account-title-row{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.account-title-row strong{color:#0f172a;font-size:16px;font-weight:760}.account-title-row small{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:2px 6px;font-size:12px}.account-blue-icon{background:#dbeafe;border-radius:7px;width:28px;height:28px;box-shadow:inset 0 0 0 8px #2563eb}.rise-fall{gap:10px;font-size:13px;display:inline-flex}.rise-fall b:first-child,.fund-red{color:#15803d!important}.rise-fall b:last-child,.fund-green{color:#b91c1c!important}.fund-red-bg{background:#dcfce7;color:#15803d!important}.fund-green-bg{background:#fee2e2;color:#b91c1c!important}.account-summary-values{grid-template-columns:1.1fr 1fr 1fr;gap:14px;display:grid}.account-summary-values strong{color:#0f172a;margin-top:8px;font-size:19px;display:block}.account-summary-values small{border-radius:6px;margin-top:8px;padding:4px 8px;font-size:12px;font-weight:760;display:inline-block}.fund-holding-list{background:0 0;padding:0 18px 18px;display:grid}.holding-list-head{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px 8px 0 0;grid-template-columns:minmax(150px,1.55fr) .9fr .75fr 1fr;align-items:center;gap:10px;min-height:48px;padding:0 38px 0 14px;display:grid}.holding-list-head span,.holding-list-head button{color:#64748b;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:36px;font-size:12px}.holding-list-head span{cursor:default;align-items:center;display:inline-flex}.fund-holding-row{background:#fff;border:1px solid #e2e8f0;border-top:0;transition:border-color .16s,box-shadow .16s;position:relative}.fund-holding-row:last-of-type{border-radius:0 0 8px 8px}.holding-main-button{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(150px,1.55fr) .9fr .75fr 1fr;align-items:start;gap:10px;width:100%;min-height:84px;padding:14px 38px 14px 14px;display:grid}.holding-main-button h2{color:#0f172a;margin:0;font-size:15px;font-weight:760;line-height:1.35}.holding-main-button strong{font-size:16px;line-height:1.3;display:block}.holding-main-button span{margin-top:7px;font-size:12px;display:block}.mini-delete{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;width:28px;height:28px;position:absolute;top:10px;right:10px}.mini-delete:hover{color:#b91c1c;background:#fff1f2;border-color:#fecdd3}.holding-list-actions{justify-content:flex-end;gap:10px;padding:14px 0 0;display:flex}.holding-list-actions button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:8px;min-height:38px;padding:0 12px;font-size:14px}.holding-list-actions button:first-child{color:#fff;background:#2563eb;border-color:#2563eb}.market-ticker{min-height:46px;box-shadow:none;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(0,1fr) repeat(3,auto);align-items:center;gap:14px;margin:0 18px 18px;padding:0 14px;font-size:13px;display:grid;position:static}.market-ticker strong{color:#15803d;font-size:14px}.investment-side-panel{background:#fff;border:1px solid #dbe3ef;border-radius:8px;min-width:0;padding:18px;position:sticky;top:24px;box-shadow:0 12px 36px #0f172a0f}.investment-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.investment-stat-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-height:84px;padding:14px}.investment-stat-grid strong{color:#0f172a;margin-top:8px;font-size:20px;display:block}.account-manager,.create-account-form,.holding-entry-form,.sync-trade-form,.auto-invest-setup,.auto-plan-screen,.fund-search-page{background:#fff;align-content:start;gap:16px;min-height:0;padding:18px;display:grid}.account-manager-head,.account-manager-row{grid-template-columns:minmax(180px,1fr) 58px 58px 58px 78px;align-items:center;gap:8px;display:grid}.account-manager-head{color:#64748b;min-height:36px;padding:0 10px;font-size:12px;font-weight:720}.account-manager-row{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-height:62px;padding:10px;position:relative}.account-manager-row strong,.account-manager-row input{min-width:0;font-size:15px;font-weight:720}.account-manager-row input{background:#fff;border:1px solid #cbd5e1;border-radius:7px;outline:0;width:100%;min-height:38px;padding:0 10px}.remove-dot{color:#b91c1c;cursor:pointer;background:#fff1f2;border:1px solid #fecdd3;border-radius:7px;width:28px;height:28px;font-size:18px;line-height:1;position:absolute;left:10px}.account-manager-row>strong,.account-manager-row>input{margin-left:36px}.switch-control input:checked+span{background:#bfdbfe}.account-sort-actions button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:7px;min-height:30px}.fund-bottom-cta{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:8px;justify-self:end;width:auto;min-height:40px;padding:0 16px;font-size:14px;font-weight:720;position:static}.fund-bottom-cta:disabled{color:#94a3b8;cursor:not-allowed;background:#e2e8f0}.create-account-form h2{color:#0f172a;margin:0 0 12px;font-size:16px;font-weight:760}.platform-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:0;display:grid}.platform-grid button{color:#0f172a;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:8px;align-items:center;gap:10px;min-height:46px;padding:0 12px;font-size:14px;display:flex}.platform-grid button.active{background:#eff6ff;border-color:#93c5fd}.platform-grid button span{color:#fff;background:#2563eb;border-radius:7px;place-items:center;width:26px;height:26px;font-size:13px;display:inline-grid}.fund-large-field,.holding-entry-card label,.holding-fund-picker,.fee-rate-row,.trade-date-row{gap:8px;display:grid}.fund-large-field span,.holding-entry-card span,.holding-fund-picker span,.fee-rate-row span,.trade-date-row span{color:#334155;font-size:13px;font-weight:720}.fund-large-field input,.holding-entry-card input,.holding-entry-card select,.fee-rate-row input,.trade-date-row input,.trade-date-row select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:7px;outline:0;width:100%;min-height:40px;padding:0 11px;font-size:14px}.fund-large-field input:focus,.holding-entry-card input:focus,.holding-entry-card select:focus,.fee-rate-row input:focus,.trade-date-row input:focus,.trade-date-row select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.holding-entry-card{box-shadow:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:12px;padding:16px;display:grid}.holding-entry-card label,.holding-fund-picker{grid-template-columns:128px minmax(0,1fr);align-items:center;min-height:48px}.holding-entry-card button{color:#64748b;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;min-height:40px;padding:0 11px;font-size:14px}.holding-entry-card button strong{color:#0f172a;gap:3px;font-size:14px;display:grid}.holding-entry-card button small{color:#64748b;font-size:12px}.sync-checkbox{color:#64748b;justify-content:flex-start;align-items:center;gap:8px;margin-top:0;font-size:14px;display:flex}.sync-checkbox input{accent-color:#2563eb;width:16px;height:16px}.edit-holding-screen{background:#fff;gap:14px;min-height:0;padding:18px;display:grid}.edit-holding-screen .holding-entry-form{min-height:0;padding:0}.edit-holding-screen .fund-bottom-cta{width:auto;margin:0}.auto-invest-setup{background:#f8fafc}.auto-invest-setup .fund-notice,.auto-invest-setup .fund-identity,.auto-invest-setup .sync-amount-block,.auto-invest-setup .auto-invest-field{background-color:#fff}.auto-invest-setup .fund-bottom-cta{justify-self:stretch;width:100%;min-height:44px}.fund-notice{color:#c2410c;white-space:nowrap;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:0 12px;font-size:13px;display:flex;overflow:hidden}.fund-notice span{text-overflow:ellipsis;overflow:hidden}.fund-identity{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:8px;padding:16px;display:grid}.fund-identity strong{color:#0f172a;font-size:16px;line-height:1.35}.fund-identity strong span{color:#64748b;margin-left:8px;font-size:13px}.fund-identity>span{color:#64748b;font-size:13px}.fund-identity b{color:#15803d}.edit-holding-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;display:grid}.edit-holding-actions button{color:#2563eb;min-height:42px;box-shadow:none;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:8px;font-size:14px;font-weight:720}.edit-holding-actions .buy{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.edit-holding-actions .sell{color:#b91c1c;background:#fff1f2;border-color:#fecdd3}.holding-edit-summary{color:#64748b;justify-content:space-between;gap:10px;padding:0;font-size:13px;display:flex}.sync-amount-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:10px;padding:16px;display:grid}.sync-amount-block>span{color:#334155;font-size:13px;font-weight:720}.sync-amount-block input{color:#0f172a;background:0 0;border:0;outline:0;width:100%;min-width:0;min-height:44px;font-size:30px}.sync-amount-block small{color:#64748b;font-size:13px}.yuan-input-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.yuan-input-row strong{color:#0f172a;font-size:32px}.auto-invest-field{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:9px;padding:14px;display:grid}.auto-invest-field>span{color:#334155;font-size:13px;font-weight:720}.auto-invest-field input,.auto-invest-field select{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:7px;outline:0;width:100%;min-height:40px;padding:0 11px;font-size:14px}.auto-invest-field input:focus,.auto-invest-field select:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.auto-invest-controls{grid-template-columns:minmax(0,1fr) minmax(112px,.45fr);gap:10px;display:grid}.auto-invest-controls:has(>:only-child){grid-template-columns:1fr}.share-ratio-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.share-ratio-row button{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:8px;min-height:38px;font-size:14px}.fee-rate-row,.trade-date-row{border-bottom:1px solid #e2e8f0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;min-height:50px;padding:0 0 12px}.trade-date-row input,.trade-date-row select,.fee-rate-row input{text-align:right;width:auto;min-width:132px}.sync-helper{color:#64748b;text-align:left;margin:0;font-size:13px}.auto-plan-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:14px;padding:16px;display:grid}.auto-plan-card>div:first-child{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.auto-plan-card strong{color:#0f172a;font-size:16px}.auto-plan-card>div:first-child span{color:#2563eb;font-size:13px}.auto-plan-metrics{border-bottom:1px solid #e2e8f0;grid-template-columns:1fr auto;gap:18px;padding-bottom:14px;display:grid}.auto-plan-metrics strong{margin-top:8px;font-size:22px;display:block}.auto-plan-card p{color:#0f172a;margin:0;font-size:14px}.plain-text-danger{color:#b91c1c;cursor:pointer;background:0 0;border:0;justify-self:start}.empty-fund-state{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin:0;padding:24px}.add-plan-button{color:#334155;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:8px;width:100%;min-height:42px;padding:0 14px;font-size:14px}.fund-search-main-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.investment-phone.search-shell,.search-shell .fund-search-page{min-height:0}.fund-search-input{color:#64748b;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:0 12px;display:grid}.fund-search-input input{color:#0f172a;background:0 0;border:0;outline:0;min-width:0;min-height:40px;font-size:14px}.fund-search-input button,.fund-search-main-row>button{color:#475569;cursor:pointer;background:0 0;border:0;min-height:36px}.fund-search-main-row>button{background:#fff;border:1px solid #dbe3ef;border-radius:8px;padding:0 12px}.fund-search-results,.search-history{gap:10px;display:grid}.fund-search-results{max-height:310px;padding-right:2px;overflow-y:auto}.search-history>div{color:#64748b;justify-content:space-between;align-items:center;font-size:13px;font-weight:720;display:flex}.search-history button{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ef;border-radius:8px;justify-self:start;min-height:32px;padding:0 10px}.fund-search-result{color:#0f172a;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:0 14px;display:grid}.fund-search-result strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.fund-search-result span{color:#64748b;font-size:12px}.analysis-screen{background:#fff;gap:14px;max-height:none;padding:18px;display:grid;overflow:visible}.analysis-hero{color:#0f172a;background:#f8fafc;border:1px solid #dbe3ef;border-radius:8px;gap:14px;padding:18px;display:grid}.analysis-tabs,.period-tabs{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.analysis-tabs button,.period-tabs button{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #dbe3ef;border-radius:8px;min-height:34px;padding:0 10px;font-size:14px;position:relative}.analysis-tabs button.active,.period-tabs button.active{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd;font-weight:760}.analysis-tabs button.active:after,.period-tabs button.active:after{display:none}.analysis-hero>span{color:#64748b;text-align:left;margin-top:2px;display:block}.analysis-hero>strong{color:#0f172a;text-align:left;margin-top:0;font-size:32px;line-height:1.1;display:block}.analysis-kpis{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:0;display:grid}.analysis-kpis div{background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-height:76px;padding:12px}.analysis-kpis span,.analysis-kpis small{color:#64748b}.analysis-kpis b{color:#0f172a;margin-top:6px;font-size:18px;display:block}.period-tabs{justify-content:flex-start;margin-top:0}.analysis-section{background:#fff;border:1px solid #dbe3ef;border-radius:8px;margin-top:0;padding:18px}.analysis-section h2,.calendar-title-row h2{color:#0f172a;margin:0;font-size:16px;font-weight:760}.analysis-legend,.analysis-chart-footer,.rank-labels,.calendar-title-row,.calendar-toolbar,.calendar-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.analysis-legend{color:#64748b;justify-content:flex-start;margin:18px 0 6px;font-size:13px}.analysis-legend span:before{content:"";vertical-align:middle;border-radius:999px;width:18px;height:3px;margin-right:8px;display:inline-block}.analysis-legend .red-line:before{background:#16a34a}.analysis-legend .blue-line:before{background:#2563eb}.analysis-chart-footer{color:#64748b;font-size:13px}.analysis-chart-footer b,.calendar-summary b{color:#15803d}.ranking p{color:#0f172a;text-align:center;margin:28px 0 18px;font-size:16px}.rank-bar{background:linear-gradient(90deg,#fee2e2 0 28%,#dcfce7 28% 100%);border-radius:999px;height:10px;position:relative}.rank-bar span{background:#fff;width:2px;height:20px;position:absolute;top:-5px;left:34%}.rank-bar b{color:#1d4ed8;background:#dbeafe;border-radius:8px;place-items:center;min-width:32px;height:28px;display:inline-grid;position:absolute;top:-40px;left:calc(34% - 16px)}.rank-labels{color:#64748b;margin-top:16px;font-size:13px}.rank-labels span:first-child b{color:#b91c1c}.rank-labels span:last-child b{color:#15803d}.calendar-title-row button{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:8px;min-height:34px;padding:0 10px;font-size:13px}.calendar-toolbar{margin-top:18px}.calendar-mode-tabs{background:#e2e8f0;border-radius:8px;padding:3px;display:inline-flex}.calendar-mode-tabs button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:7px;min-width:52px;min-height:32px}.calendar-mode-tabs button.active{color:#2563eb;background:#fff;box-shadow:0 3px 10px #0f172a1a}.profit-calendar-grid{border-top:1px solid #e2e8f0;border-left:1px solid #e2e8f0;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:18px;display:grid}.profit-calendar-grid.month{grid-template-columns:repeat(4,minmax(0,1fr))}.profit-calendar-grid.year{grid-template-columns:repeat(6,minmax(0,1fr))}.profit-calendar-grid>span,.profit-calendar-grid>div{color:#64748b;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;place-items:center;min-height:58px;display:grid}.profit-calendar-grid>div{align-content:center;gap:4px}.profit-calendar-grid .profit{background:#dcfce7}.profit-calendar-grid .profit small{color:#15803d}.profit-calendar-grid .loss{background:#fee2e2}.profit-calendar-grid .loss small{color:#b91c1c}.profit-calendar-grid .rest{background:#f8fafc}.calendar-summary{color:#0f172a;margin-top:18px;font-size:13px}@media (width<=1180px){.investment-workspace{grid-template-columns:1fr}.investment-side-panel{position:static}}@media (width<=820px){.investment-workspace,.investment-workspace.single{grid-template-columns:1fr;gap:14px}.fund-app-header,.fund-page-header{padding:14px}.fund-app-header{grid-template-columns:36px minmax(0,1fr) auto}.avatar-mark{width:36px;height:36px}.fund-account-tabs{padding:10px 14px}.fund-summary-strip{grid-template-columns:1fr;margin:14px}.fund-summary-strip .chevron{display:none}.account-summary-list,.fund-holding-list{padding:0 14px 14px}.account-summary-values,.analysis-kpis,.investment-stat-grid{grid-template-columns:1fr}.fund-holding-list,.account-manager{overflow-x:auto}.holding-list-head,.holding-main-button{min-width:640px}.account-manager-head,.account-manager-row{min-width:620px}.market-ticker{grid-template-columns:1fr;align-items:start;gap:6px;margin:0 14px 14px;padding:12px}.fund-search-main-row,.holding-entry-card label,.holding-fund-picker,.fee-rate-row,.trade-date-row{grid-template-columns:1fr}.trade-date-row input,.trade-date-row select,.fee-rate-row input{text-align:left;width:100%;min-width:0}.auto-invest-controls{grid-template-columns:1fr}.hover-select-tip{width:auto;top:calc(100% + 8px);left:6px;right:6px}.edit-holding-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.fund-bottom-cta{justify-self:stretch;width:100%}}@media (width<=520px){.fund-app-header strong,.fund-page-header strong{font-size:16px}.platform-grid,.share-ratio-row,.edit-holding-actions{grid-template-columns:1fr}.analysis-hero>strong{font-size:28px}.calendar-toolbar,.calendar-summary,.analysis-chart-footer,.rank-labels{flex-direction:column;align-items:flex-start}.profit-calendar-grid>span,.profit-calendar-grid>div{min-height:50px;font-size:12px}}
