/* ============================================
   COLORES ADAPTATIVOS CPS - LIGHT/DARK THEME
   ============================================
   Sistema de colores que se adapta automáticamente
   al cambiar entre tema claro y oscuro
   Todos los colores usan prefijo "cps-"
*/

:root {

/* ====================================================================== */
/* ========================= VARIABLES DE COLORES======================== */
/* ====================================================================== */

/* HIERARCHY BACKGROUNDS - LIGHT (Dorado a Crema) */
    --cps-hierarchy-bg-0: #D4AF37; /* Dorado Base */
    --cps-hierarchy-bg-1: #EBC06D; /* Dorado Claro */
    --cps-hierarchy-bg-2: #F2D5A1; /* Dorado Arena */
    --cps-hierarchy-bg-3: #F9EAD3; /* Hueso / Crema Oscuro */
    --cps-hierarchy-bg-4: #FFFDF5; /* Crema muy claro */

	/* ========== CPS TEXTS COLORS ========== */
/* Tus colores originales en modo CLARO */
    --cps-bg-primary: rgb(227, 224, 217);
    --cps-bg-secondary: rgb(221, 219, 217);
    --cps-bg-tertiary: rgb(238, 231, 213);
    --cps-bg-info: rgb(255, 255, 255);
    
    /* Colores de texto para modo CLARO */
    --cps-text-primary: #444444;
    --cps-text-secondary: #555555;
    --cps-text-tertiary: #666666;
    --cps-text-info: #342705;
    /* ========== CPS STATUS COLORS ========== */
    /* Por Pagar */
    --cps-status-por-pagar-bg-light: #fad7d7;
    --cps-status-por-pagar-text-light: rgb(121, 0, 0);
    --cps-status-por-pagar-bg-dark: #4a2a2a;
    --cps-status-por-pagar-text-dark: #ff9999;
    
    /* Pagado */
    --cps-status-pagado-bg-light: #c8e6c9;
    --cps-status-pagado-text-light: rgb(0, 100, 0);
    --cps-status-pagado-bg-dark: #2a3f2a;
    --cps-status-pagado-text-dark: #66bb6a;
    
    /* En Trámite */
    --cps-status-en-tramite-bg-light: #ffeca0;
    --cps-status-en-tramite-text-light: rgb(125, 96, 0);
    --cps-status-en-tramite-bg-dark: #4a4a2a;
    --cps-status-en-tramite-text-dark: #ffd54f;
    
    /* Pendiente */
    --cps-status-pendiente-bg-light: #d7b7ef;
    --cps-status-pendiente-text-light: rgb(100, 0, 249);
    --cps-status-pendiente-bg-dark: #3a2a4a;
    --cps-status-pendiente-text-dark: #ce93d8;
    
    /* Activo */
    --cps-status-activo-bg-light: #e8f5e9;
    --cps-status-activo-text-light: rgb(27, 94, 32);
    --cps-status-activo-bg-dark: #1b3a1b;
    --cps-status-activo-text-dark: #81c784;
    
    /* Desactivo */
    --cps-status-desactivo-bg-light: #f5f5f5;
    --cps-status-desactivo-text-light: rgb(66, 66, 66);
    --cps-status-desactivo-bg-dark: #3a3a3a;
    --cps-status-desactivo-text-dark: #b0b0b0;
    
    /* Vetado */
    --cps-status-vetado-bg-light: #ffebee;
    --cps-status-vetado-text-light: rgb(183, 28, 28);
    --cps-status-vetado-bg-dark: #3a1f1f;
    --cps-status-vetado-text-dark: #ef5350;
    
    /* Default (Gris) */
    --cps-status-default-bg-light: #e0e0e0;
    --cps-status-default-text-light: rgb(66, 66, 66);
    --cps-status-default-bg-dark: #424242;
    --cps-status-default-text-dark: #c0c0c0;

    /* ========== CPSP PROYECTO STATUS COLORS ========== */
    /* Activo */
    --cpsp-proyecto-status-activo-bg-light: #e8f5e9;
    --cpsp-proyecto-status-activo-text-light: rgb(27, 94, 32);
    --cpsp-proyecto-status-activo-bg-dark: #1b3a1b;
    --cpsp-proyecto-status-activo-text-dark: #81c784;

    /* En espera */
    --cpsp-proyecto-status-en-espera-bg-light: #fff3e0;
    --cpsp-proyecto-status-en-espera-text-light: rgb(230, 81, 0);
    --cpsp-proyecto-status-en-espera-bg-dark: #4a3a2a;
    --cpsp-proyecto-status-en-espera-text-dark: #ffb74d;

    /* Pausado */
    --cpsp-proyecto-status-pausado-bg-light: #e3f2fd;
    --cpsp-proyecto-status-pausado-text-light: rgb(13, 71, 161);
    --cpsp-proyecto-status-pausado-bg-dark: #2a3a4a;
    --cpsp-proyecto-status-pausado-text-dark: #64b5f6;

    /* En revisión */
    --cpsp-proyecto-status-en-revision-bg-light: #ede7f6;
    --cpsp-proyecto-status-en-revision-text-light: rgb(69, 39, 160);
    --cpsp-proyecto-status-en-revision-bg-dark: #352a4a;
    --cpsp-proyecto-status-en-revision-text-dark: #b39ddb;

    /* Cancelado */
    --cpsp-proyecto-status-cancelado-bg-light: #ffebee;
    --cpsp-proyecto-status-cancelado-text-light: rgb(183, 28, 28);
    --cpsp-proyecto-status-cancelado-bg-dark: #3a1f1f;
    --cpsp-proyecto-status-cancelado-text-dark: #ef5350;

    /* Finalizado */
    --cpsp-proyecto-status-finalizado-bg-light: #f3e5f5;
    --cpsp-proyecto-status-finalizado-text-light: rgb(74, 20, 140);
    --cpsp-proyecto-status-finalizado-bg-dark: #3a2a4a;
    --cpsp-proyecto-status-finalizado-text-dark: #ce93d8;

	/* Servicio Pendiente */
	--cps-status-servicio-pendiente-bg-light: #fff3e0;
	--cps-status-servicio-pendiente-text-light: rgb(230, 81, 0);
	--cps-status-servicio-pendiente-bg-dark: #4a3a2a;
	--cps-status-servicio-pendiente-text-dark: #ffb74d;
	
	/* Servicio Parcial */
	--cps-status-servicio-parcial-bg-light: #e3f2fd;
	--cps-status-servicio-parcial-text-light: rgb(13, 71, 161);
	--cps-status-servicio-parcial-bg-dark: #2a3a4a;
	--cps-status-servicio-parcial-text-dark: #64b5f6;
	
	/* Servicio Completo */
	--cps-status-servicio-completo-bg-light: #e8f5e9;
	--cps-status-servicio-completo-text-light: rgb(27, 94, 32);
	--cps-status-servicio-completo-bg-dark: #2a4a2a;
	--cps-status-servicio-completo-text-dark: #81c784;

    /* ========== SERVICIO AL INSUMO (StatusServicio) ========== */
    /* Pendiente */
    --cps-servicioinsumo-pendiente-bg-light: #f5f5f5;
    --cps-servicioinsumo-pendiente-text-light: #616161;
    --cps-servicioinsumo-pendiente-bg-dark: #3a3a3a;
    --cps-servicioinsumo-pendiente-text-dark: #c0c0c0;

    /* Programada */
    --cps-servicioinsumo-programada-bg-light: #e3f2fd;
    --cps-servicioinsumo-programada-text-light: #0d47a1;
    --cps-servicioinsumo-programada-bg-dark: #2a3a4a;
    --cps-servicioinsumo-programada-text-dark: #64b5f6;

    /* ProgramadaCancelada */
    --cps-servicioinsumo-programada-cancelada-bg-light: #fff3e0;
    --cps-servicioinsumo-programada-cancelada-text-light: #e65100;
    --cps-servicioinsumo-programada-cancelada-bg-dark: #4a3a2a;
    --cps-servicioinsumo-programada-cancelada-text-dark: #ffb74d;

    /* Reprogramada */
    --cps-servicioinsumo-reprogramada-bg-light: #ede7f6;
    --cps-servicioinsumo-reprogramada-text-light: #4527a0;
    --cps-servicioinsumo-reprogramada-bg-dark: #352a4a;
    --cps-servicioinsumo-reprogramada-text-dark: #b39ddb;

    /* Activa */
    --cps-servicioinsumo-activa-bg-light: #e8f5e9;
    --cps-servicioinsumo-activa-text-light: #1b5e20;
    --cps-servicioinsumo-activa-bg-dark: #1b3a1b;
    --cps-servicioinsumo-activa-text-dark: #81c784;

    /* Pausada */
    --cps-servicioinsumo-pausada-bg-light: #fff8e1;
    --cps-servicioinsumo-pausada-text-light: #f57f17;
    --cps-servicioinsumo-pausada-bg-dark: #4a432a;
    --cps-servicioinsumo-pausada-text-dark: #ffd54f;

    /* Retrazada */
    --cps-servicioinsumo-retrazada-bg-light: #ffebee;
    --cps-servicioinsumo-retrazada-text-light: #c62828;
    --cps-servicioinsumo-retrazada-bg-dark: #3a1f1f;
    --cps-servicioinsumo-retrazada-text-dark: #ef5350;

    /* Cancelada */
    --cps-servicioinsumo-cancelada-bg-light: #ffcdd2;
    --cps-servicioinsumo-cancelada-text-light: #b71c1c;
    --cps-servicioinsumo-cancelada-bg-dark: #4a2a2a;
    --cps-servicioinsumo-cancelada-text-dark: #ff8a80;

    /* Ignorada */
    --cps-servicioinsumo-ignorada-bg-light: #eceff1;
    --cps-servicioinsumo-ignorada-text-light: #455a64;
    --cps-servicioinsumo-ignorada-bg-dark: #2f3b43;
    --cps-servicioinsumo-ignorada-text-dark: #b0bec5;

    /* Realizada */
    --cps-servicioinsumo-realizada-bg-light: #c8e6c9;
    --cps-servicioinsumo-realizada-text-light: #1b5e20;
    --cps-servicioinsumo-realizada-bg-dark: #2a4a2a;
    --cps-servicioinsumo-realizada-text-dark: #81c784;

    /* RealizadaParcial */
    --cps-servicioinsumo-realizada-parcial-bg-light: #fff8e1;
    --cps-servicioinsumo-realizada-parcial-text-light: #ff8f00;
    --cps-servicioinsumo-realizada-parcial-bg-dark: #4a3f2a;
    --cps-servicioinsumo-realizada-parcial-text-dark: #ffcc80;

	/* anticipo activo proveedor */
	--cps-status-anticipo-proveedor-activo-bg-light: #c5f9ee;
	--cps-status-anticipo-proveedor-activo-text-light: #1b6c92;
	--cps-status-anticipo-proveedor-activo-bg-dark: #1b6c92;
	--cps-status-anticipo-proveedor-activo-text-dark: #c5f9ee;

	/* anticipo desactivado proveedor */
	--cps-status-anticipo-proveedor-desactivado-bg-light: #edd4d4;
	--cps-status-anticipo-proveedor-desactivado-text-light: #342c2c;
	--cps-status-anticipo-proveedor-desactivado-bg-dark: #342c2c;
	--cps-status-anticipo-proveedor-desactivado-text-dark: #edd4d4;

	/* ========== PROVEEDOR STATUS COLORS ========== */
	/* Activo */
	--cps-proveedor-status-activo-bg-light: #e8f5e9;
	--cps-proveedor-status-activo-text-light: rgb(27, 94, 32);
	--cps-proveedor-status-activo-bg-dark: #1b3a1b;
	--cps-proveedor-status-activo-text-dark: #81c784;

	/* Inhabilitado */
	--cps-proveedor-status-inhabilitado-bg-light: #fff3e0;
	--cps-proveedor-status-inhabilitado-text-light: rgb(230, 81, 0);
	--cps-proveedor-status-inhabilitado-bg-dark: #4a3a2a;
	--cps-proveedor-status-inhabilitado-text-dark: #ffb74d;

	/* Vetado */
	--cps-proveedor-status-vetado-bg-light: #ffebee;
	--cps-proveedor-status-vetado-text-light: rgb(183, 28, 28);
	--cps-proveedor-status-vetado-bg-dark: #3a1f1f;
	--cps-proveedor-status-vetado-text-dark: #ef5350;

	/* Otro */
	--cps-proveedor-status-otro-bg-light: #e0e0e0;
	--cps-proveedor-status-otro-text-light: rgb(66, 66, 66);
	--cps-proveedor-status-otro-bg-dark: #424242;
	--cps-proveedor-status-otro-text-dark: #c0c0c0;

	/* ========== PROVEEDOR ROLES COLORS ========== */
	/* CPS (Logística) */
	--cps-proveedor-roles-cps-bg-light: #c5f9ee;
	--cps-proveedor-roles-cps-text-light: rgb(0, 107, 107);
	--cps-proveedor-roles-cps-bg-dark: #1b5555;
	--cps-proveedor-roles-cps-text-dark: #80deea;

	/* Insumos */
	--cps-proveedor-roles-insumos-bg-light: #f3e5f5;
	--cps-proveedor-roles-insumos-text-light: rgb(74, 20, 140);
	--cps-proveedor-roles-insumos-bg-dark: #3a2a4a;
	--cps-proveedor-roles-insumos-text-dark: #ce93d8;

	/* ========== PROVEEDOR TIPO COLORS ========== */
	/* Servicio */
	--cps-proveedor-tipo-servicio-bg-light: #e3f2fd;
	--cps-proveedor-tipo-servicio-text-light: rgb(13, 71, 161);
	--cps-proveedor-tipo-servicio-bg-dark: #2a3a4a;
	--cps-proveedor-tipo-servicio-text-dark: #64b5f6;

	/* Administrativo */
	--cps-proveedor-tipo-administrativo-bg-light: #fff3e0;
	--cps-proveedor-tipo-administrativo-text-light: rgb(230, 81, 0);
	--cps-proveedor-tipo-administrativo-bg-dark: #4a3a2a;
	--cps-proveedor-tipo-administrativo-text-dark: #ffb74d;

	/* Operativo */
	--cps-proveedor-tipo-operativo-bg-light: #c8e6c9;
	--cps-proveedor-tipo-operativo-text-light: rgb(27, 94, 32);
	--cps-proveedor-tipo-operativo-bg-dark: #2a4a2a;
	--cps-proveedor-tipo-operativo-text-dark: #81c784;

    
    /* ========== CPS MOVIMIENTO TYPES ========== */
    /* Gasto (Rojo) */
    --cps-movimiento-gasto-bg-light: #ffcdd2;
    --cps-movimiento-gasto-text-light: rgb(183, 28, 28);
    --cps-movimiento-gasto-bg-dark: #5d3a3a;
    --cps-movimiento-gasto-text-dark: #ff8a80;
    
    /* Ingreso (Verde) */
    --cps-movimiento-ingreso-bg-light: #c8e6c9;
    --cps-movimiento-ingreso-text-light: rgb(27, 94, 32);
    --cps-movimiento-ingreso-bg-dark: #2d4a2d;
    --cps-movimiento-ingreso-text-dark: #81c784;
    
    /* ========== CPS PALETTE COLORS ========== */
    /* Primary */
    --cps-palette-primary-light: #c6ad7b;
    --cps-palette-primary-lighten-light: #e8d4a8;
    --cps-palette-primary-darken-light: #a68a5a;
    --cps-palette-primary-text-light: #3e2f1a;
    
    --cps-palette-primary-dark: #867b5e;
    --cps-palette-primary-lighten-dark: #a89670;
    --cps-palette-primary-darken-dark: #6b5f4b;
    --cps-palette-primary-text-dark: #f0e6d2;
    
    /* Secondary */
    --cps-palette-secondary-light: #443e30;
    --cps-palette-secondary-lighten-light: #6b6255;
    --cps-palette-secondary-darken-light: #2a251f;
    --cps-palette-secondary-text-light: #ffffff;
    
    --cps-palette-secondary-dark: #504b40;
    --cps-palette-secondary-lighten-dark: #726857;
    --cps-palette-secondary-darken-dark: #3a352e;
    --cps-palette-secondary-text-dark: #e8e3d8;
    
    /* Tertiary */
    --cps-palette-tertiary-light: #a5896a;
    --cps-palette-tertiary-lighten-light: #c9b399;
    --cps-palette-tertiary-darken-light: #826847;
    --cps-palette-tertiary-text-light: #ffffff;
    
    --cps-palette-tertiary-dark: #87701a;
    --cps-palette-tertiary-lighten-dark: #9d8c3d;
    --cps-palette-tertiary-darken-dark: #6b5914;
    --cps-palette-tertiary-text-dark: #fff9e6;
    
    /* ========== CPS SUPPORT COLORS ========== */
    /* Warning */
    --cps-color-warning-light: #ff9800;
    --cps-color-warning-lighten-light: #ffb74d;
    --cps-color-warning-darken-light: #e65100;
    --cps-color-warning-text-light: #ffffff;
    
    --cps-color-warning-dark: #ffa726;
    --cps-color-warning-lighten-dark: #ffb74d;
    --cps-color-warning-darken-dark: #ff6f00;
    --cps-color-warning-text-dark: #000000;
    
    /* Error */
    --cps-color-error-light: #f44336;
    --cps-color-error-lighten-light: #ef5350;
    --cps-color-error-darken-light: #d32f2f;
    --cps-color-error-text-light: #ffffff;
    
    --cps-color-error-dark: #ef5350;
    --cps-color-error-lighten-dark: #e57373;
    --cps-color-error-darken-dark: #c62828;
    --cps-color-error-text-dark: #ffffff;
    
    /* Success */
    --cps-color-success-light: #4caf50;
    --cps-color-success-lighten-light: #81c784;
    --cps-color-success-darken-light: #1b5e20;
    --cps-color-success-text-light: #ffffff;
    
    --cps-color-success-dark: #66bb6a;
    --cps-color-success-lighten-dark: #81c784;
    --cps-color-success-darken-dark: #00600d;
    --cps-color-success-text-dark: #ffffff;
    
    /* Info */
    --cps-color-info-light: #2196f3;
    --cps-color-info-lighten-light: #64b5f6;
    --cps-color-info-darken-light: #0d47a1;
    --cps-color-info-text-light: #ffffff;
    
    --cps-color-info-dark: #42a5f5;
    --cps-color-info-lighten-dark: #64b5f6;
    --cps-color-info-darken-dark: #01579b;
    --cps-color-info-text-dark: #ffffff;

	/* ========== CUENTA CONTABLE TYPES ========== */

	/* Activo */
	--cps-cc-activo-bg-light: #e3f2fd;
	--cps-cc-activo-text-light: #0d47a1;
	--cps-cc-activo-bg-dark: #2a3a4a;
	--cps-cc-activo-text-dark: #64b5f6;

	/* Pasivo */
	--cps-cc-pasivo-bg-light: #ffebee;
	--cps-cc-pasivo-text-light: #b71c1c;
	--cps-cc-pasivo-bg-dark: #3a1f1f;
	--cps-cc-pasivo-text-dark: #ef5350;

	/* Capital */
	--cps-cc-capital-bg-light: #f3e5f5;
	--cps-cc-capital-text-light: #4a148c;
	--cps-cc-capital-bg-dark: #3a2a4a;
	--cps-cc-capital-text-dark: #ce93d8;

	/* Ingreso */
	--cps-cc-ingreso-bg-light: #c8e6c9;
	--cps-cc-ingreso-text-light: #1b5e20;
	--cps-cc-ingreso-bg-dark: #2a4a2a;
	--cps-cc-ingreso-text-dark: #81c784;

	/* Gasto */
	--cps-cc-gasto-bg-light: #fff3e0;
	--cps-cc-gasto-text-light: #e65100;
	--cps-cc-gasto-bg-dark: #4a3a2a;
	--cps-cc-gasto-text-dark: #ffb74d;

    /* ========== GRID DETAIL OPEN ROW (LIGHT/DARK) ========== */
    --cps-grid-detail-open-bg-light: #f9f2df;
    --cps-grid-detail-open-bg-dark: #3c3321;
    --cps-grid-detail-open-accent-light: #c6b698;
    --cps-grid-detail-open-accent-dark: #a89670;

	/* ========== PERMISSION COLORS ========== */
    --cps-permission-view-light: #2196F3;
    --cps-permission-add-light: #4CAF50;
    --cps-permission-edit-light: #FF9800;
    --cps-permission-delete-light: #F44336;
    --cps-permission-activate-light: #673AB7;
    --cps-permission-sync-light: #00BCD4;
	--cps-permission-view-dark: #90CAF9;
    --cps-permission-add-dark: #81C784;
    --cps-permission-edit-dark: #FFB74D;
    --cps-permission-delete-dark: #E57373;
    --cps-permission-activate-dark: #B39DDB;
    --cps-permission-sync-dark: #4DD0E1;
    
/* ====================================================================== */
/* ==================== DEFAULT VALUES (LIGHT MODE) ===================== */
/* ====================================================================== */
    /* Status */
    --cps-status-por-pagar-bg: var(--cps-status-por-pagar-bg-light);
    --cps-status-por-pagar-text: var(--cps-status-por-pagar-text-light);
    --cps-status-pagado-bg: var(--cps-status-pagado-bg-light);
    --cps-status-pagado-text: var(--cps-status-pagado-text-light);
    --cps-status-en-tramite-bg: var(--cps-status-en-tramite-bg-light);
    --cps-status-en-tramite-text: var(--cps-status-en-tramite-text-light);
    --cps-status-pendiente-bg: var(--cps-status-pendiente-bg-light);
    --cps-status-pendiente-text: var(--cps-status-pendiente-text-light);
    --cps-status-activo-bg: var(--cps-status-activo-bg-light);
    --cps-status-activo-text: var(--cps-status-activo-text-light);
    --cps-status-desactivo-bg: var(--cps-status-desactivo-bg-light);
    --cps-status-desactivo-text: var(--cps-status-desactivo-text-light);
    --cps-status-vetado-bg: var(--cps-status-vetado-bg-light);
    --cps-status-vetado-text: var(--cps-status-vetado-text-light);
	--cps-status-servicio-pendiente-bg: var(--cps-status-servicio-pendiente-bg-light);
	--cps-status-servicio-pendiente-text: var(--cps-status-servicio-pendiente-text-light);
	--cps-status-servicio-parcial-bg: var(--cps-status-servicio-parcial-bg-light);
	--cps-status-servicio-parcial-text: var(--cps-status-servicio-parcial-text-light);
	--cps-status-servicio-completo-bg: var(--cps-status-servicio-completo-bg-light);
	--cps-status-servicio-completo-text: var(--cps-status-servicio-completo-text-light);
    --cps-servicioinsumo-pendiente-bg: var(--cps-servicioinsumo-pendiente-bg-light);
    --cps-servicioinsumo-pendiente-text: var(--cps-servicioinsumo-pendiente-text-light);
    --cps-servicioinsumo-programada-bg: var(--cps-servicioinsumo-programada-bg-light);
    --cps-servicioinsumo-programada-text: var(--cps-servicioinsumo-programada-text-light);
    --cps-servicioinsumo-programada-cancelada-bg: var(--cps-servicioinsumo-programada-cancelada-bg-light);
    --cps-servicioinsumo-programada-cancelada-text: var(--cps-servicioinsumo-programada-cancelada-text-light);
    --cps-servicioinsumo-reprogramada-bg: var(--cps-servicioinsumo-reprogramada-bg-light);
    --cps-servicioinsumo-reprogramada-text: var(--cps-servicioinsumo-reprogramada-text-light);
    --cps-servicioinsumo-activa-bg: var(--cps-servicioinsumo-activa-bg-light);
    --cps-servicioinsumo-activa-text: var(--cps-servicioinsumo-activa-text-light);
    --cps-servicioinsumo-pausada-bg: var(--cps-servicioinsumo-pausada-bg-light);
    --cps-servicioinsumo-pausada-text: var(--cps-servicioinsumo-pausada-text-light);
    --cps-servicioinsumo-retrazada-bg: var(--cps-servicioinsumo-retrazada-bg-light);
    --cps-servicioinsumo-retrazada-text: var(--cps-servicioinsumo-retrazada-text-light);
    --cps-servicioinsumo-cancelada-bg: var(--cps-servicioinsumo-cancelada-bg-light);
    --cps-servicioinsumo-cancelada-text: var(--cps-servicioinsumo-cancelada-text-light);
    --cps-servicioinsumo-ignorada-bg: var(--cps-servicioinsumo-ignorada-bg-light);
    --cps-servicioinsumo-ignorada-text: var(--cps-servicioinsumo-ignorada-text-light);
    --cps-servicioinsumo-realizada-bg: var(--cps-servicioinsumo-realizada-bg-light);
    --cps-servicioinsumo-realizada-text: var(--cps-servicioinsumo-realizada-text-light);
    --cps-servicioinsumo-realizada-parcial-bg: var(--cps-servicioinsumo-realizada-parcial-bg-light);
    --cps-servicioinsumo-realizada-parcial-text: var(--cps-servicioinsumo-realizada-parcial-text-light);
	--cps-status-anticipo-proveedor-activo-bg: var(--cps-status-anticipo-proveedor-activo-bg-light);
	--cps-status-anticipo-proveedor-activo-text: var(--cps-status-anticipo-proveedor-activo-text-light);
	--cps-status-anticipo-proveedor-desactivado-bg: var(--cps-status-anticipo-proveedor-desactivado-bg-light);
	--cps-status-anticipo-proveedor-desactivado-text: var(--cps-status-anticipo-proveedor-desactivado-text-light);

    /* Proyecto Status */
    --cpsp-proyecto-status-activo-bg: var(--cpsp-proyecto-status-activo-bg-light);
    --cpsp-proyecto-status-activo-text: var(--cpsp-proyecto-status-activo-text-light);
    --cpsp-proyecto-status-en-espera-bg: var(--cpsp-proyecto-status-en-espera-bg-light);
    --cpsp-proyecto-status-en-espera-text: var(--cpsp-proyecto-status-en-espera-text-light);
    --cpsp-proyecto-status-pausado-bg: var(--cpsp-proyecto-status-pausado-bg-light);
    --cpsp-proyecto-status-pausado-text: var(--cpsp-proyecto-status-pausado-text-light);
    --cpsp-proyecto-status-en-revision-bg: var(--cpsp-proyecto-status-en-revision-bg-light);
    --cpsp-proyecto-status-en-revision-text: var(--cpsp-proyecto-status-en-revision-text-light);
    --cpsp-proyecto-status-cancelado-bg: var(--cpsp-proyecto-status-cancelado-bg-light);
    --cpsp-proyecto-status-cancelado-text: var(--cpsp-proyecto-status-cancelado-text-light);
    --cpsp-proyecto-status-finalizado-bg: var(--cpsp-proyecto-status-finalizado-bg-light);
    --cpsp-proyecto-status-finalizado-text: var(--cpsp-proyecto-status-finalizado-text-light);

	/* Proveedor Status */
	--cps-proveedor-status-activo-bg: var(--cps-proveedor-status-activo-bg-light);
	--cps-proveedor-status-activo-text: var(--cps-proveedor-status-activo-text-light);
	--cps-proveedor-status-inhabilitado-bg: var(--cps-proveedor-status-inhabilitado-bg-light);
	--cps-proveedor-status-inhabilitado-text: var(--cps-proveedor-status-inhabilitado-text-light);
	--cps-proveedor-status-vetado-bg: var(--cps-proveedor-status-vetado-bg-light);
	--cps-proveedor-status-vetado-text: var(--cps-proveedor-status-vetado-text-light);
	--cps-proveedor-status-otro-bg: var(--cps-proveedor-status-otro-bg-light);
	--cps-proveedor-status-otro-text: var(--cps-proveedor-status-otro-text-light);

	/* Proveedor Roles */
	--cps-proveedor-roles-cps-bg: var(--cps-proveedor-roles-cps-bg-light);
	--cps-proveedor-roles-cps-text: var(--cps-proveedor-roles-cps-text-light);
	--cps-proveedor-roles-insumos-bg: var(--cps-proveedor-roles-insumos-bg-light);
	--cps-proveedor-roles-insumos-text: var(--cps-proveedor-roles-insumos-text-light);

	/* Proveedor Tipo */
	--cps-proveedor-tipo-servicio-bg: var(--cps-proveedor-tipo-servicio-bg-light);
	--cps-proveedor-tipo-servicio-text: var(--cps-proveedor-tipo-servicio-text-light);
	--cps-proveedor-tipo-administrativo-bg: var(--cps-proveedor-tipo-administrativo-bg-light);
	--cps-proveedor-tipo-administrativo-text: var(--cps-proveedor-tipo-administrativo-text-light);
	--cps-proveedor-tipo-operativo-bg: var(--cps-proveedor-tipo-operativo-bg-light);
	--cps-proveedor-tipo-operativo-text: var(--cps-proveedor-tipo-operativo-text-light);
    
    /* Palette */
    --cps-palette-primary: var(--cps-palette-primary-light);
    --cps-palette-primary-lighten: var(--cps-palette-primary-lighten-light);
    --cps-palette-primary-darken: var(--cps-palette-primary-darken-light);
    --cps-palette-primary-text: var(--cps-palette-primary-text-light);
    
    --cps-palette-secondary: var(--cps-palette-secondary-light);
    --cps-palette-secondary-lighten: var(--cps-palette-secondary-lighten-light);
    --cps-palette-secondary-darken: var(--cps-palette-secondary-darken-light);
    --cps-palette-secondary-text: var(--cps-palette-secondary-text-light);
    
    --cps-palette-tertiary: var(--cps-palette-tertiary-light);
    --cps-palette-tertiary-lighten: var(--cps-palette-tertiary-lighten-light);
    --cps-palette-tertiary-darken: var(--cps-palette-tertiary-darken-light);
    --cps-palette-tertiary-text: var(--cps-palette-tertiary-text-light);
    
    /* Support */
    --cps-color-warning: var(--cps-color-warning-light);
    --cps-color-warning-lighten: var(--cps-color-warning-lighten-light);
    --cps-color-warning-darken: var(--cps-color-warning-darken-light);
    --cps-color-warning-text: var(--cps-color-warning-text-light);
    
    --cps-color-error: var(--cps-color-error-light);
    --cps-color-error-lighten: var(--cps-color-error-lighten-light);
    --cps-color-error-darken: var(--cps-color-error-darken-light);
    --cps-color-error-text: var(--cps-color-error-text-light);
    
    --cps-color-success: var(--cps-color-success-light);
    --cps-color-success-lighten: var(--cps-color-success-lighten-light);
    --cps-color-success-darken: var(--cps-color-success-darken-light);
    --cps-color-success-text: var(--cps-color-success-text-light);
    
    --cps-color-info: var(--cps-color-info-light);
    --cps-color-info-lighten: var(--cps-color-info-lighten-light);
    --cps-color-info-darken: var(--cps-color-info-darken-light);
    --cps-color-info-text: var(--cps-color-info-text-light);
    
    /* Movimiento Types */
    --cps-movimiento-gasto-bg: var(--cps-movimiento-gasto-bg-light);
    --cps-movimiento-gasto-text: var(--cps-movimiento-gasto-text-light);
    --cps-movimiento-ingreso-bg: var(--cps-movimiento-ingreso-bg-light);
    --cps-movimiento-ingreso-text: var(--cps-movimiento-ingreso-text-light);

    /* MudPaper */
    --cps-mudpaper-primary-bg: var(--cps-mudpaper-primary-light);
    --cps-mudpaper-secondary-bg: var(--cps-mudpaper-secondary-light);

    /* Grid detail open */
    --cps-grid-detail-open-bg: var(--cps-grid-detail-open-bg-light);
    --cps-grid-detail-open-accent: var(--cps-grid-detail-open-accent-light);

	/* Cuenta contable */

	--cps-cc-activo-bg: var(--cps-cc-activo-bg-light);
	--cps-cc-activo-text: var(--cps-cc-activo-text-light);

	--cps-cc-pasivo-bg: var(--cps-cc-pasivo-bg-light);
	--cps-cc-pasivo-text: var(--cps-cc-pasivo-text-light);

	--cps-cc-capital-bg: var(--cps-cc-capital-bg-light);
	--cps-cc-capital-text: var(--cps-cc-capital-text-light);

	--cps-cc-ingreso-bg: var(--cps-cc-ingreso-bg-light);
	--cps-cc-ingreso-text: var(--cps-cc-ingreso-text-light);

	--cps-cc-gasto-bg: var(--cps-cc-gasto-bg-light);
	--cps-cc-gasto-text: var(--cps-cc-gasto-text-light);

	/* Permisos weros */
    --cps-perm-view: var(--cps-permission-view-light);
    --cps-perm-add: var(--cps-permission-add-light);
    --cps-perm-edit: var(--cps-permission-edit-light);
    --cps-perm-delete: var(--cps-permission-delete-light);
    --cps-perm-activate: var(--cps-permission-activate-light);
    --cps-perm-sync: var(--cps-permission-sync-light);

}

