Really-amin's picture
Upload 325 files
b66240d verified
/**
* ═══════════════════════════════════════════════════════════════════
* MODERN DASHBOARD - TRADINGVIEW STYLE
* Crypto Monitor HF β€” Ultra Modern Dashboard with Vibrant Colors
* ═══════════════════════════════════════════════════════════════════
*/
/* ═══════════════════════════════════════════════════════════════════
VIBRANT COLOR PALETTE
═══════════════════════════════════════════════════════════════════ */
:root {
/* Vibrant Primary Colors */
--vibrant-blue: #00D4FF;
--vibrant-purple: #8B5CF6;
--vibrant-pink: #EC4899;
--vibrant-cyan: #06B6D4;
--vibrant-green: #10B981;
--vibrant-orange: #F97316;
--vibrant-yellow: #FACC15;
--vibrant-red: #EF4444;
/* Neon Glow Colors */
--neon-blue: #00D4FF;
--neon-purple: #8B5CF6;
--neon-pink: #EC4899;
--neon-cyan: #06B6D4;
--neon-green: #10B981;
/* Advanced Glassmorphism */
--glass-vibrant: rgba(255, 255, 255, 0.08);
--glass-vibrant-strong: rgba(255, 255, 255, 0.15);
--glass-vibrant-stronger: rgba(255, 255, 255, 0.22);
--glass-border-vibrant: rgba(255, 255, 255, 0.18);
--glass-border-vibrant-strong: rgba(255, 255, 255, 0.3);
/* Vibrant Gradients */
--gradient-vibrant-1: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
--gradient-vibrant-2: linear-gradient(135deg, #00D4FF 0%, #8B5CF6 50%, #EC4899 100%);
--gradient-vibrant-3: linear-gradient(135deg, #06B6D4 0%, #10B981 50%, #FACC15 100%);
--gradient-vibrant-4: linear-gradient(135deg, #F97316 0%, #EC4899 50%, #8B5CF6 100%);
/* Neon Glow Effects */
--glow-neon-blue: 0 0 20px rgba(0, 212, 255, 0.5), 0 0 40px rgba(0, 212, 255, 0.3), 0 0 60px rgba(0, 212, 255, 0.2);
--glow-neon-purple: 0 0 20px rgba(139, 92, 246, 0.5), 0 0 40px rgba(139, 92, 246, 0.3), 0 0 60px rgba(139, 92, 246, 0.2);
--glow-neon-pink: 0 0 20px rgba(236, 72, 153, 0.5), 0 0 40px rgba(236, 72, 153, 0.3), 0 0 60px rgba(236, 72, 153, 0.2);
--glow-neon-cyan: 0 0 20px rgba(6, 182, 212, 0.5), 0 0 40px rgba(6, 182, 212, 0.3), 0 0 60px rgba(6, 182, 212, 0.2);
--glow-neon-green: 0 0 20px rgba(16, 185, 129, 0.5), 0 0 40px rgba(16, 185, 129, 0.3), 0 0 60px rgba(16, 185, 129, 0.2);
}
/* ═══════════════════════════════════════════════════════════════════
ADVANCED GLASSMORPHISM
═══════════════════════════════════════════════════════════════════ */
.glass-vibrant {
background: var(--glass-vibrant);
backdrop-filter: blur(30px) saturate(180%);
-webkit-backdrop-filter: blur(30px) saturate(180%);
border: 1px solid var(--glass-border-vibrant);
border-radius: 24px;
box-shadow:
0 8px 32px rgba(0, 0, 0, 0.4),
inset 0 1px 0 rgba(255, 255, 255, 0.2),
inset 0 -1px 0 rgba(0, 0, 0, 0.2);
position: relative;
overflow: hidden;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.glass-vibrant::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(
90deg,
transparent,
rgba(0, 212, 255, 0.6),
rgba(139, 92, 246, 0.6),
rgba(236, 72, 153, 0.6),
transparent
);
opacity: 0.8;
animation: shimmer 3s infinite;
}
.glass-vibrant::after {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(
circle,
rgba(0, 212, 255, 0.1) 0%,
rgba(139, 92, 246, 0.1) 50%,
transparent 70%
);
animation: rotate 20s linear infinite;
pointer-events: none;
}
@keyframes shimmer {
0%, 100% { opacity: 0.8; }
50% { opacity: 1; }
}
@keyframes rotate {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
.glass-vibrant:hover {
transform: translateY(-4px);
box-shadow:
0 16px 48px rgba(0, 0, 0, 0.5),
var(--glow-neon-blue),
inset 0 1px 0 rgba(255, 255, 255, 0.3);
border-color: rgba(0, 212, 255, 0.4);
}
.glass-vibrant-strong {
background: var(--glass-vibrant-strong);
backdrop-filter: blur(40px) saturate(200%);
-webkit-backdrop-filter: blur(40px) saturate(200%);
border: 1.5px solid var(--glass-border-vibrant-strong);
}
.glass-vibrant-stronger {
background: var(--glass-vibrant-stronger);
backdrop-filter: blur(50px) saturate(220%);
-webkit-backdrop-filter: blur(50px) saturate(220%);
border: 2px solid var(--glass-border-vibrant-strong);
}
/* ═══════════════════════════════════════════════════════════════════
MODERN HEADER WITH CRYPTO LIST
═══════════════════════════════════════════════════════════════════ */
.modern-header {
background: rgba(255, 255, 255, 0.98);
backdrop-filter: blur(30px) saturate(180%);
-webkit-backdrop-filter: blur(30px) saturate(180%);
border-bottom: 2px solid rgba(0, 0, 0, 0.1);
box-shadow:
0 4px 24px rgba(0, 0, 0, 0.08),
0 2px 8px rgba(0, 0, 0, 0.04),
inset 0 1px 0 rgba(255, 255, 255, 0.9);
position: sticky;
top: 0;
z-index: 1000;
padding: 20px 32px;
}
.modern-header h1 {
color: #0f172a;
text-shadow: none;
}
.modern-header .text-muted {
color: #64748b;
}
.header-crypto-list {
display: flex;
align-items: center;
gap: 24px;
overflow-x: auto;
scrollbar-width: thin;
scrollbar-color: rgba(0, 212, 255, 0.3) transparent;
padding: 8px 0;
}
.header-crypto-list::-webkit-scrollbar {
height: 4px;
}
.header-crypto-list::-webkit-scrollbar-track {
background: transparent;
}
.header-crypto-list::-webkit-scrollbar-thumb {
background: rgba(0, 212, 255, 0.3);
border-radius: 2px;
}
.crypto-item-header {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 12px;
cursor: pointer;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
white-space: nowrap;
min-width: fit-content;
}
.crypto-item-header:hover {
background: rgba(0, 212, 255, 0.1);
border-color: rgba(0, 212, 255, 0.4);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 212, 255, 0.2);
}
.crypto-item-header.active {
background: linear-gradient(135deg, rgba(0, 212, 255, 0.2), rgba(139, 92, 246, 0.2));
border-color: rgba(0, 212, 255, 0.5);
box-shadow: var(--glow-neon-blue);
}
.crypto-symbol-header {
font-weight: 700;
font-size: 0.875rem;
color: var(--vibrant-cyan);
letter-spacing: 0.05em;
}
.crypto-price-header {
font-weight: 600;
font-size: 0.875rem;
color: var(--text-primary);
}
.crypto-change-header {
font-weight: 600;
font-size: 0.75rem;
padding: 2px 6px;
border-radius: 4px;
}
.crypto-change-header.positive {
color: var(--vibrant-green);
background: rgba(16, 185, 129, 0.15);
}
.crypto-change-header.negative {
color: var(--vibrant-red);
background: rgba(239, 68, 68, 0.15);
}
/* ═══════════════════════════════════════════════════════════════════
ADVANCED SIDEBAR
═══════════════════════════════════════════════════════════════════ */
.sidebar-modern {
width: 280px;
padding: 28px 20px;
background: linear-gradient(
180deg,
rgba(15, 23, 42, 0.95) 0%,
rgba(30, 41, 59, 0.9) 50%,
rgba(15, 23, 42, 0.95) 100%
);
backdrop-filter: blur(40px) saturate(180%);
-webkit-backdrop-filter: blur(40px) saturate(180%);
border-right: 2px solid rgba(0, 212, 255, 0.2);
box-shadow:
4px 0 32px rgba(0, 0, 0, 0.5),
inset -1px 0 0 rgba(255, 255, 255, 0.05);
position: sticky;
top: 0;
height: 100vh;
display: flex;
flex-direction: column;
gap: 24px;
overflow-y: auto;
scrollbar-width: thin;
scrollbar-color: rgba(0, 212, 255, 0.3) transparent;
}
.sidebar-modern::-webkit-scrollbar {
width: 6px;
}
.sidebar-modern::-webkit-scrollbar-track {
background: transparent;
}
.sidebar-modern::-webkit-scrollbar-thumb {
background: rgba(0, 212, 255, 0.3);
border-radius: 3px;
}
.sidebar-modern::-webkit-scrollbar-thumb:hover {
background: rgba(0, 212, 255, 0.5);
}
.brand-modern {
display: flex;
align-items: center;
gap: 12px;
padding: 16px;
background: linear-gradient(135deg, rgba(0, 212, 255, 0.1), rgba(139, 92, 246, 0.1));
border-radius: 16px;
border: 1px solid rgba(0, 212, 255, 0.2);
box-shadow:
inset 0 1px 2px rgba(255, 255, 255, 0.1),
0 4px 16px rgba(0, 212, 255, 0.2);
position: relative;
overflow: hidden;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.brand-modern::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(0, 212, 255, 0.1), rgba(139, 92, 246, 0.1));
opacity: 0;
transition: opacity 0.4s ease;
}
.brand-modern:hover {
transform: translateY(-2px);
box-shadow:
inset 0 1px 2px rgba(255, 255, 255, 0.15),
0 8px 24px rgba(0, 212, 255, 0.3),
var(--glow-neon-blue);
border-color: rgba(0, 212, 255, 0.4);
}
.brand-modern:hover::before {
opacity: 1;
}
.nav-modern {
display: flex;
flex-direction: column;
gap: 8px;
}
.nav-button-modern {
border: none;
border-radius: 12px;
padding: 12px 16px;
display: flex;
align-items: center;
gap: 12px;
background: transparent;
color: var(--text-secondary);
font-weight: 600;
font-family: 'Manrope', sans-serif;
font-size: 0.875rem;
cursor: pointer;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: visible;
}
.nav-button-modern::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 3px;
height: 0;
background: linear-gradient(180deg, var(--vibrant-cyan), var(--vibrant-purple));
border-radius: 0 3px 3px 0;
transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
opacity: 0;
box-shadow: var(--glow-neon-cyan);
}
.nav-button-modern::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(0, 212, 255, 0.1), rgba(139, 92, 246, 0.1));
border-radius: 12px;
opacity: 0;
transition: opacity 0.3s ease;
z-index: -1;
}
.nav-button-modern:hover {
color: var(--text-primary);
background: rgba(255, 255, 255, 0.05);
transform: translateX(4px);
}
.nav-button-modern:hover::before {
height: 60%;
opacity: 1;
}
.nav-button-modern:hover::after {
opacity: 1;
}
.nav-button-modern.active {
background: linear-gradient(135deg, rgba(0, 212, 255, 0.15), rgba(139, 92, 246, 0.15));
color: var(--vibrant-cyan);
box-shadow:
inset 0 1px 2px rgba(255, 255, 255, 0.1),
0 4px 16px rgba(0, 212, 255, 0.2);
border: 1px solid rgba(0, 212, 255, 0.3);
}
.nav-button-modern.active::before {
height: 70%;
opacity: 1;
box-shadow: var(--glow-neon-cyan);
}
.nav-button-modern.active::after {
opacity: 1;
}
/* ═══════════════════════════════════════════════════════════════════
TRADINGVIEW STYLE CHARTS
═══════════════════════════════════════════════════════════════════ */
.tradingview-chart-container {
position: relative;
background: var(--glass-vibrant);
backdrop-filter: blur(30px) saturate(180%);
-webkit-backdrop-filter: blur(30px) saturate(180%);
border: 1px solid var(--glass-border-vibrant);
border-radius: 24px;
padding: 24px;
box-shadow:
0 8px 32px rgba(0, 0, 0, 0.4),
inset 0 1px 0 rgba(255, 255, 255, 0.1);
overflow: hidden;
}
.tradingview-chart-container::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(
90deg,
transparent,
rgba(0, 212, 255, 0.6),
rgba(139, 92, 246, 0.6),
transparent
);
}
.chart-toolbar {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 16px;
padding-bottom: 16px;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.chart-timeframe-btn {
padding: 6px 12px;
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 8px;
background: rgba(255, 255, 255, 0.05);
color: var(--text-secondary);
font-size: 0.75rem;
font-weight: 600;
cursor: pointer;
transition: all 0.2s ease;
}
.chart-timeframe-btn:hover {
background: rgba(0, 212, 255, 0.1);
border-color: rgba(0, 212, 255, 0.3);
color: var(--vibrant-cyan);
}
.chart-timeframe-btn.active {
background: linear-gradient(135deg, rgba(0, 212, 255, 0.2), rgba(139, 92, 246, 0.2));
border-color: rgba(0, 212, 255, 0.4);
color: var(--vibrant-cyan);
box-shadow: 0 0 12px rgba(0, 212, 255, 0.3);
}
.chart-indicators {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
}
.chart-indicator-toggle {
display: flex;
align-items: center;
gap: 6px;
padding: 4px 8px;
border-radius: 6px;
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
cursor: pointer;
transition: all 0.2s ease;
font-size: 0.75rem;
}
.chart-indicator-toggle:hover {
background: rgba(255, 255, 255, 0.08);
}
.chart-indicator-toggle input[type="checkbox"] {
width: 14px;
height: 14px;
cursor: pointer;
accent-color: var(--vibrant-cyan);
}
/* ═══════════════════════════════════════════════════════════════════
RESPONSIVE DESIGN
═══════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
.sidebar-modern {
width: 240px;
}
.header-crypto-list {
gap: 16px;
}
.crypto-item-header {
padding: 6px 12px;
}
}
@media (max-width: 768px) {
.sidebar-modern {
position: fixed;
left: -280px;
transition: left 0.3s ease;
z-index: 2000;
}
.sidebar-modern.open {
left: 0;
}
.header-crypto-list {
gap: 12px;
}
.crypto-item-header {
padding: 6px 10px;
font-size: 0.75rem;
}
}
/* ═══════════════════════════════════════════════════════════════════
ANIMATIONS
═══════════════════════════════════════════════════════════════════ */
@keyframes pulse-glow {
0%, 100% {
box-shadow: 0 0 20px rgba(0, 212, 255, 0.5);
}
50% {
box-shadow: 0 0 30px rgba(0, 212, 255, 0.8), 0 0 50px rgba(0, 212, 255, 0.4);
}
}
.pulse-glow {
animation: pulse-glow 2s ease-in-out infinite;
}
/* ═══════════════════════════════════════════════════════════════════
UTILITY CLASSES
═══════════════════════════════════════════════════════════════════ */
.text-vibrant-blue { color: var(--vibrant-blue); }
.text-vibrant-purple { color: var(--vibrant-purple); }
.text-vibrant-pink { color: var(--vibrant-pink); }
.text-vibrant-cyan { color: var(--vibrant-cyan); }
.text-vibrant-green { color: var(--vibrant-green); }
.bg-gradient-vibrant-1 { background: var(--gradient-vibrant-1); }
.bg-gradient-vibrant-2 { background: var(--gradient-vibrant-2); }
.bg-gradient-vibrant-3 { background: var(--gradient-vibrant-3); }
.bg-gradient-vibrant-4 { background: var(--gradient-vibrant-4); }
.glow-neon-blue { box-shadow: var(--glow-neon-blue); }
.glow-neon-purple { box-shadow: var(--glow-neon-purple); }
.glow-neon-pink { box-shadow: var(--glow-neon-pink); }
.glow-neon-cyan { box-shadow: var(--glow-neon-cyan); }
.glow-neon-green { box-shadow: var(--glow-neon-green); }