:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0}html,body,#root{min-height:100vh;background:#0a0a0a;color:#fafafa}.app{min-height:100vh;display:flex;flex-direction:column}.topnav{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff05;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.logo{font-size:1.3rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,#00d4aa,#00c853);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-tabs{display:flex;gap:.25rem}.nav-tab{background:none;border:none;color:#ffffff73;padding:.4rem 1rem;border-radius:.4rem;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .15s}.nav-tab:hover{color:#ffffffb3;background:#ffffff0a}.nav-tab.active{color:#fff;background:#ffffff14}.nav-right{display:flex;align-items:center;gap:1rem}.balance-pill{background:#00d4aa1a;border:1px solid rgba(0,212,170,.2);border-radius:2rem;padding:.3rem 1rem;font-size:.8rem;font-weight:600;color:#00d4aa;font-variant-numeric:tabular-nums}.main{flex:1;display:grid;grid-template-columns:1fr 340px;gap:0;max-width:1400px;width:100%;margin:0 auto}@media(max-width:900px){.main{grid-template-columns:1fr}}.content{padding:1.5rem 2rem;border-right:1px solid rgba(255,255,255,.06)}.sidebar{padding:1.5rem;overflow-y:auto;max-height:calc(100vh - 52px);position:sticky;top:52px}@media(max-width:900px){.sidebar{max-height:none;position:static;border-top:1px solid rgba(255,255,255,.06)}}.portfolio-header{margin-bottom:2rem}.portfolio-label{font-size:.8rem;color:#fff6;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem}.portfolio-value{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.portfolio-change{font-size:.9rem;font-weight:500;margin-top:.25rem}.portfolio-change.up{color:#00c853}.portfolio-change.down{color:#ff5252}.chart-container{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:.75rem;padding:1.25rem;margin-bottom:2rem}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chart-symbol{font-size:1.1rem;font-weight:700}.chart-price{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.chart-price-change{font-size:.85rem;margin-left:.5rem}.chart-price-change.up{color:#00c853}.chart-price-change.down{color:#ff5252}.time-pills{display:flex;gap:.25rem}.time-pill{background:none;border:none;color:#fff6;padding:.3rem .6rem;border-radius:.3rem;cursor:pointer;font-size:.75rem;font-weight:600;transition:all .15s}.time-pill:hover{color:#ffffffb3}.time-pill.active{color:#00d4aa;background:#00d4aa1a}.chart-svg{width:100%;height:200px}.chart-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart-line.up{stroke:#00c853}.chart-line.down{stroke:#ff5252}.chart-area{opacity:.15}.chart-area.up{fill:#00c853}.chart-area.down{fill:#ff5252}.chart-grid-line{stroke:#ffffff0a;stroke-width:1}.chart-label{fill:#ffffff40;font-size:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.chart-crosshair{stroke:#fff3;stroke-width:1;stroke-dasharray:3 3}.chart-dot{fill:#00d4aa;stroke:#0a0a0a;stroke-width:2}.section-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#fff6;margin-bottom:.75rem}.holdings-list{display:flex;flex-direction:column;gap:0}.holding-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.04);cursor:pointer;transition:background .1s;border-radius:.4rem;padding:.75rem .5rem}.holding-row:hover{background:#ffffff08}.holding-left{display:flex;align-items:center;gap:.75rem}.holding-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;flex-shrink:0}.holding-name{font-weight:600;font-size:.9rem}.holding-shares{font-size:.75rem;color:#fff6}.holding-right{text-align:right}.holding-value{font-weight:600;font-size:.9rem;font-variant-numeric:tabular-nums}.holding-change{font-size:.75rem}.holding-change.up{color:#00c853}.holding-change.down{color:#ff5252}.trade-panel{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1.25rem;margin-bottom:1.5rem}.trade-panel h3{font-size:1rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.trade-type-tabs{display:flex;gap:.25rem;margin-bottom:1rem;background:#ffffff0a;border-radius:.4rem;padding:.15rem}.trade-type-tab{flex:1;background:none;border:none;padding:.4rem;border-radius:.3rem;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .15s;color:#fff6}.trade-type-tab.active.buy{background:#00c85333;color:#00c853}.trade-type-tab.active.sell{background:#ff525233;color:#ff5252}.trade-input-group{margin-bottom:.75rem}.trade-input-label{font-size:.75rem;color:#fff6;margin-bottom:.3rem;display:block}.trade-input{width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:.4rem;padding:.6rem .75rem;color:#fafafa;font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;outline:none;transition:border-color .15s}.trade-input:focus{border-color:#00d4aa66}.trade-summary{display:flex;justify-content:space-between;font-size:.8rem;color:#fff6;margin-bottom:1rem;padding:.5rem 0;border-top:1px solid rgba(255,255,255,.06)}.trade-summary-value{color:#fafafa;font-weight:600;font-variant-numeric:tabular-nums}.trade-btn{width:100%;padding:.75rem;border-radius:.5rem;border:none;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .15s}.trade-btn.buy-btn{background:#00c853;color:#000}.trade-btn.buy-btn:hover{background:#00e676}.trade-btn.sell-btn{background:#ff5252;color:#fff}.trade-btn.sell-btn:hover{background:#ff6e6e}.trade-btn:disabled{opacity:.4;cursor:not-allowed}.watchlist{margin-bottom:1.5rem}.watchlist-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .5rem;border-radius:.4rem;cursor:pointer;transition:background .1s}.watchlist-item:hover{background:#ffffff0a}.watchlist-left{display:flex;align-items:center;gap:.6rem}.watchlist-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700}.watchlist-symbol{font-weight:600;font-size:.85rem}.watchlist-price{text-align:right}.watchlist-price-value{font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}.watchlist-price-change{font-size:.7rem}.watchlist-price-change.up{color:#00c853}.watchlist-price-change.down{color:#ff5252}.sparkline{width:60px;height:24px}.sparkline-line{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.activity-feed{margin-bottom:1.5rem}.activity-item{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.04)}.activity-dot{width:8px;height:8px;border-radius:50%;margin-top:.4rem;flex-shrink:0}.activity-dot.buy{background:#00c853}.activity-dot.sell{background:#ff5252}.activity-text{font-size:.8rem;color:#ffffffb3;line-height:1.4}.activity-text strong{color:#fafafa}.activity-time{font-size:.7rem;color:#ffffff4d;margin-top:.15rem}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#1c1c1c;border:1px solid rgba(255,255,255,.15);border-radius:.5rem;padding:.75rem 1.25rem;font-size:.85rem;font-weight:500;z-index:100;box-shadow:0 8px 24px #00000080;animation:toast-in .3s ease}.toast.buy{border-color:#00c8534d;color:#00c853}.toast.sell{border-color:#ff52524d;color:#ff5252}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.empty-state{text-align:center;padding:3rem 1rem;color:#ffffff4d;font-size:.9rem}.empty-state-icon{font-size:2rem;margin-bottom:.5rem}.footer{text-align:center;padding:1rem;color:#ffffff26;font-size:.7rem;border-top:1px solid rgba(255,255,255,.04)}
