
:root {
	--brand-primary: #6f42c1;   /* purple – adjust to your school colours */
	--brand-dark:    #4b2d8a;
}

body {
	background-color: #f8f9fa;
	font-size: 14px;
}

/* ── Navbar ── */
.navbar {
	background-color: var(--brand-primary) !important;
}
.navbar-brand {
	font-weight: 700;
	letter-spacing: .03em;
}
.navbar .nav-link,
.navbar .navbar-brand {
	color: #fff !important;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus {
	color: #e0d4ff !important;
}
.navbar .dropdown-menu {
	border: none;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}
.navbar .dropdown-item:hover {
	background-color: #f0eaff;
	color: var(--brand-dark);
}
.navbar .dropdown-item .bi {
	width: 1.25em;
	text-align: center;
	color: var(--brand-primary);
}

/* ── Hero card ── */
.hero-card {
	background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-dark) 100%);
	color: #fff;
	border-radius: .75rem;
}
.hero-card .year-badge {
	background: rgba(255,255,255,.2);
	border-radius: .5rem;
	padding: .25rem .75rem;
	font-size: 1.1rem;
	font-weight: 600;
}

/* ── Quick-action tiles ── */
.tile-card {
	border: none;
	border-radius: .65rem;
	transition: transform .15s, box-shadow .15s;
	cursor: pointer;
}
.tile-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.12);
}
.tile-card .tile-icon {
	font-size: 2rem;
	color: var(--brand-primary);
}
.tile-card .card-title {
	font-size: .95rem;
	font-weight: 600;
}

/* ── Footer ── */
footer {
	font-size: .8rem;
	color: #6c757d;
}
