.atep {
	--atep-header-bg: #1f4b3a;
	--atep-header-color: #f4f7f2;
	--atep-row-bg: #ffffff;
	--atep-row-color: #1c241c;
	--atep-alt-bg: #eef3ea;
	--atep-alt-color: #1c241c;
	--atep-border: #c9d4c4;
	--atep-row-h: 40px;
	--atep-font: 14px;
	--atep-tab-bg: #e7eee4;
	--atep-tab-color: #243028;
	--atep-tab-active-bg: #1f4b3a;
	--atep-tab-active-color: #f7faf5;
	--atep-tab-hover-bg: #d3e0cd;
	--atep-tab-hover-color: #1f4b3a;
	--atep-tab-radius: 6px;
	--atep-tab-w: auto;
	--atep-tab-h: auto;
	--atep-tab-pad-y: 8px;
	--atep-tab-lh: 1.2;
	--atep-tab-w-m: auto;
	--atep-tab-h-m: auto;
	--atep-tab-pad-y-m: 8px;
	--atep-tab-lh-m: 1.2;
	--atep-title-color: #1c241c;
	--atep-title-font: 22px;
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 100%;
	font-size: var(--atep-font, 14px);
	color: var(--atep-row-color, #1c241c);
	line-height: 1.35;
}

.atep *,
.atep *::before,
.atep *::after {
	box-sizing: border-box;
}

.atep-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 12px;
	max-width: 100%;
}

.atep-tabs-select-wrap {
	margin: 0 0 12px;
	max-width: 100%;
}

.atep-tabs-select-label {
	display: block;
	width: 100%;
	max-width: var(--atep-tab-w, 420px);
}

.atep select.atep-tabs-select-control {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	width: 100%;
	max-width: 100%;
	height: var(--atep-tab-h, auto);
	min-height: var(--atep-tab-h, 44px);
	box-sizing: border-box;
	border: 1px solid var(--atep-border);
	border-radius: var(--atep-tab-radius);
	color: var(--atep-tab-color);
	padding: var(--atep-tab-pad-y, 8px) 40px var(--atep-tab-pad-y, 8px) 14px;
	margin: 0;
	font: inherit;
	font-size: var(--atep-font, 14px);
	line-height: var(--atep-tab-lh, 1.45);
	vertical-align: middle;
	cursor: pointer;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	background-color: var(--atep-tab-bg);
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
		linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
}

.atep select.atep-tabs-select-control:focus {
	outline: 2px solid var(--atep-tab-active-bg);
	outline-offset: 2px;
}

@media (max-width: 767px) {
	.atep-tabs-select-label {
		max-width: var(--atep-tab-w-m, var(--atep-tab-w, 420px));
	}

	.atep select.atep-tabs-select-control {
		height: var(--atep-tab-h-m, var(--atep-tab-h, auto));
		min-height: var(--atep-tab-h-m, var(--atep-tab-h, 44px));
		padding: var(--atep-tab-pad-y-m, var(--atep-tab-pad-y, 8px)) 40px var(--atep-tab-pad-y-m, var(--atep-tab-pad-y, 8px)) 14px;
		line-height: var(--atep-tab-lh-m, var(--atep-tab-lh, 1.45));
	}
}

/* Hide paged-out rows only after JS initialized — avoids blank tables if JS fails. */
.atep-ready .atep-page-hide {
	display: none !important;
}

.atep-tab,
.atep-pager button {
	appearance: none;
	border: 1px solid var(--atep-border);
	background: var(--atep-tab-bg);
	color: var(--atep-tab-color);
	border-radius: var(--atep-tab-radius);
	padding: 8px 14px;
	font: inherit;
	cursor: pointer;
	line-height: 1.2;
}