/* ====================================================================== */
/* ============================= DARK MODE ============================= */
/* ====================================================================== */

[data-mud-dark-mode="true"] {

	/* HIERARCHY BACKGROUNDS - DARK (Dorado Oscuro a Gris) */
    --cps-hierarchy-bg-0: #8A6D3B; /* Dorado Viejo */
    --cps-hierarchy-bg-1: #6E5A31; /* Bronce Oscuro */
    --cps-hierarchy-bg-2: #4A4538; /* Gris Cálido */
    --cps-hierarchy-bg-3: #2D2D2D; /* Gris Carbón */
    --cps-hierarchy-bg-4: #1A1A1A; /* Gris Casi Negro */

/* Tus colores originales en modo OSCURO */
    --cps-bg-primary: rgb(50, 43, 31);
    --cps-bg-secondary: rgb(48, 47, 45);
    --cps-bg-tertiary: rgb(48, 47, 45);
    --cps-bg-info: rgb(0, 0, 0);
    
    /* Colores de texto para modo OSCURO */
    --cps-text-primary: #F5F5F5;
    --cps-text-secondary: #E0E0E0;
    --cps-text-tertiary: #BDBDBD;
    --cps-text-info: #c6b8a5;
    /* Status */
    --cps-status-por-pagar-bg: var(--cps-status-por-pagar-bg-dark);
    --cps-status-por-pagar-text: var(--cps-status-por-pagar-text-dark);
    --cps-status-pagado-bg: var(--cps-status-pagado-bg-dark);
    --cps-status-pagado-text: var(--cps-status-pagado-text-dark);
    --cps-status-en-tramite-bg: var(--cps-status-en-tramite-bg-dark);
    --cps-status-en-tramite-text: var(--cps-status-en-tramite-text-dark);
    --cps-status-pendiente-bg: var(--cps-status-pendiente-bg-dark);
    --cps-status-pendiente-text: var(--cps-status-pendiente-text-dark);
	--cps-status-default-bg: var(--cps-status-default-bg-dark);
	--cps-status-default-text: var(--cps-status-default-text-dark);
	--cps-status-servicio-pendiente-bg: var(--cps-status-servicio-pendiente-bg-dark);
	--cps-status-servicio-pendiente-text: var(--cps-status-servicio-pendiente-text-dark);
	--cps-status-servicio-parcial-bg: var(--cps-status-servicio-parcial-bg-dark);
	--cps-status-servicio-parcial-text: var(--cps-status-servicio-parcial-text-dark);
	--cps-status-servicio-completo-bg: var(--cps-status-servicio-completo-bg-dark);
	--cps-status-servicio-completo-text: var(--cps-status-servicio-completo-text-dark);
    --cps-servicioinsumo-pendiente-bg: var(--cps-servicioinsumo-pendiente-bg-dark);
    --cps-servicioinsumo-pendiente-text: var(--cps-servicioinsumo-pendiente-text-dark);
    --cps-servicioinsumo-programada-bg: var(--cps-servicioinsumo-programada-bg-dark);
    --cps-servicioinsumo-programada-text: var(--cps-servicioinsumo-programada-text-dark);
    --cps-servicioinsumo-programada-cancelada-bg: var(--cps-servicioinsumo-programada-cancelada-bg-dark);
    --cps-servicioinsumo-programada-cancelada-text: var(--cps-servicioinsumo-programada-cancelada-text-dark);
    --cps-servicioinsumo-reprogramada-bg: var(--cps-servicioinsumo-reprogramada-bg-dark);
    --cps-servicioinsumo-reprogramada-text: var(--cps-servicioinsumo-reprogramada-text-dark);
    --cps-servicioinsumo-activa-bg: var(--cps-servicioinsumo-activa-bg-dark);
    --cps-servicioinsumo-activa-text: var(--cps-servicioinsumo-activa-text-dark);
    --cps-servicioinsumo-pausada-bg: var(--cps-servicioinsumo-pausada-bg-dark);
    --cps-servicioinsumo-pausada-text: var(--cps-servicioinsumo-pausada-text-dark);
    --cps-servicioinsumo-retrazada-bg: var(--cps-servicioinsumo-retrazada-bg-dark);
    --cps-servicioinsumo-retrazada-text: var(--cps-servicioinsumo-retrazada-text-dark);
    --cps-servicioinsumo-cancelada-bg: var(--cps-servicioinsumo-cancelada-bg-dark);
    --cps-servicioinsumo-cancelada-text: var(--cps-servicioinsumo-cancelada-text-dark);
    --cps-servicioinsumo-ignorada-bg: var(--cps-servicioinsumo-ignorada-bg-dark);
    --cps-servicioinsumo-ignorada-text: var(--cps-servicioinsumo-ignorada-text-dark);
    --cps-servicioinsumo-realizada-bg: var(--cps-servicioinsumo-realizada-bg-dark);
    --cps-servicioinsumo-realizada-text: var(--cps-servicioinsumo-realizada-text-dark);
    --cps-servicioinsumo-realizada-parcial-bg: var(--cps-servicioinsumo-realizada-parcial-bg-dark);
    --cps-servicioinsumo-realizada-parcial-text: var(--cps-servicioinsumo-realizada-parcial-text-dark);
	--cps-status-activo-bg: var(--cps-status-activo-bg-dark);
    --cps-status-activo-text: var(--cps-status-activo-text-dark);
    --cps-status-desactivo-bg: var(--cps-status-desactivo-bg-dark);
    --cps-status-desactivo-text: var(--cps-status-desactivo-text-dark);
    --cps-status-vetado-bg: var(--cps-status-vetado-bg-dark);
    --cps-status-vetado-text: var(--cps-status-vetado-text-dark);
	--cps-status-anticipo-proveedor-activo-bg: var(--cps-status-anticipo-proveedor-activo-bg-dark);
	--cps-status-anticipo-proveedor-activo-text: var(--cps-status-anticipo-proveedor-activo-text-dark);
	--cps-status-anticipo-proveedor-desactivado-bg: var(--cps-status-anticipo-proveedor-desactivado-bg-dark);
	--cps-status-anticipo-proveedor-desactivado-text: var(--cps-status-anticipo-proveedor-desactivado-text-dark);

    /* Proyecto Status */
    --cpsp-proyecto-status-activo-bg: var(--cpsp-proyecto-status-activo-bg-dark);
    --cpsp-proyecto-status-activo-text: var(--cpsp-proyecto-status-activo-text-dark);
    --cpsp-proyecto-status-en-espera-bg: var(--cpsp-proyecto-status-en-espera-bg-dark);
    --cpsp-proyecto-status-en-espera-text: var(--cpsp-proyecto-status-en-espera-text-dark);
    --cpsp-proyecto-status-pausado-bg: var(--cpsp-proyecto-status-pausado-bg-dark);
    --cpsp-proyecto-status-pausado-text: var(--cpsp-proyecto-status-pausado-text-dark);
    --cpsp-proyecto-status-en-revision-bg: var(--cpsp-proyecto-status-en-revision-bg-dark);
    --cpsp-proyecto-status-en-revision-text: var(--cpsp-proyecto-status-en-revision-text-dark);
    --cpsp-proyecto-status-cancelado-bg: var(--cpsp-proyecto-status-cancelado-bg-dark);
    --cpsp-proyecto-status-cancelado-text: var(--cpsp-proyecto-status-cancelado-text-dark);
    --cpsp-proyecto-status-finalizado-bg: var(--cpsp-proyecto-status-finalizado-bg-dark);
    --cpsp-proyecto-status-finalizado-text: var(--cpsp-proyecto-status-finalizado-text-dark);

	/* Proveedor Status */
	--cps-proveedor-status-activo-bg: var(--cps-proveedor-status-activo-bg-dark);
	--cps-proveedor-status-activo-text: var(--cps-proveedor-status-activo-text-dark);
	--cps-proveedor-status-inhabilitado-bg: var(--cps-proveedor-status-inhabilitado-bg-dark);
	--cps-proveedor-status-inhabilitado-text: var(--cps-proveedor-status-inhabilitado-text-dark);
	--cps-proveedor-status-vetado-bg: var(--cps-proveedor-status-vetado-bg-dark);
	--cps-proveedor-status-vetado-text: var(--cps-proveedor-status-vetado-text-dark);
	--cps-proveedor-status-otro-bg: var(--cps-proveedor-status-otro-bg-dark);
	--cps-proveedor-status-otro-text: var(--cps-proveedor-status-otro-text-dark);

	/* Proveedor Roles */
	--cps-proveedor-roles-cps-bg: var(--cps-proveedor-roles-cps-bg-dark);
	--cps-proveedor-roles-cps-text: var(--cps-proveedor-roles-cps-text-dark);
	--cps-proveedor-roles-insumos-bg: var(--cps-proveedor-roles-insumos-bg-dark);
	--cps-proveedor-roles-insumos-text: var(--cps-proveedor-roles-insumos-text-dark);

	/* Proveedor Tipo */
	--cps-proveedor-tipo-servicio-bg: var(--cps-proveedor-tipo-servicio-bg-dark);
	--cps-proveedor-tipo-servicio-text: var(--cps-proveedor-tipo-servicio-text-dark);
	--cps-proveedor-tipo-administrativo-bg: var(--cps-proveedor-tipo-administrativo-bg-dark);
	--cps-proveedor-tipo-administrativo-text: var(--cps-proveedor-tipo-administrativo-text-dark);
	--cps-proveedor-tipo-operativo-bg: var(--cps-proveedor-tipo-operativo-bg-dark);
	--cps-proveedor-tipo-operativo-text: var(--cps-proveedor-tipo-operativo-text-dark);
    
    /* Palette */
    --cps-palette-primary: var(--cps-palette-primary-dark);
    --cps-palette-primary-lighten: var(--cps-palette-primary-lighten-dark);
    --cps-palette-primary-darken: var(--cps-palette-primary-darken-dark);
    --cps-palette-primary-text: var(--cps-palette-primary-text-dark);
    
    --cps-palette-secondary: var(--cps-palette-secondary-dark);
    --cps-palette-secondary-lighten: var(--cps-palette-secondary-lighten-dark);
    --cps-palette-secondary-darken: var(--cps-palette-secondary-darken-dark);
    --cps-palette-secondary-text: var(--cps-palette-secondary-text-dark);
    
    --cps-palette-tertiary: var(--cps-palette-tertiary-dark);
    --cps-palette-tertiary-lighten: var(--cps-palette-tertiary-lighten-dark);
    --cps-palette-tertiary-darken: var(--cps-palette-tertiary-darken-dark);
    --cps-palette-tertiary-text: var(--cps-palette-tertiary-text-dark);
    
    /* Support */
    --cps-color-warning: var(--cps-color-warning-dark);
    --cps-color-warning-lighten: var(--cps-color-warning-lighten-dark);
    --cps-color-warning-darken: var(--cps-color-warning-darken-dark);
    --cps-color-warning-text: var(--cps-color-warning-text-dark);
    
    --cps-color-error: var(--cps-color-error-dark);
    --cps-color-error-lighten: var(--cps-color-error-lighten-dark);
    --cps-color-error-darken: var(--cps-color-error-darken-dark);
    --cps-color-error-text: var(--cps-color-error-text-dark);
    
    --cps-color-success: var(--cps-color-success-dark);
    --cps-color-success-lighten: var(--cps-color-success-lighten-dark);
    --cps-color-success-darken: var(--cps-color-success-darken-dark);
    --cps-color-success-text: var(--cps-color-success-text-dark);
    
    --cps-color-info: var(--cps-color-info-dark);
    --cps-color-info-lighten: var(--cps-color-info-lighten-dark);
    --cps-color-info-darken: var(--cps-color-info-darken-dark);
    --cps-color-info-text: var(--cps-color-info-text-dark);
    
    /* Movimiento Types */
    --cps-movimiento-gasto-bg: var(--cps-movimiento-gasto-bg-dark);
    --cps-movimiento-gasto-text: var(--cps-movimiento-gasto-text-dark);
    --cps-movimiento-ingreso-bg: var(--cps-movimiento-ingreso-bg-dark);
    --cps-movimiento-ingreso-text: var(--cps-movimiento-ingreso-text-dark);

    /* MudPaper */
    --cps-mudpaper-primary-bg: var(--cps-mudpaper-primary-dark);
    --cps-mudpaper-secondary-bg: var(--cps-mudpaper-secondary-dark);

    /* Grid detail open */
    --cps-grid-detail-open-bg: var(--cps-grid-detail-open-bg-dark);
    --cps-grid-detail-open-accent: var(--cps-grid-detail-open-accent-dark);

	/* Cuenta contable */

	--cps-cc-activo-bg: var(--cps-cc-activo-bg-dark);
	--cps-cc-activo-text: var(--cps-cc-activo-text-dark);

	--cps-cc-pasivo-bg: var(--cps-cc-pasivo-bg-dark);
	--cps-cc-pasivo-text: var(--cps-cc-pasivo-text-dark);

	--cps-cc-capital-bg: var(--cps-cc-capital-bg-dark);
	--cps-cc-capital-text: var(--cps-cc-capital-text-dark);

	--cps-cc-ingreso-bg: var(--cps-cc-ingreso-bg-dark);
	--cps-cc-ingreso-text: var(--cps-cc-ingreso-text-dark);

	--cps-cc-gasto-bg: var(--cps-cc-gasto-bg-dark);
	--cps-cc-gasto-text: var(--cps-cc-gasto-text-dark);

	/* permisos oscuros */
    --cps-perm-view: var(--cps-permission-view-dark);
    --cps-perm-add: var(--cps-permission-add-dark);
    --cps-perm-edit: var(--cps-permission-edit-dark);
    --cps-perm-delete: var(--cps-permission-delete-dark);
    --cps-perm-activate: var(--cps-permission-activate-dark);
    --cps-perm-sync: var(--cps-permission-sync-dark);

}

