/* KT-Download Manager front end. All selectors are intentionally scoped. */
.ktdm-scope {
	--ktdm-primary: #176b5b;
	--ktdm-primary-hover: #115347;
	--ktdm-accent: #f4b942;
	--ktdm-ink: #17202a;
	--ktdm-muted: #627083;
	--ktdm-line: #d9e2ea;
	--ktdm-soft: #f4f7f8;
	--ktdm-success: #16845b;
	--ktdm-danger: #b42318;
	--ktdm-radius: 10px;
	--ktdm-shadow: 0 12px 32px rgba(15, 36, 48, 0.09);
	box-sizing: border-box;
	color: var(--ktdm-ink);
	font-family: inherit;
	line-height: 1.55;
}

.ktdm-scope *,
.ktdm-scope *::before,
.ktdm-scope *::after {
	box-sizing: inherit;
}

.ktdm-scope :where(a) {
	color: var(--ktdm-primary);
	text-underline-offset: 0.15em;
}

.ktdm-scope :where(button, input, select, summary, a):focus-visible,
.ktdm-dialog :where(button, input, summary):focus-visible {
	outline: 3px solid color-mix(in srgb, var(--ktdm-primary) 38%, transparent);
	outline-offset: 3px;
}

.ktdm-scope .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ktdm-library {
	width: 100%;
	margin-block: 1.5rem;
}

.ktdm-library__title {
	margin: 0 0 1rem;
	font-size: clamp(1.45rem, 2vw, 2rem);
}

.ktdm-toolbar {
	display: flex;
	align-items: end;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0 0 1.25rem;
	padding: 0.9rem;
	border: 1px solid var(--ktdm-line);
	border-radius: calc(var(--ktdm-radius) + 2px);
	background: #fff;
}

.ktdm-toolbar > label {
	display: grid;
	gap: 0.25rem;
	min-width: 9.5rem;
	margin: 0;
	font-size: 0.78rem;
	font-weight: 700;
}

.ktdm-toolbar__search {
	position: relative;
	display: flex;
	align-items: center;
	flex: 1 1 15rem;
	min-width: min(100%, 15rem);
}

.ktdm-toolbar__search > span {
	position: absolute;
	left: 0.85rem;
	color: var(--ktdm-muted);
	pointer-events: none;
}

.ktdm-scope :where(input[type="text"], input[type="search"], input[type="email"], input[type="password"], select) {
	width: 100%;
	min-height: 2.75rem;
	margin: 0;
	padding: 0.62rem 0.78rem;
	border: 1px solid var(--ktdm-line);
	border-radius: max(5px, calc(var(--ktdm-radius) - 3px));
	background: #fff;
	color: var(--ktdm-ink);
	font: inherit;
}

.ktdm-toolbar__search input {
	padding-left: 2.5rem;
}

.ktdm-toolbar__reset {
	align-self: center;
	padding: 0.5rem;
	font-weight: 700;
}

.ktdm-button,
.ktdm-button:visited,
.ktdm-scope button.ktdm-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.65rem;
	padding: 0.62rem 1rem;
	border: 1px solid var(--ktdm-primary);
	border-radius: var(--ktdm-radius);
	background: var(--ktdm-primary);
	box-shadow: none;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-size: 0.86rem;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.ktdm-button:hover,
.ktdm-scope button.ktdm-button:hover {
	border-color: var(--ktdm-primary-hover);
	background: var(--ktdm-primary-hover);
	color: #fff;
	transform: translateY(-1px);
}

.ktdm-button--ghost,
.ktdm-button--ghost:visited {
	border-color: var(--ktdm-line);
	background: #fff;
	color: var(--ktdm-ink);
}

.ktdm-button--ghost:hover {
	border-color: var(--ktdm-primary);
	background: var(--ktdm-soft);
	color: var(--ktdm-primary);
}

.ktdm-button--purchase,
.ktdm-button--purchase:visited {
	border-color: #996b00;
	background: var(--ktdm-accent);
	color: #382800;
}

.ktdm-button--wide {
	width: 100%;
}

.ktdm-button[aria-busy="true"],
.ktdm-scope form[aria-busy="true"] button[type="submit"] {
	cursor: progress;
	opacity: 0.7;
}

.ktdm-packages--grid {
	display: grid;
	grid-template-columns: repeat(var(--ktdm-columns, 3), minmax(0, 1fr));
	gap: 1rem;
}

.ktdm-packages--list {
	display: grid;
	gap: 0.8rem;
}

.ktdm-package {
	position: relative;
	display: flex;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--ktdm-line);
	border-radius: calc(var(--ktdm-radius) + 3px);
	background: #fff;
	box-shadow: var(--ktdm-shadow);
}

