:root{--bg-dark:#f5f5f5;--bg-card:#fff;--bg-card-hover:#f0f0f0;--border:#e0e0e0;--text:#222;--text-dim:#666;--green:#16a34a;--green-dim:#dcfce7;--red:#dc2626;--red-dim:#fee2e2;--blue:#2563eb;--yellow:#ca8a04;--purple:#7c3aed;--cyan:#0891b2}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-dark);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;overflow-x:hidden}.app{flex-direction:column;height:100vh;display:flex}.header{background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 20px;display:flex}.header-left{align-items:center;gap:16px;display:flex}.logo{color:var(--text);font-size:18px;font-weight:700}.connection-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.connection-dot.connected{background:var(--green);box-shadow:0 0 6px var(--green)}.connection-dot.disconnected{background:var(--red);box-shadow:0 0 6px var(--red)}.header-center{flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.header-stats{border-left:1px solid var(--border);align-items:center;gap:12px;margin-left:8px;padding-left:10px;display:flex}.nav-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;padding:6px 16px;font-size:13px;transition:all .2s}.nav-btn:hover{background:var(--bg-card-hover);color:var(--text)}.nav-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}.header-right{align-items:center;gap:12px;display:flex}.mode-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:700}.mode-badge.paper{background:var(--yellow);color:#000}.mode-badge.live{background:var(--red);color:#fff}.algo-toggle{align-items:center;gap:6px;font-size:12px;display:flex}.toggle-switch{cursor:pointer;background:#ccc;border-radius:11px;width:40px;height:22px;transition:background .3s;position:relative}.toggle-switch.on{background:var(--green)}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .3s;position:absolute;top:2px;left:2px}.toggle-switch.on:after{transform:translate(18px)}.emergency-btn{border:1px solid var(--red);color:var(--red);cursor:pointer;background:0 0;border-radius:4px;padding:4px 12px;font-size:11px;font-weight:700;transition:all .2s}.emergency-btn:hover{background:var(--red);color:#fff}.login-btn{border:1px solid var(--green);color:var(--green);cursor:pointer;background:0 0;border-radius:4px;padding:5px 14px;font-size:12px;font-weight:600;transition:all .2s}.login-btn:hover{background:var(--green);color:#fff}.logout-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 14px;font-size:12px;font-weight:500;transition:all .2s}.logout-btn:hover{color:var(--red);background:#dc262614}.main{flex:1;display:flex;overflow:hidden}.strategies-page{flex:1;padding:16px 20px;overflow-y:auto}.strategies-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.strategies-grid .strategy-card{margin-bottom:0}.left-panel{border-right:1px solid var(--border);flex-shrink:0;width:260px;padding:12px;overflow-y:auto}.panel-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:10px;font-size:11px;font-weight:600}.strategy-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin-bottom:8px;padding:12px;transition:border-color .2s}.strategy-card.active{border-color:var(--green)}.strategy-card .sc-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.strategy-card .sc-name{font-size:13px;font-weight:600}.strategy-card .sc-time{color:var(--text-dim);font-size:11px}.strategy-card .sc-stats{color:var(--text-dim);grid-template-columns:1fr 1fr;gap:4px;font-size:11px;display:grid}.strategy-card .sc-stats span{color:var(--text);font-weight:600}.strategy-card .sc-features{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.feature-tag{color:#10b981;letter-spacing:.3px;background:#10b9811f;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600}.feature-tag.orb{color:#818cf8;background:#6366f11f}.feature-tag.otm{color:#f59e0b;background:#f59e0b26}.global-params-bar{flex-wrap:wrap;gap:6px;padding:0 0 12px;display:flex}.gp-item{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;flex-direction:column;align-items:center;min-width:70px;padding:5px 10px;display:flex}.gp-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:8px}.gp-value{color:var(--text);margin-top:1px;font-size:11px;font-weight:700}.priority-flow{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;align-items:center;gap:0;margin-bottom:12px;padding:8px 12px;display:flex;overflow-x:auto}.pf-step{cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;transition:background .15s;display:flex}.pf-step:hover{background:#6366f114}.pf-num{color:#0f0f0f;background:#818cf8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:800;display:flex}.pf-label{color:var(--text);font-size:11px;font-weight:600}.pf-note{color:var(--text-dim);font-size:9px}.pf-arrow{color:var(--text-dim);flex-shrink:0;margin:0 2px;font-size:14px}.strat-layout{flex:1;gap:14px;min-height:0;display:flex}.strat-list{flex-direction:column;flex-shrink:0;gap:6px;width:52%;display:flex}.strat-row{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;transition:border-color .2s,background .15s;display:flex}.strat-row:hover{border-color:var(--text-dim)}.strat-row.active{border-left:3px solid var(--green)}.strat-row.selected{background:#6366f10f;border-color:#818cf8}.strat-row-left{flex:1;min-width:0}.strat-row-header{align-items:center;gap:8px;margin-bottom:2px;display:flex}.strat-row-name{font-size:13px;font-weight:700}.strat-row-time{color:var(--text-dim);margin-bottom:4px;font-size:10px}.strat-row-tags{flex-wrap:wrap;gap:3px;display:flex}.strat-row-mid{flex-shrink:0;grid-template-columns:1fr 1fr 1fr;gap:3px 10px;min-width:220px;display:grid}.strat-row-stat{flex-direction:column;display:flex}.strat-stat-k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.3px;font-size:8px}.strat-stat-v{color:var(--text);font-size:11px;font-weight:700}.strat-row-right{flex-shrink:0;padding-left:8px}.detail-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex:1;padding:16px;overflow-y:auto}.detail-panel.detail-empty{color:var(--text-dim);justify-content:center;align-items:center;font-size:13px;display:flex}.detail-header{align-items:center;gap:10px;margin-bottom:2px;display:flex}.detail-name{font-size:16px;font-weight:700}.detail-time{color:var(--text-dim);margin-bottom:14px;font-size:11px}.detail-section{margin-bottom:14px}.detail-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.detail-section-title{text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--border);margin-bottom:6px;padding-bottom:3px;font-size:10px;font-weight:700}.detail-section-title.entry{color:#10b981}.detail-section-title.exit{color:#ef4444}.detail-section-title.trailing{color:#818cf8}.detail-section-title.peak{color:#f59e0b}.detail-section-title.sl{color:#ef4444}.detail-item{color:var(--text-dim);gap:6px;padding-left:2px;font-size:11px;line-height:1.6;display:flex}.detail-num{color:#10b981;background:#10b9811f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-top:2px;font-size:9px;font-weight:700;display:flex}.detail-bullet{flex-shrink:0;margin-top:1px;font-weight:700}.detail-bullet.exit{color:#ef4444}.detail-bullet.trailing{color:#818cf8}.detail-bullet.peak{color:#f59e0b}.detail-bullet.sl{color:#ef4444}.sc-priority{color:#818cf8;letter-spacing:.3px;background:#6366f126;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.sc-expand-btn{width:100%;color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;margin-top:8px;padding:4px 0;font-size:10px;font-weight:600;transition:color .2s,border-color .2s}.sc-expand-btn:hover{color:var(--text);border-color:var(--text-dim)}.sc-details{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.sc-detail-section{margin-bottom:8px}.sc-detail-title{text-transform:uppercase;letter-spacing:.5px;color:#818cf8;margin-bottom:4px;font-size:10px;font-weight:700}.sc-detail-item{color:var(--text-dim);gap:4px;padding-left:2px;font-size:10.5px;line-height:1.5;display:flex}.sc-detail-bullet{color:#10b981;flex-shrink:0;font-weight:700}.strategy-card.expanded{grid-row:span 2}.strategy-label{color:#a5b4fc;background:#6366f11a;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.sub-tabs{border-left:1px solid var(--border);gap:4px;margin-left:10px;padding-left:10px;display:flex}.sub-tab{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:4px;padding:4px 12px;font-size:11px;font-weight:600;transition:all .15s}.sub-tab:hover{border-color:var(--text-dim);color:var(--text)}.sub-tab.active{background:var(--blue);border-color:var(--blue);color:#fff}.breadth-indicator{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;align-items:center;margin-left:8px;padding:3px 10px;font-size:12px;display:flex}.stat-item{align-items:center;gap:6px;display:flex}.stat-label{color:var(--text-dim)}.stat-value{font-weight:600}.stat-value.positive{color:var(--green)}.stat-value.negative{color:var(--red)}.center-panel{flex-direction:column;flex:1;display:flex;overflow:hidden}.table-container{contain:layout style;flex:1;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{background:var(--bg-card);text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);border-bottom:1px solid var(--border);padding:8px 10px;font-size:11px;font-weight:600;position:sticky;top:0}td{border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px}tr:hover{background:var(--bg-card-hover)}.price-up{color:var(--green)}.price-down{color:var(--red)}.badge{border-radius:3px;padding:2px 6px;font-size:10px;font-weight:700}.badge.buy{background:var(--green-dim);color:var(--green)}.badge.sell{background:var(--red-dim);color:var(--red)}.right-panel{border-left:1px solid var(--border);flex-shrink:0;width:300px;overflow-y:auto}.middle-panel{border-left:1px solid var(--border);flex-shrink:0;width:280px;padding:12px 10px;overflow-y:auto}.strategy-signal-section{border-bottom:1px solid var(--border);padding-bottom:8px}.position-card{border-bottom:1px solid var(--border);padding:10px 14px;transition:background .2s}.position-card:hover{background:var(--bg-card-hover)}.pos-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.pos-symbol{font-size:13px;font-weight:600}.pos-pnl{font-size:13px;font-weight:700}.pos-details{color:var(--text-dim);grid-template-columns:1fr 1fr 1fr;gap:2px;font-size:11px;display:grid}.pos-close-btn{border:1px solid var(--red);color:var(--red);cursor:pointer;background:0 0;border-radius:3px;margin-top:6px;padding:3px 8px;font-size:10px;transition:all .2s}.pos-close-btn:hover{background:var(--red);color:#fff}.regime-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;margin:0 12px 6px;overflow:hidden}.regime-bar-inner{scrollbar-width:none;align-items:center;gap:0;padding:5px 8px;display:flex;overflow-x:auto}.regime-bar-inner::-webkit-scrollbar{display:none}.regime-group{align-items:center;gap:1px;display:flex}.regime-cell{flex-direction:column;flex-shrink:0;align-items:center;min-width:0;padding:0 6px;display:flex}.regime-label{text-transform:uppercase;color:#999;letter-spacing:.5px;white-space:nowrap;font-size:8px;font-weight:600}.regime-value{color:var(--text);white-space:nowrap;font-size:12px;font-weight:700}.regime-divider{background:var(--border);flex-shrink:0;width:1px;height:32px;margin:0 4px}.regime-gate{font-size:14px;font-weight:800}.regime-gate.allowed{color:#10b981}.regime-gate.blocked{color:#ef4444}.prediction-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;margin:0 12px 6px;padding:10px 14px;display:flex}.pred-direction{align-items:center;gap:10px;display:flex}.pred-probs{gap:12px;display:flex}.pred-technicals{flex-wrap:wrap;gap:6px;display:flex}.pred-tech-item{background:#8888880f;border-radius:4px;flex-direction:column;align-items:center;min-width:52px;padding:3px 8px;display:flex}.pred-tech-label{text-transform:uppercase;color:#666;font-size:8px;font-weight:600}.pred-tech-value{white-space:nowrap;font-size:12px;font-weight:700}.pred-signals{flex-direction:column;display:flex}.pcr-table-section{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex-shrink:0;margin:0 12px 8px}.pcr-table-scroll{padding:0 0 6px;overflow-x:auto}.pcr-timeline-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:max-content;min-width:100%;font-size:11px}.pcr-timeline-table th,.pcr-timeline-table td{text-align:center;white-space:nowrap;border-bottom:1px solid var(--border);padding:4px 10px}.pcr-timeline-table thead th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.3px;background:var(--bg-card);font-size:9px;font-weight:600;position:sticky;top:0}.pcr-label-col{color:var(--text-dim);background:var(--bg-card);z-index:1;min-width:100px;font-weight:600;position:sticky;left:0;text-align:left!important}.pcr-timeline-table tbody tr:last-child td{border-bottom:none}.trades-page{flex:1;padding:16px;overflow-y:auto}.today-summary-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;padding:12px 16px;display:flex}.today-stat{flex-direction:column;min-width:60px;display:flex}.today-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:9px}.today-value{font-family:-apple-system,BlinkMacSystemFont,monospace;font-size:15px;font-weight:700}.footer{color:var(--text-dim);background:var(--bg-card);border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;padding:4px 20px;font-size:10px;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#aaa}
