﻿:root {
	--primary-color: #F4D793;
	--primary-hover: #F0A04B;
	--primary-dark: #E38B29;
	--text-primary: #333333;
	--text-muted: #6c757d;
	--card-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

body {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f8f9fa;
	position: relative;
	font-family: 'Prompt', sans-serif;
	background-image: url('https://source.unsplash.com/1600x900/?agriculture,farm,field');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

	body::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(135deg, rgba(244, 215, 147, 0.6) 0%, rgba(224, 150, 60, 0.5) 100%);
		z-index: 0;
	}

.container {
	position: relative;
	z-index: 1;
}

.login-container {
	max-width: 470px;
	margin: 0 auto;
	padding: 2rem 1rem;
}

.card {
	border: none;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: var(--card-shadow);
}

.card-header {
	background-color: white;
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
	padding: 1.5rem;
	text-align: center;
}

.brand-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: var(--primary-color);
	margin-bottom: 1rem;
	box-shadow: 0 5px 15px rgba(224, 138, 41, 0.3);
}

	.brand-logo i {
		font-size: 24px;
		color: var(--primary-dark);
	}

.card-header h4 {
	font-weight: 600;
	color: var(--text-primary);
	margin-bottom: 0.5rem;
}

.card-body {
	padding: 2rem;
}

.form-label {
	font-weight: 500;
	color: var(--text-primary);
	margin-bottom: 0.5rem;
}

.input-group {
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
	border-radius: 8px;
	overflow: hidden;
	transition: all 0.3s ease;
}

	.input-group:focus-within {
		box-shadow: 0 3px 15px rgba(224, 138, 41, 0.15);
	}

.input-group-text {
	background-color: white;
	border-right: none;
	color: var(--text-muted);
}

.form-control {
	border-left: none;
	padding: 0.75rem 1rem;
	font-size: 0.95rem;
}

	.form-control:focus {
		box-shadow: none;
		border-color: #ced4da;
	}

.btn-outline-secondary {
	border-color: #ced4da;
	color: var(--text-muted);
}

	.btn-outline-secondary:hover {
		background-color: var(--primary-color);
		border-color: var(--primary-color);
		color: var(--text-primary);
	}

.btn-custom {
	background-color: var(--primary-color);
	color: var(--text-primary);
	font-weight: 600;
	padding: 0.75rem 1.5rem;
	border-radius: 8px;
	width: 100%;
	margin-top: 1rem;
	transition: all 0.3s ease;
	border: none;
}

	.btn-custom:hover {
		background-color: var(--primary-hover);
		color: white;
		transform: translateY(-2px);
		box-shadow: 0 5px 15px rgba(224, 138, 41, 0.3);
	}

.text-danger {
	color: #dc3545;
	font-size: 0.85rem;
	margin-top: 0.3rem;
}

.captcha-container {
	background-color: #f8f9fa;
	padding: 0.75rem;
	border-radius: 8px;
	text-align: center;
	font-size: 1.2rem;
	letter-spacing: 3px;
	font-weight: 600;
	color: var(--text-primary);
	position: relative;
	overflow: hidden;
	box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.1);
}

	.captcha-container::before {
		content: '';
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		background-image: repeating-linear-gradient( 45deg, transparent, transparent 5px, rgba(0, 0, 0, 0.02) 5px, rgba(0, 0, 0, 0.02) 10px );
	}

@media (max-width: 576px) {
	.login-container {
		padding: 1rem 0.5rem;
	}

	.card-body {
		padding: 1.5rem;
	}

	.brand-logo {
		width: 50px;
		height: 50px;
	}
}

/* Animation */
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.card {
	animation: fadeIn 0.5s ease-out;
}
