:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Outfit", var(--font-sans);--font-mono:"JetBrains Mono", monospace;--bg-app:#090d16;--bg-surface:#0f172a;--bg-card:#111827bf;--bg-card-hover:#1a2438d9;--bg-card-glass:#0f172aa6;--bg-input:#0f172acc;--border-subtle:#ffffff12;--border-card:#ffffff1f;--border-focus:#6366f199;--primary:#6366f1;--primary-hover:#4f46e5;--primary-glow:#6366f140;--primary-gradient:linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--accent-cyan:#06b6d4;--accent-cyan-glow:#06b6d440;--profit:#10b981;--profit-light:#34d399;--profit-bg:#10b9811f;--profit-border:#10b9814d;--profit-glow:#10b98133;--loss:#f43f5e;--loss-light:#fb7185;--loss-bg:#f43f5e1f;--loss-border:#f43f5e4d;--loss-glow:#f43f5e33;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-dim:#475569;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 24px -4px #00000080;--shadow-lg:0 20px 40px -8px #000000a6;--shadow-glow:0 0 25px #6366f133;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.35s cubic-bezier(.34, 1.56, .64, 1)}body.light-theme{--bg-app:#f1f5f9;--bg-surface:#fff;--bg-card:#ffffffe6;--bg-card-hover:#f8fafcf2;--bg-input:#fff;--border-subtle:#00000014;--border-card:#0000001f;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--shadow-md:0 8px 24px -4px #00000014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 0 0,#6366f114 0,#0000 50%),radial-gradient(at 100% 0,#10b9810f 0,#0000 50%),radial-gradient(at 50% 100%,#0ea5e90d 0,#0000 50%);background-attachment:fixed;min-height:100vh;line-height:1.5}.app-container{max-width:1400px;margin:0 auto;padding:1.5rem 1.5rem 4rem}@media (width<=768px){.app-container{padding:1rem 1rem 3rem}}h1,h2,h3,h4,.font-display{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.mono-num{font-family:var(--font-mono);letter-spacing:-.03em}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal)}.glass-card:hover{border-color:var(--border-card)}.navbar{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-subtle);background:#0f172ab3;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem 1.5rem;display:flex}.brand{color:var(--text-primary);align-items:center;gap:.75rem;text-decoration:none;display:flex}.brand-icon{border-radius:var(--radius-md);background:var(--primary-gradient);color:#fff;width:40px;height:40px;box-shadow:0 4px 12px var(--primary-glow);justify-content:center;align-items:center;display:flex}.brand-title{letter-spacing:-.03em;background:linear-gradient(135deg,#fff 0%,#cbd5e1 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.35rem;font-weight:800}.brand-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);color:#818cf8;background:#6366f133;border:1px solid #6366f14d;margin-left:.25rem;padding:.15rem .5rem;font-size:.65rem;font-weight:700}.nav-actions{align-items:center;gap:.75rem;display:flex}.btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 14px var(--primary-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.btn-secondary{color:var(--text-primary);border-color:var(--border-subtle);background:#ffffff0d}.btn-secondary:hover{border-color:var(--border-card);background:#ffffff1a}.btn-success{background:var(--profit-bg);color:var(--profit-light);border-color:var(--profit-border)}.btn-success:hover{box-shadow:0 4px 14px var(--profit-glow);background:#10b98133}.btn-danger-subtle{background:var(--loss-bg);color:var(--loss-light);border-color:var(--loss-border)}.btn-danger-subtle:hover{background:#f43f5e33}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--text-primary);background:#ffffff0f}.btn-icon{border-radius:var(--radius-md);width:38px;height:38px;padding:0}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.metric-card{flex-direction:column;justify-content:space-between;padding:1.25rem 1.5rem;display:flex;position:relative;overflow:hidden}.metric-card:before{content:"";height:2px;transition:background var(--transition-normal);background:0 0;position:absolute;top:0;left:0;right:0}.metric-card.profit:before{background:linear-gradient(90deg,#10b981,#0000)}.metric-card.loss:before{background:linear-gradient(90deg,#f43f5e,#0000)}.metric-card.neutral:before{background:linear-gradient(90deg,#6366f1,#0000)}.metric-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.metric-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.metric-icon-wrap{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);background:#ffffff0a;justify-content:center;align-items:center;display:flex}.metric-value{color:var(--text-primary);margin-bottom:.35rem;font-size:1.75rem;font-weight:700;line-height:1.1}.metric-footer{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.badge{border-radius:var(--radius-full);align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.badge-profit{background:var(--profit-bg);color:var(--profit-light);border:1px solid var(--profit-border)}.badge-loss{background:var(--loss-bg);color:var(--loss-light);border:1px solid var(--loss-border)}.badge-neutral{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0f}.badge-buy{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.badge-sell{color:#fb7185;background:#f43f5e26;border:1px solid #f43f5e4d}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.section-title-wrap{align-items:center;gap:.75rem;display:flex}.section-title{color:var(--text-primary);font-size:1.25rem}.tabs-nav{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#0f172acc;align-items:center;gap:.25rem;padding:.3rem;display:flex}.tab-btn{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.85rem;font-weight:600;display:flex}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:#fff;box-shadow:var(--shadow-sm);background:#6366f133;border:1px solid #6366f14d}.table-controls{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.search-box{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:260px;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;gap:.6rem;padding:.5rem .85rem;display:flex}.search-box:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f126}.search-input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-size:.875rem}.search-input::placeholder{color:var(--text-dim)}.table-container{border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow-x:auto}.portfolio-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.portfolio-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);-webkit-user-select:none;user-select:none;white-space:nowrap;background:#0f172af2;padding:.85rem 1.25rem;font-size:.75rem;font-weight:600}.portfolio-table th.sortable{cursor:pointer;transition:color var(--transition-fast)}.portfolio-table th.sortable:hover{color:var(--text-primary)}.portfolio-table th.text-right,.portfolio-table td.text-right{text-align:right}.portfolio-table th.text-center,.portfolio-table td.text-center{text-align:center}.portfolio-table tbody tr{border-bottom:1px solid var(--border-subtle);transition:background-color var(--transition-fast)}.portfolio-table tbody tr:hover{background-color:var(--bg-card-hover)}.portfolio-table tbody tr:last-child{border-bottom:none}.portfolio-table td{color:var(--text-primary);vertical-align:middle;padding:1rem 1.25rem}.script-col{align-items:center;gap:.85rem;display:flex}.script-avatar{border-radius:var(--radius-md);border:1px solid var(--border-subtle);width:36px;height:36px;color:var(--text-primary);background:#ffffff0d;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.script-meta{flex-direction:column;display:flex}.script-symbol{color:var(--text-primary);align-items:center;gap:.4rem;font-size:.95rem;font-weight:700;display:flex}.script-company{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.75rem;overflow:hidden}.alloc-bar-container{border-radius:var(--radius-full);background:#ffffff14;width:70px;height:6px;margin-top:.25rem;overflow:hidden}.alloc-bar-fill{background:var(--primary-gradient);border-radius:var(--radius-full);height:100%}.row-actions{justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.action-btn-sm{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0a;align-items:center;gap:.25rem;padding:.35rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.action-btn-sm:hover{color:var(--text-primary);border-color:var(--border-card);background:#ffffff1a}.text-profit{color:var(--profit-light)}.text-loss{color:var(--loss-light)}.text-muted{color:var(--text-muted)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-icon{border-radius:var(--radius-xl);color:#818cf8;background:#6366f11a;border:1px solid #6366f133;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.25rem;display:flex}.empty-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.25rem}.empty-desc{color:var(--text-secondary);max-width:420px;margin-bottom:1.5rem;font-size:.875rem}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#04070dcc;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border-card);border-radius:var(--radius-xl);width:100%;max-width:540px;box-shadow:var(--shadow-lg), 0 0 40px #6366f126;background:#0f172a;animation:.25s cubic-bezier(.16,1,.3,1) modalScale;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-subtle);background:#ffffff05;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.15rem;display:flex}.modal-close-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:flex}.modal-close-btn:hover{color:var(--text-primary);background:#ffffff0f}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--border-subtle);background:#ffffff05;justify-content:flex-end;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.form-control{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:all var(--transition-fast);outline:none;padding:.65rem .9rem;font-size:.9rem}.form-control:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f133}.form-row-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.trade-type-toggle{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#0f172ae6;grid-template-columns:1fr 1fr;gap:.35rem;margin-bottom:1.25rem;padding:.3rem;display:grid}.trade-toggle-btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary);background:0 0;border:none;padding:.65rem;font-size:.875rem;font-weight:700}.trade-toggle-btn.buy.active{color:#fff;background:#10b981;box-shadow:0 2px 10px #10b9814d}.trade-toggle-btn.sell.active{color:#fff;background:#f43f5e;box-shadow:0 2px 10px #f43f5e4d}.ticker-pills{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.ticker-pill{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0d;padding:.2rem .55rem;font-size:.75rem;font-weight:600}.ticker-pill:hover{color:#fff;background:#6366f133;border-color:#6366f166}.calc-summary-box{border-radius:var(--radius-md);background:#6366f114;border:1px solid #6366f133;justify-content:space-between;align-items:center;margin-top:1rem;padding:.85rem 1rem;display:flex}.calc-title{color:#a5b4fc;font-size:.8rem}.calc-amount{color:#fff;font-size:1.15rem;font-weight:700}.toast-container{z-index:9999;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:24px;right:24px}.toast{color:#fff;border-radius:var(--radius-md);border:1px solid var(--border-card);box-shadow:var(--shadow-lg);background:#1e293b;align-items:center;gap:.75rem;padding:.85rem 1.25rem;font-size:.875rem;animation:.25s cubic-bezier(.16,1,.3,1) slideInRight;display:flex}.toast.success{background:#064e3b;border-color:#10b98166}.toast.error{background:#4c0519;border-color:#f43f5e66}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScale{0%{opacity:0;transform:scale(.94)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chart-container{padding:1.5rem}.chart-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=900px){.chart-grid{grid-template-columns:1fr}}
