@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Mono:wght@400;500&display=swap";:root{--bg-dark: #09090b;--bg-card: #18181b;--bg-elevated: #27272a;--border: #3f3f46;--text: #fafafa;--text-muted: #71717a;--green: #4ade80;--green-dim: #166534;--red: #f87171;--red-dim: #991b1b;--orange: #fb923c;--blue: #60a5fa}body{font-family:DM Sans,system-ui,sans-serif;background:var(--bg-dark);color:var(--text);-webkit-font-smoothing:antialiased}.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}.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:all .2s}.strategy-tab:hover{color:var(--text)}.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)}.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:all .2s}.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}.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)}.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:all .2s}.settings-btn:hover{background:var(--border);color:var(--text)}.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}.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}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-dark)}@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:8px;padding:12px 16px}.cascade-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cascade-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.cascade-direction{font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px}.cascade-direction.long{background:#4ade8026;color:var(--green)}.cascade-direction.short{background:#f8717126;color:var(--red)}.cascade-pipeline{display:flex;align-items:center;justify-content:center;gap:4px}.cascade-step{display:flex;align-items:center;gap:4px}.cascade-stage{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;border-radius:6px;background:var(--bg-elevated);border:1px solid var(--border);transition:all .2s ease}.cascade-stage.completed{border-color:var(--green);background:#4ade801a}.cascade-stage.completed.short{border-color:var(--red);background:#f871711a}.cascade-stage.current{border-color:var(--orange);background:#fb923c1a}.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:linear-gradient(180deg,#27272af2,#18181bf2);border-bottom:1px solid var(--border);padding:8px 20px;display:flex;flex-wrap:wrap;gap:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.position-item{display:flex;align-items:center;gap:20px;padding:8px 16px;border-radius:8px;background:#0000004d;border:1px solid var(--border);flex:1;min-width:300px}.position-item.long{border-color:#4ade804d;background:#4ade800d}.position-item.short{border-color:#f871714d;background:#f871710d}.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: #09090b;--bg-card: #18181b;--bg-elevated: #27272a;--border: #3f3f46;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--green: #4ade80;--green-dim: #166534;--green-bg: rgba(74, 222, 128, .1);--red: #f87171;--red-dim: #991b1b;--red-bg: rgba(248, 113, 113, .1);--blue: #60a5fa;--orange: #fb923c;--yellow: #facc15;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4)}[data-theme=light]{--bg-primary: #ffffff;--bg-card: #f4f4f5;--bg-elevated: #e4e4e7;--border: #d4d4d8;--text-primary: #18181b;--text-secondary: #52525b;--text-muted: #a1a1aa;--green: #16a34a;--green-dim: #15803d;--green-bg: rgba(22, 163, 74, .1);--red: #dc2626;--red-dim: #b91c1c;--red-bg: rgba(220, 38, 38, .1);--blue: #2563eb;--orange: #ea580c;--yellow: #ca8a04;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{font-family:DM Sans,system-ui,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}.dashboard-v2{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary)}.header{background:var(--bg-card);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);flex-shrink:0}.header-left{display:flex;align-items:center;gap:20px}.header-right{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:3px;border-radius:8px}.nav-tab{padding:8px 16px;background:transparent;border:none;border-radius:6px;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.nav-tab:hover{color:var(--text-primary);background:var(--bg-card)}.nav-tab.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.theme-toggle{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.theme-toggle:hover{color:var(--text-primary);border-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}.live-text.disconnected{color:var(--red)}.settings-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.settings-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.main-content{flex:1;overflow-y:auto;padding:20px}.overview-dashboard{max-width:1400px;margin:0 auto}.portfolio-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.summary-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:4px}.summary-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.summary-value{font-family:DM Mono,monospace;font-size:24px;font-weight:600}.summary-value.positive{color:var(--green)}.summary-value.negative{color:var(--red)}.currency-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:24px}.currency-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s}.currency-card:hover{border-color:var(--text-muted);transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.card-symbol{font-size:18px;font-weight:700}.card-name{font-size:12px;color:var(--text-muted)}.card-sparkline{height:50px;margin-bottom:8px;display:flex;align-items:center;justify-content:flex-start}.card-price{font-family:DM Mono,monospace;font-size:20px;font-weight:600;margin-bottom:12px}.card-signals{margin-bottom:12px}.signal-row{display:flex;align-items:center;gap:4px;margin-bottom:4px}.signal-label{font-size:10px;color:var(--text-muted);width:24px}.signal-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 6px;border-radius:4px;font-family:DM Mono,monospace;font-size:10px;font-weight:600;margin-right:8px}.signal-badge.positive{background:var(--green-bg);color:var(--green);border:1px solid var(--green)}.signal-badge.negative{background:var(--red-bg);color:var(--red);border:1px solid var(--red)}.signal-badge.neutral{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}.card-status{display:inline-block;padding:6px 12px;border-radius:16px;font-size:11px;font-weight:600}.card-status.waiting{background:var(--bg-elevated);color:var(--text-muted)}.card-status.signal{background:var(--green-bg);color:var(--green)}.card-status.in-position{background:var(--blue);color:#fff}@keyframes glow{0%,to{box-shadow:0 0 8px #4ade8066}50%{box-shadow:0 0 16px #4ade8099}}.currency-card.condensed{padding:12px}.currency-card.condensed .card-header{margin-bottom:6px}.currency-card.condensed .card-sparkline-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.currency-card.condensed .card-sparkline{height:28px;margin-bottom:0}.card-price-inline{font-family:DM Mono,monospace;font-size:14px;font-weight:600;margin-left:auto}.card-signals-inline{display:flex;gap:12px;margin-bottom:8px;flex-wrap:wrap}.signal-item{display:flex;align-items:center;gap:2px}.signal-item .signal-label{width:auto;font-size:9px}.signal-item .signal-badge{min-width:22px;padding:1px 4px;font-size:9px;margin-right:0}.card-pnl{margin-top:8px;font-size:11px;font-family:DM Mono,monospace}.card-pnl.positive{color:var(--green)}.card-pnl.negative{color:var(--red)}.recent-trades{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.trades-table{display:flex;flex-direction:column;flex:1;overflow:hidden}.trades-header{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text-secondary)}.trades-table-header{display:grid;grid-template-columns:95px 70px 50px 90px 70px 35px;padding:8px 16px;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.trades-list{flex:1;min-height:200px;max-height:400px;overflow-y:auto}.trade-row{display:grid;grid-template-columns:95px 70px 50px 90px 70px 35px;padding:10px 16px;border-bottom:1px solid var(--border);font-family:DM Mono,monospace;font-size:12px;align-items:center;cursor:pointer;transition:background .2s}.trade-row:hover{background:var(--bg-elevated)}.trade-row.win{background:var(--green-bg)}.trade-row.loss{background:var(--red-bg)}.trade-time{color:var(--text-muted)}.trade-currency{color:var(--text-secondary)}.trade-dir{font-weight:600}.trade-dir.long{color:var(--green)}.trade-dir.short{color:var(--red)}.trade-pnl{font-weight:600}.trade-pnl.positive{color:var(--green)}.trade-pnl.negative{color:var(--red)}.trade-duration{color:var(--text-muted)}.trade-badge{width:24px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.trade-badge.win{background:var(--green-dim);color:var(--green)}.trade-badge.loss{background:var(--red-dim);color:var(--red)}.overview-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16px}.signal-log{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.signal-log-table{display:flex;flex-direction:column;flex:1;overflow:hidden}.signal-log-header{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.signal-log-title{font-size:12px;font-weight:600;color:var(--text-secondary)}.filter-pills{display:flex;gap:4px}.filter-pill{padding:4px 10px;border-radius:12px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:10px;font-weight:600;cursor:pointer;transition:all .2s}.filter-pill:hover{border-color:var(--text-muted);color:var(--text-primary)}.filter-pill.active{background:var(--bg-elevated);border-color:var(--text-secondary);color:var(--text-primary)}.signal-log-table{font-family:DM Mono,monospace;font-size:11px}.signal-log-table-header{display:grid;grid-template-columns:90px 60px repeat(5,1fr) 70px;padding:8px 12px;background:var(--bg-elevated);color:var(--text-muted);font-size:10px;text-transform:uppercase}.signal-log-body{flex:1;min-height:200px;max-height:400px;overflow-y:auto}.signal-log-row{display:grid;grid-template-columns:90px 60px repeat(5,1fr) 70px;padding:6px 12px;border-bottom:1px solid var(--border);transition:background .2s}.signal-log-row:hover{background:var(--bg-elevated)}.signal-log-row.has-signal{background:var(--green-bg)}.col-time{color:var(--text-muted)}.col-currency{font-weight:600}.col-tf{text-align:center}.col-tf.positive{color:var(--green);font-weight:600}.col-tf.negative{color:var(--red);font-weight:600}.col-tf.zero{color:var(--text-muted)}.col-tf.empty{color:var(--text-muted);opacity:.5}.col-status{text-align:right}.status-badge{padding:2px 8px;border-radius:4px;font-size:9px;font-weight:700}.status-badge.signal{background:var(--green-bg);color:var(--green)}.status-badge.in-position{background:var(--blue);color:#fff}.currency-detail{max-width:1400px;margin:0 auto}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.detail-title{display:flex;align-items:center;gap:12px}.detail-symbol{font-size:28px;font-weight:700}.detail-name{font-size:16px;color:var(--text-secondary)}.detail-ticker{font-size:12px;color:var(--text-muted);background:var(--bg-elevated);padding:4px 8px;border-radius:4px}.period-selector{display:flex;gap:2px;background:var(--bg-card);padding:3px;border-radius:8px;border:1px solid var(--border)}.period-btn{padding:6px 12px;background:transparent;border:none;border-radius:6px;color:var(--text-muted);font-size:11px;font-weight:600;cursor:pointer;transition:all .2s}.period-btn:hover{color:var(--text-primary)}.period-btn.active{background:var(--bg-elevated);color:var(--text-primary)}.detail-main{display:grid;grid-template-columns:1fr 280px;gap:16px;margin-bottom:20px}.chart-area{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.chart-container{height:400px;padding:12px}.position-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px}.position-panel.empty{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.position-panel.active{border-color:var(--blue)}.position-panel.active.long{border-color:var(--green);background:var(--green-bg)}.position-panel.active.short{border-color:var(--red);background:var(--red-bg)}.position-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.position-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.position-direction{font-size:18px;font-weight:700}.position-direction.long{color:var(--green)}.position-direction.short{color:var(--red)}.position-details{display:flex;flex-direction:column;gap:12px}.position-row{display:flex;justify-content:space-between;align-items:center}.detail-label{font-size:11px;color:var(--text-muted)}.detail-value{font-family:DM Mono,monospace;font-size:13px;font-weight:500}.detail-value.positive{color:var(--green)}.detail-value.negative{color:var(--red)}.detail-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px}.signal-grid-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.panel-header{padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.empty-state{padding:40px;text-align:center;color:var(--text-muted);font-size:12px}.grid-table{font-family:DM Mono,monospace;font-size:11px}.grid-header{display:grid;grid-template-columns:60px repeat(5,1fr);padding:8px 12px;background:var(--bg-elevated);color:var(--text-muted);font-size:10px;text-transform:uppercase}.grid-body{max-height:300px;overflow-y:auto}.grid-row{display:grid;grid-template-columns:60px repeat(5,1fr);padding:6px 12px;border-bottom:1px solid var(--border);transition:background .2s}.grid-row:hover{background:var(--bg-elevated)}.grid-row.has-signal{background:var(--green-bg)}.grid-col-time{color:var(--text-muted)}.grid-col-tf{text-align:center}.grid-col-tf.positive{color:var(--green);font-weight:600}.grid-col-tf.negative{color:var(--red);font-weight:600}.grid-col-tf.zero{color:var(--text-muted)}.grid-col-tf.empty{color:var(--text-muted);opacity:.5}.trade-history-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.trade-count{font-size:10px;color:var(--text-muted);font-weight:400}.history-list{max-height:300px;overflow-y:auto}.history-row{display:grid;grid-template-columns:60px 60px 80px 60px 36px;padding:8px 12px;border-bottom:1px solid var(--border);font-family:DM Mono,monospace;font-size:11px;align-items:center;cursor:pointer;transition:background .2s}.history-row:hover{background:var(--bg-elevated)}.history-row.win{background:var(--green-bg)}.history-row.loss{background:var(--red-bg)}.history-time{color:var(--text-muted)}.history-dir{font-weight:600}.history-dir.long{color:var(--green)}.history-dir.short{color:var(--red)}.history-pnl{font-weight:600}.history-pnl.positive{color:var(--green)}.history-pnl.negative{color:var(--red)}.history-duration{color:var(--text-muted)}.history-badge{width:22px;height:22px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}.history-badge.win{background:var(--green-dim);color:var(--green)}.history-badge.loss{background:var(--red-dim);color:var(--red)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:90%;max-width:420px;box-shadow:var(--shadow-md)}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.modal-title{font-size:16px;font-weight:600;flex:1}.modal-badge{padding:4px 10px;border-radius:4px;font-size:10px;font-weight:700}.modal-badge.win{background:var(--green-bg);color:var(--green)}.modal-badge.loss{background:var(--red-bg);color:var(--red)}.modal-close{width:32px;height:32px;border-radius:8px;border:none;background:var(--bg-elevated);color:var(--text-muted);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.modal-stat{background:var(--bg-elevated);padding:12px;border-radius:8px}.modal-stat .stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px}.modal-stat .stat-value{font-family:DM Mono,monospace;font-size:14px;font-weight:600}.modal-stat .stat-value.long{color:var(--green)}.modal-stat .stat-value.short{color:var(--red)}.modal-pnl{padding:16px;border-radius:8px;display:flex;align-items:center;justify-content:space-between}.modal-pnl.win{background:var(--green-bg);border:1px solid var(--green)}.modal-pnl.loss{background:var(--red-bg);border:1px solid var(--red)}.pnl-label{font-size:11px;color:var(--text-muted);text-transform:uppercase}.pnl-value{font-family:DM Mono,monospace;font-size:20px;font-weight:700}.modal-pnl.win .pnl-value{color:var(--green)}.modal-pnl.loss .pnl-value{color:var(--red)}.pnl-pct{font-family:DM Mono,monospace;font-size:12px;color:var(--text-secondary)}@media(max-width:768px){.header{padding:10px 12px}.header-left{gap:12px}.nav-tabs{display:none}.main-content{padding:12px}.portfolio-summary{grid-template-columns:repeat(2,1fr);gap:8px}.summary-stat{padding:12px}.summary-value{font-size:18px}.currency-grid{grid-template-columns:1fr;gap:12px}.trades-table-header,.trade-row{grid-template-columns:50px 60px 50px 80px 60px 32px;font-size:10px}.detail-main{grid-template-columns:1fr}.chart-container{height:280px}.detail-panels{grid-template-columns:1fr}.grid-header,.grid-row{grid-template-columns:50px repeat(3,1fr)}.grid-col-tf:nth-child(3),.grid-col-tf:nth-child(5){display:none}.overview-bottom{grid-template-columns:1fr}.signal-log-table-header,.signal-log-row{grid-template-columns:45px 45px repeat(3,1fr) 50px;font-size:10px}.signal-log-row .col-tf:nth-child(4),.signal-log-row .col-tf:nth-child(6),.signal-log-table-header span:nth-child(4),.signal-log-table-header span:nth-child(6){display:none}.filter-pills{gap:2px}.filter-pill{padding:3px 6px;font-size:9px}}@media(max-width:768px){.dashboard-v2{padding-bottom:60px}.nav-tabs{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border);padding:8px;justify-content:center;z-index:100}.nav-tab{flex:1;max-width:80px;text-align:center}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-elevated);border-radius:3px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
