| | |
| | .dashboard-header { |
| | margin-bottom: 40px; |
| | animation: fadeIn 0.8s ease-out; |
| | } |
| |
|
| | .page-title { |
| | font-size: 42px; |
| | font-weight: 800; |
| | color: var(--text-main); |
| | margin-bottom: 8px; |
| | font-family: 'Syne', sans-serif; |
| | letter-spacing: -1px; |
| | } |
| |
|
| | .status-badge { |
| | display: inline-flex; |
| | align-items: center; |
| | gap: 8px; |
| | padding: 8px 16px; |
| | background: white; |
| | border: 1px solid var(--border-glass); |
| | border-radius: 50px; |
| | color: var(--primary-dark); |
| | font-size: 13px; |
| | font-weight: 600; |
| | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02); |
| | } |
| |
|
| | .status-dot { |
| | width: 8px; |
| | height: 8px; |
| | background: var(--primary); |
| | border-radius: 50%; |
| | animation: pulse 2s infinite; |
| | } |
| |
|
| | @keyframes pulse { |
| | 0% { |
| | box-shadow: 0 0 0 0 rgba(0, 180, 166, 0.4); |
| | } |
| |
|
| | 70% { |
| | box-shadow: 0 0 0 8px rgba(0, 180, 166, 0); |
| | } |
| |
|
| | 100% { |
| | box-shadow: 0 0 0 0 rgba(0, 180, 166, 0); |
| | } |
| | } |
| |
|
| | |
| | .stocks-grid { |
| | display: grid; |
| | grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); |
| | gap: 24px; |
| | margin-top: 30px; |
| | } |
| |
|
| | .stock-card { |
| | padding: 30px; |
| | position: relative; |
| | overflow: hidden; |
| | border-color: var(--border-glass); |
| | } |
| |
|
| | .stock-card::after { |
| | content: ''; |
| | position: absolute; |
| | top: 0; |
| | right: 0; |
| | width: 100px; |
| | height: 100px; |
| | background: radial-gradient(circle at top right, var(--primary-glow), transparent 70%); |
| | opacity: 0.8; |
| | } |
| |
|
| | .stock-header { |
| | display: flex; |
| | justify-content: space-between; |
| | align-items: flex-start; |
| | margin-bottom: 20px; |
| | } |
| |
|
| | .stock-symbol { |
| | font-size: 28px; |
| | font-weight: 800; |
| | color: var(--text-main); |
| | font-family: 'Syne', sans-serif; |
| | } |
| |
|
| | .stock-trend-icon { |
| | font-size: 24px; |
| | } |
| |
|
| | .stock-name { |
| | font-size: 14px; |
| | color: var(--text-dim); |
| | margin-bottom: 20px; |
| | font-weight: 500; |
| | } |
| |
|
| | .stock-price { |
| | font-size: 44px; |
| | font-weight: 800; |
| | color: var(--text-main); |
| | margin-bottom: 12px; |
| | letter-spacing: -1.5px; |
| | } |
| |
|
| | .stock-change { |
| | display: inline-flex; |
| | align-items: center; |
| | gap: 6px; |
| | padding: 6px 14px; |
| | border-radius: 12px; |
| | font-size: 14px; |
| | font-weight: 700; |
| | } |
| |
|
| | .stock-change.positive { |
| | background: #d1fae5; |
| | color: #065f46; |
| | } |
| |
|
| | |
| | .stock-change.negative { |
| | background: #fee2e2; |
| | color: #991b1b; |
| | } |
| |
|
| | |
| |
|
| | .stock-meta { |
| | display: flex; |
| | justify-content: space-between; |
| | padding-top: 20px; |
| | margin-top: 20px; |
| | border-top: 1px solid var(--border-glass); |
| | } |
| |
|
| | .meta-label { |
| | font-size: 11px; |
| | color: var(--text-muted); |
| | text-transform: uppercase; |
| | letter-spacing: 1px; |
| | display: block; |
| | } |
| |
|
| | .meta-value { |
| | font-size: 15px; |
| | color: var(--text-main); |
| | font-weight: 600; |
| | } |
| |
|
| | |
| | @keyframes fadeIn { |
| | from { |
| | opacity: 0; |
| | transform: translateY(20px); |
| | } |
| |
|
| | to { |
| | opacity: 1; |
| | transform: translateY(0); |
| | } |
| | } |