/* ============================================================
   SMMpro Elite UI — Next-Gen Design System
   Visual excellence tokens for Panel 2.0
   ============================================================ */

:root {
    --elite-glass-bg: rgba(255, 255, 255, 0.65);
    --elite-glass-border: rgba(91, 75, 251, 0.12);
    --elite-glass-blur: 16px;
    --elite-accent-gradient: linear-gradient(135deg, #5B4BFB 0%, #8B5CF6 100%);
    --elite-surface-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(248, 250, 252, 0.4) 100%);
    --elite-shadow-premium: 0 10px 40px -10px rgba(91, 75, 251, 0.15);
}

/* ─── Elite Glassmorphism ───────────────────────────────────── */
.glass-panel {
    background: var(--elite-glass-bg);
    backdrop-filter: blur(var(--elite-glass-blur)) saturate(180%);
    -webkit-backdrop-filter: blur(var(--elite-glass-blur)) saturate(180%);
    border: 1px solid var(--elite-glass-border);
    box-shadow: var(--elite-shadow-premium);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.glass-panel:hover {
    background: rgba(255, 255, 255, 0.8);
    border-color: rgba(91, 75, 251, 0.25);
    transform: translateY(-2px);
}

/* ─── Advanced Bento Grid ───────────────────────────────────── */
.elite-bento-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: minmax(160px, auto);
    gap: 24px;
}

.bento-item {
    border-radius: 24px;
    padding: 28px;
    position: relative;
    overflow: hidden;
}

.bento-span-2 { grid-column: span 2; }
.bento-span-3 { grid-column: span 3; }
.bento-span-4 { grid-column: span 4; }
.bento-row-2 { grid-row: span 2; }

/* ─── Pulse Indicators & Animations ───────────────────────────── */
.pulse-ring {
    position: relative;
    width: 12px;
    height: 12px;
    background: var(--smm-success);
    border-radius: 50%;
}

.pulse-ring::after {
    content: '';
    position: absolute;
    top: -4px; left: -4px; right: -4px; bottom: -4px;
    border-radius: 50%;
    border: 2px solid var(--smm-success);
    animation: ringPulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes ringPulse {
    0% { transform: scale(0.8); opacity: 0.8; }
    100% { transform: scale(2.4); opacity: 0; }
}

/* ─── Elite KPI Cards ───────────────────────────────────────── */
.kpi-elite {
    background: var(--elite-surface-gradient);
    border-radius: 20px;
    padding: 24px;
    border: 1px solid var(--elite-glass-border);
}

.kpi-elite .kpi-value {
    font-size: 32px;
    font-weight: 800;
    background: var(--elite-accent-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: -0.04em;
}

/* ─── Micro-interactions ─────────────────────────────────────── */
.hover-reveal {
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s ease;
}

.bento-item:hover .hover-reveal {
    opacity: 1;
    transform: translateY(0);
}

.border-gradient-elite {
    position: relative;
    border: 1px solid transparent;
    background: linear-gradient(white, white) padding-box,
                var(--elite-accent-gradient) border-box;
}

/* ─── Elite Responsive Breakpoints ──────────────────────────── */

/* Tablet: 2-col grid */
@media (max-width: 1199px) {
    .elite-bento-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .bento-span-2 { grid-column: span 2; }
    .bento-span-3 { grid-column: span 2; }
    .bento-span-4 { grid-column: span 2; }
    .bento-row-2 { grid-row: span 1; }
    .kpi-elite .kpi-value { font-size: 26px; }
}

/* Mobile: 2-col KPI grid, charts full-width */
@media (max-width: 767px) {
    .elite-bento-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    /* KPI cards: stay in 2-col grid */
    .kpi-elite { grid-column: span 1; }
    /* Chart/wide panels: full width */
    .bento-span-2,
    .bento-span-3,
    .bento-span-4 { grid-column: span 2; }
    .bento-row-2 { grid-row: span 1; }
    .bento-item { padding: 18px; border-radius: 16px; }
    .kpi-elite { padding: 16px; }
    .kpi-elite .kpi-value { font-size: 22px; }
}

/* Small mobile: tighter spacing */
@media (max-width: 390px) {
    .elite-bento-grid { gap: 8px; }
    .bento-item { padding: 14px; border-radius: 14px; }
    .kpi-elite { padding: 12px; }
    .kpi-elite .kpi-value { font-size: 18px; }
}
