/**
 * Style Utama Aplikasi Arisan Pro Digital MVC
 */

:root {
    --primary-color: #4f46e5;
    --primary-dark: #3730a3;
    --primary-light: #6366f1;
    --secondary-color: #64748b;
    --accent-color: #f59e0b;
    --success-color: #10b981;
    --danger-color: #ef4444;
    --bg-slate: #f8fafc;
}

body {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: #1e293b;
    background-color: var(--bg-slate);
}

.bg-gradient-primary {
    background: linear-gradient(135deg, #4338ca 0%, #6366f1 100%) !important;
}

.brand-icon-box {
    width: 36px;
    height: 36px;
}

.card {
    border-radius: 14px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.card:hover {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.03);
}

.badge-pill-custom {
    padding: 0.35rem 0.65rem;
    border-radius: 50rem;
    font-weight: 600;
    font-size: 0.75rem;
}

/* Stat Cards */
.stat-card {
    border-left: 4px solid var(--primary-color);
}
.stat-card.stat-success {
    border-left-color: var(--success-color);
}
.stat-card.stat-warning {
    border-left-color: var(--accent-color);
}
.stat-card.stat-info {
    border-left-color: #06b6d4;
}

.stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
}

/* Kocok Arisan Live Stage */
.lottery-stage {
    background: radial-gradient(circle at center, #1e1b4b 0%, #0f172a 100%);
    border-radius: 20px;
    border: 2px solid #312e81;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.lottery-box {
    background: rgba(15, 23, 42, 0.85);
    border: 2px solid #f59e0b;
    border-radius: 16px;
    box-shadow: 0 0 30px rgba(245, 158, 11, 0.3), inset 0 0 15px rgba(245, 158, 11, 0.2);
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    position: relative;
}

.lottery-roll-text {
    font-size: 2.5rem;
    font-weight: 800;
    color: #fef08a;
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
    transition: transform 0.08s ease;
}

.lottery-roll-sub {
    font-size: 1.1rem;
    color: #93c5fd;
    font-weight: 500;
}

.lottery-winner-glow {
    animation: winnerGlow 1.5s infinite alternate;
}

@keyframes winnerGlow {
    from {
        box-shadow: 0 0 20px rgba(34, 197, 94, 0.5), inset 0 0 10px rgba(34, 197, 94, 0.3);
        border-color: #22c55e;
    }
    to {
        box-shadow: 0 0 45px rgba(34, 197, 94, 0.9), inset 0 0 25px rgba(34, 197, 94, 0.6);
        border-color: #4ade80;
    }
}

/* Spin animation for dice */
.animate-spin-slow {
    animation: spin 6s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Print CSS */
@media print {
    .navbar, footer, .btn, .no-print, .alert {
        display: none !important;
    }
    body {
        background: #fff !important;
        color: #000 !important;
        font-size: 12pt;
    }
    .print-card {
        border: 1px solid #000 !important;
        box-shadow: none !important;
        page-break-inside: avoid;
    }
}
