.dtk-push-root {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 99990;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.35rem;
	max-width: min(20rem, calc(100vw - 2rem));
}

.dtk-push-root--admin,
.dtk-push-root--demo {
	position: static;
	max-width: none;
	align-items: flex-start;
	margin: 0.75rem 0 1.5rem;
}

.dtk-push-root--demo .dtk-push-status {
	text-align: left;
}

.dtk-push-demo {
	max-width: 36rem;
	margin: 1.5rem auto;
	padding: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 12px;
	background: #fff;
}

@media (max-width: 600px) {
	.dtk-push-demo {
		margin: 1rem;
		padding: 1.15rem;
	}

	.dtk-push-btn,
	.dtk-push-btn--send {
		width: 100%;
		min-height: 2.75rem;
		justify-content: center;
	}

	.dtk-push-root--demo {
		align-items: stretch;
		width: 100%;
	}
}

.dtk-push-demo__intro {
	margin: 0 0 1.25rem;
	color: #374151;
}

.dtk-push-demo__step + .dtk-push-demo__step {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.dtk-push-demo__heading {
	margin: 0 0 0.75rem;
	font-size: 1.125rem;
}

.dtk-push-btn--send {
	border-radius: 10px;
	padding: 0.85rem 1.25rem;
	font-size: 1rem;
}

.dtk-push-demo__result {
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
	color: #374151;
}

.dtk-push-demo--off {
	padding: 1rem;
	background: #fef3c7;
	border-radius: 8px;
}

.dtk-push-btn {
	appearance: none;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 999px;
	background: #111827;
	color: #fff;
	font: inherit;
	font-size: 0.875rem;
	line-height: 1.2;
	padding: 0.65rem 1rem;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	box-shadow: 0 8px 24px rgba(17, 24, 39, 0.18);
	transition: transform 0.15s ease, opacity 0.15s ease;
}

.dtk-push-btn:hover:not(:disabled) {
	transform: translateY(-1px);
}

.dtk-push-btn:disabled {
	opacity: 0.72;
	cursor: default;
}

.dtk-push-btn.is-active {
	background: #065f46;
	border-color: #047857;
}

.dtk-push-btn--reload {
	background: #fff;
	color: #111827;
	box-shadow: none;
	margin-top: 0.35rem;
}

.dtk-push-status {
	margin: 0;
	font-size: 0.8125rem;
	color: #6b7280;
	text-align: right;
}

.dtk-push-root--admin .dtk-push-status {
	text-align: left;
}

/* —— Admin wizard —— */
.dtk-push-admin .dtk-push-checks {
	margin: 1rem 0 1.5rem;
	padding: 1rem 1.25rem;
	background: #f6f7f7;
	border: 1px solid #c3c4c7;
	border-radius: 8px;
	max-width: 960px;
}

.dtk-push-checks__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.65rem;
}

.dtk-push-checks__item {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 0.65rem 0.75rem;
	align-items: start;
	font-size: 13px;
}

.dtk-push-checks__icon {
	width: 1.25rem;
	height: 1.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	font-weight: 700;
	font-size: 11px;
}

.dtk-push-checks__item.is-ok .dtk-push-checks__icon {
	background: #d1fae5;
	color: #065f46;
}

.dtk-push-checks__item.is-fail .dtk-push-checks__icon {
	background: #fee2e2;
	color: #991b1b;
}

.dtk-push-checks__item.is-manual .dtk-push-checks__icon {
	background: #fef3c7;
	color: #92400e;
}

.dtk-push-checks__body {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.dtk-push-checks__msg {
	color: #50575e;
}

.dtk-push-checks__action {
	font-size: 12px;
	white-space: nowrap;
}

.dtk-push-wizard__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1rem;
	max-width: 960px;
}

.dtk-push-wizard__tab {
	appearance: none;
	border: 1px solid #c3c4c7;
	background: #fff;
	border-radius: 999px;
	padding: 0.45rem 0.9rem;
	font: inherit;
	font-size: 13px;
	cursor: pointer;
}

.dtk-push-wizard__tab.is-active {
	background: #2271b1;
	border-color: #2271b1;
	color: #fff;
}

.dtk-push-wizard__panel {
	max-width: 960px;
	margin-bottom: 1rem;
}

.dtk-push-wizard__panel[hidden] {
	display: none !important;
}

.dtk-push-import {
	margin: 0 0 1.25rem;
	padding: 1rem 1.25rem;
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 8px;
	max-width: 960px;
}

.dtk-push-wizard__step-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1rem;
	max-width: 960px;
}

.dtk-push-wizard__step-label {
	margin-left: auto;
	font-size: 13px;
	color: #50575e;
}

.dtk-push-parse-preview.is-ok {
	color: #065f46;
}

.dtk-push-parse-preview.is-error {
	color: #991b1b;
}

.dtk-push-field--flash {
	animation: dtk-push-field-flash 0.75s ease;
}

@keyframes dtk-push-field-flash {
	from {
		background-color: #ecfdf5;
	}
	to {
		background-color: transparent;
	}
}

.dtk-push-help {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	max-width: 960px;
}

.dtk-push-help ol {
	margin: 0.5rem 0 0 1.25rem;
}

.dtk-push-parse-preview {
	min-height: 1.25rem;
	font-size: 13px;
	color: #2271b1;
}

.dtk-push-verify-result.is-ok,
.dtk-push-send-result.is-ok {
	color: #065f46;
}

.dtk-push-verify-result.is-fail,
.dtk-push-send-result.is-fail {
	color: #991b1b;
}

.dtk-push-sa-status {
	margin: 0 0 0.5rem;
}

.dtk-push-wizard__actions {
	max-width: 960px;
}

.dtk-push-fieldset {
	margin: 0 0 1.25rem;
	padding: 1rem 1.25rem;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	max-width: 960px;
	background: #fff;
}

.dtk-push-fieldset--auto {
	background: #f6f7f7;
}

.dtk-push-fieldset legend {
	font-weight: 600;
	padding: 0 0.35rem;
}

.dtk-push-field-grid {
	display: grid;
	gap: 0.25rem 1rem;
}

@media (min-width: 782px) {
	.dtk-push-field-grid {
		grid-template-columns: 1fr 1fr;
	}
}

.dtk-push-field--auto {
	background: #eef0f1;
	color: #50575e;
	cursor: default;
}

.dtk-push-help--paste {
	margin-top: 0.5rem;
}
