@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");:root{--bg-primary:#0a0b0f;--bg-secondary:#12131a;--bg-card:#181a24;--bg-card-hover:#1e2130;--bg-elevated:#22253a;--bg-input:#1a1c28;--border-primary:#2a2d3e;--border-accent:#3a3d52;--text-primary:#e8eaf0;--text-secondary:#8b8fa3;--text-muted:#5a5e73;--accent-blue:#4f8cff;--accent-blue-glow:#4f8cff33;--accent-purple:#8b5cf6;--accent-purple-glow:#8b5cf633;--profit:#22c55e;--profit-bg:#22c55e15;--profit-glow:#22c55e33;--loss:#ef4444;--loss-bg:#ef444415;--loss-glow:#ef444433;--warning:#f59e0b;--warning-bg:#f59e0b15;--font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--sidebar-width:340px;--topbar-height:60px;--border-radius:12px;--border-radius-sm:8px;--border-radius-lg:16px;--transition-fast:150ms ease;--transition-normal:250ms ease}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-accent)}.app-layout{height:100vh}.app-layout,.main-content{display:flex;overflow:hidden}.main-content{flex:1 1;flex-direction:column;margin-left:var(--sidebar-width);transition:margin-left var(--transition-normal)}@media (min-width:769px){.app-layout.desktop-sidebar-closed .main-content{margin-left:0}}.main-scrollable{flex:1 1;overflow-y:auto;padding:24px}.chart-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;z-index:9999;background-color:var(--bg-primary);display:flex;flex-direction:column;padding:1rem;border-radius:0;margin:0}.chart-fullscreen .chart-container{flex:1 1;height:100%!important}.sidebar{width:var(--sidebar-width);height:100vh;background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;transition:transform var(--transition-normal)}@media (min-width:769px){.app-layout.desktop-sidebar-closed .sidebar{transform:translateX(-100%)}}.sidebar-header{padding:20px;border-bottom:1px solid var(--border-primary)}.sidebar-logo{display:flex;align-items:center;gap:10px}.sidebar-logo h1{font-size:18px;font-weight:700;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-logo .logo-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));display:flex;align-items:center;justify-content:center;font-size:16px}.ws-status{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:11px;color:var(--text-muted)}.ws-dot{width:6px;height:6px;border-radius:50%;background:var(--loss)}.ws-dot.connected{background:var(--profit);box-shadow:0 0 6px var(--profit-glow)}.sidebar-assets{flex:1 1;overflow-y:auto;padding:12px}.sidebar-filter{padding:10px 12px 0}.sidebar-filter,.sidebar-search{display:flex;align-items:center;gap:6px}.sidebar-search{flex:1 1;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-sm);color:var(--text-muted);transition:border-color var(--transition-fast)}.sidebar-search:focus-within{border-color:var(--border-accent,#4f8cff)}.sidebar-search input{flex:1 1;min-width:0;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:12px}.sidebar-search input::-webkit-search-cancel-button{display:none}.sidebar-search button{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;padding:0}.sidebar-search button:hover{color:var(--text-primary)}.sidebar-sort-btn{display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-sm);color:var(--text-muted);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;transition:color var(--transition-fast),border-color var(--transition-fast)}.sidebar-sort-btn:hover{color:var(--text-primary)}.sidebar-sort-btn.active{color:#4f8cff;border-color:rgba(79,140,255,.5)}.sidebar-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);padding:8px 8px 12px}.asset-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);margin-bottom:4px}.asset-item.active,.asset-item:hover{background:var(--bg-card)}.asset-item.active{border:1px solid var(--border-accent)}.asset-item-left{gap:10px}.asset-icon,.asset-item-left{display:flex;align-items:center}.asset-icon{width:32px;height:32px;border-radius:50%;background:var(--bg-elevated);justify-content:center;font-size:12px;font-weight:700;color:var(--accent-blue)}.asset-info .symbol{font-size:13px;font-weight:600}.asset-info .type{font-size:11px;color:var(--text-muted)}.asset-price{text-align:right}.asset-price .price{font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.asset-item-right{display:flex;align-items:center;gap:8px}.asset-delete-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:0}.asset-item:hover .asset-delete-btn{opacity:1}.asset-delete-btn.confirm,.asset-delete-btn:hover{color:var(--loss);background:var(--loss-bg)}.asset-delete-btn.confirm{opacity:1}.asset-delete-btn.confirm:hover{background:var(--loss);color:white}.asset-delete-btn.cancel{opacity:1;color:var(--text-muted);background:var(--bg-elevated)}.asset-delete-btn.cancel:hover{color:var(--text-primary)}.asset-delete-confirm{display:flex;gap:2px}.sidebar-footer{padding:16px;border-top:1px solid var(--border-primary)}.add-asset-btn{width:100%;padding:10px;border:1px dashed var(--border-accent);border-radius:var(--border-radius-sm);background:transparent;color:var(--text-secondary);font-size:13px;font-family:var(--font-family);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all var(--transition-fast)}.add-asset-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:var(--accent-blue-glow)}.pnl-dashboard{padding:24px;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.pnl-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.pnl-header h2{font-size:16px;font-weight:600}.pnl-total{display:flex;gap:24px}.pnl-stat{text-align:center}.pnl-stat .label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.pnl-stat .value{font-size:22px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pnl-stat .value.profit{color:var(--profit)}.pnl-stat .value.loss{color:var(--loss)}.pnl-entries{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px}.pnl-entry-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--border-radius-sm);padding:14px;transition:all var(--transition-fast)}.pnl-entry-card:hover{border-color:var(--border-accent)}.pnl-tools-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:210px;padding:6px;background:#13141f;border:1px solid #2a2d3e;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:2px}.pnl-tools-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:7px;color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.pnl-tools-menu button:hover{background:rgba(79,140,255,.12)}.pnl-tools-menu .icon{display:flex;color:#4f8cff;flex-shrink:0}.pnl-tools-menu .label{display:block;font-weight:600}.pnl-tools-menu .hint{display:block;font-size:11px;color:var(--text-muted)}.pnl-entry-card.alert-reached{--alert-glow:245,158,11;border-color:rgb(var(--alert-glow));background:rgba(var(--alert-glow),.08);animation:alert-pulse 1.8s ease-in-out infinite}.pnl-entry-card.alert-reached-up{--alert-glow:34,197,94}.pnl-entry-card.alert-reached-down{--alert-glow:239,68,68}.pnl-entry-card.alert-reached:hover{border-color:rgb(var(--alert-glow))}@keyframes alert-pulse{0%,to{box-shadow:0 0 0 0 rgba(var(--alert-glow),0)}50%{box-shadow:0 0 12px 1px rgba(var(--alert-glow),.45)}}.pnl-entry-card .entry-symbol{font-size:13px;font-weight:600;margin-bottom:8px}.pnl-entry-card .entry-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}.pnl-entry-card .entry-row .label{color:var(--text-muted)}.pnl-entry-card .entry-pnl{font-size:15px;font-weight:700;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-primary)}.chart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:16px;margin-bottom:24px}.chart-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--border-radius);overflow:hidden;transition:all var(--transition-normal)}.chart-card:hover{border-color:var(--border-accent);box-shadow:0 8px 32px rgba(0,0,0,.3)}.chart-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-primary)}.chart-card-header .chart-title{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.chart-card-header .chart-price{font-size:14px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-card-header .indicator-badges{display:flex;gap:6px}.indicator-badge{font-size:10px;padding:3px 8px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.indicator-badge.oversold{background:var(--profit-bg);color:var(--profit)}.indicator-badge.overbought{background:var(--loss-bg);color:var(--loss)}.indicator-badge.bullish{background:var(--profit-bg);color:var(--profit)}.indicator-badge.bearish{background:var(--loss-bg);color:var(--loss)}.indicator-badge.neutral{background:var(--warning-bg);color:var(--warning)}.chart-container{width:100%;height:300px;position:relative}.chart-empty{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-muted);font-size:13px}.timeframe-selector{display:flex;gap:2px;background:var(--bg-secondary);border-radius:6px;padding:2px}.timeframe-btn{padding:4px 10px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:11px;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast);letter-spacing:.3px}.timeframe-btn:hover{color:var(--text-secondary);background:var(--bg-card-hover)}.timeframe-btn.active{background:var(--accent-blue);color:white;box-shadow:0 2px 8px var(--accent-blue-glow)}.strategy-panel{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--border-radius);padding:20px;margin-bottom:24px}.strategy-panel h3{font-size:15px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:8px}.strategy-section{margin-bottom:16px}.strategy-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:10px}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--border-radius-sm);margin-bottom:4px;transition:background var(--transition-fast)}.toggle-row:hover{background:var(--bg-card-hover)}.toggle-label{font-size:13px;font-weight:500}.indicator-color-line{display:inline-block;width:12px;height:3px;border-radius:2px;opacity:.9}.strategy-item-wrapper{margin-bottom:4px}.settings-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.settings-btn.active,.settings-btn:hover{color:var(--accent-blue);background:var(--bg-card)}.tooltip-container{position:relative;display:inline-flex;align-items:center;margin-left:8px;color:var(--text-muted);cursor:help;transition:color var(--transition-fast)}.tooltip-container:hover{color:var(--accent-blue)}.tooltip-content{visibility:hidden;opacity:0;width:250px;background-color:var(--bg-card);color:var(--text-primary);text-align:left;border-radius:6px;padding:10px 12px;position:absolute;z-index:100;bottom:150%;left:50%;transform:translateX(-50%);border:1px solid var(--border-primary);box-shadow:0 4px 16px rgba(0,0,0,.5);font-size:11px;font-weight:400;line-height:1.5;white-space:pre-wrap;transition:opacity .2s,visibility .2s;pointer-events:none}.tooltip-content:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--border-primary) transparent transparent transparent}.tooltip-container:hover .tooltip-content{visibility:visible;opacity:1}.parameter-editor{background:var(--bg-secondary);border-radius:6px;padding:12px;margin:4px 0 12px 12px;border-left:2px solid var(--accent-blue);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.parameter-inputs{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-bottom:12px}.parameter-field label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:4px;text-transform:capitalize}.parameter-field input{width:100%;background:var(--bg-card);border:1px solid var(--border-primary);color:var(--text-primary);border-radius:4px;padding:4px 8px;font-size:12px}.parameter-field input:focus{outline:none;border-color:var(--accent-blue)}.parameter-actions{display:flex;justify-content:flex-end;gap:8px}.parameter-actions button{padding:4px 12px;font-size:11px;font-weight:600;border-radius:4px;cursor:pointer;border:none;transition:all var(--transition-fast)}.parameter-actions .btn-cancel{background:var(--bg-card);color:var(--text-muted)}.parameter-actions .btn-cancel:hover{color:var(--text-primary)}.parameter-actions .btn-save{background:var(--accent-blue);color:white}.parameter-actions .btn-save:hover{background:var(--accent-blue-hover)}.toggle-desc{font-size:11px;color:var(--text-muted);margin-top:2px}.toggle-switch{position:relative;width:40px;height:22px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{inset:0;background:var(--bg-elevated);border-radius:11px}.toggle-slider,.toggle-slider:before{position:absolute;transition:all var(--transition-fast)}.toggle-slider:before{content:"";width:16px;height:16px;border-radius:50%;background:var(--text-secondary);bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background:var(--accent-blue)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(18px);background:white}.portfolio-controls{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--border-radius);padding:20px}.portfolio-controls h3{font-size:15px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:8px}.portfolio-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.portfolio-stat-card{background:var(--bg-elevated);border-radius:var(--border-radius-sm);padding:14px;text-align:center}.portfolio-stat-card .stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.portfolio-stat-card .stat-value{font-size:18px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.form-row{display:flex;gap:12px;margin-bottom:12px}.form-group{flex:1 1}.form-group label{display:block;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:10px 12px;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:13px;font-family:var(--font-family);transition:border-color var(--transition-fast);outline:none}.form-group input:focus,.form-group select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-glow)}.form-group input::placeholder{color:var(--text-muted)}.btn{padding:10px 20px;border-radius:var(--border-radius-sm);font-size:13px;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast);border:none;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));color:white}.btn-primary:hover{opacity:.9;box-shadow:0 4px 16px var(--accent-blue-glow)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover{border-color:var(--border-accent);background:var(--bg-card-hover)}.btn-danger{background:var(--loss-bg);color:var(--loss);border:1px solid var(--loss)}.btn-danger:hover{background:var(--loss);color:white}.btn-sm{padding:6px 12px;font-size:12px}.entries-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:16px}.entries-table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);text-align:left}.entries-table td,.entries-table th{padding:10px 12px;border-bottom:1px solid var(--border-primary)}.entries-table td{font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.entries-table tr:hover td{background:var(--bg-card-hover)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:24px;width:90%;max-width:480px;animation:slideUp .25s ease}.modal h3{font-size:16px;font-weight:600;margin-bottom:20px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section-title{font-size:16px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:8px}.empty-state{text-align:center;padding:48px 20px;color:var(--text-muted)}.empty-state .icon{font-size:48px;margin-bottom:12px}.empty-state p{font-size:14px;margin-bottom:16px}.tabs{display:flex;gap:4px;background:var(--bg-secondary);padding:4px;border-radius:var(--border-radius-sm);margin-bottom:20px}.tab{flex:1 1;padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;font-family:var(--font-family);cursor:pointer;border-radius:6px;transition:all var(--transition-fast)}.tab.active{background:var(--bg-card)}.tab.active,.tab:hover:not(.active){color:var(--text-primary)}.text-muted{color:var(--text-muted)}.text-center{text-align:center}.mb-0{margin-bottom:0}.mt-12{margin-top:12px}.notifications-container{position:relative;display:inline-block;z-index:200}.notifications-btn{background:var(--bg-card);border:1px solid var(--border-primary);color:var(--text-muted);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all var(--transition-fast)}.notifications-btn:hover{color:var(--text-primary);border-color:var(--accent-blue);box-shadow:0 0 10px rgba(79,140,255,.2)}.notifications-badge{position:absolute;top:-4px;right:-4px;background:var(--warning);color:white;font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-main);box-shadow:0 2px 4px rgba(0,0,0,.3)}.notifications-dropdown{position:absolute;top:100%;right:0;margin-top:8px;width:420px;max-height:560px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.6);display:flex;flex-direction:column;overflow:hidden;animation:slideDown .2s ease-out}.notifications-header{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.notifications-header h3{font-size:14px;font-weight:600;margin:0}.close-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px}.close-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.notifications-body{overflow-y:auto;flex:1 1}.notifications-empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:13px}.notification-item{border-bottom:1px solid var(--border-primary);background:var(--bg-card)}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:rgba(79,140,255,.05);border-left:2px solid var(--accent-blue)}.notification-summary{padding:12px 16px;cursor:pointer;transition:background var(--transition-fast)}.notification-summary:hover{background:var(--bg-card-hover)}.notification-title{font-size:13px;font-weight:500;margin-bottom:4px}.notification-symbol{color:var(--accent-blue);font-weight:600}.notification-time{font-size:11px;color:var(--text-muted)}.notification-payload{padding:0 16px 16px;font-size:11px;animation:slideDown .15s ease-out}.notification-payload pre{margin:0;background:var(--bg-secondary);padding:12px;border-radius:6px;overflow-x:auto;color:var(--success);font-family:monospace;border:1px solid var(--border-primary)}.topbar-icon-btn{background:var(--bg-card);border:1px solid var(--border-primary);color:var(--text-muted);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all var(--transition-fast)}.topbar-icon-btn.active,.topbar-icon-btn:hover{color:var(--text-primary);border-color:var(--accent-blue);box-shadow:0 0 10px rgba(79,140,255,.2)}.topbar-badge{position:absolute;top:-4px;right:-4px;background:var(--accent-blue);color:white;font-size:9px;font-weight:700;min-width:18px;height:18px;padding:0 4px;border-radius:9px;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-primary)}.trade-log-dropdown{position:relative}.trade-log-panel-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:640px;max-height:520px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--border-radius);box-shadow:0 16px 48px rgba(0,0,0,.5);z-index:200;display:flex;flex-direction:column;overflow:hidden;animation:slideDown .15s ease-out}.trade-log-scroll{flex:1 1;overflow-y:auto;overflow-x:auto}.trade-log-panel{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--border-radius);overflow:hidden;margin-bottom:24px}.trade-log-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-primary)}.trade-log-header h3{font-size:15px;font-weight:600}.trade-log-controls{display:flex;align-items:center;gap:12px}.trade-log-count{font-size:11px;color:var(--text-muted);font-weight:500}.trade-log-filter{display:flex;align-items:center;gap:4px;color:var(--text-muted);background:var(--bg-secondary);border-radius:6px;padding:3px}.trade-filter-btn{padding:4px 10px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:10px;font-weight:700;font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast);letter-spacing:.5px}.trade-filter-btn:hover{color:var(--text-secondary);background:var(--bg-card-hover)}.trade-filter-btn.active{color:white;background:var(--accent-blue);box-shadow:0 2px 8px var(--accent-blue-glow)}.trade-filter-btn.active.buy{background:var(--profit);box-shadow:0 2px 8px var(--profit-glow)}.trade-filter-btn.active.sell{background:var(--loss);box-shadow:0 2px 8px var(--loss-glow)}.trade-log-stats{display:flex;gap:0;border-bottom:1px solid var(--border-primary)}.trade-stat{flex:1 1;display:flex;flex-direction:column;align-items:center;padding:12px 16px;border-right:1px solid var(--border-primary)}.trade-stat:last-child{border-right:none}.trade-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px}.trade-stat-value{font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.trade-log-empty{padding:40px;text-align:center;color:var(--text-muted);font-size:13px}.trade-log-table-wrapper{overflow-x:auto}.trade-log-table{width:100%;border-collapse:collapse;font-size:13px}.trade-log-table thead th{padding:10px 14px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);text-align:left;background:var(--bg-secondary)}.trade-log-table tbody td,.trade-log-table thead th{border-bottom:1px solid var(--border-primary);white-space:nowrap}.trade-log-table tbody td{padding:12px 14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.trade-log-row{cursor:pointer;transition:background var(--transition-fast)}.trade-log-row.expanded,.trade-log-row:hover{background:var(--bg-card-hover)}.td-date{display:flex;flex-direction:column;gap:2px}.date-main{font-weight:500;font-size:12px}.date-time{font-size:10px;color:var(--text-muted)}.td-symbol{font-weight:600;color:var(--text-primary)}.td-price{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.td-expand{color:var(--text-muted);text-align:center}.signal-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.5px}.signal-badge.buy{background:var(--profit-bg);color:var(--profit)}.signal-badge.sell{background:var(--loss-bg);color:var(--loss)}.signal-score{font-weight:600;color:var(--warning)}.http-pill{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px}.http-pill.success{background:var(--profit-bg);color:var(--profit)}.http-pill.error{background:var(--loss-bg);color:var(--loss)}.http-pill.local{background:var(--bg-elevated);color:var(--text-muted)}.text-profit{color:var(--profit)}.text-loss{color:var(--loss)}.text-warning{color:var(--warning)}.text-neutral{color:var(--text-secondary)}.trade-log-detail-row td{padding:0!important;border-bottom:2px solid var(--border-accent)}.trade-detail{padding:16px 20px;background:var(--bg-secondary);animation:slideDown .2s ease-out}.trade-detail-reason{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--text-secondary);font-style:italic;padding:10px 14px;background:var(--bg-primary);border-radius:var(--border-radius-sm);border-left:3px solid var(--accent-blue);margin-bottom:14px;line-height:1.5}.trade-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.trade-detail-section-title{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px}.trade-detail-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--border-radius-sm);padding:10px 12px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.detail-row+.detail-row{border-top:1px solid #1e2130}.detail-label{font-size:11px;color:var(--text-muted)}.detail-value{font-size:11px;font-weight:600;color:var(--text-primary)}.detail-triggers{display:flex;flex-wrap:wrap;gap:3px;justify-content:flex-end}.trigger-tag{font-size:9px;font-weight:600;padding:1px 6px;border-radius:3px;background:#4f8cff22;color:var(--accent-blue)}.td-notes{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-muted)}.trade-pnl-pct{font-size:10px;font-weight:500}.desktop-menu-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;transition:color var(--transition-fast)}.desktop-menu-btn:hover{color:var(--text-primary)}@media (max-width:768px){.desktop-menu-btn{display:none}}.mobile-topbar{display:none;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);width:100%}.mobile-topbar-left{display:flex;align-items:center;gap:12px}.hamburger-btn{background:transparent;border:none;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity var(--transition-normal);pointer-events:none}.sidebar-overlay.open{display:block;opacity:1;pointer-events:auto}.sidebar-close-btn{display:none;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px}.controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:1024px){.chart-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}}@media (max-width:768px){.sidebar{transform:translateX(-100%);transition:transform var(--transition-normal);width:280px;box-shadow:4px 0 24px rgba(0,0,0,.5)}.sidebar.open{transform:translateX(0)}.sidebar-header{display:flex;justify-content:space-between;align-items:center}.sidebar-close-btn{display:flex}.main-content{margin-left:0}.mobile-topbar{display:flex}.main-scrollable,.pnl-dashboard{padding:16px}.pnl-header{flex-direction:column;align-items:flex-start;gap:16px}.pnl-header-right{width:100%;flex-direction:column;align-items:stretch!important;gap:12px!important}.pnl-ai-btn{justify-content:center}.pnl-total{width:100%;justify-content:space-between;gap:12px}.pnl-stat .value{font-size:18px}.chart-grid{grid-template-columns:1fr}.chart-card{min-width:0;overflow:hidden}.chart-card-header{flex-wrap:wrap;gap:8px;padding:10px 12px}.chart-card-header .chart-title{font-size:13px}.chart-card-header .indicator-badges{flex-wrap:wrap}.chart-container{width:100%;height:250px;min-width:0;overflow:hidden}.chart-empty{height:250px}.controls-grid{grid-template-columns:1fr}.main-content>div:first-child{justify-content:flex-end;padding:12px 16px 0}}@media (max-width:480px){.pnl-total{flex-direction:column;align-items:flex-start;gap:8px}.pnl-entries{grid-template-columns:1fr}.form-row{flex-direction:column;gap:12px}.entries-table{display:block;overflow-x:auto;white-space:nowrap}}:root{--v2-bg:#090b10;--v2-surface:rgba(18,21,30,0.92);--v2-surface-strong:#151923;--v2-surface-soft:rgba(29,34,47,0.66);--v2-border:rgba(132,146,178,0.16);--v2-border-strong:rgba(108,145,255,0.34);--v2-accent:#6c91ff;--v2-accent-soft:rgba(108,145,255,0.12);--v2-text:#f1f4fb;--v2-muted:#8790a7;--v2-faint:#5f687e;--v2-radius:18px;--v2-shadow:0 18px 55px rgba(0,0,0,0.26)}body{background:radial-gradient(circle at 58% -20%,rgba(76,108,210,.12),transparent 34%),radial-gradient(circle at 90% 18%,rgba(105,70,190,.08),transparent 30%),var(--v2-bg)}.v2-topbar{min-height:72px;display:flex;justify-content:space-between;gap:16px;padding:12px 24px;border-bottom:1px solid var(--v2-border);background:rgba(9,11,16,.82);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0;z-index:70}.v2-nav,.v2-topbar-actions,.v2-topbar-left{display:flex;align-items:center}.v2-topbar-left{gap:16px;min-width:0}.v2-nav{gap:4px;padding:4px;background:rgba(22,26,37,.72);border:1px solid var(--v2-border);border-radius:12px}.v2-nav button{border:0;background:transparent;color:var(--v2-muted);border-radius:9px;padding:9px 13px;font:inherit;font-size:12px;font-weight:650;cursor:pointer;display:flex;align-items:center;gap:7px;transition:.15s ease}.v2-nav button:hover{color:var(--v2-text);background:rgba(255,255,255,.035)}.v2-nav button.active{color:white;background:var(--v2-accent-soft);box-shadow:inset 0 0 0 1px var(--v2-border-strong)}.v2-workspace{padding:28px;max-width:1740px;width:100%;margin:0 auto}.v2-chart-toolbar,.v2-hero-topline,.v2-inspector-header,.v2-market-toolbar,.v2-page-heading,.v2-panel-heading,.v2-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.v2-page-heading{margin-bottom:22px;align-items:flex-end}.v2-page-heading h1{font-size:clamp(24px,3vw,36px);letter-spacing:-.04em;margin:3px 0 6px}.v2-page-heading p{color:var(--v2-muted);max-width:760px;font-size:13px;line-height:1.55}.v2-eyebrow{color:#96a7d6;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:750}.v2-live-pill,.v2-risk-posture{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--v2-border);background:rgba(255,255,255,.025);padding:7px 10px;border-radius:999px;color:var(--v2-muted);font-size:11px;font-weight:700;white-space:nowrap}.v2-live-pill.connected{color:#49dda0;border-color:rgba(55,217,150,.25);background:rgba(55,217,150,.07)}.v2-risk-posture.good{color:#49dda0}.v2-risk-posture.watch{color:#f2b855}.v2-risk-posture.risk{color:#ff7180}.v2-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:18px;padding:26px;border:1px solid var(--v2-border);border-radius:24px;background:linear-gradient(120deg,rgba(80,112,215,.12),transparent 42%),linear-gradient(160deg,rgba(22,26,37,.94),rgba(13,16,23,.94));box-shadow:var(--v2-shadow);overflow:hidden;position:relative}.v2-hero:after{content:"";position:absolute;width:280px;height:280px;right:-120px;top:-150px;border-radius:50%;background:rgba(108,145,255,.08);filter:blur(8px);pointer-events:none}.v2-hero-copy{min-width:0;position:relative;z-index:1}.v2-hero-value{font-size:clamp(42px,6vw,68px);font-weight:780;letter-spacing:-.055em;line-height:1;margin:18px 0 12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.v2-hero-change{display:flex;align-items:center;gap:8px;font-size:13px}.v2-hero-change strong{font-size:18px}.v2-hero-copy>p{color:var(--v2-muted);line-height:1.55;font-size:12px;margin-top:12px;max-width:600px}.v2-hero-actions{display:flex;gap:8px;margin-top:22px}.v2-primary-action,.v2-secondary-action{border-radius:10px;padding:10px 14px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.15s ease}.v2-primary-action{border:1px solid #7b9bff;background:linear-gradient(135deg,#6489ff,#765ce6);color:white;box-shadow:0 8px 24px rgba(87,116,220,.22)}.v2-primary-action:hover{transform:translateY(-1px);filter:brightness(1.06)}.v2-secondary-action{border:1px solid var(--v2-border);background:rgba(255,255,255,.035);color:var(--v2-text)}.v2-secondary-action:hover{border-color:var(--v2-border-strong);background:var(--v2-accent-soft)}.v2-primary-action:disabled,.v2-secondary-action:disabled{opacity:.48;cursor:not-allowed;transform:none}.v2-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative;z-index:1}.v2-hero-stats article,.v2-metric-card{border:1px solid var(--v2-border);background:rgba(255,255,255,.025);border-radius:14px;padding:16px;min-width:0}.v2-hero-stats article{display:flex;flex-direction:column;justify-content:center;min-height:118px}.v2-hero-stats svg,.v2-metric-card svg{color:#8ea5ef;margin-bottom:12px}.v2-hero-stats span,.v2-metric-card>span{color:var(--v2-muted);font-size:11px}.v2-hero-stats strong{font-size:22px;margin-top:5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.v2-overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);gap:18px;margin-top:18px}.v2-side-stack{display:grid;gap:18px;align-content:start}.v2-chart-panel,.v2-panel,.v2-section{border:1px solid var(--v2-border);background:var(--v2-surface);border-radius:var(--v2-radius);box-shadow:0 12px 36px rgba(0,0,0,.12)}.v2-panel{padding:18px}.v2-chart-panel{padding:18px 18px 12px;min-width:0}.v2-section{margin-top:18px;padding:20px}.v2-panel-heading{margin-bottom:14px}.v2-chart-toolbar h3,.v2-panel-heading h3{font-size:15px;margin-top:3px}.v2-panel-heading>button,.v2-panel-heading>span{font-size:10px;color:var(--v2-muted)}.v2-panel-heading>button{background:none;border:0;cursor:pointer;font:inherit}.v2-panel-heading>button:hover{color:var(--v2-accent)}.v2-chart-toolbar{margin-bottom:12px;align-items:flex-end}.v2-lab-timeframes,.v2-range-selector,.v2-view-toggle{display:flex;align-items:center;gap:3px;background:rgba(255,255,255,.03);border:1px solid var(--v2-border);padding:3px;border-radius:9px}.v2-lab-timeframes button,.v2-range-selector button,.v2-view-toggle button{border:0;background:transparent;color:var(--v2-muted);border-radius:6px;padding:6px 8px;font:inherit;font-size:10px;font-weight:700;cursor:pointer}.v2-lab-timeframes button.active,.v2-range-selector button.active,.v2-view-toggle button.active{background:var(--v2-accent-soft);color:#b9c8ff;box-shadow:inset 0 0 0 1px rgba(108,145,255,.25)}.v2-view-toggle button{display:flex;align-items:center;gap:5px}.v2-value-chart{width:100%;height:300px}.v2-chart-empty,.v2-market-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--v2-muted);padding:28px}.v2-market-empty h2{color:var(--v2-text);font-size:18px;margin:10px 0 6px}.v2-market-empty p{max-width:520px;font-size:12px;line-height:1.55}.v2-market-empty.compact{min-height:180px}.v2-chart-legend{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:10px;color:var(--v2-faint);padding-top:6px}.v2-chart-legend .btc-dot,.v2-chart-legend .portfolio-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.v2-chart-legend .portfolio-dot{background:#37d996}.v2-chart-legend .btc-dot{background:#f6a947;margin-left:9px}.v2-allocation-list,.v2-mover-list{display:grid;gap:11px}.v2-allocation-row{display:grid;grid-template-columns:minmax(110px,1fr) 1.1fr 42px;align-items:center;gap:9px}.v2-allocation-label{display:flex;flex-direction:column;gap:2px;min-width:0}.v2-allocation-label strong{font-size:11px;overflow:hidden;text-overflow:ellipsis}.v2-allocation-label span,.v2-allocation-pct{color:var(--v2-muted);font-size:10px}.v2-allocation-track{height:5px;border-radius:99px;background:rgba(255,255,255,.05);overflow:hidden}.v2-allocation-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5c82ff,#9873ee)}.v2-mover-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(132,146,178,.09)}.v2-mover-row:last-child{border-bottom:0}.v2-mover-row>div{display:flex;flex-direction:column;gap:2px}.v2-mover-row strong{font-size:11px}.v2-mover-row span{color:var(--v2-muted);font-size:10px}.v2-empty-inline{color:var(--v2-muted);font-size:11px;line-height:1.5}.v2-section-heading{align-items:flex-end;margin-bottom:16px}.v2-section-heading h2{font-size:19px;margin-top:4px;letter-spacing:-.02em}.v2-metric-grid{display:grid;gap:10px}.v2-metric-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.v2-metric-grid-six{grid-template-columns:repeat(6,minmax(0,1fr))}.v2-metric-card{display:flex;flex-direction:column;min-height:128px}.v2-metric-card.emphasized{border-color:rgba(108,145,255,.28);background:rgba(108,145,255,.055)}.v2-metric-card strong{font-size:19px;margin-top:7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-metric-card small{color:var(--v2-faint);font-size:9px;line-height:1.45;margin-top:auto;padding-top:8px}.v2-risk-strip{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-top:12px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.022);border:1px solid rgba(132,146,178,.09)}.v2-risk-strip p{color:var(--v2-muted);font-size:11px;margin-top:6px}.v2-risk-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.v2-risk-tags span{padding:5px 8px;border-radius:7px;background:rgba(242,184,85,.08);border:1px solid rgba(242,184,85,.2);color:#e2b45c;font-size:9px}.v2-footnote{color:var(--v2-faint)!important;font-size:9px!important}.v2-market-toolbar{padding:10px;border:1px solid var(--v2-border);border-radius:14px;background:rgba(18,21,30,.74);margin-bottom:14px}.v2-selected-assets{display:flex;align-items:center;gap:6px;overflow-x:auto;padding-bottom:2px}.v2-selected-assets button{min-width:105px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--v2-border);background:rgba(255,255,255,.025);border-radius:9px;padding:7px 9px;color:var(--v2-text);cursor:pointer}.v2-selected-assets button span{font-size:10px;font-weight:750}.v2-selected-assets button small{color:var(--v2-muted);font-size:9px}.v2-selected-assets button.active{border-color:var(--v2-border-strong);background:var(--v2-accent-soft)}.v2-market-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}.v2-market-layout.grid-mode{grid-template-columns:1fr}.v2-market-charts{min-width:0}.v2-market-charts .chart-grid{grid-template-columns:1fr;margin-bottom:0}.v2-market-layout.grid-mode .v2-market-charts .chart-grid{grid-template-columns:repeat(auto-fit,minmax(460px,1fr))}.v2-market-charts .chart-card{border-radius:16px;background:rgba(18,21,30,.9)}.v2-market-charts .chart-container{height:420px}.v2-market-layout.grid-mode .v2-market-charts .chart-container{height:300px}.v2-market-inspector{border:1px solid var(--v2-border);border-radius:16px;background:var(--v2-surface);padding:18px;position:sticky;top:88px}.v2-inspector-header h2{margin-top:3px;font-size:19px}.v2-inspector-header button{border:0;background:transparent;color:var(--v2-muted);font-size:22px;cursor:pointer}.v2-inspector-price{font-size:29px;font-weight:760;letter-spacing:-.04em;margin:20px 0 5px}.v2-market-inspector>.text-loss,.v2-market-inspector>.text-profit{font-size:11px}.v2-inspector-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.v2-inspector-grid div{border:1px solid rgba(132,146,178,.1);background:rgba(255,255,255,.02);border-radius:9px;padding:10px;display:flex;flex-direction:column;gap:4px}.v2-inspector-grid span{color:var(--v2-muted);font-size:9px}.v2-inspector-grid strong{font-size:11px}.v2-inspector-section{margin-top:18px;border-top:1px solid var(--v2-border);padding-top:16px}.v2-level-row{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid rgba(132,146,178,.08);font-size:10px}.v2-level-row>div{display:flex;gap:8px;color:var(--v2-muted)}.v2-position-panel{margin-top:14px}.v2-position-table-wrap{overflow:auto;border:1px solid rgba(132,146,178,.1);border-radius:12px}.v2-position-table{width:100%;border-collapse:collapse;font-size:11px}.v2-position-table th{text-align:left;color:var(--v2-faint);text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:750;padding:10px 12px;background:rgba(255,255,255,.02)}.v2-position-table td{padding:12px;border-top:1px solid rgba(132,146,178,.08);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.v2-position-table td:first-child,.v2-position-table td:nth-last-child(2){display:table-cell}.v2-position-table td small,.v2-position-table td strong{display:block}.v2-position-table td small{color:var(--v2-faint);margin-top:3px;font-size:8px}.v2-ledger-panel{margin-top:18px}.v2-ledger-panel .portfolio-controls{border-radius:16px;background:var(--v2-surface);border-color:var(--v2-border)}.v2-lab-layout{display:grid;grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);gap:16px;align-items:start}.v2-lab-runner{position:sticky;top:88px}.v2-lab-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v2-json-field,.v2-lab-form-grid label{display:flex;flex-direction:column;gap:6px}.v2-json-field span,.v2-lab-form-grid label span{color:var(--v2-muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em;font-weight:700}.v2-json-field textarea,.v2-lab-form-grid input,.v2-lab-form-grid select{width:100%;border:1px solid var(--v2-border);background:#0d1017;color:var(--v2-text);border-radius:9px;padding:9px 10px;outline:none;font:inherit;font-size:11px}.v2-json-field textarea:focus,.v2-lab-form-grid input:focus,.v2-lab-form-grid select:focus{border-color:var(--v2-border-strong);box-shadow:0 0 0 3px rgba(108,145,255,.08)}.v2-lab-timeframes{margin:12px 0 6px;width:fit-content}.v2-json-field{margin-top:14px}.v2-json-field textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5}.v2-lab-actions{display:flex;gap:8px;margin-top:14px}.v2-lab-message{border-radius:9px;padding:9px 10px;margin-top:10px;font-size:10px;line-height:1.45}.v2-lab-message.error{color:#ff8995;border:1px solid rgba(255,101,119,.22);background:rgba(255,101,119,.07)}.v2-lab-message.success{color:#5de0aa;border:1px solid rgba(55,217,150,.2);background:rgba(55,217,150,.06)}.v2-lab-results .v2-metric-grid{margin-bottom:16px}.v2-lab-results .v2-metric-card{min-height:110px}.v2-lab-trades{border-top:1px solid var(--v2-border);padding-top:16px}.v2-trade-pill{display:inline-flex;padding:3px 7px;border-radius:5px;font-size:8px;font-weight:800;text-transform:uppercase}.v2-trade-pill.buy{color:#4adba1;background:rgba(55,217,150,.08)}.v2-trade-pill.sell{color:#ff7785;background:rgba(255,101,119,.08)}.v2-live-strategy-config{margin-top:18px}.v2-live-strategy-config .strategy-panel{background:var(--v2-surface);border-color:var(--v2-border);border-radius:var(--v2-radius)}@media (max-width:1320px){.v2-metric-grid-six{grid-template-columns:repeat(3,minmax(0,1fr))}.v2-overview-grid{grid-template-columns:1fr}.v2-side-stack{grid-template-columns:1fr 1fr}.v2-market-layout{grid-template-columns:minmax(0,1fr) 270px}}@media (max-width:1050px){.v2-nav button span{display:none}.v2-hero{grid-template-columns:1fr}.v2-hero-stats{grid-template-columns:repeat(4,1fr)}.v2-hero-stats article{min-height:96px}.v2-metric-grid-four{grid-template-columns:1fr 1fr}.v2-lab-layout{grid-template-columns:1fr}.v2-lab-runner{position:static}.v2-market-layout{grid-template-columns:1fr}.v2-market-inspector{position:static;display:grid;grid-template-columns:1fr 1fr;gap:12px}.v2-inspector-header,.v2-inspector-section{grid-column:1/-1}.v2-inspector-grid{margin-top:0}}@media (max-width:768px){.v2-topbar{min-height:60px;padding:9px 12px;flex-wrap:wrap}.v2-topbar-left{width:100%;justify-content:space-between}.v2-topbar-actions{position:absolute;right:12px;top:10px}.v2-nav{width:100%;overflow-x:auto}.v2-nav button{flex:1 1;justify-content:center;padding:8px 7px}.v2-nav button span{display:inline}.v2-workspace{padding:16px}.v2-page-heading{align-items:flex-start;flex-direction:column}.v2-hero{padding:18px;border-radius:18px}.v2-hero-value{font-size:44px}.v2-hero-stats{grid-template-columns:1fr 1fr}.v2-side-stack{grid-template-columns:1fr}.v2-chart-toolbar,.v2-market-toolbar,.v2-risk-strip,.v2-section-heading{align-items:flex-start;flex-direction:column}.v2-range-selector{width:100%;overflow-x:auto}.v2-range-selector button{flex:1 1}.v2-metric-grid-six{grid-template-columns:1fr 1fr}.v2-market-charts .chart-container{height:330px}.v2-market-layout.grid-mode .v2-market-charts .chart-grid{grid-template-columns:1fr}.v2-market-inspector{display:block}.v2-inspector-grid{margin-top:16px}.v2-lab-form-grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.v2-nav button span{display:none}.v2-hero-stats,.v2-metric-grid-four,.v2-metric-grid-six{grid-template-columns:1fr 1fr}.v2-hero-actions,.v2-lab-actions{flex-direction:column}.v2-primary-action,.v2-secondary-action{width:100%}.v2-hero-value{font-size:38px}.v2-allocation-row{grid-template-columns:1fr 90px 34px}.v2-lab-form-grid{grid-template-columns:1fr}.v2-market-toolbar{gap:10px}.v2-view-toggle{width:100%}.v2-view-toggle button{flex:1 1;justify-content:center}.v2-metric-card strong{font-size:16px}}:root{--v2-surface-hover:rgba(24,28,39,0.96);--v2-shadow-soft:0 10px 34px rgba(0,0,0,0.16);--v2-focus:0 0 0 3px rgba(108,145,255,0.2)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.v2-main-scrollable{padding:0!important;scroll-behavior:smooth;overscroll-behavior:contain}.v2-auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--v2-bg);color:var(--v2-muted);font-size:13px}.v2-topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:68px;padding:10px 20px;gap:14px;box-shadow:0 1px 0 rgba(255,255,255,.015)}.v2-topbar-actions,.v2-topbar-brand{display:flex;align-items:center}.v2-topbar-brand{gap:10px;min-width:0}.v2-topbar-actions{gap:6px;justify-self:end}.v2-nav{justify-self:center}.v2-brand{border:0;background:transparent;color:var(--v2-text);display:inline-flex;align-items:center;gap:8px;padding:6px 7px;border-radius:9px;cursor:pointer;font:inherit}.v2-brand:hover{background:rgba(255,255,255,.035)}.v2-brand-text{font-size:12px;font-weight:760;letter-spacing:-.015em}.v2-brand-mark{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:linear-gradient(145deg,#7ba0ff,#876af2);box-shadow:0 0 0 4px rgba(108,145,255,.08),0 0 18px rgba(108,145,255,.42)}.desktop-menu-btn,.hamburger-btn,.v2-brand,.v2-data-status button,.v2-empty-inline-action button,.v2-inspector-header button,.v2-lab-timeframes button,.v2-nav button,.v2-panel-heading>button,.v2-primary-action,.v2-range-selector button,.v2-secondary-action,.v2-selected-assets button,.v2-view-toggle button{-webkit-tap-highlight-color:transparent}.desktop-menu-btn:focus-visible,.hamburger-btn:focus-visible,.v2-brand:focus-visible,.v2-data-status button:focus-visible,.v2-empty-inline-action button:focus-visible,.v2-inspector-header button:focus-visible,.v2-json-field textarea:focus-visible,.v2-lab-form-grid input:focus-visible,.v2-lab-form-grid select:focus-visible,.v2-lab-timeframes button:focus-visible,.v2-nav button:focus-visible,.v2-panel-heading>button:focus-visible,.v2-primary-action:focus-visible,.v2-range-selector button:focus-visible,.v2-secondary-action:focus-visible,.v2-selected-assets button:focus-visible,.v2-view-toggle button:focus-visible{outline:none;box-shadow:var(--v2-focus)}.v2-workspace{padding-bottom:38px}.v2-chart-panel,.v2-market-inspector,.v2-panel,.v2-section{box-shadow:var(--v2-shadow-soft)}.v2-hero-stats article,.v2-metric-card{transition:border-color .16s ease,background-color .16s ease}.v2-hero-stats article:hover,.v2-metric-card:hover{border-color:rgba(132,146,178,.25);background:rgba(255,255,255,.034)}.v2-panel-meta{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;border:1px solid rgba(132,146,178,.1);background:rgba(255,255,255,.02)}.v2-hero-context{color:var(--v2-faint);font-size:10px;margin-top:9px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.v2-empty-surface{border:1px dashed rgba(132,146,178,.18);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.008))}.v2-empty-inline-action{display:flex;align-items:center;justify-content:space-between;gap:12px}.v2-empty-inline-action button{border:0;background:transparent;color:#a9baff;display:inline-flex;align-items:center;gap:5px;padding:5px 6px;border-radius:7px;cursor:pointer;font:inherit;font-size:10px;font-weight:700;white-space:nowrap}.v2-empty-inline-action button:hover{background:var(--v2-accent-soft)}.v2-status-wrap{width:100%;max-width:1740px;margin:0 auto;padding:16px 28px 0}.v2-data-status{justify-content:space-between;gap:16px;padding:11px 12px 11px 14px;border:1px solid rgba(242,184,85,.22);background:rgba(242,184,85,.055);border-radius:12px;color:#e3ba67}.v2-data-status,.v2-data-status button,.v2-data-status>div{display:flex;align-items:center}.v2-data-status>div{gap:10px;min-width:0}.v2-data-status>div>div{display:flex;flex-direction:column;gap:2px;min-width:0}.v2-data-status strong{font-size:11px}.v2-data-status span{color:#aa9570;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2-data-status button{flex:0 0 auto;gap:6px;border:1px solid rgba(242,184,85,.2);background:rgba(0,0,0,.12);color:#e7c279;border-radius:8px;padding:7px 10px;font:inherit;font-size:10px;font-weight:700;cursor:pointer}@keyframes v2-shimmer{0%{background-position:140% 0}to{background-position:-140% 0}}.v2-skeleton{display:block;border-radius:10px;background:linear-gradient(100deg,rgba(255,255,255,.025) 22%,rgba(124,148,214,.08) 38%,rgba(255,255,255,.025) 54%);background-size:230% 100%;animation:v2-shimmer 1.55s ease-in-out infinite}.v2-workspace-loading{min-height:70vh}.v2-skeleton-heading{display:grid;gap:9px;margin-bottom:22px}.v2-skeleton-eyebrow{width:90px;height:9px}.v2-skeleton-title{width:min(360px,68vw);height:32px;border-radius:12px}.v2-skeleton-copy{width:min(520px,82vw);height:12px}.v2-skeleton-copy.short{width:240px}.v2-skeleton-value{width:min(390px,72vw);height:62px;margin:20px 0 15px;border-radius:16px}.v2-skeleton-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:18px;padding:26px;border:1px solid var(--v2-border);border-radius:24px;background:rgba(18,21,30,.65)}.v2-skeleton-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v2-skeleton-card{min-height:118px}.v2-skeleton-content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);gap:18px;margin-top:18px}.v2-skeleton-chart,.v2-skeleton-side{min-height:378px}.v2-skeleton-metric{min-height:128px;border:1px solid rgba(132,146,178,.08)}.v2-chart-toolbar>div:first-child{min-width:0}.v2-chart-summary{display:flex;align-items:baseline;gap:7px;margin-top:7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.v2-chart-summary strong{font-size:12px}.v2-chart-summary span{color:currentColor;opacity:.72;font-size:9px}.v2-value-chart{height:320px}.v2-chart-loading{height:320px;padding:10px 0}.v2-skeleton-chart-inner{width:100%;height:100%;border-radius:12px}.v2-chart-empty{gap:6px}.v2-chart-empty strong{color:var(--v2-text);font-size:13px;font-weight:650}.v2-chart-empty span{max-width:460px;font-size:10px;line-height:1.5}.v2-selected-assets{scroll-snap-type:x proximity;scrollbar-width:thin}.v2-selected-assets button{min-width:164px;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;scroll-snap-align:start;padding:8px 10px;transition:border-color .15s ease,background-color .15s ease,transform .15s ease}.v2-selected-assets button:hover{border-color:rgba(132,146,178,.28);transform:translateY(-1px)}.v2-market-tab-main{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:2px}.v2-market-tab-main strong{font-size:10px;max-width:105px;overflow:hidden;text-overflow:ellipsis}.v2-selected-assets button em{font-style:normal;font-size:9px;font-weight:700;white-space:nowrap}.v2-inspector-header button{width:30px;height:30px;border-radius:8px;display:grid;place-items:center}.v2-inspector-header button:hover{color:var(--v2-text);background:rgba(255,255,255,.045)}.v2-inspector-pulse{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:3px;font-size:10px}.v2-position-status{color:var(--v2-faint);border:1px solid rgba(132,146,178,.1);border-radius:999px;padding:4px 7px;font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.v2-position-status.open{color:#5ddfa9;border-color:rgba(55,217,150,.18);background:rgba(55,217,150,.055)}.v2-market-charts .chart-card{box-shadow:var(--v2-shadow-soft)}.v2-position-table-wrap{scrollbar-gutter:stable}.v2-position-table thead{position:sticky;top:0;z-index:2}.v2-position-table tbody tr{transition:background-color .13s ease}.v2-position-table tbody tr:hover{background:rgba(255,255,255,.018)}.v2-position-table td{vertical-align:middle}.v2-weight-cell{min-width:88px;display:flex;flex-direction:column;gap:6px}.v2-mini-bar{display:block;width:74px;max-width:100%;height:3px;background:rgba(255,255,255,.055);border-radius:99px;overflow:hidden}.v2-mini-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6288ff,#8c70ec)}.v2-ledger-panel .portfolio-controls{box-shadow:var(--v2-shadow-soft)}.v2-ledger-panel .portfolio-stats>div{border-color:rgba(132,146,178,.12)}.v2-lab-capacity{display:grid;gap:7px;margin-top:9px;padding:9px 10px;border:1px solid rgba(132,146,178,.1);background:rgba(255,255,255,.018);border-radius:9px}.v2-lab-capacity>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.v2-lab-capacity span{color:var(--v2-muted);font-size:9px}.v2-lab-capacity strong{font-size:9px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.v2-capacity-track{height:4px;border-radius:99px;background:rgba(255,255,255,.05);overflow:hidden}.v2-capacity-track i{display:block;height:100%;border-radius:inherit;background:#5f86ff}.v2-lab-capacity.near .v2-capacity-track i{background:#e0a84f}.v2-lab-capacity.over{border-color:rgba(255,101,119,.22)}.v2-lab-capacity.over .v2-capacity-track i{background:#ff6577}.v2-lab-note{margin-top:9px;padding:8px 10px;border-radius:8px;background:rgba(108,145,255,.055);border:1px solid rgba(108,145,255,.13);color:#94a3cb;font-size:9px;line-height:1.45}.v2-lab-results,.v2-lab-runner{min-width:0}.v2-json-field textarea{min-height:132px}@media (max-width:1320px){.v2-skeleton-content-grid{grid-template-columns:1fr}.v2-skeleton-side{min-height:220px}}@media (max-width:1050px){.v2-brand-text{display:none}.v2-skeleton-hero{grid-template-columns:1fr}.v2-skeleton-stat-grid{grid-template-columns:repeat(4,1fr)}.v2-skeleton-card{min-height:96px}}@media (max-width:768px){.v2-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:auto;padding:9px 12px 8px;gap:8px 10px}.v2-topbar-brand{grid-column:1;grid-row:1}.v2-topbar-actions{position:static;right:auto;top:auto;grid-column:2;grid-row:1}.v2-nav{grid-column:1/-1;grid-row:2;width:100%;justify-self:stretch;overflow-x:auto;scrollbar-width:none}.v2-nav::-webkit-scrollbar{display:none}.v2-nav button{flex:1 0 auto;justify-content:center;min-width:76px;padding:8px 9px}.v2-brand-text{display:inline}.v2-workspace{padding:16px 14px 28px}.v2-status-wrap{padding:12px 14px 0}.v2-data-status{align-items:flex-start}.v2-data-status span{white-space:normal}.v2-skeleton-heading{margin-bottom:16px}.v2-skeleton-hero{padding:18px;border-radius:18px}.v2-skeleton-stat-grid{grid-template-columns:1fr 1fr}.v2-skeleton-content-grid{grid-template-columns:1fr;gap:14px;margin-top:14px}.v2-skeleton-chart{min-height:330px}.v2-chart-toolbar{gap:12px}.v2-chart-summary{margin-bottom:2px}.v2-chart-loading,.v2-value-chart{height:290px}.v2-market-toolbar{align-items:stretch}.v2-selected-assets{width:100%}.v2-selected-assets button{min-width:150px}.v2-inspector-pulse{margin-bottom:4px}.v2-panel-meta{align-self:flex-start}.v2-lab-capacity>div{align-items:flex-start;flex-direction:column;gap:3px}}@media (max-width:640px){.v2-position-table-wrap{border:0;border-radius:0;overflow:visible}.v2-position-table,.v2-position-table tbody,.v2-position-table td,.v2-position-table tr{display:block;width:100%}.v2-position-table thead{display:none}.v2-position-table tbody{display:grid;gap:10px}.v2-position-table tr{border:1px solid rgba(132,146,178,.12);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.018)}.v2-position-table td,.v2-position-table td:first-child,.v2-position-table td:nth-last-child(2){display:flex!important;align-items:center;justify-content:space-between;gap:14px;min-height:42px;padding:9px 11px;border-top:1px solid rgba(132,146,178,.07);text-align:right;white-space:normal}.v2-position-table td:first-child{border-top:0}.v2-position-table td:before{content:attr(data-label);flex:0 0 auto;color:var(--v2-faint);text-transform:uppercase;letter-spacing:.07em;font-size:8px;font-weight:750}.v2-position-table td>small,.v2-position-table td>strong{margin-left:auto}.v2-position-table td:first-child>strong{font-size:12px}.v2-weight-cell{align-items:flex-end;margin-left:auto}.v2-mini-bar{width:100px}}@media (max-width:520px){.v2-topbar-actions .topbar-icon-btn{width:36px;height:36px}.v2-brand-text{font-size:11px}.v2-nav button{min-width:54px}.v2-nav button span{display:none}.v2-data-status{flex-direction:column}.v2-data-status button{width:100%;justify-content:center}.v2-hero-change{flex-wrap:wrap}.v2-hero-context{line-height:1.5}.v2-empty-inline-action{align-items:flex-start;flex-direction:column}.v2-selected-assets button{min-width:144px}.v2-chart-toolbar{width:100%}.v2-range-selector button{min-width:38px}.v2-risk-strip{gap:10px}}@media (prefers-reduced-motion:reduce){.v2-skeleton{animation:none}.v2-hero-stats article,.v2-metric-card,.v2-primary-action,.v2-secondary-action,.v2-selected-assets button{transition:none}.v2-primary-action:hover,.v2-selected-assets button:hover{transform:none}.v2-main-scrollable{scroll-behavior:auto}}.v2-workspace-unavailable{min-height:min(620px,calc(100vh - 120px));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:52px 24px;border:1px solid var(--v2-border);border-radius:22px;background:radial-gradient(circle at 50% 20%,rgba(242,184,85,.075),transparent 34%),rgba(18,21,30,.72);box-shadow:var(--v2-shadow-soft)}.v2-unavailable-icon{width:46px;height:46px;display:grid;place-items:center;margin-bottom:18px;border-radius:14px;border:1px solid rgba(242,184,85,.2);background:rgba(242,184,85,.07);color:#e3ba67}.v2-workspace-unavailable h1{margin:6px 0 8px;color:var(--v2-text);font-size:clamp(22px,3vw,32px);letter-spacing:-.035em}.v2-workspace-unavailable p{max-width:620px;margin-bottom:20px;color:var(--v2-muted);font-size:12px;line-height:1.6}@media (max-width:520px){.v2-workspace-unavailable{min-height:460px;padding:40px 18px;border-radius:18px}}.v2-topbar-actions .settings-btn{width:40px!important;height:40px!important;padding:0!important;border:1px solid var(--border-primary)!important;border-radius:50%!important;background:var(--bg-card)!important;color:var(--text-muted)!important}.v2-topbar-actions .settings-btn:hover{color:var(--text-primary)!important;border-color:var(--accent-blue)!important;background:var(--bg-card-hover)!important}.modal-overlay{padding:14px}.modal,.settings-modal{max-height:calc(100dvh - 28px);overflow-y:auto;overscroll-behavior:contain}@media (min-width:521px) and (max-width:768px){.v2-nav button span{display:inline}.v2-nav button{min-width:112px}}@media (max-width:768px){.notifications-dropdown,.trade-log-panel-dropdown{position:fixed;top:104px;right:14px;left:auto;max-width:calc(100vw - 28px);max-height:calc(100dvh - 118px);z-index:260}.notifications-dropdown{width:min(420px,calc(100vw - 28px))}.trade-log-panel-dropdown{width:min(640px,calc(100vw - 28px))}}@media (max-width:520px){.v2-topbar-actions .notifications-btn,.v2-topbar-actions .settings-btn{width:36px!important;height:36px!important}}@media (max-width:360px){.v2-hero-stats{grid-template-columns:1fr}}