/* ====================================================================== */
/* ============================= UTILITIES ============================= */
/* ====================================================================== */

/* Estas clases son universales en CP&S */
.cps-bg-level-0 { background-color: var(--cps-hierarchy-bg-0) }
.cps-bg-level-1 { background-color: var(--cps-hierarchy-bg-1) }
.cps-bg-level-2 { background-color: var(--cps-hierarchy-bg-2) }
.cps-bg-level-3 { background-color: var(--cps-hierarchy-bg-3) }
.cps-bg-level-4 { background-color: var(--cps-hierarchy-bg-4) }

/* Buscamos cualquier fila (e-row) que TENGA una clase que empiece con cps-bg-level
   y obligamos a sus celdas internas a heredar el color.
*/
.e-row[class*="cps-bg-level-"] .e-rowcell,
.e-row[class*="cps-bg-level-"] .e-detailcell,
.e-row[class*="cps-bg-level-"] .e-summarycell {
    background-color: inherit !important;
    border-color: rgba(0,0,0,0.05) !important; /* Opcional: para que los bordes no chillen */
}

/* También para el renglón de detalle cuando se expande */
.e-detailrow[class*="cps-bg-level-"],
.e-detailrow[class*="cps-bg-level-"] .e-detailcell {
    background-color: inherit !important;
}

