.slf-login-wrap {
	max-width: var(--slf-max-width, 380px);
	margin: 0 auto;
	font-family: var(--slf-font, inherit) !important;
	font-size: var(--slf-font-size, 15px) !important;
	color: var(--slf-text, #1f2933) !important;
}

.slf-login-wrap .slf-login-form {
	background: var(--slf-bg, #ffffff) !important;
	border-radius: var(--slf-radius, 8px) !important;
	padding: 28px 24px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06);
}

.slf-align-left { text-align: left; }
.slf-align-center { text-align: center; }
.slf-align-right { text-align: right; }

.slf-login-wrap .slf-form-title {
	margin: 0 0 20px;
	font-family: inherit !important;
	font-size: 1.4em;
	font-weight: 600;
	color: var(--slf-text, #1f2933) !important;
}

.slf-field {
	margin: 0 0 16px;
}

.slf-login-wrap .slf-field label {
	display: block;
	margin-bottom: 6px;
	font-weight: 500;
	color: var(--slf-label, #4b5563) !important;
}

.slf-login-wrap .slf-field input[type="text"],
.slf-login-wrap .slf-field input[type="password"] {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	background: var(--slf-input-bg, #ffffff) !important;
	border: 1px solid var(--slf-input-border, #d1d5db) !important;
	border-radius: calc(var(--slf-radius, 8px) * 0.6);
	color: var(--slf-text, #1f2933) !important;
	font-family: inherit !important;
	font-size: inherit !important;
	transition: border-color 0.15s ease;
	box-shadow: none;
	text-align: left !important;
}

.slf-login-wrap .slf-field input[type="text"]:focus,
.slf-login-wrap .slf-field input[type="password"]:focus {
	outline: none;
	border-color: var(--slf-button-bg, #2563eb) !important;
}

.slf-login-wrap .slf-remember label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 400;
	color: var(--slf-text, #1f2933) !important;
	cursor: pointer;
}

.slf-remember input[type="checkbox"] {
	margin: 0;
}

.slf-submit {
	margin-bottom: 0;
}

.slf-login-wrap .slf-login-form button[type="submit"] {
	display: inline-block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 11px 18px;
	background: var(--slf-button-bg, #2563eb) !important;
	color: var(--slf-button-text, #ffffff) !important;
	border: none !important;
	border-radius: calc(var(--slf-radius, 8px) * 0.6);
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease;
	box-shadow: none;
}

.slf-login-wrap .slf-login-form button[type="submit"]:hover {
	background: var(--slf-button-hover, #1d4ed8) !important;
	color: var(--slf-button-text, #ffffff) !important;
}

/* Flat, text-style logout link — no fill, no border, no shadow. */
.slf-logout-wrap {
	font-family: var(--slf-font, inherit) !important;
	font-size: var(--slf-font-size, 15px) !important;
}

.slf-logout-status {
	color: var(--slf-text, #1f2933) !important;
	margin-right: 6px;
}

.slf-logout-button {
	display: inline-block;
	background: none !important;
	border: none !important;
	padding: 0 !important;
	color: var(--slf-button-bg, #2563eb) !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: 500;
	text-decoration: underline;
	cursor: pointer;
	transition: color 0.15s ease;
	box-shadow: none;
}

.slf-logout-button:hover {
	color: var(--slf-button-hover, #1d4ed8) !important;
}

.slf-register-link {
	margin: 16px 0 0;
	font-size: 0.92em;
}

.slf-register-link a {
	color: var(--slf-button-bg, #2563eb) !important;
	text-decoration: underline;
}

.slf-register-link a:hover {
	color: var(--slf-button-hover, #1d4ed8) !important;
}

.slf-error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #b91c1c !important;
	padding: 10px 12px;
	border-radius: 6px;
	margin: 0 0 16px;
	font-size: 0.9em;
}

.slf-already-logged-in {
	font-family: var(--slf-font, inherit) !important;
}
