/* MailGateway Executive White / Light Theme */

:root {
    --bg-page: #f8fafc;
    --bg-card: #ffffff;
    --border-subtle: #e2e8f0;
    --text-primary: #0f172a;
    --text-secondary: #475569;
    --text-muted: #94a3b8;
    --brand-primary: #2563eb;
    --card-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.06), 0 1px 2px -1px rgba(0, 0, 0, 0.06);
    --card-shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.04);
}

/* Base Body */
body {
    background-color: var(--bg-page);
    color: var(--text-primary);
}

/* Custom Scrollbars */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Navigation active states */
.nav-btn {
    transition: all 0.15s ease-in-out;
}
.nav-btn:hover {
    background-color: #f1f5f9;
    color: #0f172a;
}
.nav-btn.active {
    background: linear-gradient(90deg, rgba(37, 99, 235, 0.10) 0%, rgba(37, 99, 235, 0.02) 100%);
    color: #1d4ed8 !important;
    border-left: 3px solid #2563eb;
    font-weight: 600;
}

/* Card hover glow & elevations */
.kpi-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: var(--card-shadow);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.kpi-card:hover {
    transform: translateY(-2px);
    border-color: #cbd5e1;
    box-shadow: var(--card-shadow-hover);
}

/* Status Badges */
.badge-clean {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
}
.badge-spam {
    background: #fff1f2;
    color: #be123c;
    border: 1px solid #fecdd3;
}
.badge-phishing {
    background: #fdf2f8;
    color: #9d174d;
    border: 1px solid #fbcfe8;
}
.badge-virus {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fca5a5;
}
.badge-greylist {
    background: #f8fafc;
    color: #475569;
    border: 1px solid #cbd5e1;
}

/* Animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

.app-view:not(.hidden) {
    animation: fadeIn 0.2s ease-out forwards;
}

/* Scale button tap */
.active\:scale-98:active {
    transform: scale(0.98);
}
