/* Assets Page */ .assets-page { display: flex; flex-direction: column; gap: 2rem; } /* Page Header */ .page-header { display: flex; justify-content: space-between; align-items: flex-start; } .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; } .header-controls { display: flex; gap: 1rem; align-items: center; } /* View Toggle */ .view-toggle { display: flex; gap: 0.25rem; background: #1a1f3a; border-radius: 0.5rem; padding: 0.25rem; } .toggle-btn { padding: 0.5rem 0.75rem; border: none; background: transparent; color: #64748b; border-radius: 0.375rem; cursor: pointer; transition: all 0.2s ease; font-size: 1rem; } .toggle-btn:hover { color: #cbd5e1; } .toggle-btn.active { background: #6366f1; color: white; } .filter-select { padding: 0.625rem 1rem; border-radius: 0.5rem; border: 1px solid #334155; background: #1a1f3a; color: white; font-size: 0.875rem; font-weight: 600; } /* Assets Summary */ .assets-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; } .summary-stat { background: #0f1629; border: 1px solid #1e293b; border-radius: 0.75rem; padding: 1.25rem; display: flex; align-items: center; gap: 1rem; } .summary-stat .stat-icon { width: 3rem; height: 3rem; border-radius: 0.625rem; background: rgba(99, 102, 241, 0.1); color: #6366f1; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; } .summary-stat.success .stat-icon { background: rgba(16, 185, 129, 0.1); color: #10b981; } .summary-stat.warning .stat-icon { background: rgba(245, 158, 11, 0.1); color: #f59e0b; } .summary-stat.info .stat-icon { background: rgba(59, 130, 246, 0.1); color: #3b82f6; } .stat-content { display: flex; flex-direction: column; gap: 0.25rem; } .stat-label { font-size: 0.75rem; color: #64748b; font-weight: 600; text-transform: uppercase; } .stat-value { font-size: 1.5rem; font-weight: 700; color: white; font-family: 'Courier New', monospace; } /* Assets Grid */ .assets-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1.5rem; } .asset-card { background: #0f1629; border: 1px solid #1e293b; border-radius: 0.75rem; overflow: hidden; transition: all 0.3s ease; } .asset-card:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4); border-color: #334155; } .asset-card.enabled { border-color: rgba(99, 102, 241, 0.3); } .asset-card.disabled { opacity: 0.6; } .asset-card-header { padding: 1.25rem; background: #1a1f3a; border-bottom: 1px solid #1e293b; display: flex; justify-content: space-between; align-items: center; } .asset-info { display: flex; align-items: center; gap: 0.75rem; } .asset-icon { width: 2.5rem; height: 2.5rem; border-radius: 0.5rem; background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); display: flex; align-items: center; justify-content: center; font-size: 1rem; font-weight: 700; color: white; } .asset-title h3 { margin: 0; font-size: 1rem; font-weight: 700; color: white; } .asset-symbol { font-size: 0.75rem; color: #64748b; font-family: 'Courier New', monospace; } /* Toggle Switch */ .toggle-switch { position: relative; display: inline-block; width: 3rem; height: 1.5rem; } .toggle-switch input { opacity: 0; width: 0; height: 0; } .toggle-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #334155; transition: 0.3s; border-radius: 1.5rem; } .toggle-slider:before { position: absolute; content: ""; height: 1.125rem; width: 1.125rem; left: 0.1875rem; bottom: 0.1875rem; background-color: white; transition: 0.3s; border-radius: 50%; } .toggle-switch input:checked + .toggle-slider { background-color: #6366f1; } .toggle-switch input:checked + .toggle-slider:before { transform: translateX(1.5rem); } /* Asset Card Body */ .asset-card-body { padding: 1.25rem; display: flex; flex-direction: column; gap: 1.25rem; } .price-section { display: flex; align-items: baseline; gap: 0.75rem; } .current-price { font-size: 1.75rem; font-weight: 700; color: white; font-family: 'Courier New', monospace; } .price-change { display: flex; align-items: center; gap: 0.25rem; font-size: 0.875rem; font-weight: 600; padding: 0.25rem 0.5rem; border-radius: 0.375rem; } .price-change.positive { background: rgba(16, 185, 129, 0.1); color: #10b981; } .price-change.negative { background: rgba(239, 68, 68, 0.1); color: #ef4444; } /* Asset Metrics */ .asset-metrics { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem; } .metric { display: flex; flex-direction: column; gap: 0.25rem; } .metric-label { font-size: 0.625rem; color: #64748b; text-transform: uppercase; font-weight: 600; } .metric-value { font-size: 0.875rem; font-weight: 700; color: white; font-family: 'Courier New', monospace; } .metric-value.profit { color: #10b981; } .metric-value.loss { color: #ef4444; } /* Strategy Section */ .strategy-section { display: flex; flex-direction: column; gap: 0.5rem; } .strategy-label { font-size: 0.75rem; color: #64748b; font-weight: 600; text-transform: uppercase; } .strategy-select { padding: 0.625rem; border-radius: 0.5rem; border: 1px solid #334155; background: #1a1f3a; color: white; font-size: 0.875rem; font-weight: 600; } .strategy-select:focus { outline: 2px solid #6366f1; outline-offset: 2px; } /* Asset Card Footer */ .asset-card-footer { padding: 1rem 1.25rem; background: #0a0e27; border-top: 1px solid #1e293b; display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; } .btn-sm { padding: 0.5rem 1rem; font-size: 0.75rem; } /* Assets Table (List View) */ .assets-table { background: #0f1629; border: 1px solid #1e293b; border-radius: 0.75rem; overflow: hidden; } .table-header { display: grid; grid-template-columns: 2fr 1.5fr 1fr 1.5fr 1.5fr 1.5fr 2fr 1fr 1.5fr; gap: 1rem; padding: 1rem 1.5rem; background: #1a1f3a; border-bottom: 1px solid #1e293b; font-size: 0.75rem; font-weight: 700; color: #64748b; text-transform: uppercase; } .table-row { display: grid; grid-template-columns: 2fr 1.5fr 1fr 1.5fr 1.5fr 1.5fr 2fr 1fr 1.5fr; gap: 1rem; padding: 1rem 1.5rem; border-bottom: 1px solid #1e293b; align-items: center; font-size: 0.875rem; color: #cbd5e1; transition: background 0.2s ease; } .table-row:hover { background: #1a1f3a; } .table-row:last-child { border-bottom: none; } .table-row.disabled { opacity: 0.5; } .cell-asset { display: flex; align-items: center; gap: 0.75rem; } .asset-icon-small { width: 2rem; height: 2rem; border-radius: 0.375rem; background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); display: flex; align-items: center; justify-content: center; font-size: 0.875rem; font-weight: 700; color: white; } .asset-name { font-weight: 600; color: white; } .asset-symbol-small { font-size: 0.75rem; color: #64748b; font-family: 'Courier New', monospace; } .cell { display: flex; align-items: center; } .price-value, .mono-value { font-family: 'Courier New', monospace; font-weight: 600; } .change-badge { padding: 0.25rem 0.5rem; border-radius: 0.375rem; font-size: 0.75rem; font-weight: 600; } .change-badge.positive { background: rgba(16, 185, 129, 0.1); color: #10b981; } .change-badge.negative { background: rgba(239, 68, 68, 0.1); color: #ef4444; } .cell-strategy { display: flex; } .strategy-select-small { width: 100%; padding: 0.375rem 0.5rem; border-radius: 0.375rem; border: 1px solid #334155; background: #1a1f3a; color: white; font-size: 0.75rem; font-weight: 600; } /* Toggle Switch Small */ .toggle-switch-small { position: relative; display: inline-block; width: 2.5rem; height: 1.25rem; } .toggle-switch-small input { opacity: 0; width: 0; height: 0; } .toggle-slider-small { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #334155; transition: 0.3s; border-radius: 1.25rem; } .toggle-slider-small:before { position: absolute; content: ""; height: 0.875rem; width: 0.875rem; left: 0.1875rem; bottom: 0.1875rem; background-color: white; transition: 0.3s; border-radius: 50%; } .toggle-switch-small input:checked + .toggle-slider-small { background-color: #6366f1; } .toggle-switch-small input:checked + .toggle-slider-small:before { transform: translateX(1.25rem); } .cell-actions { display: flex; gap: 0.5rem; } .btn-icon-small { width: 2rem; height: 2rem; border-radius: 0.375rem; border: none; background: #1a1f3a; color: #94a3b8; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; } .btn-icon-small:hover { background: #1e293b; color: #cbd5e1; } /* Responsive */ @media (max-width: 1200px) { .table-header, .table-row { grid-template-columns: 2fr 1fr 1fr 1fr 1.5fr 1fr 1fr; } /* Hide some columns on smaller screens */ .table-header div:nth-child(4), .table-row div:nth-child(4), .table-header div:nth-child(6), .table-row div:nth-child(6) { display: none; } } @media (max-width: 768px) { .assets-grid { grid-template-columns: 1fr; } .header-controls { flex-direction: column; width: 100%; } .filter-select { width: 100%; } .assets-summary { grid-template-columns: repeat(2, 1fr); } .assets-table { overflow-x: auto; } }