.ktdm-package.is-featured {
	border-color: color-mix(in srgb, var(--ktdm-accent) 74%, #7b5c00);
}

.ktdm-package--grid {
	flex-direction: column;
}

.ktdm-package--list {
	display: grid;
	grid-template-columns: minmax(7rem, 12rem) minmax(0, 1fr);
	box-shadow: 0 5px 18px rgba(15, 36, 48, 0.06);
}

.ktdm-package--detail {
	display: grid;
	grid-template-columns: minmax(14rem, 0.9fr) minmax(0, 1.15fr);
	width: 100%;
	margin-block: 1rem;
}

.ktdm-package__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
	padding: 1.1rem;
}

.ktdm-package__heading {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 0.75rem;
}

.ktdm-package__heading h3 {
	margin: 0.18rem 0 0.45rem;
	font-size: clamp(1.05rem, 1.7vw, 1.35rem);
	line-height: 1.25;
}

.ktdm-package__heading h3 a {
	color: var(--ktdm-ink);
	text-decoration: none;
}

.ktdm-package__heading h3 a:hover {
	color: var(--ktdm-primary);
}

.ktdm-package__excerpt {
	display: -webkit-box;
	overflow: hidden;
	margin: 0 0 0.8rem;
	color: var(--ktdm-muted);
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.ktdm-featured-label,
.ktdm-version {
	display: inline-flex;
	width: fit-content;
	padding: 0.18rem 0.48rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--ktdm-accent) 30%, #fff);
	color: #624800;
	font-size: 0.67rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.ktdm-version {
	flex: 0 0 auto;
	background: var(--ktdm-soft);
	color: var(--ktdm-muted);
	text-transform: none;
}

.ktdm-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.42rem;
	margin: 0 0 0.65rem;
	color: var(--ktdm-muted);
	font-size: 0.77rem;
}

.ktdm-meta span {
	display: inline-flex;
	gap: 0.2rem;
	padding: 0.22rem 0.48rem;
	border-radius: 999px;
	background: var(--ktdm-soft);
}

.ktdm-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-bottom: 0.8rem;
	font-size: 0.78rem;
}

.ktdm-categories a {
	font-weight: 700;
}

.ktdm-package__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: auto;
}

.ktdm-access-state {
	display: inline-flex;
	align-items: center;
	min-height: 2.65rem;
	padding: 0.5rem 0.7rem;
	border-left: 3px solid var(--ktdm-danger);
	background: #fff1f0;
	color: #7a271a;
	font-size: 0.8rem;
}

