/* LISTA DE ARCHIVOS RECIENTES (Estilo Mockup C Gestiona) */
.kv-cp-wrapper { width: 100%; }
.kv-lista-moderna { list-style: none; padding: 0; margin: 0; }
.kv-item-archivo { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    padding: 15px 0; 
    border-bottom: 1px solid #eaeaea; 
}
.kv-item-archivo:last-child { border-bottom: none; }

.kv-archivo-info { 
    display: flex; 
    align-items: center; 
    gap: 15px; 
    overflow: hidden;
}

/* 脥conos de documentos (PDF / Excel) */
.kv-tipo-icono {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 40px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: bold;
    color: white;
    flex-shrink: 0;
}
.kv-icon-pdf { background-color: #e04a4a; /* Rojo suave para PDF */ }
.kv-icon-excel { background-color: #21a366; /* Verde Excel */ }

.kv-archivo-titulo { 
    font-size: 15px; 
    color: #333; 
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Bot贸n de descarga cuadrado verde */
.kv-btn-descarga-cuadrado { 
    background-color: var(--e-global-color-primary, #4caf50); 
    color: white !important; 
    width: 36px; 
    height: 36px; 
    border-radius: 6px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    transition: all 0.3s ease;
    flex-shrink: 0;
}
.kv-btn-descarga-cuadrado:hover { 
    background-color: var(--e-global-color-accent, #388e3c); 
    transform: translateY(-2px); 
}

/* LISTA DE P脕GINAS IMPORTANTES */
.kv-lista-enlaces { list-style: none; padding: 0; margin: 0; }
.kv-lista-enlaces li { 
    padding: 15px 0; 
    border-bottom: 1px solid #eaeaea; 
}
.kv-lista-enlaces li:last-child { border-bottom: none; }
.kv-lista-enlaces li a { 
    color: #4a4a4a; 
    text-decoration: none; 
    font-size: 15px;
    transition: color 0.2s;
}
.kv-lista-enlaces li a:hover { color: var(--e-global-color-primary, #0b3e2b); }

/* ALERTAS Y OTROS */
.kv-alerta-exito { background: #d4edda; color: #155724; padding: 15px; border-radius: 5px; margin-bottom: 20px; border: 1px solid #c3e6cb; }

/* ESTILOS PARA LA VISTA DE "TODOS LOS ARCHIVOS" */
.kv-todos-archivos .kv-archivo-textos {
    display: flex;
    flex-direction: column;
}
.kv-todos-archivos .kv-archivo-fecha {
    font-size: 12px;
    color: #888;
    margin-top: 3px;
}

/* BUSCADOR */
.kv-search-form {
    display: flex;
    gap: 10px;
    margin-bottom: 25px;
}
.kv-search-form input[type="text"] {
    flex-grow: 1;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
}
.kv-search-form input[type="text"]:focus {
    border-color: var(--e-global-color-primary, #0b3e2b);
    outline: none;
}
.kv-btn-search, .kv-btn-clear {
    padding: 12px 20px;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s;
}
.kv-btn-search {
    background-color: var(--e-global-color-primary, #0b3e2b);
    color: #fff;
}
.kv-btn-search:hover { opacity: 0.9; }
.kv-btn-clear {
    background-color: #f1f1f1;
    color: #555;
}
.kv-btn-clear:hover { background-color: #e4e4e4; }

/* PAGINACIÓN */
.kv-paginacion {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    gap: 5px;
}
.kv-paginacion a, .kv-paginacion span {
    padding: 8px 14px;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
    font-size: 14px;
}
.kv-paginacion a:hover {
    background-color: #f8f9fa;
}
.kv-paginacion span.current {
    background-color: var(--e-global-color-primary, #0b3e2b);
    color: #fff;
    border-color: var(--e-global-color-primary, #0b3e2b);
}
.kv-no-results {
    padding: 20px;
    background: #f8f9fa;
    border-radius: 6px;
    color: #666;
    text-align: center;
}

/* ESTILOS PARA EL PERFIL DE USUARIO */
.kv-perfil-box {
    background: #ffffff;
    padding: 30px;
    border-radius: 8px;
    border: 1px solid #eaeaea;
}
.kv-form-title {
    margin-top: 0;
    margin-bottom: 15px;
    color: #333;
    font-size: 18px;
    border-bottom: 2px solid #eaeaea;
    padding-bottom: 10px;
}
.kv-form-desc {
    font-size: 13px;
    color: #666;
    margin-top: -10px;
    margin-bottom: 20px;
}
.kv-form-row {
    display: flex;
    gap: 20px;
}
.kv-form-row .kv-form-group {
    flex: 1;
}
.kv-alerta-error {
    background: #f8d7da;
    color: #721c24;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 20px;
    border: 1px solid #f5c6cb;
}

/* Hacer responsivo el formulario de perfil (una sola columna en móviles) */
@media (max-width: 768px) {
    .kv-form-row {
        flex-direction: column;
        gap: 0;
    }
}