@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--ink:#291b36;--muted:#81738e;--line:#e8e5eb;--green:#5f3e7c;--paper:#f8f6f9}*{box-sizing:border-box}body{margin:0;background:var(--paper);font:14px 'DM Sans',sans-serif;color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:246px;background:#fff;border-right:1px solid var(--line);padding:28px 18px 18px;display:flex;flex-direction:column;position:fixed;top:0;bottom:0}.brand{font-size:19px;font-weight:700;letter-spacing:-1px;display:flex;align-items:center;gap:8px;margin:0 6px 35px}.brand b{font-weight:400}.brand i{font-style:normal;color:#9587a2}.brandmark{font-size:28px;color:#705c81}.workspace{border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;gap:10px;padding:10px;margin-bottom:29px}.workspace-icon{background:#ebe7ef;border-radius:6px;padding:9px;font-size:18px}.workspace strong,.profile strong{display:block;font-size:12px}.workspace small,.profile small{display:block;color:#a095aa;font-size:10px;margin-top:4px}.workspace>span:last-child,.profile>span:last-child{margin-left:auto;color:#aba1b4}.nav-label{font-size:9px;font-weight:700;letter-spacing:.13em;color:#a89db1;margin:18px 12px 10px}nav a{display:flex;gap:12px;align-items:center;padding:11px 12px;color:#7f708c;font-size:12px;font-weight:600;border-radius:6px}nav a span{font-size:17px;width:18px}nav a.active{background:#eeeaf1;color:#462d5d}nav a:hover{background:#f5f3f6}.sidebar-bottom{margin-top:auto}.side-card{background:#f2f0f4;border-radius:8px;padding:17px;color:#4d3e5a}.side-card>span{font-size:19px}.side-card strong{display:block;font-family:'DM Serif Display';font-weight:400;font-size:18px;line-height:1.15;margin:10px 0}.side-card p{font-size:11px;line-height:1.5;color:#8c7f98}.side-card button{border:0;background:none;color:#58416e;padding:0;font-size:11px;font-weight:700}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:20px;padding:18px 2px 0}.avatar{width:35px;height:35px;display:grid;place-items:center;background:#e5e0e9;color:#5c4a6b;border-radius:50%;font-size:11px;font-weight:700}.avatar.small{width:30px;height:30px}.main{margin-left:246px;width:calc(100% - 246px)}.topbar{height:72px;border-bottom:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 42px}.crumb{font-size:12px;color:#a99fb2}.crumb span{margin:0 12px;color:#dad6de}.crumb strong{color:#5b5164}.top-actions{display:flex;align-items:center;gap:18px}.demo-pill,.tag{font-size:9px;letter-spacing:.08em;font-weight:700;color:#746283;background:#f1eef4;border-radius:20px;padding:7px 10px}.demo-pill i{display:inline-block;width:6px;height:6px;background:#917ca4;border-radius:50%;margin-right:5px}.icon-btn{border:1px solid var(--line);background:white;color:#857692;border-radius:50%;width:28px;height:28px}.mobile-menu{display:none}.content{max-width:1450px;margin:auto;padding:24px 42px}.demo-banner{background:#f1eef3;color:#756781;padding:11px 15px;border-radius:6px;font-size:11px}.demo-banner button{border:0;background:none;color:#583c70;font-weight:700;font-size:11px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin:32px 0 25px;gap:20px}.eyebrow{color:#91849c;font-size:10px;font-weight:700;letter-spacing:.14em}.page-heading h1{font:400 36px 'DM Serif Display';letter-spacing:-.025em;margin:7px 0}.page-heading p{color:#92859e;font-size:12px}.actions{display:flex;gap:9px}.btn{padding:11px 15px;border:1px solid #e2dde6;background:#fff;border-radius:5px;color:#574765;font-weight:700;font-size:11px}.btn.primary{background:#342144;border-color:#342144;color:white}.btn:hover{filter:brightness(.96)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:8px}.stat{padding:20px}.stat-label{color:#8e809a;font-size:11px;display:flex;justify-content:space-between}.stat-value{font-size:24px;font-weight:700;letter-spacing:-.04em;margin:13px 0 7px}.positive{color:#5f3d7e}.negative{color:#bf6d65}.stat-note{font-size:10px;color:#a297ac}.stat-note strong{margin-right:5px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:15px;margin-top:15px}.panel{padding:23px}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.panel-title{font-size:14px;font-weight:700;margin:0 0 5px}.panel-subtitle{font-size:11px;color:#a297ac}.tabs{display:flex;gap:3px}.tabs button{border:0;background:none;padding:6px 9px;color:#a398ad;font-size:10px;border-radius:4px}.tabs button.active{background:#efebf2;color:#563e6c;font-weight:700}.chart-value{font-size:25px;font-weight:700;margin-top:26px;letter-spacing:-.04em}.chart-value small{font-size:11px;color:#6f508b;margin-left:10px}.chart{height:180px;margin-top:14px;position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 44px,#efedf1 45px)}.chart svg{width:100%;height:100%}.axis{display:flex;justify-content:space-between;color:#b0a6b8;font-size:9px;margin-top:10px}.allocation{display:flex;align-items:center;justify-content:center;gap:25px;margin:30px 0 18px}.donut{width:145px;height:145px;border-radius:50%;background:conic-gradient(#452f58 0 38%,#927fa3 38% 63%,#c1b6cb 63% 82%,#e6e1ea 82%);display:grid;place-items:center}.donut:after{content:'5 holdings';display:grid;place-items:center;width:104px;height:104px;background:#fff;border-radius:50%;font-size:11px;font-weight:700}.legend{display:grid;gap:13px;font-size:10px;color:#7d6e8a}.legend span{display:flex;align-items:center;gap:7px}.legend i{height:7px;width:7px;border-radius:50%;background:#452f58}.legend span:nth-child(2) i{background:#927fa3}.legend span:nth-child(3) i{background:#c1b6cb}.legend span:nth-child(4) i{background:#e6e1ea}.table-panel{margin-top:15px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:9px;letter-spacing:.08em;color:#a89eb1;font-weight:700;padding:20px 12px 12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid #f2f0f3;font-size:11px;color:#71647c}tr:last-child td{border-bottom:0}.stock{display:flex;align-items:center;gap:10px}.stock-icon{width:32px;height:32px;background:#f0eef2;border-radius:7px;display:grid;place-items:center;color:#5f4d6e;font-weight:700}.stock strong{display:block;color:#453851;font-size:11px}.stock small{color:#a89eb1;font-size:10px;display:block;margin-top:3px}.link{border:0;background:none;color:#6c5382;font-size:11px;font-weight:700}.community-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.portfolio-card{padding:22px}.portfolio-card .avatar{width:42px;height:42px}.portfolio-card h3{font-size:15px;margin:16px 0 5px}.portfolio-card p{color:#9689a1;font-size:11px;line-height:1.6;min-height:36px}.portfolio-card .metric{font-size:23px;font-weight:700;margin:20px 0 3px}.card-footer{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;display:flex;justify-content:space-between;align-items:center}.search{padding:12px 15px;border:1px solid var(--line);border-radius:6px;width:min(100%,360px);margin-bottom:20px;background:#fff}.empty{text-align:center;padding:60px 20px;color:#8c7f98}.empty h2{font:400 27px 'DM Serif Display';color:var(--ink)}footer{display:flex;justify-content:space-between;color:#afa5b7;font-size:10px;margin:30px 0}footer b{margin:0 6px}.modal{position:fixed;inset:0;background:#20142aa8;display:grid;place-items:center;padding:20px;z-index:4}.hidden{display:none}.modal-box{position:relative;width:min(480px,100%);background:white;border-radius:10px;padding:30px}.modal-box h2{font:400 28px 'DM Serif Display';margin:0 0 10px}.modal-box p{color:#837490;line-height:1.7;font-size:13px}.close{position:absolute;right:18px;top:13px;border:0;background:none;font-size:24px;color:#968aa1}.modal-box label{display:block;font-size:11px;font-weight:700;margin:14px 0 6px}.modal-box input,.modal-box select{width:100%;border:1px solid var(--line);padding:11px;border-radius:5px}.modal-box .btn{margin-top:20px}.notice{color:#7c6e89;font-size:11px;margin-top:12px}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.community-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{z-index:3;transform:translateX(-100%);transition:.2s;box-shadow:0 0 30px #1232}.sidebar.open{transform:translateX(0)}.main{margin:0;width:100%}.mobile-menu{display:block;border:0;background:none;color:#594a66;font-size:20px;margin-right:12px}.topbar{padding:0 18px;justify-content:start}.top-actions{margin-left:auto;gap:9px}.content{padding:18px}.page-heading{align-items:start;flex-direction:column}.page-heading h1{font-size:31px}.stats{gap:8px}.stat{padding:15px}.stat-value{font-size:20px}.community-grid{grid-template-columns:1fr}.panel{padding:17px}.allocation{gap:15px}footer{gap:15px;flex-direction:column}.demo-banner{line-height:1.5}}
.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.auth-intro{background:#2a1c36;color:#fff;padding:50px 9%;display:flex;flex-direction:column;justify-content:space-between}.auth-intro .brand{color:white}.auth-intro h1{font:400 clamp(45px,5vw,72px)/1.05 'DM Serif Display';margin:24px 0}.auth-intro h1 em{color:#b6a8c3;font-weight:400}.auth-intro p,.auth-intro small{color:#bbb0c4}.auth-side{display:grid;place-items:center;padding:40px}.auth-card{width:min(400px,100%)}.auth-card h2{font:400 38px 'DM Serif Display';margin:14px 0 6px}.auth-card>p{color:#92859e;font-size:13px;margin-bottom:28px}.auth-card label,.modal-box label{display:block;font-size:11px;font-weight:700;margin:16px 0 7px}.auth-card input,.modal-box input,.modal-box select,.portfolio-toolbar select{width:100%;border:1px solid #e2dde6;padding:12px;border-radius:5px;background:white;color:#291b36}.auth-card small{display:block;color:#9a8ea5;margin-top:7px;font-size:10px}.auth-card .wide{width:100%;margin-top:10px;padding:14px}.auth-switch{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;color:#978aa2;font-size:12px}.form-error{color:#b3524b!important;min-height:16px;font-size:11px!important}.portfolio-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.portfolio-toolbar label{font-size:9px;letter-spacing:.1em;font-weight:700;color:#9a8ea5}.portfolio-toolbar select{width:auto;min-width:180px}.signout{padding:15px 2px}.loading{padding:40px}.modal-box{max-height:90vh;overflow:auto}@media(max-width:700px){.auth-page{grid-template-columns:1fr}.auth-intro{min-height:220px;padding:25px}.auth-intro .brand{margin-bottom:10px}.auth-intro h1{font-size:38px;margin:12px 0}.auth-intro small{display:none}.auth-side{padding:35px 24px}.portfolio-toolbar select{flex:1}}
.market-search{margin-bottom:20px}.market-search label{display:block;font-size:11px;font-weight:700;margin-bottom:8px}.market-search>div{display:flex;gap:8px}.market-search input{width:min(420px,100%);border:1px solid #e2dde6;padding:12px;border-radius:5px}.market-search .form-error{margin:6px 0}
.quote-date{display:block;color:#9a8ea5;margin-top:4px;font-size:10px}
tr.unavailable{opacity:.5}tr.unavailable td{color:#978aa2}
.reinvest-check{display:flex!important;gap:8px;align-items:center}.reinvest-check input{width:auto}.modal-box fieldset{border:1px solid var(--line);border-radius:6px;margin:12px 0;padding:12px}.modal-box fieldset:disabled{opacity:.55}
.cash-actions{margin-bottom:16px;flex-wrap:wrap}.cash-balances{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.cash-balances .stat{min-width:160px}.cash-balances .stat-value{font-size:19px}
.history-chart{width:100%;margin:18px 0 0}.history-chart svg{display:block;width:100%;height:auto;overflow:visible}.history-line{fill:none;stroke:#5f3e7c;stroke-width:2.5}.history-dot{fill:#5f3e7c;stroke:#fff;stroke-width:1.5}.history-grid{stroke:#ebe9ed;stroke-width:1}.history-label{fill:#91849d;font:11px 'DM Sans',sans-serif}
.leaderboard-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.leaderboard-card{padding:21px;min-width:0;display:flex;flex-direction:column}.leaderboard-card-top,.leaderboard-card-footer,.mini-chart-meta,.mini-chart-dates{display:flex;align-items:center;justify-content:space-between;gap:10px}.leaderboard-rank{font-size:10px;letter-spacing:.13em;font-weight:700;color:#9c90a6}.favorite-control{border:0;background:#f3f1f5;color:#6c5481;border-radius:50%;width:32px;height:32px;font-size:20px;line-height:1}.portfolio-name{border:0;padding:0;background:none;text-align:left;color:#2b1d38;font:400 22px 'DM Serif Display',serif;line-height:1.18}.portfolio-name:hover,.favorite-control:hover{color:#5f3e7c}.leaderboard-card h3{margin:14px 0 4px}.leaderboard-owner{font-size:11px;color:#9a8ea4;margin:0}.leaderboard-owner strong{font-weight:600;color:#7c6d89}.mini-chart{margin:24px 0 16px;min-height:125px}.mini-chart-meta span{font-size:9px;color:#9b8fa6;letter-spacing:.08em;font-weight:700}.mini-chart-meta strong{font-size:16px}.mini-chart-svg{width:100%;height:auto;display:block;margin-top:8px}.mini-chart-dates{font-size:9px;color:#a499ae}.mini-chart-empty,.mini-chart-loading{display:grid;place-items:center;min-height:125px;font-size:11px;color:#a095aa;text-align:center;background:#f8f6fa;border-radius:5px}.leaderboard-card-footer{border-top:1px solid var(--line);padding-top:15px;color:#857792;font-size:11px;margin-top:auto}.leaderboard-card-footer strong{color:#483757}.leaderboard-notice{margin:0 0 14px;line-height:1.5}.community-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}@media(max-width:1050px){.leaderboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.leaderboard-cards{grid-template-columns:1fr}.leaderboard-card{padding:18px}.mini-chart{min-height:110px}}
@media(min-width:701px) and (max-width:820px){.leaderboard-cards{grid-template-columns:1fr}}

/* Brand accents; preserve conventional gain and loss colors. */
.positive{color:#247b58}.negative{color:#b34940}.brand i,.brandmark,.feature-icon{color:#c56b32}.btn.primary{background:#74458a;border-color:#74458a}.btn.primary:hover{background:#623773}.eyebrow,.leaderboard-rank{color:#745285}.favorite-control{color:#b85a25;background:#fff1e8}.auth-intro h1 em{color:#ffc499}