.ktdm-file-badge,
.ktdm-package__thumbnail,
.ktdm-preview {
	display: grid;
	place-items: center;
	min-height: 10rem;
	margin: 0;
	overflow: hidden;
	background: linear-gradient(145deg, #eaf6f2, #f8fbfa);
}

.ktdm-file-badge span {
	display: grid;
	place-items: center;
	width: 5.5rem;
	height: 6.7rem;
	clip-path: polygon(0 0, 72% 0, 100% 22%, 100% 100%, 0 100%);
	background: var(--ktdm-primary);
	color: #fff;
	font-size: 0.8rem;
	font-weight: 900;
	letter-spacing: 0.04em;
}

.ktdm-package__thumbnail img,
.ktdm-preview img,
.ktdm-preview video {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 10rem;
	max-height: 20rem;
	object-fit: cover;
}

.ktdm-preview audio {
	width: calc(100% - 1.5rem);
	margin: 2rem 0.75rem;
}

.ktdm-preview--video {
	background: #101820;
}

.ktdm-preview--pdf {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 0.65rem;
}

.ktdm-preview--pdf iframe {
	width: 100%;
	min-height: 18rem;
	border: 0;
	background: #fff;
}

.ktdm-preview--pdf a {
	font-size: 0.78rem;
	font-weight: 700;
}

.ktdm-file-list {
	margin-top: 0.6rem;
}

.ktdm-file-list h4 {
	margin: 0 0 0.5rem;
}

.ktdm-file-list ul {
	display: grid;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ktdm-file-list li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.65rem;
	padding: 0.6rem;
	border: 1px solid var(--ktdm-line);
	border-radius: max(6px, calc(var(--ktdm-radius) - 2px));
}

.ktdm-file-list__name {
	display: grid;
	min-width: 0;
}

.ktdm-file-list__name strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ktdm-file-list__name small {
	color: var(--ktdm-muted);
}

.ktdm-mini-badge {
	display: inline-grid;
	place-items: center;
	min-width: 2.7rem;
	height: 2.7rem;
	padding: 0.2rem;
	border-radius: 7px;
	background: color-mix(in srgb, var(--ktdm-primary) 12%, #fff);
	color: var(--ktdm-primary);
	font-size: 0.6rem;
	font-weight: 900;
}

.ktdm-table-wrap {
	width: 100%;
	overflow-x: auto;
	border: 1px solid var(--ktdm-line);
	border-radius: calc(var(--ktdm-radius) + 2px);
	background: #fff;
}

.ktdm-table {
	width: 100%;
	min-width: 46rem;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: #fff;
}

.ktdm-table th,
.ktdm-table td {
	padding: 0.8rem;
	border: 0;
	border-bottom: 1px solid var(--ktdm-line);
	vertical-align: middle;
	text-align: left;
}

.ktdm-table th {
	background: var(--ktdm-soft);
	color: var(--ktdm-ink);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}

.ktdm-table tbody tr:last-child td {
	border-bottom: 0;
}

.ktdm-table__title {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-width: 13rem;
}

.ktdm-table__title > span:last-child {
	display: grid;
}

.ktdm-table__title a {
	font-weight: 800;
	text-decoration: none;
}

.ktdm-table__title small {
	color: var(--ktdm-muted);
}

.ktdm-pagination {
	margin-top: 1.2rem;
}

.ktdm-pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ktdm-pagination a,
.ktdm-pagination .current {
	display: grid;
	place-items: center;
	min-width: 2.5rem;
	min-height: 2.5rem;
	padding: 0.4rem 0.65rem;
	border: 1px solid var(--ktdm-line);
	border-radius: 7px;
	background: #fff;
	font-weight: 700;
	text-decoration: none;
}

.ktdm-pagination .current {
	border-color: var(--ktdm-primary);
	background: var(--ktdm-primary);
	color: #fff;
}

.ktdm-empty {
	display: grid;
	place-items: center;
	gap: 0.35rem;
	min-height: 13rem;
	padding: 1.5rem;
	border: 1px dashed var(--ktdm-line);
	border-radius: calc(var(--ktdm-radius) + 2px);
	background: var(--ktdm-soft);
	color: var(--ktdm-muted);
	text-align: center;
}

.ktdm-empty__icon {
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	background: #fff;
	color: var(--ktdm-primary);
	font-size: 2rem;
}

.ktdm-empty-inline {
	padding: 1rem;
	border: 1px dashed var(--ktdm-line);
	border-radius: var(--ktdm-radius);
	color: var(--ktdm-muted);
}

.ktdm-notice {
	margin: 0.75rem 0;
	padding: 0.75rem 0.9rem;
	border-left: 4px solid var(--ktdm-primary);
	border-radius: 5px;
	background: #eef8f5;
	color: #16483e;
}

.ktdm-notice--error {
	border-color: var(--ktdm-danger);
	background: #fff1f0;
	color: #7a271a;
}

.ktdm-dialog {
	width: min(92vw, 32rem);
	max-width: 32rem;
	max-height: min(90vh, 50rem);
	padding: 0;
	overflow: visible;
	border: 0;
	border-radius: calc(var(--ktdm-radius) + 5px);
	background: transparent;
	box-shadow: 0 28px 80px rgba(6, 20, 30, 0.32);
	color: var(--ktdm-ink);
}

.ktdm-dialog::backdrop {
	background: rgba(12, 25, 34, 0.72);
	backdrop-filter: blur(3px);
}

.ktdm-dialog[open] {
	animation: ktdm-dialog-in 180ms ease-out;
}

.ktdm-dialog.is-fallback-open {
	position: fixed;
	inset: 50% auto auto 50%;
	z-index: 100000;
	display: block;
	transform: translate(-50%, -50%);
}

.ktdm-dialog-open {
	overflow: hidden;
}

.ktdm-gate-error {
	margin: 0 0 14px;
	padding: 10px 12px;
	border: 1px solid #dc6969;
	border-radius: 6px;
	background: #fff1f1;
	color: #8b1f1f;
	font-size: 14px;
}

.ktdm-dialog__panel {
	position: relative;
	max-height: min(90vh, 50rem);
	padding: 2.2rem 1.35rem 1.35rem;
	overflow-y: auto;
	border-radius: inherit;
	background: #fff;
	text-align: center;
}

.ktdm-dialog__close-form {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	margin: 0;
}

.ktdm-dialog__close {
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--ktdm-soft);
	color: var(--ktdm-ink);
	cursor: pointer;
	font-size: 1.4rem;
}

.ktdm-dialog__icon {
	display: grid;
	place-items: center;
	width: 4rem;
	height: 4rem;
	margin: -4.2rem auto 0.75rem;
	border: 5px solid #fff;
	border-radius: 50%;
	background: var(--ktdm-primary);
	box-shadow: 0 5px 15px rgba(15, 36, 48, 0.16);
	font-size: 1.7rem;
}

.ktdm-dialog h2 {
	margin: 0 0 0.3rem;
	font-size: 1.35rem;
}

.ktdm-dialog__panel > p {
	margin: 0 0 1rem;
	color: var(--ktdm-muted);
}

.ktdm-gate-form {
	display: grid;
	gap: 0.65rem;
	text-align: left;
}

.ktdm-gate-form > label:not(.ktdm-check) {
	font-size: 0.82rem;
	font-weight: 800;
}

.ktdm-terms {
	border: 1px solid var(--ktdm-line);
	border-radius: 8px;
	background: var(--ktdm-soft);
}

.ktdm-terms summary {
	padding: 0.65rem;
	cursor: pointer;
	font-weight: 800;
}

.ktdm-terms > div {
	max-height: 10rem;
	padding: 0 0.65rem 0.65rem;
	overflow-y: auto;
	color: var(--ktdm-muted);
	font-size: 0.82rem;
}

.ktdm-check {
	display: flex;
	align-items: flex-start;
	gap: 0.48rem;
	margin: 0;
	cursor: pointer;
	font-size: 0.82rem;
}

.ktdm-check input {
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	margin: 0.18rem 0 0;
}

.ktdm-tree {
	width: 100%;
	margin-block: 1.25rem;
	padding: 1rem;
	border: 1px solid var(--ktdm-line);
	border-radius: calc(var(--ktdm-radius) + 2px);
	background: #fff;
}

.ktdm-tree__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--ktdm-line);
}

