.llc-card-shell,
.llc-scanner-shell {
	background: #f8fafc;
	border: 1px solid #dbe3ea;
	border-radius: 8px;
	box-sizing: border-box;
	margin: 24px auto;
	max-width: 680px;
	padding: 28px;
}

.llc-card-shell h1,
.llc-scanner-shell h1 {
	font-size: 28px;
	line-height: 1.2;
	margin: 0 0 12px;
}

.llc-card-shell input,
.llc-scanner-shell input,
.llc-card-shell button,
.llc-scanner-shell button {
	box-sizing: border-box;
	font: inherit;
	min-height: 44px;
	width: 100%;
}

.llc-card-shell button,
.llc-scanner-shell button {
	background: #17202a;
	border: 0;
	border-radius: 8px;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	padding: 12px 16px;
}

.llc-card-shell label,
.llc-scanner-shell label {
	display: grid;
	font-weight: 700;
	gap: 6px;
	margin-bottom: 14px;
}

.llc-checkbox {
	align-items: flex-start;
	display: flex !important;
	font-weight: 400 !important;
	gap: 10px !important;
}

.llc-checkbox input {
	margin-top: 4px;
	min-height: auto;
	width: auto;
}

.llc-honeypot {
	left: -9999px;
	position: absolute;
}

.llc-digital-card {
	background: var(--llc-card);
	border-radius: 8px;
	color: var(--llc-text);
	margin: 18px 0;
	padding: 24px;
}

.llc-digital-card h2 {
	color: inherit;
	font-size: 26px;
	margin: 0 0 22px;
}

.llc-card-logo-row {
	margin: 0 0 16px;
	text-align: left;
}

.llc-card-logo-row[data-align="center"] {
	text-align: center;
}

.llc-card-logo-row[data-align="right"] {
	text-align: right;
}

.llc-card-logo {
	display: inline-block;
	height: var(--llc-logo-height, 64px);
	max-height: none;
	object-fit: contain;
	vertical-align: top;
	width: var(--llc-logo-width, 112px);
}

.llc-stamps {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(5, minmax(34px, 1fr));
	margin: 20px 0;
}

.llc-stamps span {
	align-items: center;
	aspect-ratio: 1;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	color: #17202a;
	display: flex;
	font-size: 18px;
	justify-content: center;
}

.llc-stamps span.is-filled {
	background: #b7f34b;
}

.llc-qr-panel,
.llc-email-panel,
.llc-conditions,
.llc-scan-card,
.llc-recover-card {
	background: #fff;
	border: 1px solid #dbe3ea;
	border-radius: 8px;
	margin-top: 16px;
	padding: 18px;
}

.llc-qr-code {
	background: #fff;
	display: grid;
	margin: 16px auto;
	max-width: 260px;
	place-items: center;
}

.llc-qr-code svg {
	height: auto;
	max-width: 100%;
	width: 100%;
}

.llc-message {
	border-radius: 8px;
	margin: 12px 0;
	padding: 10px 12px;
}

.llc-message-success {
	background: #ecfdf3;
	color: #067647;
}

.llc-message-error {
	background: #fef3f2;
	color: #b42318;
}

.llc-eyebrow {
	color: #0f766e;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.llc-scanner-brand {
	margin: 0 0 16px;
	text-align: center;
}

.llc-scanner-brand img {
	display: inline-block;
	height: auto;
	max-height: 110px;
	max-width: min(260px, 100%);
	object-fit: contain;
	vertical-align: top;
}

.llc-scanner-login-form {
	background: #fff;
	border: 1px solid #dbe3ea;
	border-radius: 8px;
	margin: 18px 0;
	padding: 18px;
}

.llc-secondary-button {
	background: #fff !important;
	border: 1px solid #dbe3ea !important;
	color: #17202a !important;
	margin-top: 10px;
}

#llc-scanner-video {
	background: #111;
	border-radius: 8px;
	display: block;
	min-height: 320px;
	object-fit: cover;
	width: 100%;
}

#llc-start-scanner {
	margin-top: 12px;
}

#llc-start-scanner:focus {
	outline: 3px solid #2271b1;
	outline-offset: 2px;
}

.llc-device-pair-form,
.llc-manual-qr-form {
	background: #fff;
	border: 1px solid #dbe3ea;
	border-radius: 8px;
	margin: 14px 0;
	padding: 14px;
}

.llc-device-pair-form[hidden] {
	display: none;
}

.llc-actions {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 480px) {
	.llc-card-shell,
	.llc-scanner-shell {
		margin: 12px;
		padding: 20px;
	}
}
