.kol-device-login-details {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin: 10px auto 0;
	text-align: center;
}

.kol-device-login-details__label,
.kol-device-login-details__status {
	color: inherit;
	font-size: 12px;
	line-height: 1.35;
	opacity: .76;
}

.kol-device-login-details__code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: clamp(20px, 2vw, 28px);
	font-variant-numeric: tabular-nums;
	letter-spacing: .12em;
	line-height: 1.15;
}

.kol-device-login-details__status[data-state="approved"] {
	color: #237a35;
	font-weight: 700;
	opacity: 1;
}

.kol-device-login-details__status[data-state="denied"],
.kol-device-login-details__status[data-state="expired"],
.kol-device-login-details__status[data-state="error"] {
	color: #b42318;
	font-weight: 700;
	opacity: 1;
}

.kol-device-notice {
	background: #eef7ff;
	border: 1px solid #a8cff0;
	border-radius: 10px;
	color: #102a43;
	display: grid;
	gap: 4px;
	margin: 0 0 16px;
	padding: 12px 14px;
}

.kol-device-notice b {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 22px;
	font-variant-numeric: tabular-nums;
	letter-spacing: .12em;
}

.kol-device-notice--error {
	background: #fff1f0;
	border-color: #f2b8b5;
	color: #7a201b;
}

.kol-device-confirmation-wrap {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: min(680px, calc(100vh - 80px));
	padding: 24px;
}

.kol-device-confirmation {
	background: #fff;
	border: 1px solid #d8e1db;
	border-radius: 18px;
	box-shadow: 0 18px 55px rgba(16, 42, 67, .12);
	color: #102a43;
	margin: auto;
	max-width: 520px;
	padding: clamp(24px, 5vw, 42px);
	text-align: center;
	width: 100%;
}

.kol-device-confirmation__eyebrow {
	color: #3f8f22;
	display: block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.kol-device-confirmation h1 {
	color: inherit;
	font-size: clamp(26px, 5vw, 38px);
	line-height: 1.1;
	margin: 0 0 10px;
}

.kol-device-confirmation > p {
	font-size: 15px;
	line-height: 1.55;
	margin: 0 auto 18px;
}

.kol-device-confirmation__code {
	background: #f2f7f0;
	border: 2px solid #8db87e;
	border-radius: 12px;
	color: #183d12;
	display: block;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: clamp(34px, 9vw, 52px);
	font-variant-numeric: tabular-nums;
	font-weight: 800;
	letter-spacing: .12em;
	margin: 22px 0;
	padding: 14px 10px;
}

.kol-device-confirmation__device {
	background: #f7f9f8;
	border-radius: 10px;
	display: grid;
	gap: 2px;
	margin: 0 0 14px;
	padding: 12px;
}

.kol-device-confirmation__device span {
	font-size: 12px;
	opacity: .68;
}

.kol-device-confirmation__account {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: center;
	margin: 14px 0;
}

.kol-device-confirmation__account img {
	border-radius: 50%;
	height: 48px;
	width: 48px;
}

.kol-device-confirmation__account span,
.kol-device-confirmation__account strong {
	display: block;
	text-align: left;
}

.kol-device-confirmation__account span {
	font-size: 12px;
	opacity: .75;
}

.kol-device-confirmation__account strong {
	font-size: 15px;
	margin-top: 2px;
}

.kol-device-confirmation__check {
	align-items: flex-start;
	background: #fff8e7;
	border: 1px solid #f0d58a;
	border-radius: 10px;
	cursor: pointer;
	display: flex;
	gap: 10px;
	margin: 18px 0;
	padding: 12px;
	text-align: left;
}

.kol-device-confirmation__check input {
	flex: 0 0 auto;
	height: 18px;
	margin: 2px 0 0;
	width: 18px;
}

.kol-device-confirmation__actions {
	display: grid;
	gap: 10px;
}

.kol-device-confirmation__approve,
.kol-device-confirmation__deny,
.kol-device-confirmation__secondary {
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	display: block;
	font-size: 15px;
	font-weight: 800;
	padding: 13px 18px;
	text-align: center;
	text-decoration: none;
	width: 100%;
}

.kol-device-confirmation__approve {
	background: #469d25;
	color: #fff;
}

.kol-device-confirmation__approve:disabled {
	cursor: not-allowed;
	opacity: .45;
}

.kol-device-confirmation__deny,
.kol-device-confirmation__secondary {
	background: #edf1ee;
	color: #26372c;
}

.kol-device-confirmation__status {
	font-weight: 700;
	margin: 14px 0 0 !important;
	min-height: 24px;
}

.kol-device-confirmation__warning {
	color: #8a342d;
	font-size: 12px !important;
	margin: 10px 0 0 !important;
}

.kol-device-confirmation[data-decision="approved"] .kol-device-confirmation__status {
	color: #237a35;
}

.kol-device-confirmation[data-decision="denied"] .kol-device-confirmation__status {
	color: #b42318;
}

@media (prefers-color-scheme: dark) {
	body.kol-dark-mode .kol-device-confirmation,
	html[data-theme="dark"] .kol-device-confirmation {
		background: #101713;
		border-color: #314238;
		color: #edf5ef;
	}

	body.kol-dark-mode .kol-device-confirmation__device,
	html[data-theme="dark"] .kol-device-confirmation__device {
		background: #18231d;
	}
}

@media (max-width: 600px) {
	.kol-device-confirmation-wrap {
		min-height: 100vh;
		padding: 12px;
	}

	.kol-device-confirmation {
		border-radius: 14px;
		padding: 24px 18px;
	}
}
