/* Single table appearance for every workspace page, including Assignment List.
   Page styles may arrange columns/scroll containers, never redefine these cells. */
:root{--table-cell-space:8px;--table-heading-space:10px;--table-inline-space:16px;--table-row-height:59px;--table-thumbnail-size:32px}
table,.report-dash .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner table,.pivot-engine #pivotapp table{width:100%;min-width:370px;border-collapse:collapse;margin:0;font-size:calc(14px * var(--ui-font-scale,1));line-height:1.5;color:var(--color-text);text-align:left}
th,td,.report-dash .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner th,.report-dash .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner td,.pivot-engine #pivotapp th,.pivot-engine #pivotapp td{box-sizing:border-box;text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border)}
th,.report-dash .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner th,.pivot-engine #pivotapp th{padding:var(--table-heading-space) var(--table-inline-space);font-size:calc(12px * var(--ui-font-scale,1));line-height:1.5;font-weight:600;letter-spacing:normal;text-transform:none;color:var(--color-muted);background:var(--color-surface-soft);white-space:nowrap}
td,.report-dash .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner td,.pivot-engine #pivotapp td{padding:var(--table-cell-space) var(--table-inline-space);height:var(--table-row-height);font-size:calc(14px * var(--ui-font-scale,1));line-height:1.5;font-weight:400;color:var(--color-text);background:var(--color-surface)}
tbody tr:last-child td,.report-dash .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner tbody tr:last-child td,.pivot-engine #pivotapp tbody tr:last-child td{border-bottom:0}
tbody tr:hover td,.report-dash .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner tbody tr:hover td,.pivot-engine #pivotapp tbody tr:hover td{background:var(--color-surface-soft)}
tbody tr.selected td,tbody tr:has(.row-select:checked) td,.report-dash .dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner tbody tr.selected td,.pivot-engine #pivotapp tbody tr.selected td{background:var(--color-accent-soft)}
.table{--tblr-table-bg:transparent;--bs-table-bg:transparent}
.report-table{white-space:nowrap}
/* Sticky identity column and permission alignment are structural table variants. */
.report-table th:first-child,.report-table td:first-child{position:sticky;left:0;z-index:1;border-right:1px solid var(--color-border)}
.permission-table th:not(:first-child),.permission-table td:not(:first-child){text-align:center}
.library-table-thumbnail,.learning-thumbnail{width:var(--table-thumbnail-size);height:var(--table-thumbnail-size)}

/* Reusable long-text column; retain full text for search and the native tooltip. */
.table-text-ellipsis{display:block;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Server-backed tables retain native, keyboard-accessible sorting. */
.table-sort { border: 0; background: transparent; color: inherit; font: inherit; padding: 0; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
.table-sort::after { content: "↕"; opacity: .45; }
[aria-sort="ascending"] > .table-sort::after { content: "↑"; opacity: 1; }
[aria-sort="descending"] > .table-sort::after { content: "↓"; opacity: 1; }
