/* TableRepeater + plate-test phase grids (no Tailwind build required) */

.table-repeater-column.has-hidden-label .fi-fo-field-wrp > label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border-width: 0 !important;
}

.table-repeater-column.has-hidden-label .fi-fo-field-wrp:has(.fi-checkbox-input) > label.fi-fo-checkbox-list-option-label {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
}

.table-repeater-component .choices input {
    min-width: 100% !important;
}

@media (min-width: 640px) {
    .table-repeater-component.streamlined .fi-input-wrp,
    .table-repeater-component.streamlined .fi-fo-file-upload .filepond--root {
        --tw-ring-shadow: 0 0 #0000;
        box-shadow: none;
        background-color: transparent;
    }

    .table-repeater-component .table-repeater-row {
        border-color: rgba(3, 7, 18, 0.05);
    }

    .table-repeater-component .table-repeater-row-actions {
        justify-content: center;
    }
}

.table-repeater-component table {
    border-collapse: separate;
    border-spacing: 0;
}

.table-repeater-component .table-repeater-column {
    vertical-align: middle;
}

/* Pastel phase backgrounds — light mode */
.plate-levels-loading .table-repeater-rows-wrapper > tr,
.plate-levels-loading .table-repeater-row {
    background-color: #dbeafe !important;
}

.plate-levels-unloading .table-repeater-rows-wrapper > tr,
.plate-levels-unloading .table-repeater-row {
    background-color: #e2e8f0 !important;
}

.plate-levels-reloading .table-repeater-rows-wrapper > tr,
.plate-levels-reloading .table-repeater-row {
    background-color: #fecaca !important;
}

/* Dark mode: soft tints that keep contrast with white text / dark inputs */
.dark .plate-levels-loading .table-repeater-rows-wrapper > tr,
.dark .plate-levels-loading .table-repeater-row,
html.dark .plate-levels-loading .table-repeater-rows-wrapper > tr,
html.dark .plate-levels-loading .table-repeater-row {
    background-color: rgba(37, 99, 235, 0.22) !important;
}

.dark .plate-levels-unloading .table-repeater-rows-wrapper > tr,
.dark .plate-levels-unloading .table-repeater-row,
html.dark .plate-levels-unloading .table-repeater-rows-wrapper > tr,
html.dark .plate-levels-unloading .table-repeater-row {
    background-color: rgba(100, 116, 139, 0.28) !important;
}

.dark .plate-levels-reloading .table-repeater-rows-wrapper > tr,
.dark .plate-levels-reloading .table-repeater-row,
html.dark .plate-levels-reloading .table-repeater-rows-wrapper > tr,
html.dark .plate-levels-reloading .table-repeater-row {
    background-color: rgba(220, 38, 38, 0.22) !important;
}

.dark .plate-levels-loading .fi-input-wrp,
.dark .plate-levels-unloading .fi-input-wrp,
.dark .plate-levels-reloading .fi-input-wrp,
html.dark .plate-levels-loading .fi-input-wrp,
html.dark .plate-levels-unloading .fi-input-wrp,
html.dark .plate-levels-reloading .fi-input-wrp {
    background-color: rgba(15, 23, 42, 0.55) !important;
}

.dark .table-repeater-component .table-repeater-row,
html.dark .table-repeater-component .table-repeater-row {
    border-color: rgba(255, 255, 255, 0.08);
}

/* Column headers: force contrast (package dark: utilities may not ship) */
.table-repeater-header,
.table-repeater-header-column {
    background-color: #f3f4f6 !important;
    color: #111827 !important;
}

.dark .table-repeater-header,
.dark .table-repeater-header-column,
html.dark .table-repeater-header,
html.dark .table-repeater-header-column {
    background-color: #1f2937 !important;
    color: #f3f4f6 !important;
}

.dark .table-repeater-header-column .text-danger-700,
html.dark .table-repeater-header-column .text-danger-700,
.dark .table-repeater-header-column sup,
html.dark .table-repeater-header-column sup {
    color: #f87171 !important;
}

/* Results preview cards */
.plate-test-preview-empty {
    background: #f9fafb;
    color: #6b7280;
}

.plate-test-preview-chart {
    background: #fff;
    border-color: #e5e7eb;
}

.plate-test-preview-legend {
    color: #4b5563;
}

.plate-test-preview-card {
    background: #fff;
    border-color: #e5e7eb;
}

.plate-test-preview-label {
    color: #6b7280;
}

.plate-test-preview-value {
    color: #030712;
}

.plate-test-preview-unit,
.plate-test-preview-meta {
    color: #374151;
}

.dark .plate-test-preview-empty,
html.dark .plate-test-preview-empty {
    background: rgba(255, 255, 255, 0.05);
    color: #d1d5db;
}

.dark .plate-test-preview-chart,
html.dark .plate-test-preview-chart {
    background: #111827;
    border-color: rgba(255, 255, 255, 0.1);
}

.dark .plate-test-preview-legend,
html.dark .plate-test-preview-legend {
    color: #d1d5db;
}

.dark .plate-test-preview-card,
html.dark .plate-test-preview-card {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
}

.dark .plate-test-preview-label,
html.dark .plate-test-preview-label {
    color: #d1d5db;
}

.dark .plate-test-preview-value,
html.dark .plate-test-preview-value {
    color: #fff;
}

.dark .plate-test-preview-unit,
.dark .plate-test-preview-meta,
html.dark .plate-test-preview-unit,
html.dark .plate-test-preview-meta {
    color: #e5e7eb;
}