.ktdm-tree__header h2 {
	margin: 0;
	font-size: 1.25rem;
}

.ktdm-tree__toggle-all,
.ktdm-tree__branch-toggle {
	border: 0;
	background: transparent;
	color: var(--ktdm-primary);
	cursor: pointer;
	font: inherit;
	font-size: 0.78rem;
	font-weight: 800;
}

.ktdm-tree__root,
.ktdm-tree ul {
	margin: 0;
	padding: 0.35rem 0 0 1.2rem;
	list-style: none;
}

.ktdm-tree__root {
	padding-left: 0;
}

.ktdm-tree__row,
.ktdm-tree__file {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	min-height: 2.7rem;
	padding: 0.25rem;
}

.ktdm-tree__row:hover,
.ktdm-tree__file:hover {
	background: var(--ktdm-soft);
}

.ktdm-tree__branch-toggle {
	display: grid;
	place-items: center;
	width: 1.6rem;
	height: 1.6rem;
	padding: 0;
	font-size: 1.3rem;
	transition: transform 150ms ease;
}

.ktdm-tree__branch-toggle[aria-expanded="true"] {
	transform: rotate(90deg);
}

.ktdm-tree__label,
.ktdm-tree__file > a {
	color: var(--ktdm-ink);
	font-weight: 750;
	text-decoration: none;
}

.ktdm-tree__label small {
	color: var(--ktdm-muted);
	font-weight: 500;
}

.ktdm-tree__file .ktdm-mini-badge {
	min-width: 2rem;
	height: 2rem;
}

.ktdm-tree__action {
	margin-left: auto;
}

.ktdm-tree__action .ktdm-button,
.ktdm-tree__action .ktdm-access-state {
	min-height: 2rem;
	padding: 0.35rem 0.65rem;
	font-size: 0.7rem;
}

.ktdm-dashboard {
	width: 100%;
	margin-block: 1.5rem;
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid var(--ktdm-line);
	border-radius: calc(var(--ktdm-radius) + 5px);
	background: #fff;
	box-shadow: var(--ktdm-shadow);
}

.ktdm-dashboard__header {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.2rem;
}

.ktdm-dashboard__avatar {
	border-radius: calc(var(--ktdm-radius) + 2px);
}

.ktdm-dashboard__header h2,
.ktdm-dashboard h3 {
	margin: 0;
}

.ktdm-eyebrow {
	margin: 0;
	color: var(--ktdm-primary);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ktdm-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	margin-bottom: 1.3rem;
}

.ktdm-stat {
	display: grid;
	gap: 0.15rem;
	padding: 1rem;
	border: 1px solid var(--ktdm-line);
	border-radius: var(--ktdm-radius);
	background: var(--ktdm-soft);
}

