/* Animación de entrada para la tarjeta */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}

.card-animate { animation: fadeInUp 0.5s ease both; }

/* Spinner de carga */
@keyframes spin {
    to { transform: rotate(360deg); }
}
.spinner {
    width: 20px; height: 20px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
    display: inline-block;
}

/* Input focus ring personalizado */
.input-field:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(99,102,241,0.25);
}

/* ── Árbol org chart ── */

/* Fila de hijos: los conectores horizontales se dibujan con ::before / ::after */
.org-children {
    position: relative;
}

.org-child-col {
    position: relative;
    padding: 0 14px;
}

/* Cada columna dibuja su mitad izquierda y su mitad derecha de la barra horizontal */
.org-child-col::before,
.org-child-col::after {
    content: '';
    position: absolute;
    top: 0;
    height: 2px;
    background: #c7d2fe; /* indigo-200 */
    width: 50%;
}

/* Mitad izquierda (hacia el hermano anterior) */
.org-child-col::before { right: 50%; }

/* Mitad derecha (hacia el hermano siguiente) */
.org-child-col::after  { left: 50%; }

/* Primer hijo: sin barra a la izquierda */
.org-child-col:first-child::before { display: none; }

/* Último hijo: sin barra a la derecha */
.org-child-col:last-child::after   { display: none; }

/* Hijo único: sin ninguna barra horizontal */
.org-child-col:only-child::before,
.org-child-col:only-child::after   { display: none; }
