/**
 * AG-Grid Tema Personalizado para ORION WEB
 * Colores y estilos adaptados a la identidad visual de Orion
 */

/* ========== COLORES PRINCIPALES ========== */
:root {
    --orion-green: #55A147;
    --orion-green-dark: #376A2D;
    --orion-green-light: #6BB85D;
    --orion-green-hover: #198754;
    --orion-red: #A6001A;
    --orion-red-dark: #880015;
    --orion-gray-light: #e6e6e6;
    --orion-gray-medium: #909090;
    --orion-gray-dark: #333333;
}

/* ========== CONTENEDOR PRINCIPAL ========== */
.ag-theme-alpine {
    --ag-background-color: #ffffff;
    --ag-foreground-color: var(--orion-gray-dark);
    --ag-border-color: #ddd;
    --ag-row-hover-color: rgba(85, 161, 71, 0.1);
    --ag-selected-row-background-color: rgba(85, 161, 71, 0.15);
    width: 100% !important;
}

/* Asegurar que el contenedor no tenga overflow innecesario */
.ag-theme-alpine .ag-root-wrapper {
    width: 100%;
}

.ag-theme-alpine .ag-center-cols-container {
    width: 100%;
}

/* ========== HEADER (ENCABEZADOS DE COLUMNAS) ========== */
.ag-theme-alpine .ag-header {
    background: linear-gradient(180deg, var(--orion-green) 0%, var(--orion-green-dark) 100%);
    border-bottom: 3px solid var(--orion-green-dark);
    font-weight: 600;
}