.ktdm-stat strong {
	color: var(--ktdm-primary);
	font-size: clamp(1.35rem, 3vw, 2rem);
	line-height: 1;
}

.ktdm-stat span {
	color: var(--ktdm-muted);
	font-size: 0.78rem;
	font-weight: 700;
}

.ktdm-dashboard h3 {
	margin-bottom: 0.65rem;
}

.ktdm-auth {
	width: min(100%, 28rem);
	margin: 2rem auto;
	padding: clamp(1.2rem, 4vw, 2rem);
	border-top: 4px solid var(--ktdm-primary);
	border-radius: calc(var(--ktdm-radius) + 4px);
	background: #fff;
	box-shadow: 0 22px 60px rgba(12, 30, 42, 0.14);
}

.ktdm-auth__mark {
	display: grid;
	place-items: center;
	width: 4.5rem;
	height: 4.5rem;
	margin: 0 auto 0.7rem;
	border-radius: 50% 50% 48% 52%;
	background: var(--ktdm-primary);
	color: #fff;
	font-size: 1.25rem;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.ktdm-auth h2 {
	margin: 0 0 1rem;
	text-align: center;
}

.ktdm-auth__form {
	display: grid;
	gap: 0.55rem;
}

.ktdm-auth__form > label:not(.ktdm-check) {
	font-size: 0.8rem;
	font-weight: 800;
}

.ktdm-auth__options {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0.25rem 0;
	font-size: 0.78rem;
}

.ktdm-auth__footer,
.ktdm-account-message {
	margin: 1rem 0 0;
	text-align: center;
}

.ktdm-editor-placeholder {
	padding: 1rem;
	border: 1px dashed #8c8f94;
	background: #f6f7f7;
	color: #50575e;
	text-align: center;
}

@keyframes ktdm-dialog-in {
	from { opacity: 0; transform: translateY(0.75rem) scale(0.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 1024px) {
	.ktdm-packages--grid {
		grid-template-columns: repeat(min(var(--ktdm-columns, 3), 2), minmax(0, 1fr));
	}

	.ktdm-package--detail {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 720px) {
	.ktdm-packages--grid,
	.ktdm-package--list {
		grid-template-columns: 1fr;
	}

	.ktdm-toolbar {
		align-items: stretch;
	}

	.ktdm-toolbar > label,
	.ktdm-toolbar .ktdm-button {
		flex: 1 1 100%;
	}

	.ktdm-stats {
		grid-template-columns: 1fr;
	}

	.ktdm-file-list li {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.ktdm-file-list li > .ktdm-button,
	.ktdm-file-list li > .ktdm-access-state,
	.ktdm-file-list li > [data-ktdm-open-dialog] {
		grid-column: 1 / -1;
		width: 100%;
	}

	.ktdm-table-wrap {
		overflow: visible;
		border: 0;
	}

	.ktdm-table {
		display: block;
		min-width: 0;
		background: transparent;
	}

	.ktdm-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	.ktdm-table tbody,
	.ktdm-table tr,
	.ktdm-table td {
		display: block;
		width: 100%;
	}

	.ktdm-table tr {
		margin-bottom: 0.75rem;
		overflow: hidden;
		border: 1px solid var(--ktdm-line);
		border-radius: var(--ktdm-radius);
		background: #fff;
	}

	.ktdm-table td {
		display: grid;
		grid-template-columns: minmax(6rem, 35%) minmax(0, 1fr);
		gap: 0.65rem;
		padding: 0.7rem;
		text-align: right;
	}

	.ktdm-table td::before {
		content: attr(data-label);
		color: var(--ktdm-muted);
		font-size: 0.7rem;
		font-weight: 800;
		letter-spacing: 0.04em;
		text-align: left;
		text-transform: uppercase;
	}

	.ktdm-table__title {
		justify-content: end;
		min-width: 0;
		text-align: left;
	}

	.ktdm-table td .ktdm-button,
	.ktdm-table td .ktdm-access-state {
		justify-self: end;
	}

	.ktdm-tree__header,
	.ktdm-dashboard__header {
		align-items: flex-start;
		flex-direction: column;
	}

	.ktdm-tree ul {
		padding-left: 0.65rem;
	}

	.ktdm-tree__file {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.ktdm-tree__action {
		flex: 1 1 100%;
		margin-left: 2.4rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ktdm-scope *,
	.ktdm-scope *::before,
	.ktdm-scope *::after,
	.ktdm-dialog {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media (forced-colors: active) {
	.ktdm-button,
	.ktdm-package,
	.ktdm-table-wrap,
	.ktdm-auth {
		border: 1px solid CanvasText;
	}
}
