/* ============================================================
 * Archivo: components/tablas.css
 * Descripcion: Estilos para tablas publicas y administrativas.
 * ============================================================ */

.tabla-contenedor {
    overflow-x: auto;
    border-radius: var(--radio-md);
    box-shadow: 0 12px 28px rgba(25, 63, 60, 0.08);
    background: var(--color-blanco);
    border: 1px solid var(--color-borde);
}

.tabla,
.admin-tabla {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--color-blanco);
    font-size: 0.95rem;
}

.tabla th,
.admin-tabla th {
    background: var(--color-superficie);
    color: var(--color-texto);
    padding: 16px 15px;
    text-align: left;
    font-weight: 800;
    white-space: nowrap;
    border-bottom: 2px solid var(--color-primario);
}

.tabla th:first-child,
.admin-tabla th:first-child {
    border-top-left-radius: var(--radio-md);
}

.tabla th:last-child,
.admin-tabla th:last-child {
    border-top-right-radius: var(--radio-md);
}

.tabla td,
.admin-tabla td {
    padding: 16px 15px;
    border-bottom: 1px solid var(--color-borde);
    color: var(--color-texto);
    vertical-align: middle;
}

.tabla tr,
.admin-tabla tr {
    transition: var(--transicion);
}

.tabla tr:hover,
.admin-tabla tr:hover {
    background: #fbfffe;
}

.tabla tbody tr:last-child td,
.admin-tabla tbody tr:last-child td {
    border-bottom: none;
}

.admin-tabla tbody td:first-child {
    font-weight: 700;
    color: var(--color-texto-secundario);
}

.acciones {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.celda-comentario {
    max-width: 430px;
    min-width: 260px;
    word-wrap: break-word;
    line-height: 1.55;
}

.empty-state {
    text-align: center;
    padding: 34px;
    color: var(--color-texto-muted);
    font-weight: 600;
}
