/* Shared Test Lab (admin + front-end shortcode) */
.dadan-lab-wrap {
	margin: 1.5em 0;
	max-width: 1100px;
	font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	color: #1d2327;
}

.dadan-lab-wrap h1,
.dadan-lab-wrap h2,
.dadan-lab-wrap h3 {
	color: inherit;
}

.dadan-lab-intro {
	margin: 0 0 1em;
	color: #50575e;
}

.dadan-lab-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 16px;
}

.dadan-lab-card {
	padding: 16px 18px;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
}

.dadan-lab-card h2 {
	margin: 0 0 8px;
	font-size: 1.1em;
}

.dadan-lab-card h3 {
	margin: 12px 0 6px;
	font-size: 13px;
}

.dadan-lab-card--wide {
	grid-column: 1 / -1;
}

.dadan-lab-card .description {
	margin: 0 0 8px;
	color: #646970;
	font-size: 13px;
}

.dadan-lab-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 8px 0;
}

.dadan-lab-actions .button,
.dadan-lab-actions button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 8px 14px;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	background: #f6f7f7;
	color: #1d2327;
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none;
}

.dadan-lab-actions .button-primary,
.dadan-lab-actions button.button-primary {
	background: #4a3cfa;
	border-color: #4a3cfa;
	color: #fff;
}

.dadan-lab-actions .button:hover,
.dadan-lab-actions button:hover {
	filter: brightness(0.97);
}

.dadan-lab-cta {
	margin: 12px 0;
}

.dadan-lab-status {
	min-height: 1.4em;
	color: #50575e;
	font-size: 13px;
}

.dadan-lab-pre {
	max-height: 220px;
	overflow: auto;
	margin: 0;
	padding: 12px 14px;
	border-radius: 6px;
	background: #1d2327;
	color: #f0f0f1;
	font-size: 12px;
	line-height: 1.45;
	white-space: pre-wrap;
	word-break: break-word;
}

.dadan-lab-pre--config {
	max-height: 360px;
}

.dadan-lab-log {
	max-height: 360px;
	overflow: auto;
	padding: 8px 10px;
	border-radius: 6px;
	background: #f6f7f7;
	border: 1px solid #dcdcde;
	font-family: Consolas, Monaco, monospace;
	font-size: 12px;
	line-height: 1.45;
}

.dadan-lab-log-row {
	padding: 4px 0;
	border-bottom: 1px solid #e2e4e7;
}

.dadan-lab-log-row--error strong,
.dadan-lab-log-row--warn strong {
	color: #b32d2e;
}

.dadan-lab-log-row--event strong {
	color: #2271b1;
}

.dadan-lab-log-time {
	color: #646970;
	margin-right: 6px;
}

.dadan-lab-log-detail {
	color: #2c3338;
	word-break: break-word;
}

.dadan-lab-notice {
	padding: 12px 14px;
	border-left: 4px solid #dba617;
	background: #fcf9e8;
	color: #1d2327;
}

.dadan-lab-byo {
	margin-top: 8px;
}

.dadan-lab-byo-previews {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 12px;
}

.dadan-lab-byo-fig {
	margin: 0;
}

.dadan-lab-byo-fig figcaption {
	margin-bottom: 6px;
	font-size: 12px;
	color: #646970;
}

.dadan-lab-preview {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0;
	border-radius: 8px;
	background: #111;
	object-fit: cover;
}

.dadan-lab-timer {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	padding: 8px 14px;
	border-radius: 999px;
	background: #1d2327;
	color: #fff;
	font-variant-numeric: tabular-nums;
	font-size: 14px;
	font-weight: 600;
}

.dadan-lab-timer.is-paused {
	background: #50575e;
}

.dadan-lab-timer-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #e02b26;
	animation: dadan-lab-blink 1.4s ease-in-out infinite;
}

.dadan-lab-timer.is-paused .dadan-lab-timer-dot {
	background: #dba617;
	animation: none;
}

@keyframes dadan-lab-blink {
	50% {
		opacity: 0.35;
	}
}

.dadan-lab-byo-meter {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	font-size: 12px;
	color: #646970;
}

.dadan-lab-byo-meter-track {
	flex: 1;
	max-width: 220px;
	height: 8px;
	border-radius: 999px;
	background: #dcdcde;
	overflow: hidden;
}

.dadan-lab-byo-meter-fill {
	height: 100%;
	width: 0%;
	background: #4a3cfa;
	transition: width 0.12s linear;
}

.dadan-lab-upload {
	margin: 8px 0 12px;
	max-width: 420px;
}

.dadan-lab-upload-meta {
	display: flex;
	justify-content: space-between;
	margin-bottom: 4px;
	font-size: 12px;
}

.dadan-lab-upload-track {
	height: 8px;
	border-radius: 999px;
	background: #dcdcde;
	overflow: hidden;
}

.dadan-lab-upload-fill {
	height: 100%;
	width: 0%;
	background: #00a32a;
	transition: width 0.15s ease;
}

.dadan-lab-pre--snap {
	max-height: 120px;
	margin-top: 8px;
}

@media (max-width: 700px) {
	.dadan-lab-byo-previews {
		grid-template-columns: 1fr;
	}
}

.dadan-lab-inline {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-right: 12px;
	font-size: 13px;
	color: #50575e;
}

.dadan-lab-checklist {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
}

.dadan-lab-checklist li {
	margin: 0;
	padding: 3px 8px;
	border-radius: 999px;
	border: 1px solid #dcdcde;
	background: #f6f7f7;
	color: #646970;
	font-size: 11px;
	font-family: Consolas, Monaco, monospace;
}

.dadan-lab-checklist li.is-seen {
	border-color: #00a32a;
	background: #edfaef;
	color: #007017;
}

@media (max-width: 900px) {
	.dadan-lab-grid {
		grid-template-columns: 1fr;
	}
}