.atep-tab {
	display: inline-block;
	box-sizing: border-box;
	width: var(--atep-tab-w, auto);
	max-width: 100%;
	height: var(--atep-tab-h, auto);
	padding: var(--atep-tab-pad-y, 8px) 14px;
	line-height: var(--atep-tab-lh, 1.2);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: middle;
	text-align: center;
}

.atep-tab,
.atep select.atep-tabs-select-control {
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.atep-tab:not(.is-active):hover,
.atep-tab:not(.is-active):focus-visible,
.atep select.atep-tabs-select-control:hover {
	background-color: var(--atep-tab-hover-bg);
	color: var(--atep-tab-hover-color);
	border-color: var(--atep-tab-hover-bg);
}

.atep-tab.is-active {
	background: var(--atep-tab-active-bg);
	color: var(--atep-tab-active-color);
	border-color: var(--atep-tab-active-bg);
}

@media (max-width: 767px) {
	.atep-tab {
		width: var(--atep-tab-w-m, var(--atep-tab-w, auto));
		height: var(--atep-tab-h-m, var(--atep-tab-h, auto));
		padding: var(--atep-tab-pad-y-m, var(--atep-tab-pad-y, 8px)) 14px;
		line-height: var(--atep-tab-lh-m, var(--atep-tab-lh, 1.2));
	}
}

.atep-sheet-title {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--atep-title-color, #1c241c);
	font-size: var(--atep-title-font, 22px);
	font-weight: 650;
	line-height: 1.25;
}

.atep-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	margin: 0 0 8px;
}

.atep-search input {
	font: inherit;
	min-width: min(100%, 280px);
	padding: 8px 10px;
	border: 1px solid var(--atep-border);
	border-radius: 4px;
	background: var(--atep-row-bg);
	color: var(--atep-row-color);
}

.atep-count {
	opacity: 0.75;
	font-size: 0.92em;
}

.atep-sheet,
.atep-scroll {
	width: 100%;
	max-width: 100%;
}

.atep-scroll {
	overflow-x: auto;
	border: 1px solid var(--atep-border);
}

.atep-table {
	width: 100%;
	max-width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--atep-row-bg);
}

.atep-cols-auto .atep-table {
	table-layout: auto;
}

.atep-cols-equal .atep-table,
.atep-cols-manual .atep-table {
	table-layout: fixed;
}

.atep-cols-auto .atep-table th,
.atep-cols-auto .atep-table td {
	width: auto;
}

.atep-table th,
.atep-table td {
	padding: 8px 12px;
	min-height: var(--atep-row-h);
	height: auto;
	border-bottom: 1px solid var(--atep-border);
	border-right: 1px solid var(--atep-border);
	text-align: left;
	vertical-align: middle;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: break-word;
	hyphens: auto;
}

.atep-table th.atep-nowrap,
.atep-table td.atep-nowrap {
	white-space: nowrap;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.atep-table th:last-child,
.atep-table td:last-child {
	border-right: 0;
}

.atep-table th {
	background: var(--atep-header-bg);
	color: var(--atep-header-color);
	font-weight: 650;
}

.atep-sticky .atep-table th {
	position: sticky;
	top: 0;
	z-index: 1;
}

.atep-sortable .atep-table th {
	cursor: pointer;
	user-select: none;
}

.atep-sortable .atep-table th.is-sorted::after {
	content: " ↑";
}

.atep-sortable .atep-table th.is-sorted.is-desc::after {
	content: " ↓";
}

.atep-table td {
	background: var(--atep-row-bg, #ffffff);
	color: var(--atep-row-color, #1c241c);
}

.atep-zebra .atep-table tbody tr:nth-child(even) td {
	background: var(--atep-alt-bg);
	color: var(--atep-alt-color);
}

.atep-pager {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 10px;
}

.atep-pager button:disabled {
	opacity: 0.45;
	cursor: default;
}

.atep-sheet[hidden] {
	display: none !important;
}

@media (max-width: 640px) {
	.atep-table th,
	.atep-table td {
		padding: 8px 10px;
	}
}
