body{
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100vh;
	font-family: 'Jost', sans-serif;
	background: linear-gradient(to bottom, #1e3a5f, #2f5f8f, #4a6d8c);
}

/* contenedor principal */
.login{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* tarjeta */
.login-card{
	width: 360px;
	background: #f4f6f8;
	border-radius: 12px;
	box-shadow: 0 15px 40px rgba(0,0,0,0.3);
	padding: 40px;
	text-align: center;
	border-top: 5px solid #ff8c00; /* naranja */
}

/* logo */
.login-card img{
	width: 120px;
	margin-bottom: 15px;
}

/* texto pequeño */
.eyebrow{
	font-size: 0.9em;
	color: #ff8c00;
	margin: 0;
	font-weight: bold;
	letter-spacing: 1px;
}

/* titulo */
.login-card h1{
	margin: 10px 0;
	color: #1e3a5f;
}

/* descripcion */
.lead{
	font-size: 0.9em;
	color: #6b7280;
	margin-bottom: 25px;
}

/* formulario */
.login-form{
	display: flex;
	flex-direction: column;
}

/* labels */
.login-form label{
	text-align: left;
	margin-top: 12px;
	font-weight: bold;
	color: #374151;
}

/* inputs */
.login-form input{
	width: 100%;
	height: 42px;
	background: #ffffff;
	margin-top: 6px;
	padding: 10px;
	border: 1px solid #d1d5db;
	outline: none;
	border-radius: 6px;
	transition: 0.2s;
}

.login-form input:focus{
	border-color: #1e3a5f;
	box-shadow: 0 0 0 2px rgba(30,58,95,0.2);
}

/* boton */
.btn{
	width: 100%;
	height: 42px;
	margin-top: 28px;
	color: #fff;
	background: #1e3a5f; /* azul */
	font-size: 1em;
	font-weight: bold;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: 0.25s;
}

.btn:hover{
	background: #ff8c00; /* naranja al pasar mouse */
}

/* error */
.field-error{
	color: #dc2626;
	font-size: 0.9em;
	margin-top: 10px;
}

/* aviso de privacidad */
.privacy-notice {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	background: #fff8ed;
	border: 1px solid #ffd080;
	border-left: 4px solid #ff8c00;
	border-radius: 8px;
	padding: 10px 12px;
	margin-bottom: 16px;
	font-size: 0.78em;
	color: #7a4f00;
	line-height: 1.5;
}
.privacy-notice svg {
	flex-shrink: 0;
	width: 15px;
	height: 15px;
	margin-top: 2px;
	stroke: #ff8c00;
}
.privacy-notice strong {
	color: #c46200;
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 440px) {
	.login-card {
		width: calc(100% - 32px);
		padding: 28px 20px;
		border-radius: 10px;
	}
	.login-card img {
		width: 90px;
	}
	.login-card h1 {
		font-size: 1.35rem;
	}
	.lead {
		font-size: 0.82em;
	}
}

@media (max-width: 320px) {
	.login-card {
		width: calc(100% - 20px);
		padding: 22px 14px;
	}
	.login-card h1 {
		font-size: 1.2rem;
	}
	.btn {
		height: 46px;
		font-size: 0.95em;
	}
}