/* ============================================================
   GALVIS - Base: reset, variables y tipografía
   ============================================================ */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Segoe UI', Roboto, system-ui, -apple-system, sans-serif;
}

:root {
    --galvis-red:        #e53935;
    --galvis-red-dark:   #c62828;
    --galvis-red-light:  #ffebee;
    --galvis-red-soft:   #fdecea;
    --galvis-white:      #ffffff;
    --galvis-bg:         #f7f8fa;
    --galvis-gray-1:     #f2f3f5;
    --galvis-gray-2:     #ebedf0;
    --galvis-gray-3:     #e0e2e6;
    --galvis-border:     #e4e6ea;
    --galvis-text:       #1e1f24;
    --galvis-text-mid:   #52545a;
    --galvis-text-soft:  #8a8d94;
    --galvis-green:      #2e7d32;
    --galvis-shadow-sm:  0 1px 2px rgba(20, 22, 30, 0.04), 0 1px 3px rgba(20, 22, 30, 0.04);
    --galvis-shadow:     0 1px 3px rgba(20, 22, 30, 0.04), 0 8px 24px rgba(20, 22, 30, 0.06);
    --galvis-shadow-lg:  0 10px 40px rgba(20, 22, 30, 0.16);

    --radius-xs: 6px;
    --radius-sm: 8px;
    --radius:    10px;
    --radius-lg: 14px;
}

html, body {
    height: 100%;
}

body {
    background-color: var(--galvis-bg);
    color: var(--galvis-text);
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}

/* ============================================================
   UTILIDADES GLOBALES
   ============================================================ */

/* Oculta cualquier elemento. Usa !important para ganar a
   display:flex, display:inline-flex, etc. de los componentes. */
.hidden {
    display: none !important;
}

/* ============================================================
   RESPLANDOR DE FILA RECIÉN AÑADIDA
   ------------------------------------------------------------
   Se aplica temporalmente a .user-row / .centro-row cuando
   se acaban de insertar en el listado. Hace un pulso de
   resplandor rojo sobre el borde 3 veces.
   ============================================================ */
@keyframes rowGlow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(229, 57, 53, 0); }
    50%      { box-shadow: 0 0 0 8px rgba(229, 57, 53, 0.35); }
}

.is-new-glow {
    animation: rowGlow 0.7s ease-out 3;
    border-color: var(--galvis-red) !important;
}