/* ========== UTILITY CLASSES - STATUS ========== */
.cps-status-por-pagar {
    background-color: var(--cps-status-por-pagar-bg) !important;
    color: var(--cps-status-por-pagar-text) !important;
}

.cps-status-pagado {
    background-color: var(--cps-status-pagado-bg) !important;
    color: var(--cps-status-pagado-text) !important;
}

.cps-status-en-tramite {
    background-color: var(--cps-status-en-tramite-bg) !important;
    color: var(--cps-status-en-tramite-text) !important;
}

.cps-status-pendiente {
    background-color: var(--cps-status-pendiente-bg) !important;
    color: var(--cps-status-pendiente-text) !important;
}

.cps-status-activo {
    background-color: var(--cps-status-activo-bg) !important;
    color: var(--cps-status-activo-text) !important;
}

.cps-status-desactivo {
    background-color: var(--cps-status-desactivo-bg) !important;
    color: var(--cps-status-desactivo-text) !important;
}

.cps-status-vetado {
    background-color: var(--cps-status-vetado-bg) !important;
    color: var(--cps-status-vetado-text) !important;
}

.cps-status-servicio-pendiente {
	background-color: var(--cps-status-servicio-pendiente-bg) !important;
	color: var(--cps-status-servicio-pendiente-text) !important;
}

