@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Oxanium:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-dark: #09090b;--bg-card: #131316;--bg-elevated: #1c1c21;--border: #2a2a32;--border-subtle: #1f1f26;--text: #f4f4f5;--text-secondary: #a1a1aa;--text-muted: #52525b;--green: #22c55e;--green-bright: #4ade80;--green-dim: #14532d;--green-glow: rgba(34, 197, 94, .15);--red: #ef4444;--red-bright: #f87171;--red-dim: #7f1d1d;--red-glow: rgba(239, 68, 68, .15);--orange: #f97316;--orange-glow: rgba(249, 115, 22, .15);--blue: #3b82f6;--focus-ring: rgba(59, 130, 246, .5);--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-sans);background:var(--bg-dark);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;font-feature-settings:"cv02","cv03","cv04","cv11"}.dashboard{display:grid;grid-template-columns:1fr 380px;grid-template-rows:auto 1fr;height:100vh;gap:1px;background:var(--border)}.header{grid-column:1 / -1;background:var(--bg-card);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.header-left{display:flex;align-items:center;gap:16px}.logo{font-size:22px;font-weight:700;background:linear-gradient(135deg,var(--green) 0%,var(--blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-tabs{display:flex;gap:2px;background:var(--bg-elevated);padding:2px;border-radius:6px}.nav-tab{padding:6px 12px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);font-size:11px;font-weight:600;cursor:pointer;transition:color .2s ease}.nav-tab:hover:not(:focus-visible){color:var(--text)}.nav-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.nav-tab.active{background:var(--bg-card);color:var(--text)}.theme-toggle{background:var(--bg-elevated);border:none;border-radius:6px;padding:8px;color:var(--text-muted);cursor:pointer;transition:background .2s ease,color .2s ease}.theme-toggle:hover:not(:focus-visible){background:var(--border);color:var(--text)}.theme-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.strategy-tabs{display:flex;gap:2px;background:var(--bg-elevated);padding:2px;border-radius:6px}.strategy-tab{padding:6px 12px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);font-size:11px;font-weight:600;cursor:pointer;transition:color .2s ease}.strategy-tab:hover:not(:focus-visible){color:var(--text)}.strategy-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.strategy-tab.active{background:var(--bg-card);color:var(--text)}.pair-badge{background:var(--bg-elevated);padding:6px 12px;border-radius:6px;font-family:DM Mono,monospace;font-size:12px;color:var(--text-muted)}.live-indicator{display:flex;align-items:center;gap:6px}.live-dot{width:8px;height:8px;background:var(--green);border-radius:50%;animation:pulse 2s infinite;box-shadow:0 0 8px var(--green)}.live-dot.disconnected{background:var(--red);box-shadow:0 0 8px var(--red);animation:none}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.live-text{font-weight:600;color:var(--green);font-size:11px;letter-spacing:1px}.stats-row{display:flex;gap:24px}.stat{text-align:right}.stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.stat-value{font-family:DM Mono,monospace;font-size:16px;font-weight:600}.stat-value.positive{color:var(--green)}.stat-value.negative{color:var(--red)}.main{background:var(--bg-dark);display:flex;flex-direction:column;overflow:hidden}.chart-section{flex:1;display:flex;flex-direction:column;min-height:0;padding:12px}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.chart-legend{display:flex;gap:12px;font-size:11px}.legend-item{display:flex;align-items:center;gap:4px;color:var(--text-muted)}.legend-line{width:12px;height:2px;border-radius:1px}.legend-line.usdt{background:var(--orange)}.legend-line.jpy{background:var(--blue)}.period-selector{display:flex;gap:2px;background:var(--bg-card);padding:2px;border-radius:6px}.period-btn{padding:4px 10px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);font-size:11px;font-weight:600;cursor:pointer;transition:color .2s ease}.period-btn:hover:not(:focus-visible){color:var(--text)}.period-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.period-btn.active{background:var(--bg-elevated);color:var(--text)}.chart-wrapper{flex:1;min-height:200px}.trade-history{display:flex;flex-direction:column;border-top:1px solid var(--border);max-height:280px}.trade-history-header{padding:10px 16px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between}.trade-legacy-toggle{padding:6px 16px;background:#71717a1a;border-bottom:1px solid var(--border)}.trade-list{flex:1;overflow-y:auto}.trade-list-empty{color:var(--text-muted);font-size:12px;padding:20px;text-align:center}.trade-list-loading{padding:12px;text-align:center;font-size:11px;color:var(--text-muted)}.trade-date-separator{padding:8px 16px;background:var(--bg-elevated);font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:1}.trade-row{display:grid;grid-template-columns:50px 52px 36px 48px 70px 24px;padding:10px 16px;border-bottom:1px solid var(--border);font-family:DM Mono,monospace;font-size:11px;align-items:center;gap:8px;cursor:pointer;transition:background .2s ease}.trade-row:hover:not(:focus-visible){background:var(--bg-elevated)}.trade-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.trade-row.win{background:#4ade800a}.trade-row.loss{background:#f871710a}.trade-row-time{color:var(--text-muted)}.trade-row-dir{font-weight:600;font-size:10px}.trade-row-dir.long{color:var(--green)}.trade-row-dir.short{color:var(--red)}.trade-row-ccy{color:var(--text-muted);font-size:10px}.trade-row-duration{color:var(--text-muted)}.trade-row-pnl{font-weight:600;text-align:right}.trade-row-pnl.positive{color:var(--green)}.trade-row-pnl.negative{color:var(--red)}.trade-row-badge{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.trade-row-badge.win{background:var(--green-dim);color:var(--green)}.trade-row-badge.loss{background:var(--red-dim);color:var(--red)}.right-panel{background:var(--bg-card);display:flex;flex-direction:column;overflow:hidden}.signal-hero{padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-card)}.signal-hero-row{display:flex;align-items:center;gap:12px}.signal-boxes{display:flex;gap:8px}.signal-box-wrapper{text-align:center}.signal-box{width:40px;height:40px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:DM Mono,monospace;font-size:16px;font-weight:600;margin-bottom:2px;transition:all .3s}.signal-box.neutral{background:var(--bg-dark);border:2px solid var(--border);color:var(--text-muted)}.signal-box.positive{background:var(--green-dim);border:2px solid var(--green);color:var(--green);box-shadow:0 0 20px #4ade804d}.signal-box.negative{background:var(--red-dim);border:2px solid var(--red);color:var(--red);box-shadow:0 0 20px #f871714d}.signal-box-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.signal-timeframes{display:flex;gap:3px;margin-top:4px;justify-content:center;flex-wrap:wrap}.tf-pill{font-size:9px;padding:2px 5px;border-radius:3px;font-weight:600;font-family:DM Mono,monospace}.tf-pill.positive{background:#4ade8033;color:var(--green)}.tf-pill.negative{background:#f8717133;color:var(--red)}.signal-status{padding:6px 16px;border-radius:16px;font-size:12px;font-weight:500;display:inline-block}.signal-status.waiting{background:var(--bg-dark);color:var(--text-muted)}.signal-status.divergence{background:var(--green-dim);color:var(--green);animation:glow 2s infinite}.signal-status.in-position{background:var(--blue);color:var(--bg-dark)}@keyframes glow{0%,to{box-shadow:0 0 8px #4ade8066}50%{box-shadow:0 0 16px #4ade8099}}.last-trade-summary{padding:16px 20px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary-item{background:var(--bg-dark);padding:12px;border-radius:8px}.summary-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.summary-value{font-family:DM Mono,monospace;font-size:18px;font-weight:600}.signal-feed{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.feed-header{padding:12px 20px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between}.feed-list{flex:1;overflow-y:auto}.feed-row{display:grid;grid-template-columns:50px 80px 32px 80px 32px;padding:8px 16px;border-bottom:1px solid var(--border);font-family:DM Mono,monospace;font-size:11px;align-items:center;gap:4px;transition:background .2s}.feed-row.muted{color:var(--text-muted);opacity:.6}.feed-row.highlight{background:#4ade8014;opacity:1;color:var(--text)}.feed-row.highlight-red{background:#f8717114}.feed-time{color:var(--text-muted)}.feed-price{text-align:right;font-size:10px}.feed-signal{text-align:center;padding:2px 6px;border-radius:4px;font-weight:500;font-size:10px}.feed-signal.positive{background:var(--green-dim);color:var(--green)}.feed-signal.negative{background:var(--red-dim);color:var(--red)}.feed-signal.neutral{background:var(--bg-elevated);color:var(--text-muted)}.feed-date-separator{padding:8px 20px;background:var(--bg-elevated);font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.feed-loading{padding:12px 20px;text-align:center;font-size:11px;color:var(--text-muted)}.mtf-table{flex:1;display:flex;flex-direction:column;min-height:0}.mtf-table .feed-header{background:var(--bg-elevated)}.mtf-empty{padding:20px;text-align:center;color:var(--text-muted);font-size:12px}.mtf-table-header{display:grid;grid-template-columns:55px repeat(5,1fr);padding:8px 16px;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.mtf-table-row{display:grid;grid-template-columns:55px repeat(5,1fr);padding:6px 16px;border-bottom:1px solid var(--border);font-family:DM Mono,monospace;font-size:11px;transition:background .15s}.mtf-table-row:hover{background:var(--bg-elevated)}.mtf-table-row.has-signal{background:#60a5fa0d}.mtf-col-time{color:var(--text-muted)}.mtf-col-tf{text-align:center;padding:2px 4px;border-radius:3px}.mtf-col-tf.sig-pos{background:var(--green-dim);color:var(--green);font-weight:600}.mtf-col-tf.sig-neg{background:var(--red-dim);color:var(--red);font-weight:600}.mtf-col-tf.sig-zero{color:var(--text-muted)}.mtf-col-tf.sig-empty{color:var(--border)}.settings-btn{background:var(--bg-elevated);border:none;border-radius:6px;padding:8px;color:var(--text-muted);cursor:pointer;transition:background .2s ease,color .2s ease}.settings-btn:hover:not(:focus-visible){background:var(--border);color:var(--text)}.settings-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;max-width:500px;width:100%;max-height:80vh;overflow-y:auto;overscroll-behavior:contain}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-title{font-weight:600;font-size:14px}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:20px;padding:4px 8px;border-radius:4px;transition:background .2s ease}.modal-close:hover:not(:focus-visible){background:var(--bg-elevated)}.modal-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.modal-body{padding:20px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media(max-width:767px){.dashboard{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto;height:auto;min-height:100vh}.header{flex-wrap:wrap;padding:10px 12px;gap:8px}.header-left{gap:10px}.logo{font-size:18px}.pair-badge{padding:4px 8px;font-size:10px}.stats-row{gap:16px}.stat-value{font-size:14px}.right-panel{order:-1}.signal-hero{padding:8px 12px}.signal-boxes{gap:6px}.signal-box{width:36px;height:36px;font-size:14px}.last-trade-summary{padding:12px}.signal-feed{max-height:200px}.main{order:0}.chart-section{padding:8px}.chart-wrapper{min-height:250px}.trade-history{max-height:220px}.trade-row{grid-template-columns:45px 45px 32px 42px 60px 22px;padding:8px 12px;font-size:10px;gap:6px}.trade-date-separator{padding:6px 12px}.feed-row{grid-template-columns:45px 70px 28px 28px;padding:6px 12px;font-size:10px}.hide-mobile{display:none!important}.signal-hero-row{justify-content:space-between}}@media(max-width:480px){.stats-row{display:none}.signal-box{width:40px;height:40px;font-size:16px}}.cascade-status{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:12px}.cascade-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cascade-label{font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.cascade-direction{font-size:10px;font-weight:600;font-family:JetBrains Mono,monospace}.cascade-stage{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 10px;border-radius:4px;background:var(--bg-elevated);border:1px solid var(--border)}.cascade-stage.completed{border-color:var(--border)}.stage-tf{font-size:11px;font-weight:600;color:var(--text-muted)}.cascade-stage.completed .stage-tf,.cascade-stage.current .stage-tf{color:var(--text)}.stage-indicator{width:16px;height:16px;display:flex;align-items:center;justify-content:center}.cascade-stage.completed .stage-indicator{color:var(--green)}.cascade-stage.completed.short .stage-indicator{color:var(--red)}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.empty-dot{width:6px;height:6px;border-radius:50%;border:1px solid var(--text-muted)}.cascade-connector{color:var(--text-muted);opacity:.5}.cascade-connector.completed{color:var(--green);opacity:1}.cascade-connector.completed.short{color:var(--red)}.cascade-ready{margin-top:12px;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:700;text-align:center;animation:ready-pulse 2s ease-in-out infinite}.cascade-ready.long{background:#4ade8033;color:var(--green);border:1px solid var(--green)}.cascade-ready.short{background:#f8717133;color:var(--red);border:1px solid var(--red)}@keyframes ready-pulse{0%,to{opacity:1}50%{opacity:.7}}.ready-icon{margin-right:6px}.cascade-progress{margin-top:8px;font-size:11px;color:var(--orange);text-align:center;font-family:DM Mono,monospace}.cascade-idle{margin-top:8px;font-size:11px;color:var(--text-muted);text-align:center}.cascade-compact{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px;font-family:DM Mono,monospace}.cascade-compact.idle{color:var(--text-muted)}.cascade-compact.building{background:#fb923c26;color:var(--orange)}.cascade-compact.complete.long{background:#4ade8033;color:var(--green);animation:ready-pulse 2s ease-in-out infinite}.cascade-compact.complete.short{background:#f8717133;color:var(--red);animation:ready-pulse 2s ease-in-out infinite}.position-banner{background:var(--bg-card);border-bottom:1px solid var(--border);padding:12px 20px;display:flex;flex-wrap:wrap;gap:12px}.position-item{display:flex;align-items:center;gap:20px;padding:12px 16px;border-radius:6px;border:1px solid var(--border);background:var(--bg-elevated);flex:1;min-width:300px}.position-item.long{border-left:3px solid var(--green)}.position-item.short{border-left:3px solid var(--red)}.position-info{display:flex;align-items:center;gap:8px;min-width:80px}.position-currency{font-size:14px;font-weight:700;color:var(--text)}.position-direction{font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px}.position-direction.long{background:#4ade8033;color:var(--green)}.position-direction.short{background:#f8717133;color:var(--red)}.position-prices{display:flex;gap:16px}.price-entry,.price-current{display:flex;flex-direction:column;align-items:flex-start}.price-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.price-value{font-size:13px;font-family:DM Mono,monospace;color:var(--text)}.position-pnl{display:flex;flex-direction:column;align-items:flex-end;min-width:80px}.position-pnl.profit .pnl-value,.position-pnl.profit .pnl-usd{color:var(--green)}.position-pnl.loss .pnl-value,.position-pnl.loss .pnl-usd{color:var(--red)}.pnl-value{font-size:16px;font-weight:700;font-family:DM Mono,monospace}.pnl-usd{font-size:11px;font-family:DM Mono,monospace}.position-duration{display:flex;align-items:center;gap:4px;color:var(--text-muted);font-size:12px;font-family:DM Mono,monospace}.duration-icon{font-size:14px}@media(max-width:768px){.position-banner{padding:6px 12px}.position-item{min-width:100%;gap:12px;padding:8px 12px}.position-prices{display:none}}.signal-history{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.signal-history-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.signal-history-title{font-size:12px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px}.signal-history-count{font-size:11px;color:var(--text-muted)}.signal-history-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:12px}.signal-history-table{max-height:300px;overflow-y:auto}.signal-history-thead{display:grid;grid-template-columns:70px repeat(5,1fr);gap:4px;padding:8px 12px;background:var(--bg-elevated);border-bottom:1px solid var(--border);position:sticky;top:0}.signal-history-thead span{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;text-align:center}.signal-history-thead .sh-time{text-align:left}.signal-history-row{display:grid;grid-template-columns:70px repeat(5,1fr);gap:4px;padding:6px 12px;border-bottom:1px solid rgba(63,63,70,.3);transition:background .15s ease}.signal-history-row:hover{background:var(--bg-elevated)}.signal-history-row.latest{background:#60a5fa1a}.sh-time{font-size:11px;font-family:DM Mono,monospace;color:var(--text-muted)}.sh-signal{display:flex;justify-content:center}.sh-signal .signal-badge{font-size:10px;padding:2px 6px}@media(max-width:768px){.dashboard-v2{display:flex;flex-direction:column;min-height:100vh}.header{flex-wrap:wrap;padding:8px 12px}.nav-tabs{order:3;width:100%;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:8px 0 0;gap:4px}.nav-tab{padding:6px 12px;font-size:11px;white-space:nowrap}.main-content{padding:8px}.overview-grid{grid-template-columns:1fr;gap:8px}.currency-card{padding:12px}.card-signals-inline{flex-wrap:wrap;gap:4px}.cascade-status{padding:10px 12px}.cascade-pipeline{flex-wrap:wrap;gap:8px}.cascade-stage{padding:6px 10px}.detail-main{flex-direction:column}.chart-area{width:100%}.position-area{width:100%;flex-direction:row;flex-wrap:wrap;gap:8px}.position-area>*{flex:1;min-width:150px}.detail-panels{flex-direction:column}.signal-history{width:100%}.signal-history-thead,.signal-history-row{grid-template-columns:60px repeat(5,1fr)}.sh-time{font-size:10px}}@media(max-width:480px){.position-banner{padding:4px 8px}.position-item{flex-wrap:wrap;min-width:100%;gap:8px;padding:8px}.position-info{min-width:auto}.position-pnl{flex-direction:row;align-items:center;gap:8px}.pnl-value{font-size:14px}.cascade-pipeline{justify-content:flex-start}.cascade-connector{display:none}.cascade-stage{flex:0 0 auto}.currency-card .card-sparkline{display:none}}:root,[data-theme=dark]{--bg-primary: #030508;--bg-card: #080c12;--bg-elevated: #0d1318;--bg-hover: #141c24;--border: rgba(56, 189, 248, .08);--border-active: rgba(56, 189, 248, .2);--border-glow: rgba(56, 189, 248, .4);--text-primary: #f0f6fc;--text-secondary: #8b9eb0;--text-muted: #4a5d70;--text-faint: #2a3844;--green: #00ff9d;--green-dim: #003d26;--green-bg: rgba(0, 255, 157, .06);--green-glow: 0 0 20px rgba(0, 255, 157, .3), 0 0 40px rgba(0, 255, 157, .1);--red: #ff3d5a;--red-dim: #3d0a14;--red-bg: rgba(255, 61, 90, .06);--red-glow: 0 0 20px rgba(255, 61, 90, .3), 0 0 40px rgba(255, 61, 90, .1);--orange: #ffaa00;--orange-bg: rgba(255, 170, 0, .08);--blue: #38bdf8;--blue-bg: rgba(56, 189, 248, .08);--cyan: #22d3ee;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--radius: 4px;--radius-lg: 8px;--font-display: "Oxanium", sans-serif;--font-mono: "JetBrains Mono", monospace}[data-theme=light]{--bg-primary: #f8fafc;--bg-card: #ffffff;--bg-elevated: #f1f5f9;--bg-hover: #e2e8f0;--border: rgba(15, 23, 42, .08);--border-active: rgba(15, 23, 42, .15);--border-glow: rgba(15, 23, 42, .2);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-faint: #cbd5e1;--green: #059669;--green-bg: rgba(5, 150, 105, .08);--green-glow: none;--red: #dc2626;--red-bg: rgba(220, 38, 38, .08);--red-glow: none}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{font-family:var(--font-mono);font-size:13px;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum";background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(56,189,248,.03),transparent),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(0,255,157,.02),transparent)}.dashboard-v2{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary)}.main-content{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:var(--sp-4);gap:var(--sp-3)}.overview-dashboard{flex:1;display:flex;flex-direction:column;gap:var(--sp-3);min-height:0}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--bg-card) 0%,var(--bg-primary) 100%);position:relative}.header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-glow),transparent)}.header-left{display:flex;align-items:center;gap:var(--sp-6)}.header-right{display:flex;align-items:center;gap:var(--sp-3)}.logo{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:.15em;color:var(--text-primary);text-shadow:0 0 20px rgba(56,189,248,.3)}.nav-tabs{display:flex;gap:2px;background:var(--bg-elevated);padding:3px;border-radius:var(--radius-lg);border:1px solid var(--border)}.nav-tab{padding:8px 14px;background:transparent;border:none;color:var(--text-muted);font-family:var(--font-display);font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;border-radius:var(--radius);letter-spacing:.03em}.nav-tab:hover{color:var(--text-secondary);background:#38bdf80d}.nav-tab.active{color:var(--cyan);background:var(--bg-card);box-shadow:0 0 10px #22d3ee26}.live-indicator{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--text-secondary)}.live-dot{width:6px;height:6px;background:var(--green);border-radius:50%;animation:pulse 2s ease-in-out infinite}.live-dot.disconnected{background:var(--red)}.live-text.disconnected{color:var(--red)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.theme-toggle,.settings-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer}.theme-toggle:hover,.settings-btn:hover{border-color:var(--border-active);color:var(--text-secondary)}.position-banner{display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);flex-shrink:0}.position-item{flex:1;display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);border-left:2px solid transparent}.position-item.long{border-left-color:var(--green)}.position-item.short{border-left-color:var(--red)}.position-info{display:flex;align-items:center;gap:var(--sp-2)}.position-currency{font-weight:600;font-size:12px}.position-direction{font-size:8px;font-weight:600;padding:2px 6px;border-radius:2px;letter-spacing:.05em}.position-direction.long{background:var(--green-bg);color:var(--green)}.position-direction.short{background:var(--red-bg);color:var(--red)}.position-prices{display:flex;gap:var(--sp-4)}.price-entry,.price-current{display:flex;flex-direction:column;gap:2px}.price-label{font-size:8px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.price-value{font-size:11px;color:var(--text-secondary)}.position-pnl{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto}.position-pnl .pnl-value{font-size:13px;font-weight:600}.position-pnl.profit .pnl-value{color:var(--green)}.position-pnl.loss .pnl-value{color:var(--red)}.position-pnl .pnl-usd{font-size:10px;color:var(--text-muted)}.position-duration{display:flex;align-items:center;gap:4px;color:var(--text-muted);font-size:10px}.duration-icon{opacity:.5}.portfolio-summary{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1px;background:var(--border);border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0;box-shadow:0 4px 24px #0000004d}.summary-stat{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-5);background:var(--bg-card);position:relative}.summary-stat:first-child{background:linear-gradient(135deg,var(--bg-card) 0%,rgba(0,255,157,.03) 100%)}.summary-stat:first-child .summary-value{font-size:32px;text-shadow:var(--green-glow)}.summary-label{font-family:var(--font-display);font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em}.summary-value{font-family:var(--font-mono);font-size:20px;font-weight:600}.summary-value.positive{color:var(--green);text-shadow:0 0 15px rgba(0,255,157,.3)}.summary-value.negative{color:var(--red);text-shadow:0 0 15px rgba(255,61,90,.3)}.currency-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:var(--border);border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0;box-shadow:0 4px 24px #0000004d}.currency-grid.two-rows{grid-template-columns:repeat(5,1fr)}.currency-card{background:var(--bg-card);padding:var(--sp-4);cursor:pointer;transition:all .2s ease;border-left:3px solid transparent;position:relative}.currency-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(56,189,248,.02) 100%);opacity:0;transition:opacity .2s ease}.currency-card:hover{background:var(--bg-elevated)}.currency-card:hover:before{opacity:1}.currency-card.has-position.long{border-left-color:var(--green);background:linear-gradient(90deg,rgba(0,255,157,.04) 0%,var(--bg-card) 30%)}.currency-card.has-position.short{border-left-color:var(--red);background:linear-gradient(90deg,rgba(255,61,90,.04) 0%,var(--bg-card) 30%)}.currency-card.trade-ready{border-left-color:var(--orange);animation:pulse-orange 2s ease-in-out infinite}@keyframes pulse-orange{0%,to{border-left-color:var(--orange)}50%{border-left-color:#ffaa0080}}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-2)}.card-symbol{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text-primary);letter-spacing:.05em}.card-price,.card-price-inline{font-family:var(--font-mono);font-size:14px;color:var(--cyan);font-weight:500}.card-sparkline-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin:var(--sp-2) 0}.card-sparkline{flex:1;min-width:0}.card-signals-inline{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center;padding-top:var(--sp-2);border-top:1px solid var(--border)}.signal-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 6px;background:var(--bg-elevated);border-radius:var(--radius)}.signal-label{font-size:9px;color:var(--text-muted);text-transform:uppercase}.sparkline-container{height:36px;margin:var(--sp-2) 0;opacity:.5}.sparkline-container canvas{width:100%;height:100%}.signal-badges{display:flex;gap:4px;margin-bottom:var(--sp-2)}.signal-badge{font-family:var(--font-mono);font-size:10px;font-weight:600;padding:3px 6px;border-radius:var(--radius);color:var(--text-muted);background:var(--bg-elevated);border:1px solid transparent}.signal-badge.active{background:var(--bg-elevated)}.signal-badge.positive{color:var(--green);background:transparent;border-color:transparent}.signal-badge.negative{color:var(--red);background:transparent;border-color:transparent}.signal-badge.neutral{color:var(--text-muted)}.card-status{font-family:var(--font-display);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:var(--sp-2) 0;margin-top:var(--sp-2);border-top:1px solid var(--border)}.card-status.building{color:var(--orange)}.card-status.ready{color:var(--green);text-shadow:0 0 10px rgba(0,255,157,.4)}.card-status.in-position,.card-status.long{color:var(--green);text-shadow:0 0 10px rgba(0,255,157,.3)}.card-status.short{color:var(--red);text-shadow:0 0 10px rgba(255,61,90,.3)}.overview-bottom{display:grid;grid-template-columns:1.5fr 1fr;gap:2px;background:var(--border);border-radius:var(--radius-lg);overflow:hidden;min-height:400px;max-height:500px;box-shadow:0 4px 24px #0000004d}.dashboard-footer{padding:var(--sp-8);text-align:center;color:var(--text-faint);font-size:10px;font-family:var(--font-display);letter-spacing:.1em}.signal-log{display:flex;flex-direction:column;background:var(--bg-card);min-height:0}.signal-log-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);flex-shrink:0}.signal-log-title{font-family:var(--font-display);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--text-secondary)}.currency-filter{display:flex;gap:1px}.filter-btn,.filter-pill{padding:3px 6px;background:transparent;border:none;font-family:inherit;font-size:9px;color:var(--text-muted);cursor:pointer}.filter-btn:hover,.filter-pill:hover{color:var(--text-secondary)}.filter-btn.active,.filter-pill.active{color:var(--text-primary);background:var(--bg-elevated);border-radius:2px}.filter-pills{display:flex;gap:1px}.signal-log-table{display:flex;flex-direction:column;flex:1;min-height:0}.signal-log-table-header{display:grid;grid-template-columns:45px 50px repeat(5,1fr) 55px;padding:var(--sp-2) var(--sp-4);color:var(--text-muted);border-bottom:1px solid var(--border);font-size:8px;text-transform:uppercase;letter-spacing:.05em}.signal-log-body{flex:1;overflow-y:auto;min-height:0}.signal-log-row{display:grid;grid-template-columns:45px 50px repeat(5,1fr) 55px;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border);font-size:10px}.signal-log-row:hover{background:var(--bg-hover)}.signal-log-row.has-signal{background:linear-gradient(90deg,var(--green-bg) 0%,transparent 50%)}.col-time{color:var(--text-muted);font-size:10px}.col-currency{color:var(--text-secondary);font-weight:500}.col-tf{text-align:center;font-weight:600}.col-tf.positive{color:var(--green);text-shadow:0 0 8px rgba(0,255,157,.4)}.col-tf.negative{color:var(--red);text-shadow:0 0 8px rgba(255,61,90,.4)}.col-tf.zero{color:var(--text-muted)}.col-tf.empty{color:var(--text-faint)}.col-status{text-align:right}.status-badge{font-size:7px;font-weight:600;padding:2px 5px;border-radius:2px;text-transform:uppercase;letter-spacing:.03em}.status-badge.signal{background:var(--green-bg);color:var(--green)}.status-badge.in-position{background:#4488ff1a;color:var(--blue)}.recent-trades{display:flex;flex-direction:column;background:var(--bg-card);min-height:0}.trades-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);flex-shrink:0}.trades-title{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.trades-count{font-size:9px;color:var(--text-muted)}.trades-table-header{display:grid;grid-template-columns:50px 40px 50px 60px 55px 50px 24px;padding:var(--sp-2) var(--sp-4);color:var(--text-muted);border-bottom:1px solid var(--border);font-size:8px;text-transform:uppercase;letter-spacing:.05em}.trades-body{flex:1;overflow-y:auto;min-height:0}.trade-row{display:grid;grid-template-columns:50px 40px 50px 60px 55px 50px 24px;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border);font-size:10px;align-items:center}.trade-row:hover{background:var(--bg-elevated)}.trade-time{color:var(--text-muted);font-size:9px}.trade-symbol{color:var(--text-secondary)}.trade-direction{font-size:8px;font-weight:600;text-transform:uppercase}.trade-direction.long{color:var(--green)}.trade-direction.short{color:var(--red)}.trade-pnl.positive{color:var(--green)}.trade-pnl.negative{color:var(--red)}.trade-pct{font-size:10px;font-weight:500}.trade-pct.positive{color:var(--green)}.trade-pct.negative{color:var(--red)}.trade-duration{color:var(--text-muted);font-size:9px}.trade-result{width:18px;height:18px;border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600}.trade-result.win{background:var(--green-bg);color:var(--green)}.trade-result.loss{background:var(--red-bg);color:var(--red)}.currency-detail{max-width:1400px;margin:0 auto}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-4);flex-wrap:wrap;gap:var(--sp-3)}.detail-title{display:flex;align-items:baseline;gap:var(--sp-3)}.detail-symbol{font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:.05em;text-shadow:0 0 20px rgba(56,189,248,.3)}.detail-name{font-family:var(--font-display);font-size:14px;color:var(--text-secondary);letter-spacing:.03em}.detail-ticker{font-family:var(--font-mono);font-size:11px;color:var(--cyan);padding:4px 10px;background:var(--blue-bg);border:1px solid rgba(56,189,248,.2);border-radius:var(--radius)}.period-selector{display:flex;gap:2px;background:var(--bg-elevated);padding:3px;border-radius:var(--radius);border:1px solid var(--border)}.period-btn{padding:6px 10px;background:transparent;border:none;font-family:var(--font-display);font-size:10px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius);transition:all .15s ease;letter-spacing:.05em}.period-btn:hover{color:var(--text-secondary);background:#38bdf80d}.period-btn.active{color:var(--cyan);background:var(--bg-card);box-shadow:0 0 8px #22d3ee26}.detail-main{display:grid;grid-template-columns:1fr 280px;gap:var(--sp-4);margin-bottom:var(--sp-4)}.chart-area{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;box-shadow:0 4px 24px #0000004d;position:relative;overflow:hidden}.chart-area:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-glow),transparent)}.chart-container{height:400px;padding:var(--sp-4)}.position-area{display:flex;flex-direction:column;gap:var(--sp-3)}.detail-panels{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.trade-history-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;max-height:350px}.trade-history-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.trade-history-panel .trade-count{font-weight:400;color:var(--text-muted)}.trade-history-panel .history-list{flex:1;overflow-y:auto}.trade-history-panel .empty-state{padding:var(--sp-6);text-align:center;color:var(--text-muted);font-size:12px}.trade-history-panel .history-row{display:grid;grid-template-columns:60px 50px 70px 50px 24px;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);font-size:11px;align-items:center}.trade-history-panel .history-row:hover{background:var(--bg-elevated);cursor:pointer}.trade-history-panel .history-time{color:var(--text-muted);font-size:10px}.trade-history-panel .history-dir{font-weight:600;font-size:10px}.trade-history-panel .history-dir.long{color:var(--green)}.trade-history-panel .history-dir.short{color:var(--red)}.trade-history-panel .history-pnl{font-weight:600}.trade-history-panel .history-pnl.positive{color:var(--green)}.trade-history-panel .history-pnl.negative{color:var(--red)}.trade-history-panel .history-duration{color:var(--text-muted);font-size:10px}.trade-history-panel .history-badge{width:22px;height:22px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.trade-history-panel .history-badge.win{background:var(--green-bg);color:var(--green)}.trade-history-panel .history-badge.loss{background:var(--red-bg);color:var(--red)}.signal-grid-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);max-height:350px;display:flex;flex-direction:column}.signal-grid-panel .panel-header{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.signal-grid-panel .empty-state{padding:var(--sp-6);text-align:center;color:var(--text-muted);font-size:12px}.signal-grid-panel .grid-table{flex:1;overflow-y:auto}.signal-grid-panel .grid-header{display:grid;grid-template-columns:50px repeat(5,1fr);gap:var(--sp-1);padding:var(--sp-2) var(--sp-4);font-size:9px;font-weight:600;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-card)}.signal-grid-panel .grid-body{overflow-y:auto}.signal-grid-panel .grid-row{display:grid;grid-template-columns:50px repeat(5,1fr);gap:var(--sp-1);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border);font-size:11px}.signal-grid-panel .grid-row:hover{background:var(--bg-elevated)}.signal-grid-panel .grid-row.has-signal{background:var(--green-bg)}.signal-grid-panel .grid-col-time{color:var(--text-muted);font-size:10px}.signal-grid-panel .grid-col-tf{text-align:center}.signal-grid-panel .grid-col-tf.positive{color:var(--green)}.signal-grid-panel .grid-col-tf.negative{color:var(--red)}.signal-grid-panel .grid-col-tf.zero{color:var(--text-muted)}.signal-grid-panel .grid-col-tf.empty{color:var(--text-faint)}.position-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-4);box-shadow:0 4px 24px #0000004d}.position-panel.empty{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-family:var(--font-display);letter-spacing:.05em}.position-panel.active.long{border-left:3px solid var(--green);background:linear-gradient(90deg,rgba(0,255,157,.04) 0%,var(--bg-card) 30%)}.position-panel.active.short{border-left:3px solid var(--red);background:linear-gradient(90deg,rgba(255,61,90,.04) 0%,var(--bg-card) 30%)}.position-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--sp-3);margin-bottom:var(--sp-3);border-bottom:1px solid var(--border)}.position-label{font-family:var(--font-display);font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em}.position-direction{font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.1em}.position-direction.long{color:var(--green);text-shadow:0 0 10px rgba(0,255,157,.4)}.position-direction.short{color:var(--red);text-shadow:0 0 10px rgba(255,61,90,.4)}.position-details{display:flex;flex-direction:column;gap:var(--sp-3)}.position-row{display:flex;justify-content:space-between;align-items:center}.detail-label{font-family:var(--font-display);font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.detail-value{font-family:var(--font-mono);font-size:12px}.detail-value.positive{color:var(--green);text-shadow:0 0 8px rgba(0,255,157,.3)}.detail-value.negative{color:var(--red);text-shadow:0 0 8px rgba(255,61,90,.3)}.detail-bottom{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.signal-history{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.history-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.history-title{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.history-count{font-size:9px;color:var(--text-muted)}.history-table-header{display:grid;grid-template-columns:50px repeat(5,1fr);padding:var(--sp-2) var(--sp-4);color:var(--text-muted);font-size:8px;text-transform:uppercase;border-bottom:1px solid var(--border)}.history-body{max-height:280px;overflow-y:auto}.history-row{display:grid;grid-template-columns:50px repeat(5,1fr);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border);font-size:10px}.history-row:last-child{border-bottom:none}.history-row:hover{background:var(--bg-elevated)}.history-time{color:var(--text-muted)}.history-tf{text-align:center}.history-tf.positive{color:var(--green)}.history-tf.negative{color:var(--red)}.history-tf.zero{color:var(--text-muted)}.trade-history{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.trade-history-header{display:grid;grid-template-columns:65px 50px 55px 45px 1fr;padding:var(--sp-2) var(--sp-4);color:var(--text-muted);font-size:8px;text-transform:uppercase;border-bottom:1px solid var(--border)}.trade-history-body{max-height:280px;overflow-y:auto}.trade-history-row{display:grid;grid-template-columns:65px 50px 55px 45px 1fr;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border);font-size:10px;align-items:center}.trade-history-row:last-child{border-bottom:none}.trade-history-row:hover{background:var(--bg-elevated)}.cascade-status{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-3);margin-bottom:var(--sp-3)}.cascade-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-3)}.cascade-label{font-size:9px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.cascade-direction{font-size:8px;font-weight:600}.cascade-direction.long{color:var(--green)}.cascade-direction.short{color:var(--red)}.cascade-pipeline{display:flex;align-items:center;justify-content:center;gap:2px}.cascade-step{display:flex;align-items:center;gap:2px}.cascade-stage{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius)}.cascade-stage.completed{border-color:var(--border-active)}.cascade-stage.completed .stage-tf{color:var(--green)}.cascade-stage.completed.short .stage-tf{color:var(--red)}.cascade-stage.current{border-color:var(--orange)}.stage-tf{font-size:9px;font-weight:500;color:var(--text-secondary)}.stage-value{font-size:8px;color:var(--text-muted)}.cascade-arrow{color:var(--text-faint);font-size:9px}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:500px;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-4);border-bottom:1px solid var(--border)}.modal-title{font-size:12px;font-weight:600}.modal-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:18px}.modal-body{padding:var(--sp-4)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:1200px){.currency-grid{grid-template-columns:repeat(3,1fr)}.overview-bottom{grid-template-columns:1fr}}@media(max-width:768px){body{font-size:14px}.main-content{padding:var(--sp-3)}.header{flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-3)}.header-left{flex-direction:column;align-items:flex-start;gap:var(--sp-3);width:100%}.nav-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--sp-2)}.nav-tab{padding:10px 14px;font-size:12px;white-space:nowrap}.currency-grid{grid-template-columns:1fr;gap:var(--sp-2);background:transparent}.currency-card{padding:var(--sp-4);border-radius:var(--radius);border:1px solid var(--border)}.card-symbol{font-size:16px}.card-price-inline{font-size:14px}.signal-badges,.card-signals-inline{gap:var(--sp-2);flex-wrap:wrap}.signal-badge{font-size:11px;padding:4px 8px}.signal-item{padding:6px 10px;min-width:48px}.signal-label{font-size:10px}.card-status{font-size:11px;padding-top:var(--sp-3)}.portfolio-summary{grid-template-columns:1fr 1fr;gap:var(--sp-2);background:transparent}.summary-stat{padding:var(--sp-4);border-radius:var(--radius);border:1px solid var(--border)}.summary-stat:first-child .summary-value{font-size:24px}.summary-value{font-size:16px}.summary-label{font-size:10px}.position-banner{flex-direction:column;padding:var(--sp-3)}.position-item{flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-4)}.position-currency{font-size:16px}.position-direction{font-size:10px;padding:4px 10px}.position-pnl .pnl-value{font-size:18px}.overview-bottom{grid-template-columns:1fr;gap:var(--sp-3);background:transparent;min-height:auto;max-height:none}.signal-log,.recent-trades{border-radius:var(--radius-lg);border:1px solid var(--border);min-height:300px;max-height:400px}.signal-log-body,.trades-list{max-height:320px;overflow-y:auto}.dashboard-footer{padding:var(--sp-6)}.signal-log-header,.trades-header{padding:var(--sp-4)}.signal-log-title{font-size:11px}.filter-pill{padding:6px 10px;font-size:11px}.signal-log-table-header{display:none}.signal-log-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);font-size:12px}.col-time{width:100%;font-size:11px;margin-bottom:var(--sp-1)}.col-currency{font-weight:600;font-size:13px}.col-tf{padding:4px 8px;background:var(--bg-elevated);border-radius:var(--radius);font-size:11px}.col-status{margin-left:auto}.status-badge{font-size:9px;padding:4px 8px}.trades-table-header{display:none}.trades-list{padding:0}.trade-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);font-size:12px}.trade-time{width:100%;font-size:11px;margin-bottom:var(--sp-1)}.trade-currency{font-weight:600;font-size:13px}.trade-dir{font-size:10px}.trade-pnl{font-size:14px;font-weight:600;margin-left:auto}.trade-duration{font-size:11px}.trade-badge{width:24px;height:24px;font-size:11px}.currency-detail{padding:0}.detail-header{margin-bottom:var(--sp-3)}.detail-symbol{font-size:18px}.detail-name{font-size:12px}.detail-ticker{font-size:10px}.detail-main{grid-template-columns:1fr;gap:var(--sp-3)}.chart-area{order:1}.chart-container{height:260px;padding:var(--sp-3)}.position-area{order:2;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.cascade-status{padding:var(--sp-3)}.cascade-pipeline{flex-wrap:wrap;justify-content:flex-start;gap:var(--sp-2)}.cascade-stage{padding:6px 10px}.stage-tf{font-size:10px}.cascade-status,.position-panel{margin-bottom:0}.position-panel{padding:var(--sp-3)}.position-header{padding-bottom:var(--sp-2);margin-bottom:var(--sp-2)}.position-label{font-size:8px}.position-direction{font-size:12px}.position-details{gap:var(--sp-2)}.detail-label{font-size:10px}.detail-value{font-size:12px}.detail-panels{grid-template-columns:1fr;gap:var(--sp-3)}.signal-history,.trade-history-panel,.signal-grid-panel{width:100%;max-height:300px}.signal-history-header,.trade-history-panel .panel-header,.signal-grid-panel .panel-header{padding:var(--sp-3)}.signal-history-title{font-size:11px}.signal-history-thead,.signal-history-row{grid-template-columns:55px repeat(5,1fr);padding:var(--sp-2) var(--sp-3);font-size:10px}.sh-time{font-size:9px}.signal-grid-panel .grid-header,.signal-grid-panel .grid-row{grid-template-columns:45px repeat(5,1fr);padding:var(--sp-2) var(--sp-3);font-size:10px}.trade-history-panel .history-row{grid-template-columns:55px 45px 65px 45px 22px;padding:var(--sp-2) var(--sp-3);font-size:10px}.period-selector{flex-wrap:wrap}.period-btn{padding:6px 10px;font-size:10px}}@media(max-width:480px){body{font-size:15px}.logo{font-size:16px}.summary-stat:first-child .summary-value{font-size:22px}.summary-value{font-size:15px}.position-area{grid-template-columns:1fr}.card-sparkline-row{flex-direction:column;gap:var(--sp-2)}.card-sparkline{width:100%}}
