@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
    --primary: #0eb319;
    --primary-hover: #0ca016;
    --primary-light: #f0fdf2;
    --primary-dark: #098212;
    --accent: #10b981;
    --surface: #ffffff;
    --background: #fafffa;
    --border: #e2ede3;
    --text-main: #0b1f0e;
    --text-muted: #526b55;
}

body {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background-color: #fafffa;
    color: #0b1f0e;
    -webkit-font-smoothing: antialiased;
}

code, pre, .font-mono {
    font-family: 'JetBrains Mono', monospace;
}

/* Custom scrollbar in green tones */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: #f0fdf2;
}
::-webkit-scrollbar-thumb {
    background: #bbf7cb;
    border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
    background: #0eb319;
}

/* Crisp glass effect with hint of white-green */
.glass-panel {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(226, 237, 227, 0.9);
}

/* Smooth card transitions & hover lifts */
.hover-card {
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.hover-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px -10px rgba(14, 179, 25, 0.15);
}

/* Pulse animation for live indicators */
@keyframes pulse-dot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(1.2); }
}
.live-pulse {
    animation: pulse-dot 2s infinite ease-in-out;
}

/* SweetAlert2 Theme Overrides to match #fafffa and #0eb319 */
.swal2-popup {
    border-radius: 1.25rem !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    background: #ffffff !important;
    border: 1px solid #e2ede3 !important;
    box-shadow: 0 20px 35px -10px rgba(14, 179, 25, 0.12) !important;
}
.swal2-toast {
    border-radius: 1rem !important;
    background: #fafffa !important;
    border: 1px solid #dcfce4 !important;
    box-shadow: 0 10px 25px -5px rgba(14, 179, 25, 0.18) !important;
}
.swal2-title {
    color: #0b1f0e !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}
.swal2-html-container {
    color: #526b55 !important;
    font-size: 0.85rem !important;
}
.swal2-confirm {
    background-color: #0eb319 !important;
    border-radius: 0.75rem !important;
    font-weight: 600 !important;
    font-size: 0.8rem !important;
    padding: 0.6rem 1.4rem !important;
    box-shadow: 0 4px 12px rgba(14, 179, 25, 0.25) !important;
}
.swal2-confirm:hover {
    background-color: #0ca016 !important;
}
.swal2-cancel {
    border-radius: 0.75rem !important;
    font-weight: 600 !important;
    font-size: 0.8rem !important;
    padding: 0.6rem 1.4rem !important;
    background-color: #94a3b8 !important;
}