.cps-status-servicio-parcial {
	background-color: var(--cps-status-servicio-parcial-bg) !important;
	color: var(--cps-status-servicio-parcial-text) !important;
}

.cps-status-servicio-completo {
	background-color: var(--cps-status-servicio-completo-bg) !important;
	color: var(--cps-status-servicio-completo-text) !important;
}

.cps-status-default {
    background-color: var(--cps-status-default-bg) !important;
    color: var(--cps-status-default-text) !important;
}

.cps-status-anticipo-proveedor-activo {
	background-color: var(--cps-status-anticipo-proveedor-activo-bg) !important;
	color: var(--cps-status-anticipo-proveedor-activo-text) !important;
}

.cps-status-anticipo-proveedor-desactivado {
	background-color: var(--cps-status-anticipo-proveedor-desactivado-bg) !important;
	color: var(--cps-status-anticipo-proveedor-desactivado-text) !important;
}

/* Cuenta contable */

.cps-cc-activo {
    background-color: var(--cps-cc-activo-bg) !important;
    color: var(--cps-cc-activo-text) !important;
}

.cps-cc-pasivo {
    background-color: var(--cps-cc-pasivo-bg) !important;
    color: var(--cps-cc-pasivo-text) !important;
}

.cps-cc-capital {
    background-color: var(--cps-cc-capital-bg) !important;
    color: var(--cps-cc-capital-text) !important;
}

.cps-cc-ingreso {
    background-color: var(--cps-cc-ingreso-bg) !important;
    color: var(--cps-cc-ingreso-text) !important;
}

.cps-cc-gasto {
    background-color: var(--cps-cc-gasto-bg) !important;
    color: var(--cps-cc-gasto-text) !important;
}

/* ========== MUDPAPER UTILITIES ========== */

/* --- PRIMARY --- */
.cps-mudpaper-primary { 
    background-color: var(--cps-bg-primary) !important;
    color: var(--cps-text-primary) !important; 
    border: 1px solid color-mix(in srgb, var(--cps-bg-primary), black 20%) !important;
}
.cps-mudpaper-primary .cps-label { color: inherit !important; }

/* --- SECONDARY --- */
.cps-mudpaper-secondary { 
    background-color: var(--cps-bg-secondary) !important; 
    color: var(--cps-text-secondary) !important; 
    border: 1px solid color-mix(in srgb, var(--cps-bg-secondary), black 20%) !important;
}
.cps-mudpaper-secondary .cps-label { color: inherit !important; }

/* --- TERTIARY --- */
.cps-mudpaper-tertiary { 
    background-color: var(--cps-bg-tertiary) !important; 
    color: var(--cps-text-tertiary) !important; 
    border: 1px solid color-mix(in srgb, var(--cps-bg-tertiary), black 20%) !important;
}
.cps-mudpaper-tertiary .cps-label { color: inherit !important; }

/* --- Info --- */
.cps-mudpaper-info { 
    background-color: var(--cps-bg-info) !important; 
    color: var(--cps-text-info) !important; 
    border: 1px solid color-mix(in srgb, var(--cps-bg-info), black 20%) !important;
}
.cps-mudpaper-info .cps-label { color: inherit !important; }

/* ========== UTILITY CLASSES - SERVICIO AL INSUMO (StatusServicio) ========== */
.cps-servicioinsumo-pendiente-bg { background-color: var(--cps-servicioinsumo-pendiente-bg) !important; }
.cps-servicioinsumo-pendiente-text { color: var(--cps-servicioinsumo-pendiente-text) !important; }
.cps-servicioinsumo-pendiente { background-color: var(--cps-servicioinsumo-pendiente-bg) !important; color: var(--cps-servicioinsumo-pendiente-text) !important; }

.cps-servicioinsumo-programada-bg { background-color: var(--cps-servicioinsumo-programada-bg) !important; }
.cps-servicioinsumo-programada-text { color: var(--cps-servicioinsumo-programada-text) !important; }
.cps-servicioinsumo-programada { background-color: var(--cps-servicioinsumo-programada-bg) !important; color: var(--cps-servicioinsumo-programada-text) !important; }

.cps-servicioinsumo-programada-cancelada-bg { background-color: var(--cps-servicioinsumo-programada-cancelada-bg) !important; }
.cps-servicioinsumo-programada-cancelada-text { color: var(--cps-servicioinsumo-programada-cancelada-text) !important; }
.cps-servicioinsumo-programada-cancelada { background-color: var(--cps-servicioinsumo-programada-cancelada-bg) !important; color: var(--cps-servicioinsumo-programada-cancelada-text) !important; }

.cps-servicioinsumo-reprogramada-bg { background-color: var(--cps-servicioinsumo-reprogramada-bg) !important; }
.cps-servicioinsumo-reprogramada-text { color: var(--cps-servicioinsumo-reprogramada-text) !important; }
.cps-servicioinsumo-reprogramada { background-color: var(--cps-servicioinsumo-reprogramada-bg) !important; color: var(--cps-servicioinsumo-reprogramada-text) !important; }

.cps-servicioinsumo-activa-bg { background-color: var(--cps-servicioinsumo-activa-bg) !important; }
.cps-servicioinsumo-activa-text { color: var(--cps-servicioinsumo-activa-text) !important; }
.cps-servicioinsumo-activa { background-color: var(--cps-servicioinsumo-activa-bg) !important; color: var(--cps-servicioinsumo-activa-text) !important; }

.cps-servicioinsumo-pausada-bg { background-color: var(--cps-servicioinsumo-pausada-bg) !important; }
.cps-servicioinsumo-pausada-text { color: var(--cps-servicioinsumo-pausada-text) !important; }
.cps-servicioinsumo-pausada { background-color: var(--cps-servicioinsumo-pausada-bg) !important; color: var(--cps-servicioinsumo-pausada-text) !important; }

.cps-servicioinsumo-retrazada-bg { background-color: var(--cps-servicioinsumo-retrazada-bg) !important; }
.cps-servicioinsumo-retrazada-text { color: var(--cps-servicioinsumo-retrazada-text) !important; }
.cps-servicioinsumo-retrazada { background-color: var(--cps-servicioinsumo-retrazada-bg) !important; color: var(--cps-servicioinsumo-retrazada-text) !important; }

.cps-servicioinsumo-cancelada-bg { background-color: var(--cps-servicioinsumo-cancelada-bg) !important; }
.cps-servicioinsumo-cancelada-text { color: var(--cps-servicioinsumo-cancelada-text) !important; }
.cps-servicioinsumo-cancelada { background-color: var(--cps-servicioinsumo-cancelada-bg) !important; color: var(--cps-servicioinsumo-cancelada-text) !important; }

.cps-servicioinsumo-ignorada-bg { background-color: var(--cps-servicioinsumo-ignorada-bg) !important; }
.cps-servicioinsumo-ignorada-text { color: var(--cps-servicioinsumo-ignorada-text) !important; }
.cps-servicioinsumo-ignorada { background-color: var(--cps-servicioinsumo-ignorada-bg) !important; color: var(--cps-servicioinsumo-ignorada-text) !important; }

.cps-servicioinsumo-realizada-bg { background-color: var(--cps-servicioinsumo-realizada-bg) !important; }
.cps-servicioinsumo-realizada-text { color: var(--cps-servicioinsumo-realizada-text) !important; }
.cps-servicioinsumo-realizada { background-color: var(--cps-servicioinsumo-realizada-bg) !important; color: var(--cps-servicioinsumo-realizada-text) !important; }

.cps-servicioinsumo-realizada-parcial-bg { background-color: var(--cps-servicioinsumo-realizada-parcial-bg) !important; }
.cps-servicioinsumo-realizada-parcial-text { color: var(--cps-servicioinsumo-realizada-parcial-text) !important; }
.cps-servicioinsumo-realizada-parcial { background-color: var(--cps-servicioinsumo-realizada-parcial-bg) !important; color: var(--cps-servicioinsumo-realizada-parcial-text) !important; }

/* ========== UTILITY CLASSES - PROYECTO STATUS (CPSP) ========== */
/* Clases separadas (background y text) */
.cpsp-proyecto-status-activo-bg { background-color: var(--cpsp-proyecto-status-activo-bg) !important; }
.cpsp-proyecto-status-activo-text { color: var(--cpsp-proyecto-status-activo-text) !important; }

.cpsp-proyecto-status-en-espera-bg { background-color: var(--cpsp-proyecto-status-en-espera-bg) !important; }
.cpsp-proyecto-status-en-espera-text { color: var(--cpsp-proyecto-status-en-espera-text) !important; }

.cpsp-proyecto-status-pausado-bg { background-color: var(--cpsp-proyecto-status-pausado-bg) !important; }
.cpsp-proyecto-status-pausado-text { color: var(--cpsp-proyecto-status-pausado-text) !important; }

