.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:12px 24px;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:12px}.header-left h1{font-size:20px;font-weight:600}.logo-icon{color:var(--accent-blue)}.version{background:var(--bg-card);padding:2px 8px;border-radius:4px;font-size:12px;color:var(--text-secondary)}.header-right{display:flex;align-items:center;gap:16px}.model-badge{display:flex;align-items:center;gap:8px;background:var(--bg-card);padding:6px 12px;border-radius:6px;font-size:13px}.model-label{color:var(--text-secondary)}.model-name{color:var(--accent-blue);font-weight:500}.connection-status{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:13px}.connection-status.connected{background:#00c85326;color:var(--accent-green)}.connection-status.disconnected{background:#ff174426;color:var(--accent-red)}.cs-chart{display:flex;flex-direction:column;gap:0}.cs-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px;min-height:32px}.cs-symbol-wrap{display:flex;align-items:center;gap:8px}.cs-name-block{display:flex;flex-direction:column;gap:1px}.cs-symbol{font-size:15px;font-weight:700;color:var(--text-primary);letter-spacing:.3px;line-height:1.2}.cs-detail{font-size:10px;color:var(--text-secondary);opacity:.7;letter-spacing:.2px;line-height:1}.cs-tv-link{font-size:10px;font-weight:600;color:#2196f3;text-decoration:none;padding:2px 6px;border:1px solid #2196f3;border-radius:4px;opacity:.8;transition:opacity .15s;white-space:nowrap}.cs-tv-link:hover{opacity:1;background:#2196f31f}.cs-tf-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border)}.cs-live-dot{width:8px;height:8px;border-radius:50%;background:#00c853;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.cs-price-wrap{display:flex;align-items:baseline;gap:8px}.cs-price{font-size:18px;font-weight:700}.cs-change{font-size:13px;font-weight:500;opacity:.9}.cs-pos{color:#00c853}.cs-neg{color:#ff1744}.cs-updated{font-size:11px;color:var(--text-secondary);margin-left:auto;opacity:.7}.cs-container{border-radius:8px;overflow:hidden;position:relative}.cs-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:14px;background:#151b28cc;border-radius:8px;z-index:10}.cs-error{color:var(--accent-red)}.dashboard{display:flex;flex-direction:column;gap:14px;height:100%}.db-topbar{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:12px}.db-title{display:flex;align-items:baseline;gap:10px}.db-title-text{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.3px}.db-updated{font-size:12px;color:var(--text-secondary);opacity:.7}.db-controls{display:flex;align-items:center;gap:10px}.tf-group{display:flex;gap:2px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:3px}.tf-btn{padding:4px 11px;font-size:11px;font-weight:700;border:none;border-radius:5px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s;letter-spacing:.3px}.tf-btn:hover{color:var(--text-primary)}.tf-btn--active{background:var(--accent-blue);color:#fff}.tv-ext-btn{display:flex;align-items:center;gap:5px;padding:5px 11px;font-size:11px;font-weight:600;color:var(--accent-blue);border:1px solid rgba(33,150,243,.4);border-radius:6px;text-decoration:none;transition:all .15s;white-space:nowrap}.tv-ext-btn:hover{background:#2196f31a;border-color:var(--accent-blue)}.db-refresh-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.db-refresh-btn:hover{color:var(--accent-blue);border-color:var(--accent-blue)}.db-refresh-btn:disabled{opacity:.4;cursor:not-allowed}.db-error{padding:10px 14px;background:#ff17441a;border:1px solid rgba(255,23,68,.3);border-radius:8px;color:var(--accent-red);font-size:13px;flex-shrink:0}.db-main{display:grid;grid-template-columns:1fr 340px;gap:14px;flex:1;min-height:0}.db-chart-panel{background:var(--bg-secondary);border-radius:12px;padding:14px 16px 16px;overflow:hidden;min-width:0;display:flex;flex-direction:column;gap:12px}.sym-tabs{display:flex;gap:4px;flex-shrink:0}.sym-tab{position:relative;display:flex;align-items:center;gap:5px;padding:5px 14px;font-size:12px;font-weight:700;border:1px solid var(--border-color);border-radius:20px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s;letter-spacing:.2px}.sym-tab:hover{color:var(--text-primary);border-color:#fff3}.sym-tab--active{background:var(--bg-primary);border-color:var(--accent-blue);color:var(--text-primary)}.sym-tab--buy{border-color:#00c85366}.sym-tab--sell{border-color:#ff174466}.sym-tab--active.sym-tab--buy{border-color:#00c853}.sym-tab--active.sym-tab--sell{border-color:#ff1744}.sym-tab-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.sym-tab-dot--buy{background:#00c853}.sym-tab-dot--sell{background:#ff1744}.db-right{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:hidden}.dp-header{display:flex;align-items:center;gap:7px;padding:9px 13px;background:transparent;border-bottom:1px solid var(--border-color);font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px;flex-shrink:0}.dp-icon{opacity:.6}.dp-count{margin-left:4px;padding:1px 6px;background:#ffffff0f;border-radius:10px;font-size:10px;font-weight:600;color:var(--text-secondary)}.dp-clear{margin-left:auto;display:flex;align-items:center;padding:2px 4px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:3px;transition:color .12s}.dp-clear:hover{color:var(--accent-red)}.dp-empty{padding:18px;text-align:center;color:var(--text-secondary);font-size:12px;opacity:.7}.dp-show-more{width:100%;padding:8px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;margin-top:4px}.dp-show-more:hover{background:var(--bg-secondary);color:var(--text-primary)}.db-signals-panel{background:var(--bg-secondary);border-radius:10px;overflow:hidden;flex-shrink:0}.db-signals-list{display:flex;flex-direction:column}.signal-row{display:grid;grid-template-columns:54px 82px 1fr 72px 22px;grid-template-rows:auto auto;align-items:center;column-gap:8px;row-gap:0;padding:9px 13px 8px;border-bottom:1px solid rgba(47,59,78,.5);cursor:pointer;transition:background .12s;position:relative}.signal-row:last-child{border-bottom:none}.signal-row:hover{background:#2196f30f}.signal-row--active{background:#2196f31a;border-left:2px solid var(--accent-blue);padding-left:11px}.signal-row--trade .sr-symbol{color:var(--text-primary)}.sr-symbol{font-size:12px;font-weight:800;color:var(--text-primary);letter-spacing:.2px}.sr-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;text-align:center;letter-spacing:.2px;white-space:nowrap}.sr-buy{background:#00c85324;color:#00c853}.sr-sell{background:#ff174424;color:#ff1744}.sr-hold{background:#8b98a51a;color:#8b98a5}.sr-conf{display:flex;align-items:center;gap:6px;min-width:0}.sr-bar{flex:1;height:3px;background:#ffffff12;border-radius:2px;overflow:hidden}.sr-bar-fill{height:100%;border-radius:2px;transition:width .4s ease}.sr-pct{font-size:10px;color:var(--text-secondary);width:28px;text-align:right;flex-shrink:0}.sr-price{font-size:11px;font-weight:500;color:var(--text-primary);font-family:Courier New,Courier,monospace;text-align:right;white-space:nowrap}.sr-status-col{display:flex;justify-content:center;align-items:center;width:22px}.sr-sent{font-size:13px;line-height:1;filter:none}.sr-blocked{font-size:13px;line-height:1;opacity:.55;cursor:help}.sr-reason{grid-column:2 / -1;font-size:10px;color:var(--text-secondary);opacity:.55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:3px}.db-history-panel{background:var(--bg-secondary);border-radius:10px;overflow:hidden;flex:1;display:flex;flex-direction:column;min-height:0}.db-history-list{overflow-y:auto;flex:1}.db-history-list::-webkit-scrollbar{width:3px}.db-history-list::-webkit-scrollbar-track{background:transparent}.db-history-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.hr-row{display:grid;grid-template-columns:38px 50px 72px 30px 68px 1fr;align-items:center;gap:6px;padding:7px 13px;border-bottom:1px solid rgba(47,59,78,.35);cursor:pointer;transition:background .1s;border-left:2px solid transparent}.hr-row:last-child{border-bottom:none}.hr-row:hover{background:#ffffff06}.hr-buy{border-left-color:#00c85380}.hr-sell{border-left-color:#ff174480}.hr-hold{border-left-color:transparent}.hr-time{font-size:10px;color:var(--text-secondary);font-family:monospace;white-space:nowrap}.hr-symbol{font-size:11px;font-weight:700;color:var(--text-primary)}.hr-conf{font-size:10px;color:var(--text-secondary);text-align:right}.hr-price{font-size:10px;color:var(--text-primary);font-family:monospace;text-align:right;white-space:nowrap}.hr-sl{font-size:10px;color:#ff1744;opacity:.7;white-space:nowrap}.hr-reason{font-size:10px;color:var(--text-secondary);opacity:.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spinning{animation:spin .8s linear infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.65)}}@media(max-width:900px){.db-main{grid-template-columns:1fr;grid-template-rows:auto auto}.db-right{max-height:480px}}.sidebar{width:200px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:16px 0}.sidebar-nav{flex:1}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 20px;background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s;text-align:left}.nav-item:hover{background:var(--bg-card);color:var(--text-primary)}.nav-item.active{background:var(--bg-card);color:var(--accent-blue);border-left:3px solid var(--accent-blue)}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border-color)}.ms-title{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px}.ms-loading{font-size:12px;color:var(--text-secondary)}.ms-row{display:flex;align-items:center;gap:6px;font-size:12px;padding:3px 0}.ms-open{color:var(--accent-green)}.ms-closed{color:var(--text-secondary);opacity:.6}.ms-badge-open{margin-left:auto;font-size:10px;font-weight:600;background:#00c85326;color:var(--accent-green);padding:1px 5px;border-radius:3px}.training-panel{margin-top:16px;padding:16px;background:var(--bg-card);border-radius:10px;border:1px solid var(--border-color)}.training-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.training-title{font-size:13px;font-weight:600;color:var(--text-primary)}.training-actions{display:flex;gap:8px}.training-start-btn,.training-stop-btn{display:flex;align-items:center;gap:5px;padding:6px 14px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s}.training-start-btn{background:var(--accent-blue);color:#fff}.training-start-btn:hover{background:#1565c0}.training-stop-btn{background:var(--accent-red);color:#fff}.training-stop-btn:hover{background:#c62828}.training-progress-wrap{margin-top:2px}.training-progress-bar{height:8px;background:var(--bg-primary);border-radius:4px;overflow:hidden;margin-bottom:8px}.training-progress-fill{height:100%;background:var(--accent-blue);border-radius:4px;transition:width .5s ease}.training-progress-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}.training-step-label{font-size:12px;color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-progress-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.training-elapsed{display:flex;align-items:center;gap:3px;font-size:12px;color:var(--text-secondary)}.training-pct{font-size:12px;font-weight:700;color:var(--accent-blue);min-width:32px;text-align:right}.training-outcome{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:10px 12px;border-radius:8px;font-size:12px}.training-outcome.success{background:#00c85314;border:1px solid rgba(0,200,83,.35);color:var(--accent-green)}.training-outcome.error{background:#ff174414;border:1px solid rgba(255,23,68,.35);color:var(--accent-red)}.outcome-text{display:flex;flex-direction:column;gap:3px}.outcome-text strong{font-weight:600}.outcome-text span{opacity:.85}.training-overfit-alert{display:flex;align-items:flex-start;gap:8px;margin-top:8px;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.5}.training-overfit-alert.ok{background:#00c8530f;border:1px solid rgba(0,200,83,.25);color:var(--accent-green)}.training-overfit-alert.warning{background:#ffa00014;border:1px solid rgba(255,160,0,.35);color:#ffa000}.training-overfit-alert.danger{background:#ff174414;border:1px solid rgba(255,23,68,.35);color:var(--accent-red)}.settings{padding:20px}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.settings-header h2{font-size:24px;font-weight:600}.settings-actions{display:flex;align-items:center;gap:16px}.saved-message{color:var(--accent-green);font-weight:500;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.save-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.save-btn:hover{background:#1565c0}.save-btn:disabled{opacity:.6;cursor:not-allowed}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px}.settings-card{background:var(--bg-secondary);border-radius:12px;padding:20px;border:1px solid var(--border-color)}.card-title{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.card-title svg{color:var(--accent-blue)}.card-title h3{font-size:16px;font-weight:600;margin:0}.setting-item{margin-bottom:20px}.setting-item:last-child{margin-bottom:0}.setting-item>label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.input-group{display:flex;align-items:center}.input-prefix{padding:10px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-right:none;border-radius:8px 0 0 8px;color:var(--text-secondary);font-size:14px}.input-group select,.input-group input{flex:1;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer}.input-prefix+select{border-radius:0 8px 8px 0}.input-group select:focus,.input-group input:focus{outline:none;border-color:var(--accent-blue)}.setting-hint{display:block;font-size:12px;color:var(--text-secondary);margin-top:6px}.setting-hint strong{color:var(--accent-blue)}.watchlist-checkboxes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.checkbox-label{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-card);border-radius:6px;cursor:pointer;font-size:13px;transition:background .2s}.checkbox-label:hover{background:var(--bg-primary)}.checkbox-label input{cursor:pointer}.backtest-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:var(--accent-green);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;margin-top:20px}.backtest-btn:hover{background:#00a344}.backtest-btn:disabled{background:var(--text-secondary);cursor:not-allowed}.backtest-result{margin-top:20px;padding:16px;background:var(--bg-card);border-radius:8px}.backtest-result h4{font-size:14px;font-weight:600;margin-bottom:12px}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.result-item{text-align:center;padding:10px;background:var(--bg-primary);border-radius:6px}.result-label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px}.result-value{font-size:18px;font-weight:700}.result-value small{font-size:12px;font-weight:400;margin-left:4px}.result-item.positive .result-value{color:var(--accent-green)}.result-item.negative .result-value{color:var(--accent-red)}.info-card .info-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-color);font-size:13px}.info-card .info-item:last-child{border-bottom:none}.info-card .info-item span{color:var(--text-secondary)}.info-card .info-item strong{color:var(--text-primary)}.backtest-page{padding:20px;display:flex;flex-direction:column;gap:20px}.backtest-header h2{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:600;margin-bottom:4px}.backtest-subtitle{color:var(--text-secondary);font-size:13px}.backtest-config-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.bc-row{display:flex;gap:16px;flex-wrap:wrap}.bc-field{display:flex;flex-direction:column;gap:6px;min-width:150px;flex:1}.bc-field label{font-size:12px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.bc-field select{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);padding:9px 12px;font-size:14px;cursor:pointer;outline:none;transition:border-color .2s}.bc-field select:focus{border-color:var(--accent-blue)}.run-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;background:var(--accent-blue);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;align-self:flex-start}.run-btn:hover{background:#1565c0}.run-btn:disabled{opacity:.6;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bt-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f443361f;border:1px solid rgba(244,67,54,.3);border-radius:8px;color:#f44336;font-size:14px}.backtest-results{display:flex;flex-direction:column;gap:16px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.kpi-card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:16px}.kpi-card.kpi-green{border-color:#4caf5066;background:#4caf500f}.kpi-card.kpi-red,.kpi-card.kpi-red-light{border-color:#f4433666;background:#f443360f}.kpi-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.kpi-value{font-size:22px;font-weight:700;margin-bottom:4px}.kpi-sub{font-size:11px;color:var(--text-secondary)}.text-green{color:var(--accent-green)}.text-red{color:#f44336}.equity-chart-wrap{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:16px}.equity-chart-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.equity-svg{width:100%;height:160px;display:block}.equity-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary);margin-top:4px}.trade-table-wrap{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:16px}.trade-table-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.trade-table-scroll{overflow-x:auto;max-height:380px;overflow-y:auto}.trade-table{width:100%;border-collapse:collapse;font-size:13px}.trade-table th{position:sticky;top:0;background:var(--bg-secondary);padding:8px 12px;text-align:left;font-weight:600;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.trade-table td{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.04)}.win-row:hover,.loss-row:hover{background:#ffffff08}.direction-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.5px}.direction-badge.long{background:#4caf5033;color:#4caf50}.direction-badge.short{background:#f4433633;color:#f44336}.pnl-pos{color:var(--accent-green);font-weight:600}.pnl-neg{color:#f44336;font-weight:600}.no-trades{color:var(--text-secondary);font-size:14px;padding:8px 0}.trade-table-note{color:var(--text-secondary);font-size:12px;text-align:center;padding:8px}.journal-page{padding:20px;display:flex;flex-direction:column;gap:20px}.j-simulator{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:14px}.j-sim-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.j-sim-title{font-size:15px;font-weight:600}.j-sim-period{font-size:11px;color:var(--text-secondary)}.j-sim-inputs{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.j-sim-inputs label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-secondary)}.j-sim-inputs input{background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);padding:6px 10px;font-size:13px;width:120px}.j-sim-risk-info{font-size:12px;color:var(--text-secondary);padding-bottom:4px}.j-sim-risk-info strong{color:var(--text-primary)}.j-sim-results{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.j-sim-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;padding:12px;text-align:center}.j-sim-card.pos{border-color:var(--accent-green)}.j-sim-card.neg{border-color:var(--accent-red)}.j-sim-card-val{font-size:18px;font-weight:700}.j-sim-card.pos .j-sim-card-val{color:var(--accent-green)}.j-sim-card.neg .j-sim-card-val{color:var(--accent-red)}.j-sim-card-lbl{font-size:11px;color:var(--text-secondary);margin-top:4px}.j-sim-breakdown{display:flex;flex-direction:column;gap:3px;max-height:200px;overflow-y:auto}.j-sim-row{display:grid;grid-template-columns:60px 70px 50px 100px 1fr;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;font-size:11px}.j-sim-row.pos{background:#10b9810d}.j-sim-row.neg{background:#ef44440d}.j-sim-row-id{color:var(--text-secondary)}.j-sim-row-sym{font-weight:600}.j-sim-row-dir.buy{color:var(--accent-green)}.j-sim-row-dir.sell{color:var(--accent-red)}.j-sim-row-out{color:var(--text-secondary)}.j-sim-row-pnl{text-align:right;font-weight:600}.j-sim-row.pos .j-sim-row-pnl{color:var(--accent-green)}.j-sim-row.neg .j-sim-row-pnl{color:var(--accent-red)}.j-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.j-header h2{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:600;margin:0}.j-header-controls{display:flex;align-items:center;gap:10px}.j-last-update{font-size:12px;color:var(--text-secondary);opacity:.75;white-space:nowrap}.j-header-controls select{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);padding:7px 12px;font-size:13px;cursor:pointer}.j-refresh-btn{display:flex;align-items:center;gap:6px;background:var(--accent, #3b82f6);color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:13px;cursor:pointer;transition:opacity .15s}.j-refresh-btn:disabled{opacity:.6;cursor:default}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.j-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);border-radius:10px;padding:14px 18px;color:#f87171;font-size:14px}.j-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.j-stat-card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:14px 16px;text-align:center}.j-stat-card.green{border-color:#4ade804d}.j-stat-card.red{border-color:#f871714d}.j-stat-card.blue{border-color:#60a5fa4d}.j-stat-value{font-size:22px;font-weight:700;line-height:1.1}.j-stat-card.green .j-stat-value{color:#4ade80}.j-stat-card.red .j-stat-value{color:#f87171}.j-stat-card.blue .j-stat-value{color:#60a5fa}.j-stat-label{font-size:11px;color:var(--text-secondary);margin-top:4px;text-transform:uppercase;letter-spacing:.4px}.j-stat-sub{font-size:11px;color:var(--text-secondary);margin-top:2px}.j-section{display:flex;flex-direction:column;gap:10px}.j-section-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;margin:0;color:var(--text-secondary)}.j-empty{color:var(--text-secondary);font-size:14px;padding:24px;text-align:center;background:var(--card-bg);border:1px solid var(--border);border-radius:10px}.j-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--border)}.j-table{width:100%;border-collapse:collapse;font-size:13px}.j-table thead th{background:var(--bg-secondary);padding:10px 12px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);font-weight:600;white-space:nowrap}.j-table tbody tr{border-top:1px solid var(--border);transition:background .1s}.j-table tbody tr:hover{background:var(--bg-secondary)}.j-row-open{background:#60a5fa0a}.j-table td{padding:9px 12px;vertical-align:middle;white-space:nowrap}.j-id{font-family:monospace;font-size:12px;color:var(--text-secondary)}.j-symbol{font-weight:600}.j-dir{font-weight:600;font-size:12px}.j-dir.buy{color:#4ade80}.j-dir.sell{color:#f87171}.j-conf{font-size:12px}.j-conf em{color:var(--text-secondary);font-style:normal}.j-price{font-family:monospace;font-size:12px}.j-sl{color:#f87171}.j-tp{color:#4ade80}.j-tp2{color:var(--text-secondary)}.j-time{font-size:12px;color:var(--text-secondary)}.j-outcome{font-size:12px;font-weight:600;white-space:nowrap}.j-outcome.win{color:#4ade80}.j-outcome.loss{color:#f87171}.j-outcome.expired{color:var(--text-secondary)}.j-pnl{font-family:monospace;font-weight:700;font-size:13px}.j-pnl.pos{color:#4ade80}.j-pnl.neg{color:#f87171}.j-open-badge{font-size:11px;color:#60a5fa;background:#60a5fa1f;border-radius:6px;padding:2px 8px}.j-open-actions{display:flex;align-items:center;gap:8px}.j-close-select{font-size:11px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:2px 6px;cursor:pointer}.app{min-height:100vh;display:flex;flex-direction:column}.app-container{display:flex;flex:1}.main-content{flex:1;padding:20px;overflow-y:auto}.coming-soon{display:flex;align-items:center;justify-content:center;height:100%;font-size:24px;color:var(--text-secondary)}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0f1419;--bg-secondary: #1a1f2e;--bg-card: #242d3d;--text-primary: #ffffff;--text-secondary: #8b98a5;--accent-green: #00c853;--accent-red: #ff1744;--accent-blue: #2196f3;--accent-yellow: #ffc107;--border-color: #2f3b4e}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#3f4d63}
