/* ============================================================
   NOMBRE       : CHARTS
   ARCHIVO      : assets/css/charts.css
   MÓDULO       : Estilos Globales
   APLICACIÓN   : MunDigital Web
   DESARROLLADOR: Rodrigo Arce Muñoz
   CREACIÓN     : Septiembre 2026
   DESCRIPCIÓN  : Colores centralizados de los gráficos (assets/js/charts-md.js),
                  con su variante para modo oscuro (html[data-theme="dark"]).
                  Regla de nombres: --chart-<etiqueta normalizada>, donde la etiqueta
                  se pasa a minúsculas y sin tildes/espacios ("Medio Ambiente" ->
                  --chart-medioambiente). Si una etiqueta no tiene variable, el helper
                  usa la paleta --chart-cat-1..8 según su posición, así que una
                  categoría nueva se colorea sola sin tocar nada.
   ============================================================ */

:root {
    /* --- Estructura del gráfico --- */
    --chart-text:    #1c1c1c;
    --chart-soft:    #5b5d72;
    --chart-surface: #ffffff;   /* separación entre segmentos = fondo de la card */
    --chart-grid:    #e6e6f1;

    /* --- Series de línea y barras: período actual (acento) y anterior (tenue) --- */
    --chart-actual:   #1e88e5;
    --chart-anterior: #90a4ae;

    /* --- Paleta categórica (categorías sin color propio, por posición) --- */
    --chart-cat-1: #2f7bf5;
    --chart-cat-2: #f5a524;
    --chart-cat-3: #1a9c5b;
    --chart-cat-4: #7100b3;
    --chart-cat-5: #e5484d;
    --chart-cat-6: #0fae9b;
    --chart-cat-7: #5b5d72;
    --chart-cat-8: #d6336c;
    --chart-cat-9: #6d4c41;
    --chart-cat-10:#546e7a;

    /* --- Acento de cada serie de línea (una identidad de color por módulo) --- */
    --chart-notificaciones: #00897b;
    --chart-solicitudes:    #8e24aa;
    --chart-requerimientos: #00695c;
    --chart-multas:         #e53935;
    --chart-pagadas:        #2e7d32;
    --chart-marca:          #0023b1;

    /* --- Estados de parte (Fiscalización / JPL) --- */
    --chart-enproceso:   #43a047;
    --chart-consentencia:#2e7d32;
    --chart-encobranza:  #f9a825;
    --chart-enrebeldia:  #fb8c00;
    --chart-pagado:      #198754;

    /* --- Estados de solicitud / requerimiento (misma lógica en todo el sistema:
           ingresado azul · asignado violeta · en terreno amarillo · resuelto/cerrado verde ·
           rechazado/anulado rojo) --- */
    --chart-ingresada:  #1e88e5;
    --chart-ingresado:  #1e88e5;
    --chart-asignada:   #8e24aa;
    --chart-asignado:   #8e24aa;
    --chart-enterreno:  #f9a825;
    --chart-resuelta:   #198754;
    --chart-cerrado:    #198754;
    --chart-rechazada:  #dc3545;

    /* --- Monitoreo de disco (Panel de Estado) --- */
    --chart-usado: #fb8c00;
    --chart-libre: #198754;

    /* --- Tipos de parte --- */
    --chart-edificacion:  #1f4e79;
    --chart-transito:     #f39c12;
    --chart-rentas:       #6c3483;
    --chart-medioambiente:#27ae60;
    --chart-alcohol:      #ff2132;
    --chart-general:      #1565c0;

    /* --- Estados de notificación --- */
    --chart-citacion: #1e88e5;
    --chart-noasiste: #fb8c00;
    --chart-asiste:   #198754;
    --chart-anulado:  #dc3545;
}

