/* Doorguard UI pack — structural chrome; SW tokens can override variables. */
.pm-dg {
	--pm-dg-gap: 0.75rem;
	--pm-dg-border: currentColor;
	margin: 2rem 0;
	font-family: inherit;
}
.pm-dg__header { margin-bottom: 1.25rem; }
.pm-dg__kicker { text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.75rem; opacity: 0.7; }
.pm-dg__title { margin: 0.25rem 0; font-size: 1.5rem; }
.pm-dg__progress { font-variant-numeric: tabular-nums; opacity: 0.85; }
.pm-dg__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--pm-dg-gap);
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
}
.pm-dg__slot {
	aspect-ratio: 1;
	border: 1px solid color-mix(in srgb, var(--pm-dg-border) 25%, transparent);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.35rem;
	font-size: 0.7rem;
	text-align: center;
	opacity: 0.35;
}
.pm-dg__slot.is-filled { opacity: 1; background: color-mix(in srgb, var(--pm-dg-border) 8%, transparent); }
.pm-dg__collector { max-width: 28rem; }
.pm-dg__label { display: grid; gap: 0.25rem; margin-bottom: 0.75rem; }
.pm-dg__check { display: flex; gap: 0.5rem; align-items: center; margin-bottom: 0.75rem; }
.pm-dg__submit { cursor: pointer; }
.pm-dg__ack { font-weight: 600; }
.pm-dg-gate { margin: 0; padding: 2rem 1rem; }
@media (max-width: 640px) {
	.pm-dg__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
