/* Login — alinhado ao tema neutro do painel */
:root {
	--login-bg: #0c0c0e;
	--login-surface: #141416;
	--login-raised: #1a1a1e;
	--login-border: #2a2a32;
	--login-text: #e4e4e7;
	--login-muted: #a1a1aa;
}

html {
	height: 100%;
}

body.login-page {
	margin: 0;
	min-height: 100%;
	min-height: 100vh;
	min-height: 100dvh;
	background: var(--login-bg);
	color: var(--login-text);
	font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	box-sizing: border-box;
}

.login-wrap {
	width: 100%;
	max-width: 400px;
}

.login-card {
	background: var(--login-surface);
	border: 1px solid var(--login-border);
	border-radius: 10px;
	padding: 2rem 1.75rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

.login-card .logo-wrap {
	text-align: center;
	margin-bottom: 1.25rem;
}

.login-card .logo-wrap img {
	max-width: min(100%, 280px);
	max-height: 88px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.login-card .form-control {
	background: var(--login-raised);
	border: 1px solid var(--login-border);
	color: var(--login-text);
	border-radius: 8px;
}

.login-card .form-control::placeholder {
	color: var(--login-muted);
}

.login-card .form-control:focus {
	background: #1f1f24;
	border-color: #52525b;
	color: var(--login-text);
	box-shadow: 0 0 0 2px rgba(82, 82, 91, 0.35);
	outline: none;
}

.login-card .btn-login {
	background: var(--login-raised);
	border: 1px solid var(--login-border);
	color: var(--login-text);
	border-radius: 8px;
	font-weight: 600;
	padding: 0.65rem 1rem;
}

.login-card .btn-login:hover {
	background: #242429;
	border-color: #3f3f46;
	color: var(--login-text);
}

.login-footer {
	text-align: center;
	margin-top: 1.25rem;
	font-size: 0.85rem;
}

.login-footer a {
	color: var(--login-muted);
	text-decoration: none;
}

.login-footer a:hover {
	color: var(--login-text);
}