html[data-theme="dark"] {
    --chart-text:    #ffffff;
    --chart-soft:    #b7bdca;
    --chart-surface: #1e2330;   /* mismo fondo que .card en modo oscuro */
    --chart-grid:    #333a4d;

    --chart-actual:   #4ea3f5;
    --chart-anterior: #7d8597;

    --chart-cat-1: #5b9bff;
    --chart-cat-2: #ffb84d;
    --chart-cat-3: #34c77b;
    --chart-cat-4: #b66df0;
    --chart-cat-5: #ff6b78;
    --chart-cat-6: #35d3bf;
    --chart-cat-7: #a6a9c2;
    --chart-cat-8: #f06595;
    --chart-cat-9: #a1887f;
    --chart-cat-10:#90a4ae;

    --chart-notificaciones: #35d3bf;
    --chart-solicitudes:    #c266d9;
    --chart-requerimientos: #2fb59f;
    --chart-multas:         #ff6b78;
    --chart-pagadas:        #4caf78;
    --chart-marca:          #6b8cff;

    --chart-enproceso:   #66d17f;
    --chart-consentencia:#3f9d62;
    --chart-encobranza:  #ffc247;
    --chart-enrebeldia:  #ffa94d;
    --chart-pagado:      #34c77b;

    --chart-ingresada:  #4ea3f5;
    --chart-ingresado:  #4ea3f5;
    --chart-asignada:   #c266d9;
    --chart-asignado:   #c266d9;
    --chart-enterreno:  #ffc247;
    --chart-resuelta:   #34c77b;
    --chart-cerrado:    #34c77b;
    --chart-rechazada:  #ff6b78;

    --chart-usado: #ffa94d;
    --chart-libre: #34c77b;

    --chart-edificacion:  #4f8fd1;
    --chart-transito:     #f5a623;
    --chart-rentas:       #a569bd;
    --chart-medioambiente:#34c77b;
    --chart-alcohol:      #ff5c6a;
    --chart-general:      #4f9bff;

    --chart-citacion: #4ea3f5;
    --chart-noasiste: #ffa94d;
    --chart-asiste:   #34c77b;
    --chart-anulado:  #ff6b78;
}


/* ============================================================
   Mapa de calor (MDCharts.heatmap)
   ============================================================ */
:root {
    /* rampa del mapa de calor: 0 = sin registros, 1..4 = de menos a más */
    --chart-heat-0: #eef0f7;
    --chart-heat-1: #cfd9ff;
    --chart-heat-2: #9fb3fb;
    --chart-heat-3: #5f7df0;
    --chart-heat-4: #2233b8;
    --chart-heat-ink-lo: #1c1c1c;   /* texto sobre celdas claras (0..2) */
    --chart-heat-ink-hi: #ffffff;   /* texto sobre celdas oscuras (3..4) */

    /* estados que no tenían color propio */
    --chart-enapelacion: #6d4c41;
}
html[data-theme="dark"] {
    --chart-heat-0: #262d3f;
    --chart-heat-1: #2c3f78;
    --chart-heat-2: #3f5fb8;
    --chart-heat-3: #6f90f0;
    --chart-heat-4: #b5c7ff;
    --chart-heat-ink-lo: #e8edf4;
    --chart-heat-ink-hi: #0d1520;

    --chart-enapelacion: #b08a7d;
}


/* ============================================================
   Badges de estado en tablas (md_estado_badges() en includes/functions.php)
   Fondo = token --chart-<clave> del estado; el texto se elige por contraste en cada tema.
   ============================================================ */
.badge.badge-estado { background-color: var(--st-c, #546e7a); color: #ffffff; font-weight: 600; }
.st-citacion    { --st-c: var(--chart-citacion); }
.st-enproceso   { --st-c: var(--chart-enproceso); }
.st-consentencia{ --st-c: var(--chart-consentencia); }
.st-enapelacion { --st-c: var(--chart-enapelacion); }
.st-encobranza  { --st-c: var(--chart-encobranza); }
.st-enrebeldia  { --st-c: var(--chart-enrebeldia); }
.st-pagado      { --st-c: var(--chart-pagado); }
.st-anulado     { --st-c: var(--chart-anulado); }
.st-noasiste    { --st-c: var(--chart-noasiste); }
.st-asiste      { --st-c: var(--chart-asiste); }
.st-ingresada   { --st-c: var(--chart-ingresada); }
.st-ingresado   { --st-c: var(--chart-ingresado); }
.st-asignada    { --st-c: var(--chart-asignada); }
.st-asignado    { --st-c: var(--chart-asignado); }
.st-enterreno   { --st-c: var(--chart-enterreno); }
.st-resuelta    { --st-c: var(--chart-resuelta); }
.st-cerrado     { --st-c: var(--chart-cerrado); }
.st-rechazada   { --st-c: var(--chart-rechazada); }
/* colores claros/ámbar: texto oscuro (blanco no alcanza contraste) */
.badge.st-encobranza, .badge.st-enterreno, .badge.st-noasiste, .badge.st-enrebeldia { color: #1c1c1c; }
/* modo oscuro: los tonos del tema son más claros -> texto oscuro en todos */
html[data-theme="dark"] .badge.badge-estado { color: #0d1520; }
