/* Site-specific overrides on top of Tailwind */
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

body { font-family: 'Segoe UI', system-ui, -apple-system, Arial, sans-serif; }

.field-validation-error { color: #dc2626; font-size: 0.75rem; }
.input-validation-error { border-color: #dc2626 !important; }
.validation-summary-errors ul { list-style: disc; padding-left: 1.25rem; color: #dc2626; }
.validation-summary-valid { display: none !important; }

table { border-collapse: collapse; }

/* ---- Shared grid (si-grid) table look: sticky header + zebra rows + hover ----
   The .si-grid-scroll wrapper is the vertical scroll container so the sticky
   header pins to it while the pager (rendered as the wrapper's sibling) stays
   visible below. */
.si-grid-scroll { max-height: calc(100vh - 17rem); overflow: auto; }
.si-grid-table thead th {
    position: sticky;
    top: 0;
    z-index: 5;
    background-color: #f1f5f9; /* slate-100 */
}
.si-grid-table tbody tr:nth-child(even) { background-color: #f8fafc; } /* slate-50 */
.si-grid-table tbody tr:hover { background-color: #eff6ff; }           /* blue-50 */

/* Column resize: drag handle on each header's right edge (added by si-grid.js). */
.si-col-resizer {
    position: absolute;
    top: 0;
    right: 0;
    width: 8px;
    height: 100%;
    cursor: col-resize;
    user-select: none;
    z-index: 6;
}
/* subtle always-visible divider tick that hints the column is draggable */
.si-col-resizer::after {
    content: '';
    position: absolute;
    top: 25%;
    right: 3px;
    height: 50%;
    width: 1px;
    background-color: #cbd5e1; /* slate-300 */
}
.si-col-resizer:hover::after { background-color: #2563eb; width: 2px; } /* blue-600 */
body.si-col-resizing { cursor: col-resize !important; user-select: none; }
/* Once a column is resized, the grid locks to fixed layout so widths are honored;
   cells wrap within their column instead of forcing it wider. */
.si-grid-table.si-cols-fixed { table-layout: fixed; }
.si-grid-table.si-cols-fixed td,
.si-grid-table.si-cols-fixed th { overflow: hidden; }