.cpsp-proyecto-status-en-revision-bg { background-color: var(--cpsp-proyecto-status-en-revision-bg) !important; }
.cpsp-proyecto-status-en-revision-text { color: var(--cpsp-proyecto-status-en-revision-text) !important; }

.cpsp-proyecto-status-cancelado-bg { background-color: var(--cpsp-proyecto-status-cancelado-bg) !important; }
.cpsp-proyecto-status-cancelado-text { color: var(--cpsp-proyecto-status-cancelado-text) !important; }

.cpsp-proyecto-status-finalizado-bg { background-color: var(--cpsp-proyecto-status-finalizado-bg) !important; }
.cpsp-proyecto-status-finalizado-text { color: var(--cpsp-proyecto-status-finalizado-text) !important; }

/* Clases combinadas (background + text color) */
.cpsp-proyecto-status-activo { background-color: var(--cpsp-proyecto-status-activo-bg) !important; color: var(--cpsp-proyecto-status-activo-text) !important; }
.cpsp-proyecto-status-en-espera { background-color: var(--cpsp-proyecto-status-en-espera-bg) !important; color: var(--cpsp-proyecto-status-en-espera-text) !important; }
.cpsp-proyecto-status-pausado { background-color: var(--cpsp-proyecto-status-pausado-bg) !important; color: var(--cpsp-proyecto-status-pausado-text) !important; }
.cpsp-proyecto-status-en-revision { background-color: var(--cpsp-proyecto-status-en-revision-bg) !important; color: var(--cpsp-proyecto-status-en-revision-text) !important; }
.cpsp-proyecto-status-cancelado { background-color: var(--cpsp-proyecto-status-cancelado-bg) !important; color: var(--cpsp-proyecto-status-cancelado-text) !important; }
.cpsp-proyecto-status-finalizado { background-color: var(--cpsp-proyecto-status-finalizado-bg) !important; color: var(--cpsp-proyecto-status-finalizado-text) !important; }

/* ========== UTILITY CLASSES - PROVEEDOR STATUS ========== */
/* Clases separadas (background y text) */
.cps-proveedor-status-activo-bg { background-color: var(--cps-proveedor-status-activo-bg) !important; }
.cps-proveedor-status-activo-text { color: var(--cps-proveedor-status-activo-text) !important; }

.cps-proveedor-status-inhabilitado-bg { background-color: var(--cps-proveedor-status-inhabilitado-bg) !important; }
.cps-proveedor-status-inhabilitado-text { color: var(--cps-proveedor-status-inhabilitado-text) !important; }

.cps-proveedor-status-vetado-bg { background-color: var(--cps-proveedor-status-vetado-bg) !important; }
.cps-proveedor-status-vetado-text { color: var(--cps-proveedor-status-vetado-text) !important; }

.cps-proveedor-status-otro-bg { background-color: var(--cps-proveedor-status-otro-bg) !important; }
.cps-proveedor-status-otro-text { color: var(--cps-proveedor-status-otro-text) !important; }

/* Clases combinadas (background + text color) */
.cps-proveedor-status-activo { background-color: var(--cps-proveedor-status-activo-bg) !important; color: var(--cps-proveedor-status-activo-text) !important; }
.cps-proveedor-status-inhabilitado { background-color: var(--cps-proveedor-status-inhabilitado-bg) !important; color: var(--cps-proveedor-status-inhabilitado-text) !important; }
.cps-proveedor-status-vetado { background-color: var(--cps-proveedor-status-vetado-bg) !important; color: var(--cps-proveedor-status-vetado-text) !important; }
.cps-proveedor-status-otro { background-color: var(--cps-proveedor-status-otro-bg) !important; color: var(--cps-proveedor-status-otro-text) !important; }

/* ========== UTILITY CLASSES - PROVEEDOR ROLES ========== */
/* Clases separadas (background y text) */
.cps-proveedor-roles-cps-bg { background-color: var(--cps-proveedor-roles-cps-bg) !important; }
.cps-proveedor-roles-cps-text { color: var(--cps-proveedor-roles-cps-text) !important; }

.cps-proveedor-roles-insumos-bg { background-color: var(--cps-proveedor-roles-insumos-bg) !important; }
.cps-proveedor-roles-insumos-text { color: var(--cps-proveedor-roles-insumos-text) !important; }

/* Clases combinadas (background + text color) */
.cps-proveedor-roles-cps { background-color: var(--cps-proveedor-roles-cps-bg) !important; color: var(--cps-proveedor-roles-cps-text) !important; }
.cps-proveedor-roles-insumos { background-color: var(--cps-proveedor-roles-insumos-bg) !important; color: var(--cps-proveedor-roles-insumos-text) !important; }

/* ========== UTILITY CLASSES - PROVEEDOR TIPO ========== */
/* Clases separadas (background y text) */
.cps-proveedor-tipo-servicio-bg { background-color: var(--cps-proveedor-tipo-servicio-bg) !important; }
.cps-proveedor-tipo-servicio-text { color: var(--cps-proveedor-tipo-servicio-text) !important; }

.cps-proveedor-tipo-administrativo-bg { background-color: var(--cps-proveedor-tipo-administrativo-bg) !important; }
.cps-proveedor-tipo-administrativo-text { color: var(--cps-proveedor-tipo-administrativo-text) !important; }

.cps-proveedor-tipo-operativo-bg { background-color: var(--cps-proveedor-tipo-operativo-bg) !important; }
.cps-proveedor-tipo-operativo-text { color: var(--cps-proveedor-tipo-operativo-text) !important; }

/* Clases combinadas (background + text color) */
.cps-proveedor-tipo-servicio { background-color: var(--cps-proveedor-tipo-servicio-bg) !important; color: var(--cps-proveedor-tipo-servicio-text) !important; }
.cps-proveedor-tipo-administrativo { background-color: var(--cps-proveedor-tipo-administrativo-bg) !important; color: var(--cps-proveedor-tipo-administrativo-text) !important; }
.cps-proveedor-tipo-operativo { background-color: var(--cps-proveedor-tipo-operativo-bg) !important; color: var(--cps-proveedor-tipo-operativo-text) !important; }

/* ========== UTILITY CLASSES - MOVIMIENTO TYPES ========== */
.cps-movimiento-gasto {
    background-color: var(--cps-movimiento-gasto-bg) !important;
    color: var(--cps-movimiento-gasto-text) !important;
}

.cps-movimiento-ingreso {
    background-color: var(--cps-movimiento-ingreso-bg) !important;
    color: var(--cps-movimiento-ingreso-text) !important;
}

/* ========== UTILITY CLASSES - PALETTE ========== */
.cps-palette-primary {
    background-color: var(--cps-palette-primary);
    color: var(--cps-palette-primary-text);
}

.cps-palette-primary-lighten {
    background-color: var(--cps-palette-primary-lighten);
    color: var(--cps-palette-primary-text);
}

.cps-palette-primary-darken {
    background-color: var(--cps-palette-primary-darken);
    color: var(--cps-palette-primary-text);
}

.cps-palette-secondary {
    background-color: var(--cps-palette-secondary);
    color: var(--cps-palette-secondary-text);
}

.cps-palette-secondary-lighten {
    background-color: var(--cps-palette-secondary-lighten);
    color: var(--cps-palette-secondary-text);
}

.cps-palette-secondary-darken {
    background-color: var(--cps-palette-secondary-darken);
    color: var(--cps-palette-secondary-text);
}

.cps-palette-tertiary {
    background-color: var(--cps-palette-tertiary);
    color: var(--cps-palette-tertiary-text);
}

.cps-palette-tertiary-lighten {
    background-color: var(--cps-palette-tertiary-lighten);
    color: var(--cps-palette-tertiary-text);
}

.cps-palette-tertiary-darken {
    background-color: var(--cps-palette-tertiary-darken);
    color: var(--cps-palette-tertiary-text);
}

/* ========== UTILITY CLASSES - SUPPORT COLORS ========== */
.cps-color-warning {
    background-color: var(--cps-color-warning);
    color: var(--cps-color-warning-text);
}

.cps-color-warning-lighten {
    background-color: var(--cps-color-warning-lighten);
    color: var(--cps-color-warning-text);
}

.cps-color-warning-darken {
    background-color: var(--cps-color-warning-darken);
    color: var(--cps-color-warning-text);
}

.cps-color-error {
    background-color: var(--cps-color-error);
    color: var(--cps-color-error-text);
}

.cps-color-error-lighten {
    background-color: var(--cps-color-error-lighten);
    color: var(--cps-color-error-text);
}

.cps-color-error-darken {
    background-color: var(--cps-color-error-darken);
    color: var(--cps-color-error-text);
}

.cps-color-success {
    background-color: var(--cps-color-success);
    color: var(--cps-color-success-text);
}

.cps-color-success-lighten {
    background-color: var(--cps-color-success-lighten);
    color: var(--cps-color-success-text);
}

.cps-color-success-darken {
    background-color: var(--cps-color-success-darken);
    color: var(--cps-color-success-text);
}

.cps-color-info {
    background-color: var(--cps-color-info);
    color: var(--cps-color-info-text);
}

.cps-color-info-lighten {
    background-color: var(--cps-color-info-lighten);
    color: var(--cps-color-info-text);
}

.cps-color-info-darken {
    background-color: var(--cps-color-info-darken);
    color: var(--cps-color-info-text);
}

/* ========== UTILITY CLASSES - BG/TEXT (THEME AWARE) ========== */
/* Status */
.cps-bg-status-por-pagar { background-color: var(--cps-status-por-pagar-bg) !important; }
.cps-text-status-por-pagar { color: var(--cps-status-por-pagar-text) !important; }

.cps-bg-status-pagado { background-color: var(--cps-status-pagado-bg) !important; }
.cps-text-status-pagado { color: var(--cps-status-pagado-text) !important; }

.cps-bg-status-en-tramite { background-color: var(--cps-status-en-tramite-bg) !important; }
.cps-text-status-en-tramite { color: var(--cps-status-en-tramite-text) !important; }

.cps-bg-status-pendiente { background-color: var(--cps-status-pendiente-bg) !important; }
.cps-text-status-pendiente { color: var(--cps-status-pendiente-text) !important; }

.cps-bg-status-activo { background-color: var(--cps-status-activo-bg) !important; }
.cps-text-status-activo { color: var(--cps-status-activo-text) !important; }

.cps-bg-status-desactivo { background-color: var(--cps-status-desactivo-bg) !important; }
.cps-text-status-desactivo { color: var(--cps-status-desactivo-text) !important; }

.cps-bg-status-vetado { background-color: var(--cps-status-vetado-bg) !important; }
.cps-text-status-vetado { color: var(--cps-status-vetado-text) !important; }

.cps-bg-status-default { background-color: var(--cps-status-default-bg) !important; }
.cps-text-status-default { color: var(--cps-status-default-text) !important; }

/* Movimiento Types */
.cps-bg-movimiento-gasto { background-color: var(--cps-movimiento-gasto-bg) !important; }
.cps-text-movimiento-gasto { color: var(--cps-movimiento-gasto-text) !important; }

.cps-bg-movimiento-ingreso { background-color: var(--cps-movimiento-ingreso-bg) !important; }
.cps-text-movimiento-ingreso { color: var(--cps-movimiento-ingreso-text) !important; }

/* Palette */
.cps-bg-primary { background-color: var(--cps-palette-primary) !important; }
.cps-bg-primary-lighten { background-color: var(--cps-palette-primary-lighten) !important; }
.cps-bg-primary-darken { background-color: var(--cps-palette-primary-darken) !important; }
.cps-text-primary { color: var(--cps-palette-primary) !important; }
.cps-text-primary-contrast { color: var(--cps-palette-primary-text) !important; }

