@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
    --glass-border: rgba(255, 255, 255, 0.08);
    --glass-surface: rgba(2, 6, 23, 0.75);
    --brand-blue: #194B95;
    --brand-red: #E21C21;
}

body {
    background-color: #f8fafc; /* Slate 50 */
    color: #0f172a; /* Slate 900 */
    font-family: 'Plus Jakarta Sans', sans-serif;
    min-height: 100vh;
    overflow-y: auto;
}

/* Scrollbar Personalizado */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* === DASHBOARD GERENCIAL (OPERATIVO) === */

/* KPIs con borde lateral de color */
.kpi-blue { border-left: 4px solid #194B95; }
.kpi-red { border-left: 4px solid #E21C21; }
.kpi-green { border-left: 4px solid #10b981; }
.kpi-amber { border-left: 4px solid #f59e0b; }

/* Contenedores de Gráficos */
canvas {
    width: 100% !important;
    height: 100% !important;
}

/* Scrollbar para listas pequeñas (Alertas) */
.custom-scroll::-webkit-scrollbar { width: 4px; }
.custom-scroll::-webkit-scrollbar-track { background: transparent; }
.custom-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.custom-scroll::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* === MÓDULO AUDITORÍA FORENSE === */

/* Tarjetas de Riesgo */
.risk-card {
    background: white; 
    border: 1px solid #e2e8f0; 
    border-radius: 12px;
    padding: 20px; 
    transition: all 0.2s; 
    position: relative; 
    overflow: hidden;
}
.risk-card:hover { 
    transform: translateY(-2px); 
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); 
}
.risk-card::before { 
    content: ''; 
    position: absolute; 
    left: 0; top: 0; bottom: 0; 
    width: 4px; 
}

/* Tipos de Riesgo */
.risk-critical::before { background-color: #E21C21; }
.risk-medium::before { background-color: #f59e0b; }
.risk-info::before { background-color: #194B95; }

/* Línea de Tiempo (Timeline) en Modal */
.timeline-item { 
    position: relative; 
    padding-left: 24px; 
    padding-bottom: 24px; 
    border-left: 2px solid #e2e8f0; 
}
.timeline-item:last-child { 
    border-left: 2px solid transparent; 
    padding-bottom: 0; 
}
.timeline-dot { 
    position: absolute; 
    left: -7px; top: 0; 
    width: 12px; height: 12px; 
    border-radius: 50%; 
    background: white; 
    border: 2px solid #94a3b8; 
}
.timeline-dot.alert { 
    border-color: #E21C21; 
    background: #fef2f2; 
}

/* Estilos Diff (Cambios) */
.diff-added { background-color: #f0fdf4; color: #15803d; text-decoration: none; }
.diff-removed { 
    background-color: #fef2f2; 
    color: #E21C21; 
    text-decoration: line-through; 
    opacity: 0.8;
}


/* === MÓDULO REPORTES & BI === */

/* Tabs de Reporte */
.tab-report { 
    padding: 0.75rem 1.5rem; 
    font-size: 0.875rem; 
    font-weight: 700; 
    color: #64748b; 
    border-bottom: 2px solid transparent; 
    transition: all 0.2s; 
    white-space: nowrap;
    background: transparent;
}
.tab-report:hover { 
    color: #194B95; 
    background-color: #f1f5f9; 
}
.tab-report.active { 
    color: #194B95; 
    border-bottom-color: #194B95; 
    background-color: #eff6ff; 
}

/* Inputs Datepicker Personalizados */
input[type="date"] {
    background-color: white;
    border: 1px solid #cbd5e1;
    color: #0f172a;
    padding: 0.5rem 1rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    outline: none;
    transition: all 0.2s;
    font-weight: 500;
}
input[type="date"]:focus { 
    border-color: #194B95; 
    box-shadow: 0 0 0 3px rgba(25, 75, 149, 0.1); 
}

/* Ajuste para KPIs en Reportes */
.kpi-card { 
    background: white; 
    border: 1px solid #e2e8f0; 
    border-radius: 16px; 
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); 
    transition: all 0.2s;
}
.kpi-card:hover { 
    transform: translateY(-2px); 
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); 
}

/* === MÓDULO GESTIÓN DE PERSONAL === */

/* Tarjetas KPI Simples */
.stat-card {
    background: white; 
    border: 1px solid #e2e8f0; 
    border-radius: 16px;
    padding: 20px; 
    transition: transform 0.2s; 
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.stat-card:hover { 
    transform: translateY(-2px); 
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); 
}

/* Badges de Roles */
.badge-admin { background-color: #e0f2fe; color: #0369a1; border: 1px solid #bae6fd; }
.badge-vip { background-color: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; }
.badge-barra { background-color: #fdf4ff; color: #a21caf; border: 1px solid #f0abfc; }
.badge-seguridad { background-color: #f1f5f9; color: #475569; border: 1px solid #cbd5e1; }
.badge-caja { background-color: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0; }