.sbcv-auth,
.sbcv-account {
	box-sizing: border-box;
	width: min(100%, 760px);
	margin: 32px auto;
	padding: 24px;
	color: #18212f;
	background: #ffffff;
	border: 1px solid #d7dee8;
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(24, 33, 47, 0.08);
}

.sbcv-auth *,
.sbcv-account * {
	box-sizing: border-box;
}

.sbcv-auth h1,
.sbcv-account h1,
.sbcv-account h2 {
	margin: 0 0 18px;
	line-height: 1.2;
	letter-spacing: 0;
}

.sbcv-auth label,
.sbcv-account label {
	display: block;
	margin: 14px 0 6px;
	font-weight: 700;
}

.sbcv-auth input[type="email"],
.sbcv-auth input[type="password"],
.sbcv-auth input[type="text"],
.sbcv-account input[type="email"],
.sbcv-account input[type="password"],
.sbcv-account input[type="text"] {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	color: #18212f;
	background: #ffffff;
	border: 1px solid #aeb9c8;
	border-radius: 6px;
}

.sbcv-auth input:focus,
.sbcv-account input:focus,
.sbcv-auth button:focus,
.sbcv-account button:focus,
.sbcv-auth a:focus,
.sbcv-account a:focus {
	outline: 3px solid #2f6feb;
	outline-offset: 2px;
}

.sbcv-password-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	align-items: center;
}

.sbcv-password-row button,
.sbcv-inline-action button,
.sbcv-secondary {
	min-height: 44px;
	padding: 9px 14px;
	color: #18212f;
	background: #eef3f8;
	border: 1px solid #b7c2d0;
	border-radius: 6px;
	cursor: pointer;
}

.sbcv-auth-button,
.sbcv-danger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin-top: 18px;
	padding: 10px 18px;
	color: #ffffff;
	background: #0f6b5f;
	border: 1px solid #0f6b5f;
	border-radius: 6px;
	text-decoration: none;
	cursor: pointer;
}

.sbcv-danger {
	background: #b42318;
	border-color: #b42318;
}

.sbcv-check {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-weight: 500;
}

.sbcv-check input {
	margin-top: 5px;
}

.sbcv-auth-links {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 18px;
}

.sbcv-auth-message {
	margin: 0 0 18px;
	padding: 12px 14px;
	border-radius: 6px;
	border: 1px solid #b7c2d0;
}

.sbcv-auth-message--success {
	background: #edf8f4;
	border-color: #87c9b5;
}

.sbcv-auth-message--error {
	background: #fff1f0;
	border-color: #f0a9a3;
}

.sbcv-hp {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.sbcv-strength {
	min-height: 22px;
	margin-top: 6px;
	font-size: 0.92rem;
}

@media (max-width: 640px) {
	.sbcv-auth,
	.sbcv-account {
		margin: 16px auto;
		padding: 18px;
		border-radius: 0;
	}

	.sbcv-password-row {
		grid-template-columns: 1fr;
	}
}