.cps-bg-secondary { background-color: var(--cps-palette-secondary) !important; }
.cps-bg-secondary-lighten { background-color: var(--cps-palette-secondary-lighten) !important; }
.cps-bg-secondary-darken { background-color: var(--cps-palette-secondary-darken) !important; }
.cps-text-secondary { color: var(--cps-palette-secondary) !important; }
.cps-text-secondary-contrast { color: var(--cps-palette-secondary-text) !important; }

.cps-bg-tertiary { background-color: var(--cps-palette-tertiary) !important; }
.cps-bg-tertiary-lighten { background-color: var(--cps-palette-tertiary-lighten) !important; }
.cps-bg-tertiary-darken { background-color: var(--cps-palette-tertiary-darken) !important; }
.cps-text-tertiary { color: var(--cps-palette-tertiary) !important; }
.cps-text-tertiary-contrast { color: var(--cps-palette-tertiary-text) !important; }

/* Support Colors */
.cps-bg-warning { background-color: var(--cps-color-warning) !important; }
.cps-bg-warning-lighten { background-color: var(--cps-color-warning-lighten) !important; }
.cps-bg-warning-darken { background-color: var(--cps-color-warning-darken) !important; }
.cps-text-warning { color: var(--cps-color-warning) !important; }
.cps-text-warning-contrast { color: var(--cps-color-warning-text) !important; }

.cps-bg-error { background-color: var(--cps-color-error) !important; }
.cps-bg-error-lighten { background-color: var(--cps-color-error-lighten) !important; }
.cps-bg-error-darken { background-color: var(--cps-color-error-darken) !important; }
.cps-text-error { color: var(--cps-color-error) !important; }
.cps-text-error-contrast { color: var(--cps-color-error-text) !important; }

.cps-bg-success { background-color: var(--cps-color-success) !important; }
.cps-bg-success-lighten { background-color: var(--cps-color-success-lighten) !important; }
.cps-bg-success-darken { background-color: var(--cps-color-success-darken) !important; }
.cps-text-success { color: var(--cps-color-success) !important; }
.cps-text-success-contrast { color: var(--cps-color-success-text) !important; }

.cps-bg-info { background-color: var(--cps-color-info) !important; }
.cps-bg-info-lighten { background-color: var(--cps-color-info-lighten) !important; }
.cps-bg-info-darken { background-color: var(--cps-color-info-darken) !important; }
.cps-text-info { color: var(--cps-color-info) !important; }
.cps-text-info-contrast { color: var(--cps-color-info-text) !important; }

/* ============================================
   ESTILOS PARA SWITCHES DE PERMISOS CP&S
   ============================================ */

/* VIEW */
.cps-perm-view .mud-checked .mud-switch-button { color: var(--cps-perm-view) !important; }
.cps-perm-view .mud-checked ~ .mud-switch-track { background-color: var(--cps-perm-view) !important; opacity: 0.5 !important; }

/* ADD */
.cps-perm-add .mud-checked .mud-switch-button { color: var(--cps-perm-add) !important; }
.cps-perm-add .mud-checked ~ .mud-switch-track { background-color: var(--cps-perm-add) !important; opacity: 0.5 !important; }

/* EDIT */
.cps-perm-edit .mud-checked .mud-switch-button { color: var(--cps-perm-edit) !important; }
.cps-perm-edit .mud-checked ~ .mud-switch-track { background-color: var(--cps-perm-edit) !important; opacity: 0.5 !important; }

/* DELETE */
.cps-perm-delete .mud-checked .mud-switch-button { color: var(--cps-perm-delete) !important; }
.cps-perm-delete .mud-checked ~ .mud-switch-track { background-color: var(--cps-perm-delete) !important; opacity: 0.5 !important; }

/* ACTIVATE */
.cps-perm-activate .mud-checked .mud-switch-button { color: var(--cps-perm-activate) !important; }
.cps-perm-activate .mud-checked ~ .mud-switch-track { background-color: var(--cps-perm-activate) !important; opacity: 0.5 !important; }

/* SYNC */
.cps-perm-sync .mud-checked .mud-switch-button { color: var(--cps-perm-sync) !important; }
.cps-perm-sync .mud-checked ~ .mud-switch-track { background-color: var(--cps-perm-sync) !important; opacity: 0.5 !important; }

/* ========== CPS CHIP STYLES ========== */
.cps-chip-status {
    margin-top: 0px;
    font-weight: bold;
}

/* Clases CPS para estilizar MudChip (uso opcional) */
.cps-mud-chip {
    border-radius: 4px !important;
    height: 28px !important;
    line-height: 26px !important;
    font-size: 0.85rem !important;
    padding: 0 8px !important;
}

.cps-mud-chip-small {
    height: 24px !important;
    line-height: 22px !important;
    padding: 0 8px !important;
    font-size: 0.80rem !important;
}

.cps-mud-chip:not(.mud-chip-outlined):hover {
    background-color: #f5f5f5 !important;
}

.cps-mud-chip .mud-icon-root {
    margin-right: 6px !important;
}

.cps-mud-chip .mud-chip-close-button {
    margin-left: 6px !important;
}

