/* Strategies Page */ .strategies-page { display: flex; flex-direction: column; gap: 2rem; } /* Page Header */ .page-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1rem; } .page-header h1 { margin: 0; font-size: 2rem; font-weight: 700; color: white; } .subtitle { margin: 0.5rem 0 0 0; color: #94a3b8; font-size: 0.875rem; } /* Buttons */ .btn-primary, .btn-secondary, .btn-outline { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.5rem; border-radius: 0.5rem; font-size: 0.875rem; font-weight: 600; border: none; cursor: pointer; transition: all 0.3s ease; } .btn-primary { background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); color: white; box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3); } .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(99, 102, 241, 0.4); } .btn-secondary { background: #1e293b; color: #cbd5e1; border: 1px solid #334155; } .btn-secondary:hover { background: #334155; border-color: #475569; } .btn-outline { background: transparent; color: #6366f1; border: 1px solid #6366f1; } .btn-outline:hover { background: rgba(99, 102, 241, 0.1); } .btn-icon { width: 2rem; height: 2rem; border-radius: 0.375rem; border: none; background: transparent; color: #64748b; cursor: pointer; transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; } .btn-icon:hover { background: #1e293b; color: #cbd5e1; } /* Strategies Grid */ .strategies-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: 1.5rem; } /* Strategy Card */ .strategy-card { background: #0f1629; border: 1px solid #1e293b; border-radius: 0.75rem; overflow: hidden; transition: all 0.3s ease; } .strategy-card:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4); border-color: #334155; } .strategy-card.active { border-color: #6366f1; box-shadow: 0 0 0 1px #6366f1; } .card-header { padding: 1.5rem; background: #1a1f3a; border-bottom: 1px solid #1e293b; display: flex; justify-content: space-between; align-items: flex-start; } .strategy-info { display: flex; flex-direction: column; gap: 0.5rem; } .strategy-info h3 { margin: 0; font-size: 1.125rem; font-weight: 700; color: white; } .badge { display: inline-flex; align-items: center; padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; } .badge.active { background: rgba(16, 185, 129, 0.2); color: #10b981; } .badge.inactive { background: rgba(100, 116, 139, 0.2); color: #64748b; } .strategy-actions { display: flex; gap: 0.5rem; } .card-body { padding: 1.5rem; display: flex; flex-direction: column; gap: 1.5rem; } .strategy-description { font-size: 0.875rem; color: #94a3b8; line-height: 1.6; } /* Strategy Stats */ .strategy-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; padding: 1rem; background: #1a1f3a; border-radius: 0.5rem; } .stat { display: flex; flex-direction: column; gap: 0.375rem; } .stat-label { font-size: 0.625rem; color: #64748b; text-transform: uppercase; font-weight: 600; letter-spacing: 0.05em; } .stat-value { font-size: 1.125rem; font-weight: 700; color: white; font-family: 'Courier New', monospace; } .stat-value.profit { color: #10b981; } .stat-value.loss { color: #ef4444; } /* Strategy Parameters */ .strategy-parameters h4, .strategy-indicators h4 { margin: 0 0 0.75rem 0; font-size: 0.875rem; font-weight: 600; color: #cbd5e1; text-transform: uppercase; letter-spacing: 0.05em; } .params-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; } .param { display: flex; flex-direction: column; gap: 0.375rem; } .param-label { font-size: 0.75rem; color: #64748b; font-weight: 600; } .param-value { font-size: 0.75rem; color: #10b981; background: rgba(16, 185, 129, 0.1); padding: 0.375rem 0.5rem; border-radius: 0.25rem; font-family: 'Courier New', monospace; } /* Indicators */ .indicators-list { display: flex; flex-wrap: wrap; gap: 0.5rem; } .indicator-tag { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.375rem 0.75rem; background: #1a1f3a; border: 1px solid #334155; border-radius: 0.375rem; font-size: 0.75rem; color: #cbd5e1; font-weight: 600; } /* Card Footer */ .card-footer { padding: 1rem 1.5rem; background: #0a0e27; border-top: 1px solid #1e293b; display: flex; gap: 0.75rem; } /* Template Card */ .strategy-card.template { background: linear-gradient(135deg, rgba(99, 102, 241, 0.1) 0%, rgba(139, 92, 246, 0.1) 100%); border: 2px dashed #6366f1; display: flex; align-items: center; justify-content: center; min-height: 300px; } .template-content { text-align: center; padding: 2rem; } .template-icon { font-size: 3rem; color: #6366f1; margin-bottom: 1rem; } .template-content h3 { margin: 0 0 0.5rem 0; font-size: 1.25rem; font-weight: 700; color: white; } .template-content p { margin: 0 0 1.5rem 0; color: #94a3b8; font-size: 0.875rem; } /* Templates Section */ .templates-section { margin-top: 2rem; } .templates-section h2 { margin: 0 0 0.5rem 0; font-size: 1.5rem; font-weight: 700; color: white; } .section-subtitle { margin: 0 0 1.5rem 0; color: #94a3b8; font-size: 0.875rem; } .templates-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1rem; } .template-item { background: #0f1629; border: 1px solid #1e293b; border-radius: 0.75rem; padding: 1.5rem; transition: all 0.3s ease; } .template-item:hover { border-color: #6366f1; transform: translateY(-2px); } .template-header { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; } .template-header .bi { font-size: 1.5rem; color: #6366f1; } .template-header h4 { margin: 0; font-size: 1rem; font-weight: 700; color: white; } .template-item p { margin: 0 0 1rem 0; font-size: 0.875rem; color: #94a3b8; line-height: 1.5; } /* Responsive */ @media (max-width: 768px) { .strategies-grid { grid-template-columns: 1fr; } .strategy-stats { grid-template-columns: repeat(2, 1fr); } .params-grid { grid-template-columns: 1fr; } .templates-grid { grid-template-columns: 1fr; } .page-header { flex-direction: column; gap: 1rem; } }