.pb-auth-feedback {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	min-height: 16px;
	transition: color .15s;
}
.pb-auth-feedback[data-state="ok"]       { color: #10b981; font-weight: 600; }
.pb-auth-feedback[data-state="taken"]    { color: #dc2626; font-weight: 600; }
.pb-auth-feedback[data-state="invalid"]  { color: #f59e0b; }
.pb-auth-feedback[data-state="checking"] { color: #6b7280; font-style: italic; }

.grecaptcha-badge { visibility: hidden; }

.pb-auth-recaptcha-notice {
	font-size: 11px;
	color: #6b7280;
	margin-top: 8px;
	line-height: 1.4;
}
.pb-auth-recaptcha-notice a { color: #6b7280; }

.pb-auth-email-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 600;
}
.pb-auth-email-badge--verified   { background: #d1fae5; color: #065f46; }
.pb-auth-email-badge--unverified { background: #fee2e2; color: #991b1b; }

.pb-auth-lostpass,
.pb-auth-resetpass {
	max-width: 480px;
	margin: 40px auto;
	padding: 32px 28px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 4px 20px rgba(0,0,0,.06);
}
.pb-auth-lostpass h2,
.pb-auth-resetpass h2 {
	margin: 0 0 12px;
	color: #1e3a8a;
	font-size: 24px;
}
.pb-auth-form .pb-auth-field {
	margin-bottom: 16px;
}
.pb-auth-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
	color: #374151;
}
.pb-auth-form input[type="text"],
.pb-auth-form input[type="email"],
.pb-auth-form input[type="password"] {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	font-size: 15px;
	box-sizing: border-box;
}
.pb-auth-form input:focus {
	outline: none;
	border-color: #1e3a8a;
	box-shadow: 0 0 0 3px rgba(30,58,138,.12);
}
.pb-auth-btn {
	display: inline-block;
	width: 100%;
	background: #dc2626;
	color: #fff;
	border: 0;
	padding: 12px 24px;
	border-radius: 10px;
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
}
.pb-auth-btn:hover { background: #b91c1c; color:#fff; }
.pb-auth-back {
	text-align: center;
	margin: 16px 0 0;
	font-size: 14px;
}
.pb-auth-back a { color: #6b7280; }
.pb-auth-msg {
	padding: 12px 16px;
	border-radius: 8px;
	margin-bottom: 16px;
	font-size: 14px;
}
.pb-auth-msg--success { background: #d1fae5; color: #065f46; }
.pb-auth-msg--error   { background: #fee2e2; color: #991b1b; }
