
	.selection-button.svelte-fit6p6 {
		position: absolute;
		background: var(--color-accent);
		width: var(--size-3);
		height: var(--size-5);
		color: var(--background-fill-primary);
	}

	.selection-button-column.svelte-fit6p6 {
		top: -15px;
		left: 50%;
		transform: translateX(-50%) rotate(90deg);
		border-radius: var(--radius-sm) 0 0 var(--radius-sm);
	}

	.selection-button-row.svelte-fit6p6 {
		left: calc(var(--size-2-5) * -1);
		top: 50%;
		transform: translateY(-50%);
		border-radius: var(--radius-sm) 0 0 var(--radius-sm);
	}

	.move-down.svelte-fit6p6 {
		bottom: -14px;
		top: auto;
		border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
	}

	.move-right.svelte-fit6p6 {
		left: auto;
		right: calc(var(--size-2-5) * -1);
		top: 50%;
		transform: translateY(-50%);
		border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
	}

	svg.svelte-fit6p6 {
		fill: currentColor;
	}

	span.svelte-fit6p6 {
		display: flex;
		width: 100%;
		height: 100%;
	}

	.up.svelte-fit6p6 {
		transform: rotate(-90deg);
	}

	.down.svelte-fit6p6 {
		transform: rotate(90deg);
	}

	.left.svelte-fit6p6 {
		transform: rotate(-90deg);
	}

	.right.svelte-fit6p6 {
		transform: rotate(90deg);
	}
	.bool-cell.svelte-1d51ufy {
		display: flex;
		align-items: center;
		justify-content: center;
		width: min-content;
		height: var(--size-full);
		margin: 0 auto;
	}

	.bool-cell.svelte-1d51ufy input:disabled {
		cursor: not-allowed;
	}

	.bool-cell.svelte-1d51ufy label {
		margin: 0;
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.bool-cell.svelte-1d51ufy span {
		display: none;
	}
	.dragging.svelte-odwpey {
		cursor: crosshair !important;
	}

	textarea.svelte-odwpey {
		position: absolute;
		flex: 1 1 0%;
		transform: translateX(-0.1px);
		outline: none;
		border: none;
		background: transparent;
		cursor: text;
		width: calc(100% - var(--size-2));
		resize: none;
		height: 100%;
		padding-left: 0;
		font-size: inherit;
		font-weight: inherit;
		line-height: var(--line-lg);
	}

	textarea.svelte-odwpey:focus {
		outline: none;
	}

	span.svelte-odwpey {
		flex: 1 1 0%;
		position: relative;
		display: block;
		outline: none;
		-webkit-user-select: text;
		-moz-user-select: text;
		-ms-user-select: text;
		user-select: text;
		cursor: text;
		width: 100%;
		overflow-wrap: break-word;
	}

	span.text.expanded.svelte-odwpey {
		height: auto;
		min-height: 100%;
		white-space: pre-wrap;
		word-break: break-word;
		overflow: visible;
	}

	.multiline.svelte-odwpey {
		white-space: pre;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.header.svelte-odwpey {
		transform: translateX(0);
		font-weight: var(--weight-bold);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		margin-left: var(--size-1);
	}

	.edit.svelte-odwpey {
		opacity: 0;
		pointer-events: none;
	}

	span.svelte-odwpey img {
		max-height: 100px;
		width: auto;
		object-fit: contain;
	}

	textarea.svelte-odwpey:read-only {
		cursor: not-allowed;
	}

	.wrap.svelte-odwpey,
	.wrap.expanded.svelte-odwpey {
		white-space: normal;
		word-wrap: break-word;
		overflow-wrap: break-word;
		word-wrap: break-word;
	}
	.cell-menu-button.svelte-j6wkfp {
		flex-shrink: 0;
		display: none;
		align-items: center;
		justify-content: center;
		background-color: var(--block-background-fill);
		border: 1px solid var(--border-color-primary);
		border-radius: var(--block-radius);
		width: var(--size-5);
		height: var(--size-5);
		min-width: var(--size-5);
		padding: 0;
		margin-right: var(--spacing-sm);
		z-index: 2;
		position: absolute;
		right: var(--size-1);
		top: 50%;
		transform: translateY(-50%);
	}
	.wrapper.svelte-4dxgzr {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.header-cell.svelte-1d6xqpb {
		--ring-color: transparent;
		position: relative;
		outline: none;
		box-shadow:
			inset 1px 0 0 var(--border-color-primary),
			inset 0 0 0 1px var(--ring-color);
		padding: 0;
		background: var(--table-even-background-fill) !important;
		font-weight: var(--weight-bold, 700);
	}

	.header-cell.first-column.svelte-1d6xqpb {
		box-shadow: inset 0 0 0 1px var(--ring-color);
	}

	.header-cell.svelte-1d6xqpb:hover .cell-menu-button,
	.header-cell.focus.svelte-1d6xqpb .cell-menu-button {
		display: flex;
	}

	.header-cell.focus.svelte-1d6xqpb {
		--ring-color: var(--color-accent);
		box-shadow:
			inset 1px 0 0 var(--border-color-primary),
			inset 0 0 0 2px var(--ring-color);
		z-index: 4;
	}

	.header-cell.focus.first-column.svelte-1d6xqpb {
		box-shadow: inset 0 0 0 2px var(--ring-color);
	}

	.header-content.svelte-1d6xqpb {
		display: flex;
		align-items: center;
		gap: var(--size-1);
		overflow: hidden;
		min-width: 0;
	}

	.header-icons.svelte-1d6xqpb {
		display: flex;
		align-items: center;
		gap: 2px;
		flex-shrink: 0;
		margin-left: auto;
		opacity: 0.6;
	}

	.sort-indicator.svelte-1d6xqpb {
		display: flex;
		align-items: center;
		position: relative;
		margin-left: -5px;
	}

	.sort-priority.svelte-1d6xqpb {
		font-size: 8px;
		background: var(--button-secondary-background-fill);
		border-radius: var(--radius-full);
		width: 12px;
		height: 12px;
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1;
	}

	.filter-indicator.svelte-1d6xqpb {
		display: flex;
		align-items: center;
		width: 16px;
		height: 16px;
		margin-top: 3px;
	}

	.filter-indicator.svelte-1d6xqpb svg {
		width: 100%;
		height: 100%;
	}

	.cell-wrap.svelte-1d6xqpb {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		outline: none;
		min-height: var(--size-9);
		position: relative;
		height: 100%;
		padding: var(--size-2);
		box-sizing: border-box;
		gap: var(--size-1);
		overflow: visible;
		min-width: 0;
	}
	.body-cell.svelte-183k2ki {
		--ring-color: transparent;
		outline: none;
		box-shadow:
			inset 1px 0 0 var(--border-color-primary),
			inset 0 0 0 1px var(--ring-color);
		padding: 0;
		overflow: visible;
		box-sizing: border-box;
	}

	.body-cell.first-column.svelte-183k2ki {
		box-shadow: inset 0 0 0 1px var(--ring-color);
	}

	.body-cell.svelte-183k2ki:hover .cell-menu-button,
	.body-cell.cell-selected.svelte-183k2ki .cell-menu-button {
		display: flex;
	}

	.body-cell.cell-selected.svelte-183k2ki {
		--ring-color: var(--color-accent);
		--sel-top: inset 0 2px 0 0 var(--ring-color);
		--sel-bottom: inset 0 -2px 0 0 var(--ring-color);
		--sel-left: inset 2px 0 0 0 var(--ring-color);
		--sel-right: inset -2px 0 0 0 var(--ring-color);
		box-shadow:
			var(--sel-top), var(--sel-bottom), var(--sel-left), var(--sel-right);
		z-index: 2;
		position: relative;
	}

	.body-cell.cell-selected.no-top.svelte-183k2ki {
		--sel-top: inset 0 0 0 0 transparent;
	}
	.body-cell.cell-selected.no-bottom.svelte-183k2ki {
		--sel-bottom: inset 0 0 0 0 transparent;
	}
	.body-cell.cell-selected.no-left.svelte-183k2ki {
		--sel-left: inset 0 0 0 0 transparent;
	}
	.body-cell.cell-selected.no-right.svelte-183k2ki {
		--sel-right: inset 0 0 0 0 transparent;
	}

	.body-cell.flash.cell-selected.svelte-183k2ki {
		animation: svelte-183k2ki-flash-color 700ms ease-out;
	}

	@keyframes svelte-183k2ki-flash-color {
		0%,
		30% {
			background: var(--color-accent-copied);
		}
		100% {
			background: transparent;
		}
	}

	.cell-wrap.svelte-183k2ki {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		outline: none;
		min-height: var(--size-9);
		position: relative;
		padding: var(--size-2);
		box-sizing: border-box;
		gap: var(--size-1);
		overflow: visible;
		min-width: 0;
		height: 100%;
	}
	.add-row-button.svelte-1at77md {
		width: 100%;
		padding: var(--size-1);
		background: transparent;
		border: 1px dashed var(--border-color-primary);
		border-radius: var(--radius-sm);
		color: var(--body-text-color);
		cursor: pointer;
		transition: all 150ms;
		margin-top: var(--size-2);
		z-index: 10;
		position: relative;
		pointer-events: auto;
	}

	.add-row-button.svelte-1at77md:hover {
		background: var(--background-fill-secondary);
		border-style: solid;
	}
	.background.svelte-1y6dxc7 {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background-color: rgba(0, 0, 0, 0.4);
		z-index: 20;
	}

	.filter-menu.svelte-1y6dxc7 {
		position: fixed;
		background: var(--background-fill-primary);
		border: 1px solid var(--border-color-primary);
		border-radius: var(--radius-sm);
		padding: var(--size-2);
		display: flex;
		flex-direction: column;
		gap: var(--size-2);
		box-shadow: var(--shadow-drop-lg);
		width: 300px;
		z-index: 21;
	}

	.filter-datatype-container.svelte-1y6dxc7 {
		display: flex;
		gap: var(--size-2);
		align-items: center;
	}

	.filter-menu.svelte-1y6dxc7 span:where(.svelte-1y6dxc7) {
		font-size: var(--text-sm);
		color: var(--body-text-color);
	}

	.filter-menu.svelte-1y6dxc7 button:where(.svelte-1y6dxc7) {
		height: var(--size-6);
		background: none;
		border: 1px solid var(--border-color-primary);
		border-radius: var(--radius-sm);
		padding: var(--size-1) var(--size-2);
		color: var(--body-text-color);
		font-size: var(--text-sm);
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: var(--size-2);
	}

	.filter-menu.svelte-1y6dxc7 button:where(.svelte-1y6dxc7):hover {
		background-color: var(--background-fill-secondary);
	}

	.filter-input.svelte-1y6dxc7 {
		width: var(--size-full);
		height: var(--size-6);
		padding: var(--size-2);
		padding-right: var(--size-8);
		border: 1px solid var(--border-color-primary);
		border-radius: var(--table-radius);
		font-size: var(--text-sm);
		color: var(--body-text-color);
		background: var(--background-fill-secondary);
		transition: all 0.2s ease;
	}

	.filter-input.svelte-1y6dxc7:hover {
		border-color: var(--border-color-secondary);
		background: var(--background-fill-primary);
	}

	.filter-input.svelte-1y6dxc7:focus {
		outline: none;
		border-color: var(--color-accent);
		background: var(--background-fill-primary);
		box-shadow: 0 0 0 1px var(--color-accent);
	}

	.dropdown-filter-options.svelte-1y6dxc7 {
		display: flex;
		flex-direction: column;
		background: var(--background-fill-primary);
		border: 1px solid var(--border-color-primary);
		border-radius: var(--radius-sm);
		box-shadow: var(--shadow-drop-md);
		position: absolute;
		z-index: var(--layer-1);
	}

	.dropdown-filter-options.svelte-1y6dxc7 .filter-option:where(.svelte-1y6dxc7) {
		border: none;
		justify-content: flex-start;
	}

	.input-container.svelte-1y6dxc7 {
		display: flex;
		gap: var(--size-2);
		align-items: center;
	}

	.input-container.svelte-1y6dxc7 button:where(.svelte-1y6dxc7) {
		width: 130px;
	}

	svg.dropdown-arrow {
		width: var(--size-4);
		height: var(--size-4);
		margin-left: auto;
	}

	.filter-menu.svelte-1y6dxc7 .check-button:where(.svelte-1y6dxc7) {
		background: var(--color-accent);
		color: white;
		border: none;
		width: var(--size-full);
		height: var(--size-6);
		border-radius: var(--radius-sm);
		display: flex;
		align-items: center;
		justify-content: center;
		padding: var(--size-1);
	}

	.check-button.svelte-1y6dxc7:hover {
		background: var(--color-accent-soft);
	}
	.cell-menu.svelte-1v4jjjx {
		position: fixed;
		z-index: var(--layer-1);
		background: var(--background-fill-primary);
		border: 1px solid var(--border-color-primary);
		border-radius: var(--radius-sm);
		padding: var(--size-1);
		display: flex;
		flex-direction: column;
		gap: var(--size-1);
		box-shadow: var(--shadow-drop-lg);
		min-width: 150px;
		width: max-content;
	}

	.cell-menu.svelte-1v4jjjx button:where(.svelte-1v4jjjx) {
		background: none;
		border: none;
		cursor: pointer;
		text-align: left;
		padding: var(--size-1) var(--size-2);
		border-radius: var(--radius-sm);
		color: var(--body-text-color);
		font-size: var(--text-sm);
		transition:
			background-color 0.2s,
			color 0.2s;
		display: flex;
		align-items: center;
		gap: var(--size-2);
		position: relative;
	}

	.cell-menu.svelte-1v4jjjx button.active:where(.svelte-1v4jjjx) {
		background-color: var(--background-fill-secondary);
	}

	.cell-menu.svelte-1v4jjjx button:where(.svelte-1v4jjjx):hover {
		background-color: var(--background-fill-secondary);
	}

	.cell-menu.svelte-1v4jjjx button:where(.svelte-1v4jjjx) svg {
		fill: currentColor;
		transition: fill 0.2s;
	}

	.priority.svelte-1v4jjjx {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-left: auto;
		font-size: var(--size-2);
		background-color: var(--button-secondary-background-fill);
		color: var(--body-text-color);
		border-radius: var(--radius-sm);
		width: var(--size-2-5);
		height: var(--size-2-5);
	}
	.toolbar.svelte-1rajnm3 {
		display: flex;
		align-items: center;
		gap: var(--size-2);
		flex: 0 0 auto;
		font-family: var(--font-sans);
	}

	.toolbar-buttons.svelte-1rajnm3 {
		display: flex;
		gap: var(--size-1);
		flex-wrap: nowrap;
		align-items: center;
	}

	.toolbar-button.svelte-1rajnm3 {
		display: flex;
		align-items: center;
		justify-content: center;
		width: var(--size-6);
		height: var(--size-6);
		padding: var(--size-1);
		border: none;
		border-radius: var(--radius-sm);
		background: transparent;
		color: var(--body-text-color-subdued);
		cursor: pointer;
		transition: all 0.2s;
	}

	.toolbar-button.svelte-1rajnm3:hover {
		background: var(--background-fill-secondary);
		color: var(--body-text-color);
	}

	.toolbar-button.svelte-1rajnm3 svg {
		width: var(--size-4);
		height: var(--size-4);
	}

	.search-container.svelte-1rajnm3 {
		position: relative;
	}

	.search-input.svelte-1rajnm3 {
		width: var(--size-full);
		height: var(--size-6);
		padding: var(--size-2);
		padding-right: var(--size-8);
		border: 1px solid var(--border-color-primary);
		border-radius: var(--table-radius);
		font-size: var(--text-sm);
		color: var(--body-text-color);
		background: var(--background-fill-secondary);
		transition: all 0.2s ease;
	}

	.search-input.svelte-1rajnm3:hover {
		border-color: var(--border-color-secondary);
		background: var(--background-fill-primary);
	}

	.search-input.svelte-1rajnm3:focus {
		outline: none;
		border-color: var(--color-accent);
		background: var(--background-fill-primary);
		box-shadow: 0 0 0 1px var(--color-accent);
	}

	.check-button.svelte-1rajnm3 {
		position: absolute;
		right: var(--size-1);
		top: 50%;
		transform: translateY(-50%);
		background: var(--color-accent);
		color: white;
		border: none;
		width: var(--size-4);
		height: var(--size-4);
		border-radius: var(--radius-sm);
		display: flex;
		align-items: center;
		justify-content: center;
		padding: var(--size-1);
	}

	.check-button.svelte-1rajnm3 svg {
		width: var(--size-3);
		height: var(--size-3);
	}

	.check-button.svelte-1rajnm3:hover {
		background: var(--color-accent-soft);
	}

	.toolbar-buttons.svelte-1rajnm3 .icon-button {
		background: transparent !important;
		height: var(--size-6);
		width: var(--size-6);
	}

	.toolbar-buttons.svelte-1rajnm3 .icon-button:hover {
		background: var(--background-fill-secondary) !important;
		color: var(--body-text-color) !important;
		border: 1px solid var(--border-color-primary);
		border-radius: var(--radius-sm) !important;
	}
	.table-container.svelte-2balj6 {
		display: flex;
		flex-direction: column;
		gap: var(--size-2);
		position: relative;
		max-width: 100%;
		overflow: hidden;
	}

	.table-container.fullscreen.svelte-2balj6 {
		padding: var(--size-4);
		height: 100%;
		box-sizing: border-box;
	}

	.table-container.fullscreen.svelte-2balj6 .table-wrap:where(.svelte-2balj6) {
		flex: 1 1 auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
	}

	.table-container.fullscreen.svelte-2balj6 .table-wrap:where(.svelte-2balj6) > * {
		flex: 1 1 auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
	}

	.table-container.fullscreen.svelte-2balj6 .virtual-table-viewport:where(.svelte-2balj6) {
		max-height: none !important;
		flex: 1 1 auto;
		min-height: 0;
	}

	.table-wrap.svelte-2balj6 {
		position: relative;
		transition: 150ms;
		width: 100%;
	}

	/* Constrain Upload component wrapper */
	.table-wrap.svelte-2balj6 > * {
		max-width: 100%;
	}

	.table-wrap.menu-open.svelte-2balj6 {
		overflow: hidden;
	}

	.table-wrap.svelte-2balj6:focus-within {
		outline: none;
	}

	.table-wrap.dragging.svelte-2balj6 {
		cursor: crosshair !important;
		user-select: none;
	}

	.table-wrap.dragging.svelte-2balj6 :where(.svelte-2balj6) {
		cursor: crosshair !important;
		user-select: none;
	}

	.table-wrap.svelte-2balj6 > button {
		border: 1px solid var(--border-color-primary);
		border-radius: var(--table-radius);
		overflow: hidden;
	}

	/* Virtual scroll container */
	.virtual-table-viewport.svelte-2balj6 {
		display: flex;
		flex-direction: column;
		overflow: auto;
		position: relative;
		-webkit-overflow-scrolling: touch;
		min-width: 0;
		max-width: 100%;
		scrollbar-width: thin;
		scrollbar-color: rgba(128, 128, 128, 0.5) transparent;
	}

	.virtual-table-viewport.svelte-2balj6::-webkit-scrollbar {
		width: 4px;
		height: 4px;
	}

	.virtual-table-viewport.svelte-2balj6::-webkit-scrollbar-thumb {
		background-color: rgba(128, 128, 128, 0.5);
		border-radius: 4px;
	}

	.virtual-table-viewport.svelte-2balj6:hover {
		scrollbar-color: rgba(160, 160, 160, 0.7) transparent;
	}

	.virtual-table-viewport.disable-scroll.svelte-2balj6 {
		overflow: hidden !important;
	}

	/* Header table: auto-sizes columns by content, sticky */
	.header-table.svelte-2balj6 {
		width: 100%;
		color: var(--body-text-color);
		font-size: var(--input-text-size);
		line-height: var(--line-md);
		font-family: var(--font-mono);
		border-spacing: 0;
		border-collapse: separate;
		table-layout: auto;
		position: sticky;
		top: 0;
		z-index: 7;
		flex-shrink: 0;
	}

	/* Hidden sizing row — visibility:collapse hides the row but keeps column width contribution */
	.sizing-body.svelte-2balj6 tr:where(.svelte-2balj6) {
		visibility: collapse;
	}

	.sizing-body.svelte-2balj6 td:where(.svelte-2balj6) {
		padding: var(--size-2);
		border: none;
		white-space: nowrap;
	}

	/* Virtual body */
	.virtual-body.svelte-2balj6 {
		box-sizing: border-box;
	}

	.virtual-row.svelte-2balj6 {
		display: flex;
		align-items: stretch;
		background: var(--table-odd-background-fill);

		text-align: left;
		font-size: var(--input-text-size);
		line-height: var(--line-md);
		font-family: var(--font-mono);
		color: var(--body-text-color);
		min-height: var(--size-9);
	}

	.virtual-row.svelte-2balj6:last-child {
		border-bottom: none;
	}

	.virtual-row.row-odd.svelte-2balj6 {
		background: var(--table-even-background-fill);
	}

	.virtual-row.svelte-2balj6:hover {
		background: var(--table-row-focus);
	}

	/* Cell content wrapper (used in sizing-body) */
	.cell-wrap.svelte-2balj6 {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		outline: none;
		min-height: var(--size-9);
		position: relative;
		height: 100%;
		padding: var(--size-2);
		box-sizing: border-box;
		gap: var(--size-1);
		overflow: visible;
		min-width: 0;
	}

	/* Row number cells */
	.row-number-header.svelte-2balj6 {
		text-align: center;
		padding: var(--size-1);
		min-width: var(--size-12);
		width: var(--size-12);
		font-weight: var(--weight-semibold);
		border-right: 1px solid var(--border-color-primary);
		background: var(--table-even-background-fill) !important;
	}

	.row-number-cell.svelte-2balj6 {
		text-align: center;
		padding: var(--size-1);
		min-width: var(--size-12);
		width: var(--size-12);
		flex-shrink: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font-weight: var(--weight-semibold);
		border-right: 1px solid var(--border-color-primary);
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.no-wrap.svelte-2balj6 {
		white-space: nowrap;
	}

	div.svelte-2balj6:not(.no-wrap) td {
		overflow-wrap: anywhere;
	}

	div.no-wrap.svelte-2balj6 td {
		overflow-x: hidden;
	}

	.header-row.svelte-2balj6 {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: var(--size-2);
		min-height: var(--size-6);
		flex-wrap: nowrap;
		width: 100%;
	}

	.header-row.svelte-2balj6 .label:where(.svelte-2balj6) {
		flex: 1 1 auto;
		margin-right: auto;
		font-family: var(--font-sans);
	}

	.header-row.svelte-2balj6 .label:where(.svelte-2balj6) p:where(.svelte-2balj6) {
		margin: 0;
		color: var(--block-label-text-color);
		font-size: var(--block-label-text-size);
		line-height: var(--line-sm);
	}

	.scroll-top-button.svelte-2balj6 {
		position: absolute;
		right: var(--size-4);
		bottom: var(--size-4);
		width: var(--size-8);
		height: var(--size-8);
		border-radius: var(--table-radius);
		background: var(--color-accent);
		color: white;
		border: none;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: var(--text-lg);
		z-index: 9;
		opacity: 0.5;
	}

	.scroll-top-button.svelte-2balj6:hover {
		opacity: 1;
	}