*{box-sizing:border-box}body{margin:0;background:#f4f8fb;color:#101411;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-fallback{min-height:100vh;display:grid;place-items:center;padding:24px}.app-fallback div{max-width:520px;border:1px solid #dce8f0;border-radius:10px;padding:22px;background:#fff;box-shadow:0 18px 50px #0f243214}.app-fallback strong{display:block;color:#071928;font-size:18px}.app-fallback p{color:#53655f;line-height:1.5}.app-fallback button{height:34px;border:0;border-radius:7px;padding:0 14px;background:#071928;color:#fff;font-weight:800}.app-shell{min-height:100vh;padding:18px}.topbar{height:42px;display:flex;align-items:center;gap:14px;padding:0 12px;border-radius:12px 12px 0 0;background:#071928;color:#f6fbf8}.brand-lockup{display:inline-flex;align-items:center;gap:9px;min-width:164px;color:#fff;font-size:13px;font-weight:800}.brand-mark{width:28px;height:28px;display:grid;place-items:center;border-radius:4px;background:#00a0df;color:#fff;font-size:10px;font-weight:900;letter-spacing:0}.search-box{position:relative;width:min(360px,28vw);height:28px;display:flex;align-items:center;gap:8px;padding:0 9px;border-radius:7px;background:#102b41;color:#9fa9a3}.search-results{position:absolute;z-index:20;top:34px;left:0;width:360px;overflow:hidden;border:1px solid #cfe2ef;border-radius:10px;background:#fff;box-shadow:0 16px 40px #07192838}.search-results button{width:100%;display:grid;grid-template-columns:58px 1fr 58px;align-items:center;gap:8px;padding:11px 12px;border:0;border-bottom:1px solid #edf4f8;background:transparent;color:#071928;text-align:left}.search-results button:last-child{border-bottom:0}.search-results button:hover{background:#edf8fe}.search-results span{overflow:hidden;color:#536a7a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.search-results em{color:#007eb1;font-size:12px;font-style:normal;font-weight:800;text-align:right}.search-status{margin:0;padding:9px 12px;color:#607269;font-size:12px}.search-box input{width:100%;border:0;outline:0;background:transparent;color:#f8fbff;font-size:12px}.search-box kbd{min-width:19px;height:19px;display:grid;place-items:center;border-radius:5px;background:#19384f;color:#bfd5e3;font-size:11px}.nav-tabs{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:12px}.nav-tabs button{border:0;background:transparent;color:#bfd5e3;font:inherit;text-decoration:none}.nav-tabs .active{color:#fff}.watchlist-button,.icon-button,.auth-button{height:29px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #244963;border-radius:7px;background:#0c2336;color:#eef6ef;font-size:12px}.auth-button{padding:0 10px;font-weight:750}.watchlist-button svg{color:#e3bb1e}.watchlist-button.active{border-color:#00a0df;background:#123550}.icon-button{width:29px;padding:0}.user-button-shell{width:29px;height:29px;display:grid;place-items:center}.workspace{height:calc(100vh - 78px);min-height:720px;display:grid;grid-template-columns:250px minmax(620px,1.36fr) minmax(300px,.62fr) 270px;border:1px solid #dce8f1;border-top:0;border-radius:0 0 16px 16px;background:#fbfdff;overflow:hidden}.watchlist-panel,.stock-detail,.research-panel,.portfolio-panel{min-width:0}.watchlist-panel,.research-panel,.portfolio-panel{padding:18px}.watchlist-panel{border-right:1px solid #dfeaf2}.panel-title,.section-heading,.portfolio-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-title{margin-bottom:12px;font-size:13px;font-weight:700}.watchlist-list{display:flex;flex-direction:column;gap:4px}.watchlist-row{width:100%;display:grid;grid-template-columns:minmax(72px,1fr) 78px 62px;align-items:center;gap:8px;padding:10px;border:0;border-radius:8px;background:transparent;text-align:left}.watchlist-row.selected{background:#083452;color:#f6fbf8}.watchlist-row div:first-child,.holding-row div{display:flex;flex-direction:column;gap:2px}.watchlist-row strong,.holding-row strong{font-size:13px}.watchlist-row span,.holding-row span,.portfolio-total span,.metrics-grid span,.news-item span{color:#78847d;font-size:11px}.positive{color:#007eb1!important}.negative{color:#d34444!important}.text-button,.link-button,.section-heading button,.add-funds{border:0;background:transparent;color:#007eb1;font-weight:700;font-size:12px}.text-button{margin-top:14px}.stock-detail{padding:20px 20px 24px;border-right:1px solid #e6ebe5;overflow:auto}.stock-header{display:grid;grid-template-columns:58px 1fr auto;gap:14px;align-items:center}.ticker-logo{width:52px;height:52px;display:grid;place-items:center;border-radius:12px;background:#090c0b;color:#f6fbf8;font-size:14px;font-weight:800}.stock-name{display:flex;align-items:baseline;gap:10px}.stock-name h1{margin:0;font-size:34px;line-height:1}.stock-name span{color:#69756e;font-size:12px}.price-line{display:flex;align-items:center;gap:10px;margin-top:4px}.price-line strong{font-size:24px}.stock-actions{display:flex;gap:8px}.data-notice{margin-top:14px;padding:9px 11px;border:1px solid #dfe7de;border-radius:8px;background:#f3f9fd;color:#496577;font-size:12px;font-weight:650}.primary-button,.secondary-button,.manage-button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:7px;padding:0 14px;font-weight:750;font-size:12px}.primary-button,.manage-button{border:0;background:#00a0df;color:#fff}.secondary-button{border:1px solid #d5ddd5;background:#fff;color:#111713}.secondary-button:disabled{cursor:wait;opacity:.62}.subnav,.chart-toolbar,.range-tabs{display:flex;align-items:center}.subnav{gap:20px;margin-top:22px;border-bottom:1px solid #dfeaf2}.subnav button{padding:0 0 10px;border:0;border-bottom:2px solid transparent;background:transparent;color:#69756e;font-size:12px;font-weight:700}.subnav .active{border-color:#00a0df;color:#071928}.chart-card{margin-top:16px;overflow:hidden;border-radius:10px;background:#081c2c;color:#eff8f2}.chart-toolbar{justify-content:space-between;padding:11px 13px 0}.range-tabs{gap:8px}.range-tabs button{min-width:28px;height:24px;border:0;border-radius:5px;background:transparent;color:#9caaa3;font-size:11px}.range-tabs .active{background:#123550;color:#fff}.metrics-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;border-top:1px solid rgba(255,255,255,.08);background:#ffffff14}.metrics-grid div{padding:10px 12px;background:#081c2c}.metrics-grid strong{display:block;margin-top:3px;font-size:12px}.compare-card{margin-top:18px}.view-panel{margin-top:18px;padding:18px;border:1px solid #dfeaf2;border-radius:10px;background:#fff}.view-heading span{color:#65736b;font-size:11px;font-weight:850;text-transform:uppercase}.view-heading h2{margin:4px 0 14px;font-size:20px}.view-copy{max-width:680px;color:#4a554e;font-size:13px;line-height:1.5}.view-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.market-card,.screener-table button{min-width:0;border:1px solid #e0ecf3;border-radius:8px;background:#f8fbfd;color:#0c1d26;text-align:left}.market-card{display:grid;gap:6px;padding:13px}.market-card strong,.screener-table strong{font-size:13px}.market-card span,.screener-table span{color:#607269;font-size:12px}.market-card em,.screener-table em{font-size:12px;font-style:normal;font-weight:850}.screener-table{display:grid;gap:8px}.screener-table button,.watchlist-manage-row{display:grid;grid-template-columns:80px 1fr 110px 80px;align-items:center;gap:10px;padding:11px 12px}.watchlist-manage-row{grid-template-columns:1fr 32px;padding:0}.watchlist-manage-row>button:first-child{width:100%}.row-remove-button{width:32px;height:32px;display:grid;place-items:center;border:1px solid #f1c8c8;border-radius:7px;background:#fff7f7;color:#c83d3d}.news-item.expanded{border:1px solid #e6eef3;border-radius:8px;padding:12px;margin-top:8px}.alert-list{margin-top:14px}.alert-list p,.empty-state{margin:10px 0 0;color:#65736b;font-size:12px}.compare-empty{padding:12px}.section-heading h2{display:flex;align-items:center;gap:7px;margin:0;font-size:15px}.compare-table{margin-top:10px;border:1px solid #dfeaf2;border-radius:10px;overflow:hidden}.compare-row{display:grid;grid-template-columns:.55fr .75fr .8fr .6fr .65fr 80px;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #edf4f8;font-size:12px}.compare-row:last-child{border-bottom:0}.research-panel{border-right:1px solid #dfeaf2;overflow:auto}.research-brief,.sentiment-card{padding-bottom:18px;border-bottom:1px solid #dfeaf2}.research-brief p{color:#4a554e;font-size:13px;line-height:1.45}.brief-list{margin-top:12px}.brief-list span{display:block;margin-bottom:7px;font-size:12px;font-weight:800}.brief-list p{position:relative;margin:6px 0;padding-left:14px;font-size:12px}.brief-list p:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%}.positive-list p:before{background:#00a0df}.negative-list p:before{background:#dd4545}.sentiment-card{margin-top:18px}.sentiment-meter{display:grid;grid-template-columns:68fr 22fr 10fr;overflow:hidden;height:30px;margin:12px 0;border-radius:6px;color:#fff;font-size:12px;font-weight:800}.sentiment-meter span{display:flex;align-items:center;justify-content:center;background:#d8b22d}.sentiment-meter .positive{background:#00a0df;color:#fff!important}.sentiment-meter .negative{background:#de4b4b;color:#fff!important}.news-item{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:10px 0;border-top:1px solid #edf1ec}.news-item strong{display:block;font-size:12px;line-height:1.35}.news-item a{color:inherit;text-decoration:none}.news-item a:hover{text-decoration:underline}.portfolio-panel{overflow:auto}.portfolio-header h2{margin:0;font-size:15px}.small-action-button{height:28px;display:inline-flex;align-items:center;gap:5px;border:0;border-radius:7px;padding:0 10px;background:#e9f7fd;color:#007eb1;font-size:12px;font-weight:850}.account-select{min-width:112px;height:28px;border:1px solid #d9e6ee;border-radius:7px;background:#fff;color:#10202a;font-size:11px;font-weight:750}.portfolio-total{margin-top:18px}.portfolio-total strong{display:block;margin-top:4px;font-size:19px}.portfolio-total p{margin:8px 0 0;color:#6c786f;font-size:11px}.portfolio-total p span{color:#24995a;font-weight:800}.allocation{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:10px;margin:18px 0}.donut{width:76px;height:76px;border-radius:50%;background:radial-gradient(circle,#fbfdff 0 46%,transparent 47%),conic-gradient(#00a0df 0,#00a0df 72%,#e7c12d 72%,#e7c12d 90%,#deded8 90%,#deded8)}.allocation p{margin:7px 0;color:#4f5b54;font-size:11px}.dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%}.dot.stocks{background:#00a0df}.dot.etfs{background:#e7c12d}.dot.cash{background:#deded8}.holdings-list{margin-top:10px}.holding-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 0;border-top:1px solid #edf4f8}.holding-row div:last-child{align-items:flex-end}.holding-row.editing{gap:12px}.edit-holding-button{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;border:0;background:transparent;color:#007eb1;font-size:11px;font-weight:800}.edit-holding-button.danger{color:#c83d3d}.holding-editor,.add-holding-form{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:10px;border:1px solid #dfeaf2;border-radius:10px;background:#f5fbff}.add-holding-form{grid-template-columns:1fr 1fr;margin:14px 0 16px}.holding-editor label,.add-holding-form label{display:flex;flex-direction:column;gap:5px;color:#496577;font-size:11px;font-weight:800}.holding-editor small,.add-holding-form small{color:#6c7f8d;font-size:10px;font-weight:700}.holding-editor input,.holding-editor select,.add-holding-form input,.add-holding-form select{min-width:0;height:32px;border:1px solid #cfe2ef;border-radius:7px;padding:0 9px;background:#fff;color:#071928;font-size:12px}.holding-editor div,.add-holding-form div{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.manage-button{width:100%;margin-top:16px}.add-funds{width:100%;margin-top:12px}.drawer-backdrop{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#030b136b}.stock-drawer{width:min(440px,92vw);height:100%;overflow:auto;padding:22px;background:#fbfdff;color:#071928;box-shadow:-24px 0 70px #07192847}.drawer-header,.drawer-price,.drawer-news{display:flex;align-items:center}.drawer-header{justify-content:space-between;gap:16px}.drawer-header span,.drawer-grid span,.drawer-news span{color:#6a7f8e;font-size:12px}.drawer-header h2{margin:4px 0 0;font-size:28px}.drawer-price{gap:10px;margin-top:24px}.drawer-price strong{font-size:34px}.drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.drawer-grid div{padding:13px;border:1px solid #dfeaf2;border-radius:10px;background:#f4f9fd}.drawer-grid strong{display:block;margin-top:4px;font-size:14px}.drawer-section{margin-top:24px}.drawer-section h3{margin:0 0 10px;font-size:15px}.drawer-section p,.drawer-section li{color:#496577;font-size:13px;line-height:1.48}.drawer-section ul{margin:0;padding-left:18px}.drawer-news{align-items:flex-start;gap:9px;padding:10px 0;border-top:1px solid #dfeaf2}.drawer-news strong{display:block;font-size:12px;line-height:1.35}.drawer-action{width:100%;margin-top:22px}.app-shell.dark-mode{background:#07111c;color:#eef7ff}.app-shell.dark-mode .topbar{background:#030b13;border-bottom:1px solid #16364e}.app-shell.dark-mode .workspace{border-color:#18344a;background:#081520}.app-shell.dark-mode .watchlist-panel,.app-shell.dark-mode .stock-detail,.app-shell.dark-mode .research-panel,.app-shell.dark-mode .portfolio-panel{background:#081520;color:#eef7ff}.app-shell.dark-mode .watchlist-panel,.app-shell.dark-mode .stock-detail,.app-shell.dark-mode .research-panel{border-right-color:#18344a}.app-shell.dark-mode .search-box,.app-shell.dark-mode .watchlist-button,.app-shell.dark-mode .icon-button,.app-shell.dark-mode .auth-button{border-color:#1f4c68;background:#0d2638;color:#eef7ff}.app-shell.dark-mode .search-results{border-color:#1f4057;background:#0b1e2d;box-shadow:0 16px 40px #0000005c}.app-shell.dark-mode .search-results button{border-bottom-color:#18344a;color:#eef7ff}.app-shell.dark-mode .search-results button:hover{background:#10314a}.app-shell.dark-mode .search-results span,.app-shell.dark-mode .search-status{color:#9fb7c8}.app-shell.dark-mode .search-box input{color:#fff}.app-shell.dark-mode .search-box kbd{background:#173a54;color:#bfe3f8}.app-shell.dark-mode .nav-tabs button,.app-shell.dark-mode .stock-name span,.app-shell.dark-mode .watchlist-row span,.app-shell.dark-mode .holding-row span,.app-shell.dark-mode .portfolio-total span,.app-shell.dark-mode .metrics-grid span,.app-shell.dark-mode .news-item span,.app-shell.dark-mode .subnav button,.app-shell.dark-mode .portfolio-total p,.app-shell.dark-mode .allocation p,.app-shell.dark-mode .research-brief p,.app-shell.dark-mode .view-copy,.app-shell.dark-mode .market-card span,.app-shell.dark-mode .screener-table span,.app-shell.dark-mode .view-heading span,.app-shell.dark-mode .empty-state,.app-shell.dark-mode .alert-list p{color:#9fb7c8}.app-shell.dark-mode .nav-tabs .active,.app-shell.dark-mode .subnav .active{color:#fff}.app-shell.dark-mode .watchlist-row{color:#eef7ff}.app-shell.dark-mode .watchlist-row.selected{background:#083452}.app-shell.dark-mode .ticker-logo{background:#02070b;color:#fff}.app-shell.dark-mode .data-notice,.app-shell.dark-mode .secondary-button{border-color:#1f4057;background:#0b1e2d;color:#e9f6ff}.app-shell.dark-mode .secondary-button:disabled{opacity:.68}.app-shell.dark-mode .subnav,.app-shell.dark-mode .research-brief,.app-shell.dark-mode .sentiment-card,.app-shell.dark-mode .holding-row,.app-shell.dark-mode .compare-row{border-color:#18344a}.app-shell.dark-mode .chart-card,.app-shell.dark-mode .metrics-grid div{background:#04111c}.app-shell.dark-mode .compare-table{border-color:#18344a}.app-shell.dark-mode .view-panel,.app-shell.dark-mode .market-card,.app-shell.dark-mode .screener-table button,.app-shell.dark-mode .row-remove-button{border-color:#18344a;background:#0b1e2d;color:#eef7ff}.app-shell.dark-mode .row-remove-button{color:#ff8a8a}.app-shell.dark-mode .compare-row,.app-shell.dark-mode .news-item{border-color:#18344a;color:#eef7ff}.app-shell.dark-mode .holding-editor,.app-shell.dark-mode .add-holding-form,.app-shell.dark-mode .drawer-grid div{border-color:#18344a;background:#0b1e2d}.app-shell.dark-mode .holding-editor label,.app-shell.dark-mode .add-holding-form label,.app-shell.dark-mode .holding-editor small,.app-shell.dark-mode .add-holding-form small,.app-shell.dark-mode .drawer-header span,.app-shell.dark-mode .drawer-grid span,.app-shell.dark-mode .drawer-news span,.app-shell.dark-mode .drawer-section p,.app-shell.dark-mode .drawer-section li{color:#9fb7c8}.app-shell.dark-mode .holding-editor input,.app-shell.dark-mode .holding-editor select,.app-shell.dark-mode .add-holding-form input,.app-shell.dark-mode .add-holding-form select,.app-shell.dark-mode .account-select{border-color:#1f4057;background:#071520;color:#eef7ff}.app-shell.dark-mode .small-action-button{background:#0b2a3f;color:#7bd9ff}.app-shell.dark-mode .stock-drawer{background:#081520;color:#eef7ff}.app-shell.dark-mode .drawer-news{border-top-color:#18344a}.app-shell.dark-mode .donut{background:radial-gradient(circle,#081520 0 46%,transparent 47%),conic-gradient(#00a0df 0,#00a0df 72%,#e7c12d 72%,#e7c12d 90%,#354a5a 90%,#354a5a)}.app-shell.dark-mode .dot.cash{background:#354a5a}@media (max-width: 1260px){.workspace{grid-template-columns:230px minmax(560px,1fr) 270px}.research-panel{display:none}}@media (max-width: 980px){.app-shell{padding:0}.topbar{border-radius:0}.nav-tabs,.watchlist-button{display:none}.workspace{height:auto;min-height:0;display:block;border:0;border-radius:0}.watchlist-panel,.research-panel,.portfolio-panel{display:block;border-right:0;border-bottom:1px solid #dfeaf2}.stock-header{grid-template-columns:52px 1fr}.stock-actions{grid-column:1 / -1}.metrics-grid{grid-template-columns:repeat(3,1fr)}}
