.symbol-card { background: linear-gradient(135deg, #1e1e2e 0%, #2a2a3e 100%); border-radius: 16px; padding: 24px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); border: 1px solid rgba(255, 255, 255, 0.1); transition: transform 0.2s, box-shadow 0.2s; } .symbol-card:hover { transform: translateY(-4px); box-shadow: 0 12px 48px rgba(0, 0, 0, 0.4); } .symbol-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; } .title-area { display: flex; flex-direction: column; gap: 4px; } .session-info { display: flex; gap: 8px; align-items: center; } .session-badge { background: rgba(255, 255, 255, 0.1); padding: 2px 8px; border-radius: 4px; font-size: 10px; font-weight: 700; color: #888; letter-spacing: 0.5px; } .vol-label { font-size: 10px; font-weight: 600; text-transform: uppercase; } .vol-label.high { color: #ff3366; } .vol-label.med { color: #ffaa00; } .vol-label.low { color: #00ff88; } .symbol-header h2 { color: #fff; font-size: 24px; font-weight: 700; margin: 0; letter-spacing: 0.5px; } .price-info { text-align: right; display: flex; flex-direction: column; gap: 2px; } .price { font-size: 26px; font-weight: 700; color: #fff; } .change-grid { display: flex; flex-direction: column; gap: 2px; } .change-item { font-size: 11px; font-weight: 600; } .change-item.up { color: #00ff88; } .change-item.down { color: #ff3366; } .signal-badge { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 20px; font-weight: 700; font-size: 14px; color: #000; margin-bottom: 24px; text-transform: uppercase; letter-spacing: 1px; } .signal-time { font-size: 11px; opacity: 0.8; font-weight: 500; } .rules-section { margin-bottom: 24px; } .rules-section h3, .indicators-section h3 { color: #888; font-size: 12px; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 12px; font-weight: 600; } .rules-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 12px; } .rule-container { display: flex; flex-direction: column; gap: 6px; } .profile-execution { border-radius: 8px; padding: 8px 10px; font-size: 11px; border: 1px solid rgba(255, 255, 255, 0.12); background: rgba(255, 255, 255, 0.04); color: #c7c7c7; } .profile-execution.executed { border-color: rgba(0, 255, 136, 0.35); background: rgba(0, 255, 136, 0.08); color: #8dffca; } .profile-execution.blocked { border-color: rgba(255, 51, 102, 0.35); background: rgba(255, 51, 102, 0.08); color: #ff9bb6; } .profile-execution.skipped { border-color: rgba(255, 255, 255, 0.14); background: rgba(255, 255, 255, 0.03); color: #b5b5b5; } .profile-execution-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 4px; font-weight: 700; letter-spacing: 0.3px; } .profile-execution-head code { font-size: 10px; color: #ddd; background: rgba(0, 0, 0, 0.2); border-radius: 4px; padding: 1px 5px; } .profile-execution-reason { font-size: 10px; line-height: 1.35; } .rule-badge { display: flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s; border: 1px solid transparent; } .rule-badge.passed { background: rgba(0, 255, 136, 0.15); color: #00ff88; border-color: rgba(0, 255, 136, 0.3); } .rule-badge.failed { background: rgba(255, 51, 102, 0.15); color: #ff3366; border-color: rgba(255, 51, 102, 0.3); } .rule-badge.pending { background: rgba(255, 255, 255, 0.05); color: #888; border-color: rgba(255, 255, 255, 0.1); opacity: 0.6; } .rule-badge.skipped { background: rgba(255, 255, 255, 0.02); color: #555; border-color: rgba(255, 255, 255, 0.05); cursor: default; } .rule-badge:hover { transform: scale(1.02); } .ai-details { border-radius: 8px; padding: 10px; font-size: 11px; margin-top: -4px; border-left: 3px solid transparent; background: rgba(255, 255, 255, 0.03); } .ai-details.passed { background: rgba(0, 255, 136, 0.05); border-color: #00ff88; } .ai-details.failed { background: rgba(255, 51, 102, 0.05); border-color: #ff3366; } .ai-confidence { font-weight: 700; margin-bottom: 4px; font-size: 12px; } .ai-details.passed .ai-confidence { color: #00ff88; } .ai-details.failed .ai-confidence { color: #ff3366; } .ai-reasoning { color: #aaa; line-height: 1.4; font-style: italic; } .rule-icon { font-size: 12px; font-weight: 900; } .rule-name { font-size: 12px; } .indicators-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; } .indicator { display: flex; justify-content: space-between; padding: 10px; background: rgba(255, 255, 255, 0.05); border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.08); } .indicator-label { color: #888; font-size: 12px; font-weight: 500; } .indicator-value { color: #fff; font-size: 13px; font-weight: 700; } /* Mode Badge */ .mode-badge { padding: 2px 8px; border-radius: 4px; font-size: 0.75rem; font-weight: bold; text-transform: uppercase; } .mode-badge.alerts { background: #555; color: #fff; } .mode-badge.paper { background: #3498db; color: #fff; } .mode-badge.live { background: #e67e22; color: #fff; } /* Active Position Panel */ .active-position-panel { background: rgba(255, 255, 255, 0.05); border-radius: 8px; padding: 12px; margin: 15px 0; border-left: 4px solid #888; } .active-position-panel.buy { border-left-color: #00ff88; } .active-position-panel.sell { border-left-color: #ff3366; } .pos-header { display: flex; justify-content: space-between; margin-bottom: 8px; font-size: 0.8rem; font-weight: bold; } .pos-label { color: #aaa; } .buy .pos-label { color: #00ff88; } .sell .pos-label { color: #ff3366; } .pos-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; } .pos-item { display: flex; flex-direction: column; } .pos-item .label { font-size: 0.65rem; color: #666; text-transform: uppercase; } .pos-item .value { font-size: 0.85rem; font-weight: 500; } .pos-item.sl .value { color: #ff3366; } .pos-item.tp .value { color: #00ff88; }