/* Cores compartilhadas entre as tabelas e os controles do TablePress. */
:is(.tablepress, .dt-container) {
	--pb-table-text: #202124;
	--pb-table-bg: #fff;
	--pb-table-alt: #f4f6f5;
	--pb-table-head: #e6eee8;
	--pb-table-hover: #e0e9e3;
	--pb-table-border: #d4d9d5;
	--pb-table-link: #21601e;
}
@media (prefers-color-scheme: dark) {
	html:not(.rmf-app-theme) :is(.tablepress, .dt-container) {
		--pb-table-text: #f1f1f1;
		--pb-table-bg: #232323;
		--pb-table-alt: #2d2d2d;
		--pb-table-head: #343c36;
		--pb-table-hover: #3a443c;
		--pb-table-border: #505450;
		--pb-table-link: #a6d99f;
	}
}
.options_dark_skin :is(.tablepress, .dt-container) {
	--pb-table-text: #f1f1f1;
	--pb-table-bg: #232323;
	--pb-table-alt: #2d2d2d;
	--pb-table-head: #343c36;
	--pb-table-hover: #3a443c;
	--pb-table-border: #505450;
	--pb-table-link: #a6d99f;
}
/* Os tokens acompanham o tema e a cor personalizada do app em tempo real. */
html.in-rmf-app.rmf-app-theme :is(.tablepress, .dt-container) {
	--pb-table-text: var(--rmf-on-surface);
	--pb-table-bg: var(--rmf-surface);
	--pb-table-alt: var(--rmf-surface-container);
	--pb-table-head: var(--rmf-surface-container-high);
	--pb-table-hover: var(--rmf-surface-container-high);
	--pb-table-border: var(--rmf-outline);
	--pb-table-link: var(--rmf-primary);
}
#content .tablepress {
	--text-color: var(--pb-table-text);
	--head-text-color: var(--pb-table-text);
	--head-bg-color: var(--pb-table-head);
	--head-active-text-color: var(--pb-table-text);
	--head-active-bg-color: var(--pb-table-hover);
	--head-sort-arrow-color: var(--pb-table-text);
	--odd-text-color: var(--pb-table-text);
	--odd-bg-color: var(--pb-table-bg);
	--even-text-color: var(--pb-table-text);
	--even-bg-color: var(--pb-table-alt);
	--hover-text-color: var(--pb-table-text);
	--hover-bg-color: var(--pb-table-hover);
	--border-color: var(--pb-table-border);
	--padding: 12px;
	background: var(--pb-table-bg);
	color: var(--pb-table-text);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.5;
}
#content .tablepress :is(th, td),
#content .tablepress :is(th, td) :is(p, span, strong, em, li) {
	color: var(--pb-table-text) !important;
}
#content .tablepress :is(th, td) {
	white-space: normal;
	overflow-wrap: break-word;
}
#content .tablepress a,
#content .tablepress a :is(span, strong, em) {
	color: var(--pb-table-link) !important;
	text-decoration: underline;
}
#content .dt-container {
	max-width: 100%;
	min-width: 0;
	color: var(--pb-table-text);
	font-size: 15px;
}
html #content .dt-container :is(label, .dt-info, .dt-paging-button) {
	color: var(--pb-table-text) !important;
}
html #content .dt-container :is(input, select, .dt-paging-button) {
	background: var(--pb-table-bg) !important;
	border: 1px solid var(--pb-table-border) !important;
	border-radius: 6px;
	color: var(--pb-table-text) !important;
	font: inherit;
	min-height: 40px;
	max-width: 100%;
}
html #content .dt-container .dt-paging-button.current,
html #content .dt-container .dt-paging-button:hover {
	background: var(--pb-table-head) !important;
}
html #content .dt-container .dt-paging-button.disabled {
	opacity: .55;
}
/* Neutraliza o display:block genérico do RMF somente onde há scrollX. */
html.in-rmf-app #content .dt-scroll table.tablepress {
	display: table !important;
	max-width: none !important;
	overflow: visible !important;
}
#content .dt-scroll { max-width: 100%; }
#content .dt-scroll-body { overscroll-behavior-x: contain; }
@media (max-width: 767px) {
	/* Fallback para tabelas sem os recursos JavaScript. */
	#content table.tablepress:not(.dataTable) {
		display: block;
		max-width: 100%;
		overflow-x: auto;
		overscroll-behavior-x: contain;
	}
	#content .tablepress :is(th, td) { min-width: 7rem; }
	#content .dt-container .dt-layout-row { flex-wrap: wrap; gap: 10px; }
	#content .dt-container :is(.dt-search, .dt-length) { white-space: normal; }
}