.ag-theme-alpine .ag-header-cell {
    background: transparent;
    color: white;
    font-size: 14px;
    padding: 10px 8px;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.ag-theme-alpine .ag-header-cell:hover {
    background-color: rgba(255, 255, 255, 0.15);
}

.ag-theme-alpine .ag-header-cell-label {
    color: white;
    font-weight: 600;
}

/* Iconos de ordenamiento */
.ag-theme-alpine .ag-header-icon {
    color: white;
}

.ag-theme-alpine .ag-sort-ascending-icon,
.ag-theme-alpine .ag-sort-descending-icon {
    color: white;
    font-size: 16px;
}

/* ========== FILAS ========== */
.ag-theme-alpine .ag-row {
    border-bottom: 1px solid #ddd;
}

/* Filas alternas */
.ag-theme-alpine .ag-row-odd {
    background-color: var(--orion-gray-light);
}

.ag-theme-alpine .ag-row-even {
    background-color: #ffffff;
}

/* Hover en filas */
.ag-theme-alpine .ag-row:hover {
    background-color: rgba(85, 161, 71, 0.12) !important;
    cursor: pointer;
}

/* Filas seleccionadas */
.ag-theme-alpine .ag-row-selected {
    background-color: rgba(85, 161, 71, 0.2) !important;
}

/* ========== CELDAS ========== */
.ag-theme-alpine .ag-cell {
    line-height: 45px;
    padding: 0 8px;
    font-size: 14px;
    color: var(--orion-gray-dark);
}

/* Celdas con enlaces */
.ag-theme-alpine .ag-cell a {
    text-decoration: none;
    transition: all 0.2s ease;
}

.ag-theme-alpine .ag-cell a:hover {
    transform: scale(1.1);
}

/* ========== PAGINACIÓN ========== */
.ag-theme-alpine .ag-paging-panel {
    border-top: 2px solid var(--orion-green);
    background-color: #f8f9fa;
    padding: 10px;
}

/* Botones de paginación */
.ag-theme-alpine .ag-paging-button {
    color: var(--orion-green);
    border: 1px solid var(--orion-green);
    background-color: white;
    margin: 0 4px;
    padding: 6px 12px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.ag-theme-alpine .ag-paging-button:hover:not(.ag-disabled) {
    background-color: var(--orion-green);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(85, 161, 71, 0.3);
}

.ag-theme-alpine .ag-paging-button.ag-disabled {
    color: #ccc;
    border-color: #ccc;
    cursor: not-allowed;
}

/* Selector de tamaño de página */
.ag-theme-alpine .ag-paging-page-size {
    color: var(--orion-green-dark);
    font-weight: 600;
}

/* Resumen de página */
.ag-theme-alpine .ag-paging-description {
    color: var(--orion-gray-dark);
}

/* ========== FILTROS ========== */
.ag-theme-alpine .ag-filter {
    background-color: white;
    border: 1px solid var(--orion-green);
}

.ag-theme-alpine .ag-filter-apply-panel-button {
    background-color: var(--orion-green);
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.ag-theme-alpine .ag-filter-apply-panel-button:hover {
    background-color: var(--orion-green-dark);
    transform: translateY(-2px);
}

/* ========== SCROLLBAR PERSONALIZADO ========== */
.ag-theme-alpine .ag-body-horizontal-scroll,
.ag-theme-alpine .ag-body-vertical-scroll {
    scrollbar-width: thin;
    scrollbar-color: var(--orion-green) #f1f1f1;
}

.ag-theme-alpine .ag-body-horizontal-scroll::-webkit-scrollbar,
.ag-theme-alpine .ag-body-vertical-scroll::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.ag-theme-alpine .ag-body-horizontal-scroll::-webkit-scrollbar-track,
.ag-theme-alpine .ag-body-vertical-scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 5px;
}

.ag-theme-alpine .ag-body-horizontal-scroll::-webkit-scrollbar-thumb,
.ag-theme-alpine .ag-body-vertical-scroll::-webkit-scrollbar-thumb {
    background: var(--orion-green);
    border-radius: 5px;
}

.ag-theme-alpine .ag-body-horizontal-scroll::-webkit-scrollbar-thumb:hover,
.ag-theme-alpine .ag-body-vertical-scroll::-webkit-scrollbar-thumb:hover {
    background: var(--orion-green-dark);
}

/* ========== MENSAJES Y OVERLAYS ========== */
.ag-theme-alpine .ag-overlay-loading-wrapper {
    background-color: rgba(85, 161, 71, 0.05);
}

.ag-theme-alpine .ag-overlay-loading-center {
    color: var(--orion-green-dark);
    font-weight: 600;
}

.ag-theme-alpine .ag-overlay-no-rows-center {
    color: var(--orion-gray-dark);
    font-size: 16px;
}

/* ========== ICONOS PERSONALIZADOS ========== */
.icongetdate {
    color: var(--orion-gray-dark);
    font-size: 16px;
    transition: all 0.2s ease;
}

.icongetdate:hover {
    color: var(--orion-green);
    transform: scale(1.2);
}

/* ========== RESPONSIVE ADJUSTMENTS ========== */
@media screen and (max-width: 768px) {
    .ag-theme-alpine .ag-header-cell {
        font-size: 12px;
        padding: 8px 4px;
    }

    .ag-theme-alpine .ag-cell {
        font-size: 12px;
        padding: 0 4px;
    }

    .ag-theme-alpine {
        font-size: 12px;
    }
}

/* ========== MEJORAS VISUALES ADICIONALES ========== */
/* Sombra sutil en el contenedor */
.ag-theme-alpine {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
}

/* Animación suave en carga */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.ag-theme-alpine .ag-row {
    animation: fadeIn 0.3s ease-in;
}

/* Efecto hover en botones de acción */
.ag-theme-alpine .iconedit:hover {
    color: var(--orion-green-dark);
    transform: scale(1.2);
    transition: all 0.2s ease;
}

.ag-theme-alpine .icondelete:hover {
    color: var(--orion-red);
    transform: scale(1.2);
    transition: all 0.2s ease;
}

.ag-theme-alpine .iconadd:hover {
    color: var(--orion-green-dark);
    transform: scale(1.1);
    transition: all 0.2s ease;
}

/* Iconos blancos en celdas con fondo verde */
.ag-theme-alpine .iconsaditionalfact {
    color: white !important;
    transition: all 0.2s ease;
}

.ag-theme-alpine .iconsaditionalfact:hover {
    color: white !important;
    transform: scale(1.15);
    filter: brightness(1.2);
}
