
/* Academia Elegance - UFR Portal */
:root {
	--ae-ufr-ink: #11243f;
	--ae-ufr-muted: #63708a;
	--ae-ufr-line: #e7edf5;
	--ae-ufr-bg: #f7f9fc;
	--ae-ufr-card: #ffffff;
	--ae-ufr-accent: #123c69;
	--ae-ufr-gold: #b89146;
}
.ae-portal, .ae-ufr-grid, .ae-ufr-form, .ae-search-form, .ae-map, .ae-quiz {
	font-family: inherit;
	color: var(--ae-ufr-ink);
}
.ae-portal-hero {
	padding: clamp(2rem, 5vw, 4rem);
	border-radius: 32px;
	background: linear-gradient(135deg, #102842 0%, #1f5f8e 58%, #d8b76a 100%);
	color: #fff;
	margin: 2rem 0;
	box-shadow: 0 24px 80px rgba(17,36,63,.16);
}
.ae-portal-hero h2 {
	font-size: clamp(2rem, 5vw, 4.25rem);
	line-height: 1;
	margin: 0 0 1rem;
	letter-spacing: -0.05em;
}
.ae-portal-hero p { max-width: 760px; font-size: 1.1rem; opacity: .92; }
.ae-portal-actions {
	display: flex;
	gap: .7rem;
	flex-wrap: wrap;
	margin: 1.4rem 0 2rem;
}
.ae-portal-actions a, .ae-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: .8rem 1.1rem;
	background: var(--ae-ufr-accent);
	color: #fff !important;
	text-decoration: none;
	border: 0;
	cursor: pointer;
	font-weight: 700;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.ae-portal-actions a {
	background: #fff;
	color: var(--ae-ufr-accent) !important;
	border: 1px solid var(--ae-ufr-line);
}
.ae-portal-actions a:hover, .ae-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(17,36,63,.15);
}
.ae-section-title {
	margin: 2.5rem 0 1rem;
	font-size: clamp(1.7rem, 3vw, 2.8rem);
	letter-spacing: -.035em;
}
.ae-ufr-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1rem;
	margin: 1rem 0 2rem;
}
.ae-ufr-card {
	background: var(--ae-ufr-card);
	border: 1px solid var(--ae-ufr-line);
	border-radius: 24px;
	padding: 1.4rem;
	box-shadow: 0 16px 45px rgba(17,36,63,.07);
}
.ae-ufr-card h3 { margin-top: 0; letter-spacing: -.02em; }
.ae-ufr-meta {
	display: flex;
	gap: .4rem;
	flex-wrap: wrap;
	margin: .2rem 0 1rem;
}
.ae-ufr-meta span {
	background: var(--ae-ufr-bg);
	color: var(--ae-ufr-muted);
	padding: .35rem .6rem;
	border-radius: 999px;
	font-size: .86rem;
}
.ae-ufr-form, .ae-search-form, .ae-map, .ae-quiz {
	background: #fff;
	border: 1px solid var(--ae-ufr-line);
	border-radius: 28px;
	padding: clamp(1rem, 3vw, 2rem);
	box-shadow: 0 16px 45px rgba(17,36,63,.06);
	margin: 1.5rem 0;
}
.ae-ufr-form label, .ae-quiz label {
	display: grid;
	gap: .35rem;
	margin-bottom: 1rem;
	font-weight: 700;
}
.ae-ufr-form input, .ae-ufr-form textarea, .ae-ufr-form select, .ae-search-form input {
	width: 100%;
	border: 1px solid var(--ae-ufr-line);
	border-radius: 16px;
	padding: .9rem 1rem;
	background: #fbfdff;
	color: var(--ae-ufr-ink);
}
.ae-search-form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: .8rem;
	align-items: center;
}
.ae-ufr-notice, .ae-ufr-success {
	border-radius: 18px;
	padding: 1rem 1.2rem;
	margin: 1rem 0;
	background: #fff7e5;
	border: 1px solid #f2d99d;
	color: #684b0b;
}
.ae-ufr-success {
	background: #eaf9f0;
	border-color: #bde8ca;
	color: #155b31;
}
.ae-quiz-question {
	padding: 1rem;
	border: 1px solid var(--ae-ufr-line);
	border-radius: 18px;
	margin-bottom: .8rem;
}
.ae-quiz-result { margin-top: 1rem; font-weight: 800; }
.ae-map-results {
	margin-top: 1rem;
	display: grid;
	gap: .8rem;
}
.ae-map-item {
	padding: .8rem 1rem;
	border-radius: 16px;
	background: var(--ae-ufr-bg);
}
@media (max-width: 720px) {
	.ae-search-form { grid-template-columns: 1fr; }
	.ae-portal-actions { display: grid; }
}
