/* Contenedor del campo Filament que envuelve el repeater: sin margen/padding lateral */
[data-field-wrapper]:has(.it-table-repeater.it-table-repeater-compact) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
[data-field-wrapper]:has(.it-table-repeater.it-table-repeater-compact) .fi-fo-field-content-col,
[data-field-wrapper]:has(.it-table-repeater.it-table-repeater-compact) .fi-fo-field-wrp {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* TableRepeater: mismo aspecto que Section; max-width para que el redimensionado no salga del marco */
.it-table-repeater.it-table-repeater-compact {
    max-width: 100%;
    background: var(--gray-50, #f9fafb);
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-inline: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: none;
    border-radius: 0.75rem;
    /* shadow-sm + ring-1 ring-gray-950/5 */
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05), 0 0 0 1px rgb(0 0 0 / 0.05);
}
.it-table-repeater.it-table-repeater-compact:where(.dark, .dark *) {
    background: rgba(255, 255, 255, 0.05);
    /* dark: shadow-sm + ring-white/10 */
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.1), 0 0 0 1px rgba(255, 255, 255, 0.1);
}
/* Tabla: solo borde superior; overflow visible para que el dropdown del Select no se recorte */
.it-table-repeater.it-table-repeater-compact > div > table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    background: var(--gray-50, #f9fafb);
    border: none;
    border-top: 0px solid var(--gray-200, #e5e7eb);
    font-size: inherit;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-top-left-radius: 0.75rem;
    border-top-right-radius: 0.75rem;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    overflow: visible;
}
.it-table-repeater.it-table-repeater-compact:where(.dark, .dark *) > div > table {
    background: rgba(255, 255, 255, 0.05);
    border-top-color: rgba(255, 255, 255, 0.1);
}
/* Contenedor de la tabla y raíz: sin padding/margin horizontal */
.it-table-repeater.it-table-repeater-compact > div {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-inline: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: none !important;
    background: transparent;
}
.it-table-repeater.it-table-repeater-compact .it-table-repeater-table-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-inline: 0 !important;
    padding-top: 0px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border: none !important;
    max-width: 100%;
    overflow-x: auto;
}
/* Header: colores del sistema y esquinas superiores redondeadas (como el div del componente) */
.it-table-repeater.it-table-repeater-compact > div > table > thead > tr > th {
    padding: 0.875rem 0.75rem !important;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25;
    text-align: left;
    background: var(--gray-50, #f9fafb);
    color: var(--gray-950, #030712);
    border-bottom: 1px solid var(--gray-200, #e5e7eb);
}
.it-table-repeater.it-table-repeater-compact > div > table > thead > tr > th:first-of-type {
    border-top-left-radius: 0.75rem;
}
.it-table-repeater.it-table-repeater-compact > div > table > thead > tr > th:last-of-type {
    border-top-right-radius: 0.75rem;
}
.it-table-repeater.it-table-repeater-compact:where(.dark, .dark *) > div > table > thead > tr > th {
    background: rgba(255, 255, 255, 0.05);
    color: var(--white, #fff);
    border-bottom-color: rgba(255, 255, 255, 0.1);
}
/* Filas: transición hover; sin altura fija para que la fila crezca con el contenido */
.it-table-repeater.it-table-repeater-compact > div > table > tbody > tr {
    border-bottom: 1px solid var(--gray-200, #e5e7eb);
}
@media (hover: hover) {
    .it-table-repeater.it-table-repeater-compact > div > table > tbody > tr > td {
        transition: background-color 75ms;
    }
}
.it-table-repeater.it-table-repeater-compact > div > table > tbody > tr:hover > td {
    background: var(--gray-50, #f9fafb);
}
.it-table-repeater.it-table-repeater-compact:where(.dark, .dark *) > div > table > tbody > tr {
    border-bottom-color: rgba(255, 255, 255, 0.1);
}
.it-table-repeater.it-table-repeater-compact:where(.dark, .dark *) > div > table > tbody > tr:hover > td {
    background: rgba(255, 255, 255, 0.05);
}
/* Celdas td: colores del sistema para tablas (Filament) */
.it-table-repeater.it-table-repeater-compact > div > table > tbody > tr > td {
    padding: 0.4rem 0.75rem !important;
    vertical-align: middle !important;
    border-radius: 0 !important;
    border: none;
    font-size: inherit;
    background: var(--white, #fff);
}
.it-table-repeater.it-table-repeater-compact:where(.dark, .dark *) > div > table > tbody > tr > td {
    background: var(--gray-900, #111827);
}
.it-table-repeater.it-table-repeater-compact td .fi-fo-field,
.it-table-repeater.it-table-repeater-compact td .fi-fo-field-content-col,
.it-table-repeater.it-table-repeater-compact td .fi-input-wrp,
.it-table-repeater.it-table-repeater-compact td .fi-input-wrp-content-ctn {
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    --tw-ring-color: transparent !important;
    --tw-ring-width: 0 !important;
}
/* Campos del repeater: sin bordes (o color invisible) */
.it-table-repeater.it-table-repeater-compact .fi-input,
.it-table-repeater.it-table-repeater-compact .fi-input-wrp,
.it-table-repeater.it-table-repeater-compact td input,
.it-table-repeater.it-table-repeater-compact td select,
.it-table-repeater.it-table-repeater-compact td textarea {
    padding: 0.15rem 0.375rem !important;
    border-radius: 0 !important;
    border: none !important;
    font-size: inherit; /* Usa el tamaño de fuente por defecto del formulario/app */
    min-height: 1.5rem;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}
.it-table-repeater.it-table-repeater-compact .fi-input:focus,
.it-table-repeater.it-table-repeater-compact .fi-input-wrp:focus-within,
.it-table-repeater.it-table-repeater-compact td input:focus,
.it-table-repeater.it-table-repeater-compact td select:focus,
.it-table-repeater.it-table-repeater-compact td textarea:focus {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}
.it-table-repeater.it-table-repeater-compact:where(.dark, .dark *) .fi-input,
.it-table-repeater.it-table-repeater-compact:where(.dark, .dark *) td input {
    border: none !important;
    background: transparent !important;
}
/* Dropdown del Select: por encima de otras filas y con despliegue hacia abajo */
.it-table-repeater.it-table-repeater-compact .fi-dropdown-panel {
    z-index: 50 !important;
}
.it-table-repeater.it-table-repeater-compact .it-table-repeater-add {
    padding: 0.25rem 0 !important;
}
/* --- it-table-repeater-actions: ocupar 100% alto de la fila y centrar acciones en vertical --- */
.it-table-repeater.it-table-repeater-compact .it-table-repeater-actions,
.it-table-repeater.it-table-repeater-compact > div > table > tbody > tr > td.it-table-repeater-actions {
    padding: 0.4rem 0.75rem !important;
    vertical-align: middle !important;
    height: 1px; /* hace que la celda estire al 100% de la altura de la fila */
    border: none !important;
    background: var(--white, #fff) !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 0.25rem;
    white-space: nowrap;
    min-height: 2.5rem;
}
.it-table-repeater.it-table-repeater-compact:where(.dark, .dark *) .it-table-repeater-actions,
.it-table-repeater.it-table-repeater-compact:where(.dark, .dark *) > div > table > tbody > tr > td.it-table-repeater-actions {
    background: var(--gray-900, #111827) !important;
}
.it-table-repeater.it-table-repeater-compact > div > table > tbody > tr:hover > td.it-table-repeater-actions {
    background: var(--gray-50, #f9fafb) !important;
}
.it-table-repeater.it-table-repeater-compact:where(.dark, .dark *) > div > table > tbody > tr:hover > td.it-table-repeater-actions {
    background: rgba(255, 255, 255, 0.05) !important;
}
.it-table-repeater.it-table-repeater-compact .it-table-repeater-actions > div,
.it-table-repeater.it-table-repeater-compact > div > table > tbody > tr > td.it-table-repeater-actions > div {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    min-height: 0;
}
.it-table-repeater.it-table-repeater-compact .it-table-repeater-actions .fi-btn,
.it-table-repeater.it-table-repeater-compact .it-table-repeater-actions a[class*='fi-btn'],
.it-table-repeater.it-table-repeater-compact .it-table-repeater-actions [class*='fi-icon-btn'],
.it-table-repeater.it-table-repeater-compact .it-table-repeater-actions button {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0.25rem !important;
    min-height: 1.75rem;
    min-width: 1.75rem;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.it-table-repeater.it-table-repeater-compact .it-table-repeater-actions .fi-btn:hover,
.it-table-repeater.it-table-repeater-compact .it-table-repeater-actions a[class*='fi-btn']:hover,
.it-table-repeater.it-table-repeater-compact .it-table-repeater-actions [class*='fi-icon-btn']:hover,
.it-table-repeater.it-table-repeater-compact .it-table-repeater-actions button:hover {
    background: rgba(0, 0, 0, 0.05) !important;
}
.it-table-repeater.it-table-repeater-compact:where(.dark, .dark *) .it-table-repeater-actions .fi-btn:hover,
.it-table-repeater.it-table-repeater-compact:where(.dark, .dark *) .it-table-repeater-actions [class*='fi-icon-btn']:hover,
.it-table-repeater.it-table-repeater-compact:where(.dark, .dark *) .it-table-repeater-actions button:hover {
    background: rgba(255, 255, 255, 0.08) !important;
}
/* Asa para redimensionar ancho de columna */
.it-table-repeater-th-resizable {
    position: relative;
    padding-right: 1rem !important;
}
.it-table-repeater-resize-handle {
    position: absolute;
    top: 0;
    right: 0;
    width: 6px;
    height: 100%;
    cursor: col-resize;
    user-select: none;
}
.it-table-repeater-resize-handle:hover,
.it-table-repeater-resizable .it-table-repeater-th-resizable:active .it-table-repeater-resize-handle {
    background: rgba(0, 0, 0, 0.08);
}
.it-table-repeater-resize-handle::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 2px;
    transform: translateY(-50%);
    width: 2px;
    height: 1rem;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 1px;
}
.dark .it-table-repeater-resize-handle:hover {
    background: rgba(255, 255, 255, 0.08);
}
.dark .it-table-repeater-resize-handle::after {
    background: rgba(255, 255, 255, 0.3);
}

/* Celdas/columnas ocultas (ej. unidad de medida): sin ancho ni contenido visible para alinear el resto */
.it-table-repeater-compact .it-table-repeater-cell-hidden,
.it-table-repeater-compact th.hidden {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    overflow: hidden !important;
    visibility: collapse;
    empty-cells: hide;
}
/* Ocultar todo el contenido de la celda para que no fuerce ancho */
.it-table-repeater-compact .it-table-repeater-cell-hidden > * {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
}
.it-table-repeater-compact .it-table-repeater-cell-hidden .fi-fo-field,
.it-table-repeater-compact .it-table-repeater-cell-hidden .fi-input-wrp,
.it-table-repeater-compact .it-table-repeater-cell-hidden input,
.it-table-repeater-compact .it-table-repeater-cell-hidden select {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    border: 0 !important;
}
