.login-container {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--obra-surface);
	padding: 24px;
}

.card {
	border: none;
	border-radius: 0.9rem;
	box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1);
	background: #fff;
}

.badge-custom {
	display: inline-block;
	background: rgba(47, 72, 88, 0.1);
	color: var(--obra-brand);
	padding: 6px 16px;
	border-radius: 50px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.input-group {
	background: var(--obra-surface);
	border: 1px solid var(--obra-line);
}

.input-group:focus-within {
	border-color: var(--obra-brand);
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(47, 72, 88, 0.2);
}

.input-group .input-group-text,
.input-group .form-control {
	background: transparent;
	border: none;
	box-shadow: none;
}

.btn-login {
	background-color: var(--obra-brand);
	border-color: var(--obra-brand);
	color: #fff;
}

.btn-login:hover,
.btn-login:focus {
	background-color: var(--obra-brand-deep);
	border-color: var(--obra-brand-deep);
	color: #fff;
}

/* ===== Assinatura ObraApp · Powered by HSYS ===== */
.obra-sig {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
	line-height: 1;
	--obra-ink: #0b2338;
	--obra-muted: #6a7d8c;
	--obra-sig-accent: color-mix(in srgb, var(--obra-brand) 62%, #000);
	--obra-sig-line: #cbd5dd;
}
.obra-sig .obra-name { font-weight: 800; font-size: 1.2rem; letter-spacing: -.03em; color: var(--obra-ink); }
.obra-sig .obra-name b { color: var(--obra-sig-accent); font-weight: 800; }
.obra-sig .obra-sep { width: 1px; height: 15px; background: var(--obra-sig-line); flex-shrink: 0; }
.obra-sig .obra-by { font-size: .64rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; color: var(--obra-muted); }
.obra-sig .obra-by b { color: var(--obra-ink); font-weight: 700; }