/* ========== INPUT UTILITIES (SYNCFUSION) ========== */
/* Outline compacto con label flotante arriba y sin línea inferior */
/* Base: todos los inputs con clase cps-input-outline */
.cps-input-outline.e-float-input,
.cps-input-outline.e-input-group,
.cps-input-outline .e-float-input,
.cps-input-outline .e-input-group,
.cps-input-outline .e-input-group.e-control-wrapper,
.cps-input-outline.e-input-group.e-control-wrapper {
    border: 1px solid var(--mud-palette-lines-default, #d0d0d0) !important;
    border-radius: 6px !important;
    padding: 0 2px !important;
    min-height: 28px !important;
    box-sizing: border-box !important;
    position: relative !important;
}

/* Oculta la línea inferior de Syncfusion */
.cps-input-outline .e-float-line,
.cps-input-outline .e-line {
    display: none !important;
}

/* Label flotante: posicionado arriba con fondo transparente */
.cps-input-outline .e-float-text,
.cps-input-outline .e-float-text.e-label-top {
    font-size: 0.72rem !important;
    line-height: 1 !important;
    margin-top: 0 !important;
    top: 0 !important;
    transform: translateY(-101%) !important;
    background: transparent !important;
    padding: 2px 2px !important;
    z-index: 1 !important;
    display: inline-block !important;
    width: auto !important;
    max-width: max-content !important;
}

/* TextBox compacto */
.cps-input-outline.e-textbox {
    min-height: 28px !important;
    height: 28px !important;
}

/* DropDownList/ComboBox: altura 28px solo para el input, no el popup */
.cps-input-outline.e-ddl:not(.e-popup),
.cps-input-outline.e-dropdownlist:not(.e-popup),
.cps-input-outline.e-combobox:not(.e-popup) {
    min-height: 28px !important;
    height: 28px !important;
}

/* DatePicker: altura 28px (igual a otros inputs) */
.cps-input-outline.e-datepicker,
.cps-input-outline.e-date-wrapper,
.cps-input-outline.e-date-wrapper.e-control-wrapper {
    min-height: 28px !important;
    height: 28px !important;
}

/* Icono del DatePicker: 28px */
.cps-input-outline.e-datepicker .e-input-group-icon,
.cps-input-outline.e-date-wrapper .e-input-group-icon,
.cps-input-outline.e-date-wrapper .e-calendar-icon,
.cps-input-outline.e-datepicker .e-icons {
    height: 28px !important;
    width: 28px !important;
    min-height: 28px !important;
    min-width: 28px !important;
    line-height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* Línea divisoria del DatePicker */
.cps-input-outline.e-datepicker .e-input-group-icon,
.cps-input-outline.e-date-wrapper .e-input-group-icon {
    border-left: 1px solid #d0d0d0 !important;
}

.cps-input-outline.e-datepicker .e-input-group-icon::before,
.cps-input-outline.e-date-wrapper .e-calendar-icon::before {
    display: none !important;
}

/* Íconos generales: 30px ancho, 28px alto */
.cps-input-outline .e-input-group-icon,
.cps-input-outline .e-ddl-icon,
.cps-input-outline .e-icon-anim,
.cps-input-outline .e-clear-icon {
    height: 26px !important;
    width: 28px !important;
    line-height: 28px !important;
    padding: 0 !important;
	min-height: 26px !important;
	min-width: 28px !important;
}

/* Ancho mínimo para íconos de DropDownList, ComboBox y MultiSelect */
.cps-input-outline.e-ddl .e-input-group-icon,
.cps-input-outline.e-combobox .e-input-group-icon,
.cps-input-outline.e-multiselect .e-input-group-icon {
    min-width: 28px !important;
	min-height: 28px !important;
}

/* MultiSelect: altura dinámica según chips */
.cps-input-outline.e-multiselect,
.cps-input-outline.e-multiselect .e-multi-select-wrapper {
    height: auto !important;
    min-height: 28px !important;
}

/* Chips en MultiSelect: 20px pequeños */
.cps-input-outline .e-multi-select-wrapper .e-chips {
    height: 20px !important;
    padding: 0 2px 0 2px !important;
    margin: 2px 2px 2px 0 !important;
    font-size: 0.70rem !important;
    border-radius: 3px !important;
}

/* Contenido del chip: padding reducido */
.cps-input-outline .e-multi-select-wrapper .e-chips>.e-chipcontent {
    padding: 2px 0px 2px 2px !important;
}

/* Botón cerrar chip: 25px ancho */
.cps-input-outline .e-multi-select-wrapper .e-chip-close {
    width: 25px !important;
    height: 20px !important;
    font-size: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Input y textarea: padding y font reducidos */
.cps-input-outline input,
.cps-input-outline textarea {
    padding: 2px 4px !important;
    font-size: 0.80rem !important;
    line-height: 1 !important;
    height: 26px !important;
}

/* Input y textarea: padding y font reducidos */
.cps-input-outline input,
.cps-input-outline textarea {
    padding: 2px 2px !important;
    font-size: 0.80rem !important;
    line-height: 1 !important;
    height: 26px !important;
}

/* Clase especial para DatePicker - SOLO el input visible, excluye .e-popup */
.cps-input-date:not(.e-popup).e-float-input,
.cps-input-date:not(.e-popup).e-input-group,
.cps-input-date:not(.e-popup) .e-float-input,
.cps-input-date:not(.e-popup) .e-input-group,
.cps-input-date:not(.e-popup) .e-input-group.e-control-wrapper,
.cps-input-date:not(.e-popup).e-input-group.e-control-wrapper {
    border: 1px solid var(--mud-palette-lines-default, #d0d0d0) !important;
    border-radius: 6px !important;
    padding: 0 2px !important;
    min-height: 26px !important;
    box-sizing: border-box !important;
    position: relative !important;
}

.cps-input-date:not(.e-popup) .e-float-line,
.cps-input-date:not(.e-popup) .e-line {
    display: none !important;
}

.cps-input-date:not(.e-popup) .e-float-text,
.cps-input-date:not(.e-popup) .e-float-text.e-label-top {
    font-size: 0.72rem !important;
    line-height: 1 !important;
    margin-top: 0 !important;
    top: 0 !important;
    transform: translateY(-101%) !important;
    background: transparent !important;
    padding: 2px 2px !important;
    z-index: 1 !important;
    display: inline-block !important;
    width: auto !important;
    max-width: max-content !important;
}

.cps-input-date:not(.e-popup).e-datepicker,
.cps-input-date:not(.e-popup).e-date-wrapper {
    min-height: 28px !important;
    height: 28px !important;
}

.cps-input-date:not(.e-popup) input {
    padding: 2px 4px !important;
    font-size: 0.80rem !important;
    line-height: 1 !important;
    height: 28px !important;
}

.cps-input-date:not(.e-popup) .e-input-group-icon,
.cps-input-date:not(.e-popup) .e-calendar-icon {
    height: 27px !important;
    width: 27px !important;
    min-height: 27px !important;
    min-width: 27px !important;
    line-height: 27px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-left: 1px solid #d0d0d0 !important;
}

/* Label general para MudText */
.cps-label {
    font-family: var(--mud-typography-default-family, inherit) !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: #333 !important;
    line-height: 1 !important;
}

/* Divisor vertical general */
.cps-divider-vertical {
    border-left: 1px solid rgba(0,0,0,0.23) !important;
    height: 32px !important;
    align-self: center !important;
}

/* Input de búsqueda compacto (Syncfusion) */
.cps-search-input .e-input,
.cps-search-input.e-input-group input,
.cps-search-input.e-input-group.e-control-wrapper input {
    height: 27px !important;
}

/* ========== MUDGRID UTILITIES ========== */
/* Separación superior para grids compactos */
.cps-grid-tight-vertical {
    margin-top: 8px !important;
	margin-bottom: -5px !important;
}

/* Reduce only vertical spacing between items; keeps horizontal spacing */
.cps-grid-tight-vertical .mud-grid-item {
    padding-top: 6px !important;
    padding-bottom: 4px !important;
}

/* Evita que contenido no-input se encime */
.cps-grid-tight-vertical .mud-grid-item > :not(.cps-input-outline):not(.cps-checkbox-compact):not(.cps-input-date) {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

/* Dale aire a los inputs compactos */
.cps-grid-tight-vertical .cps-input-outline {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
}

/* Dale aire a los inputs de fecha */
.cps-grid-tight-vertical .cps-input-date {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
}

/* Checkbox: no bajar tanto */
.cps-grid-tight-vertical .cps-checkbox-compact {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    align-self: flex-start !important;
}

/* Alinea el wrapper del checkbox para que no se desplace hacia abajo */
.cps-grid-tight-vertical .cps-checkbox-compact .e-checkbox-wrapper {
    margin-top: 0px !important;
    align-items: center !important;
}

/* En grid compacto, no empujar el label hacia abajo */
.cps-grid-tight-vertical .cps-checkbox-compact {
    --cps-checkbox-label-offset: 0px;
}

.cps-grid-tight-vertical .cps-checkbox-compact .e-label {
    margin-top: 0px !important;
}

/* ========== CHECKBOX (SYNCFUSION) ========== */
.cps-checkbox-compact.e-checkbox-wrapper,
.cps-checkbox-compact .e-checkbox-wrapper,
.cps-checkbox-compact.e-control-wrapper {
    min-height: 20px !important;
    padding: 0 2px !important;
    --cps-checkbox-label-offset: 15px;
}

.cps-checkbox-compact label {
    display: flex !important;
    flex-direction: column-reverse !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 2px !important;
}

.cps-checkbox-compact .e-label {
    font-family: var(--mud-typography-default-family, inherit) !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    color: #333 !important;
    line-height: 1 !important;
    margin-top: var(--cps-checkbox-label-offset) !important;
    display: block !important;
}

.cps-checkbox-compact .e-frame,
.cps-checkbox-compact .e-frame.e-check,
.cps-checkbox-compact .e-icons.e-frame.e-check {
    margin-top: 0 !important;
    align-self: flex-start !important;
}

/* ========== SYNCFUSION GRID DETAIL ICON HIDE ========== */
/* Hide only the expand/collapse detail icon content, keep the cell visible to maintain column alignment */
.cps-grid-hide-detail-icon .e-grid .e-detailrowcollapse .e-icons,
.cps-grid-hide-detail-icon .e-grid .e-detailrowexpand .e-icons,
.cps-grid-hide-detail-icon .e-detailrowcollapse .e-icons,
.cps-grid-hide-detail-icon .e-detailrowexpand .e-icons,
.cps-grid-hide-detail-icon .e-grid .e-detailrowcollapse .e-dtdiagonalright,
.cps-grid-hide-detail-icon .e-grid .e-detailrowexpand .e-dtdiagonalright,
.cps-grid-hide-detail-icon .e-detailrowcollapse .e-dtdiagonalright,
.cps-grid-hide-detail-icon .e-detailrowexpand .e-dtdiagonalright,
.cps-grid-hide-detail-icon .e-grid .e-detailrowcollapse .e-icon-grightarrow,
.cps-grid-hide-detail-icon .e-grid .e-detailrowexpand .e-icon-grightarrow,
.cps-grid-hide-detail-icon .e-detailrowcollapse .e-icon-grightarrow,
.cps-grid-hide-detail-icon .e-detailrowexpand .e-icon-grightarrow {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Set detail intent column width to zero */
.cps-grid-hide-detail-icon .e-detail-intent {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
}

/* ========== CPS FADE UTILITIES ========== */
/* Uso:
   - Por default dura 5s.
   - Puedes ajustar por elemento con style="--cps-fade-duration: 2s;"
*/
.cps-fadein {
    --cps-fade-duration: 5s;
    --cps-fade-delay: 0s;
    --cps-fade-timing: ease;
    animation: cps-fadein var(--cps-fade-duration) var(--cps-fade-timing) var(--cps-fade-delay) both;
}

.cps-fadeout {
    --cps-fade-duration: 5s;
    --cps-fade-delay: 0s;
    --cps-fade-timing: ease;
    animation: cps-fadeout var(--cps-fade-duration) var(--cps-fade-timing) var(--cps-fade-delay) both;
}

@keyframes cps-fadein {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes cps-fadeout {
    from { opacity: 1; }
    to { opacity: 0; }
}

/* ========== CPS Botones ========== */
.cps-btn-bts-square {
	width:28px;
	height:28px;
	border-radius:4px;
	padding:0; 
}
.cps-btn-sf-square {
	width:28px;
	height:28px;
	border-radius:4px;
	padding:0; 
}

/* ========== CPS Mayusculas ========== */

.cps-input-uppercase input {
    text-transform: uppercase;
}

.cps-input-capitalize input {
    text-transform: capitalize;
}


/* ========== CP&S fonts ========== */

@font-face {
    font-family: 'Questrial';
    /* La ruta es relativa a donde esté este archivo CSS */
    src: url('../fonts/questrial/Questrial-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap; /* Ayuda a que el texto no sea invisible mientras carga */
}

.cps-text-font {
    font-family: 'Questrial', sans-serif !important;
    /* El !important asegura que le gane a los estilos por defecto de MudBlazor */
}

/* Estilo refinado para el logo CP&S */
.cps-logo-text {
    font-family: 'Questrial', sans-serif !important;
    font-weight: 500; /* Bajamos de 600 a 500 para que no esté "gordo" */
    letter-spacing: -0.2px;
    display: inline-block; 
    line-height: 1.2; /* Ajuste para que no gane altura extra */
}

.cps-logo-amp {
    font-size: 0.7em;       /* Un pelín más grande que antes para que se lea bien */
    font-weight: 400;       /* El ampersand más fino que las letras */
    margin: 0 2px;
    display: inline-block;
    vertical-align: middle; /* Centrado clásico */
    position: relative;
    top: -1px;              /* Ajuste fino para centrarlo visualmente con la C y la S */
    opacity: 0.8;
}


/* --- CAMPO TOTAL ESTILO INDUSTRIAL --- */

/* --- RESET TOTAL PARA INPUT GROUP --- */

/* --- CLASE GENERAL PARA INPUTS CON ADORNO (DINERO/FINANZAS) --- */

/* 1. Reset de espacios y fondo */
.cps-input-money.mud-input-control {
    background-color: var(--mud-palette-background) !important; /* <--- DINÁMICO */
    border-radius: 4px;
    margin-top: 0 !important;
}

/* 2. El parche de los 0px que encontraste en el inspector */
.cps-input-money .mud-input.mud-input-outlined.mud-input-adorned-start {
    padding-inline-start: 0px !important;
    padding-left: 0px !important;
}

.cps-input-money .mud-input.mud-input-outlined.mud-input-adorned-end {
    padding-inline-end: 0px !important;
    padding-right: 0px !important;
}

/* 3. Estructura del contenedor principal */
.cps-input-money .mud-input-root-outlined {
    height: 28px !important;
    min-height: 28px !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
    background-color: var(--mud-palette-background) !important; /* <--- DINÁMICO */
    overflow: hidden;
}

/* 4. El Bloque del Adorno (Mantiene tus 40px) */
.cps-input-money .mud-input-adornment-start {
    background-color: var(--mud-palette-background-gray) !important; /* <--- DINÁMICO */
    height: 28px !important;
    width: 40px !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-right: 1px solid var(--mud-palette-lines-inputs) !important; /* <--- DINÁMICO */
}

.cps-input-money .mud-input-adornment-end {
    background-color: var(--mud-palette-background-gray) !important; /* <--- DINÁMICO */
    height: 28px !important;
    width: 40px !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border-left: 1px solid var(--mud-palette-lines-inputs) !important; /* <--- DINÁMICO */
}

/* 5. El Icono/Texto dentro del adorno */
.cps-input-money .mud-input-adornment-start svg,
.cps-input-money .mud-input-adornment-start p,
.cps-input-money .mud-input-adornment-end svg,
.cps-input-money .mud-input-adornment-end p {
    color: var(--mud-palette-secondary) !important; /* <--- DINÁMICO */
    font-size: 1.1rem !important;
    font-weight: 700;
}

/* 6. El área de texto (don de va el número) */
.cps-input-money .mud-input-slot {
    height: 28px !important;
    padding: 0 8px !important;
    text-align: right !important;
    color: var(--mud-palette-text-primary) !important; /* <--- DINÁMICO */
    font-weight: 400 !important;
    font-size: 0.9rem !important;
}

.cps-input-money.cps-money-bold .mud-input-slot,
.cps-input-money.cps-money-bold .mud-input-adornment-start p,
.cps-input-money.cps-money-bold .mud-input-adornment-end p {
    font-weight: 800 !important;
}

/* 7. Bordes exteriores */
.cps-input-money .mud-input-outlined-border {
    border: 1px solid var(--mud-palette-lines-inputs) !important; /* <--- DINÁMICO */
    top: 0 !important;
}

/* Ocultar labels internos */
.cps-input-money label {
    display: none !important;
}
/* Ajuste preciso para meter el badge dentro del botón */
.cps-badge-tight .mud-badge {
    /* IMPORTANTE: Reseteamos el movimiento automático de MudBlazor */
    transform: translate(0, 0) scale(0.7) !important; 
    
    /* POSICIÓN VERTICAL: Usa valores negativos para SUBIR */
    /* Si todavía lo ves bajo, ponle -8px */
    top: -6px !important;    
    
    /* POSICIÓN HORIZONTAL: Lo empujamos desde la izquierda hacia el centro */
    /* Juega con este valor para pegarlo más al icono */
    left: 20px !important;  
    
    right: auto !important;
    position: absolute !important;
}

/* Reducimos el tamaño del icono del badge para que no se amontone */
.cps-badge-tight .mud-badge i {
    font-size: 0.65rem !important;
}

/* ====================================================================== */
/* =================== BLAZOR VALIDATION MESSAGES ======================= */
/* ====================================================================== */
/* MudBlazor no incluye los estilos de Bootstrap para ValidationMessage.  */
/* Estos estilos hacen visible el componente <ValidationMessage For="..."> */

.validation-message {
    color: var(--mud-palette-error);
    font-size: 0.75rem;
    margin-top: 2px;
    display: block;
}

.valid.modified {
    outline-color: var(--mud-palette-success);
}

.invalid {
    outline-color: var(--mud-palette-error);
}