Index: frontend/src/components/StudentForm/StudentForm.tsx
===================================================================
--- frontend/src/components/StudentForm/StudentForm.tsx	(revision cc05ef98e53004cf217e64d56780113f944c905c)
+++ frontend/src/components/StudentForm/StudentForm.tsx	(revision 6130f827864132effcd3801db0e8148fa0df3fb5)
@@ -78,4 +78,5 @@
 		});
 	const [isLoading, setIsLoading] = useState(true);
+	const [hasExtracurricular, setHasExtracurricular] = useState(false);
 
 	// Update form when formData changes (e.g., after fetching user data)
@@ -206,5 +207,4 @@
 			const method = formData?.current_year ? "PATCH" : "POST";
 			const endpoint = "http://localhost:8000/auth/form/";
-			console.log(payload);
 			const res = await fetch(endpoint, {
 				method,
@@ -251,8 +251,8 @@
 		const handleClick = () => {
 			if (keyProp === "Немам") {
-				if (state.includes("Немам")) {
+				if (state.includes("None")) {
 					stateSetter([]);
 				} else {
-					stateSetter(["Немам"]);
+					stateSetter(["None"]);
 				}
 				setIsNemamSelected((prev) => ({
@@ -352,5 +352,5 @@
 						value={studyTrack}
 						onChange={(e) => setStudyTrack(e.target.value as Programs | "")}
-						className="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500"
+						className="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 custom-select"
 					>
 						<option value="">Одбери смер</option>
@@ -375,5 +375,5 @@
 					value={year}
 					onChange={(e) => setYear(Number(e.target.value))}
-					className="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500"
+					className="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 custom-select"
 				>
 					{YEARS.map((y) => (
@@ -400,4 +400,16 @@
 				validationErrors={validationErrors}
 			/>
+			<div>
+				<label className="flex items-center gap-2 text-lg font-medium text-gray-900 mb-2">
+					<input
+						type="checkbox"
+						checked={hasExtracurricular}
+						onChange={() => setHasExtracurricular(!hasExtracurricular)}
+						className="form-checkbox h-4 w-5 mr-2 accent-green-600"
+					/>
+					Имам завршено HPC курсеви, или некои други екстракурикуларни
+					активности кои носат вкупно 6 кредити.
+				</label>
+			</div>
 			<div>
 				<h3 className="text-lg font-medium text-gray-900 mb-2">
@@ -453,5 +465,7 @@
 				<div className="flex flex-wrap gap-2">
 					{["Немам", ...distinctSubjectData.tags].map((item) => {
-						const isSelected = domains.includes(item);
+						const isSelected =
+							domains.includes(item) ||
+							(item === "Немам" && isNemamSelected["domains"]);
 						const shouldBeDisabled =
 							isNemamSelected["domains"] && item !== "Немам";
@@ -481,5 +495,7 @@
 				<div className="flex flex-wrap gap-2">
 					{["Немам", ...distinctSubjectData.technologies].map((item) => {
-						const isSelected = technologies.includes(item);
+						const isSelected =
+							technologies.includes(item) ||
+							(item === "Немам" && isNemamSelected["tech"]);
 						const shouldBeDisabled =
 							isNemamSelected["tech"] && item !== "Немам";
@@ -509,5 +525,7 @@
 				<div className="flex flex-wrap gap-2">
 					{["Немам", ...EVALUATIONS].map((item) => {
-						const isSelected = evaluation.includes(item);
+						const isSelected =
+							evaluation.includes(item) ||
+							(item === "Немам" && isNemamSelected["eval"]);
 						const shouldBeDisabled =
 							isNemamSelected["eval"] && item !== "Немам";
@@ -551,5 +569,9 @@
 						.slice(0, showProfessors ? undefined : 10)
 						.map((item) => {
-							const isSelected = favoriteProfs.includes(item);
+							// hides "Nemam" when searching
+							if (item == "Немам" && professorsSearchTerm !== "") return;
+							const isSelected =
+								favoriteProfs.includes(item) ||
+								(item === "Немам" && isNemamSelected["prof"]);
 							const shouldBeDisabled =
 								isNemamSelected["prof"] && item !== "Немам";
Index: frontend/src/components/StudentForm/SubjectsSelector.tsx
===================================================================
--- frontend/src/components/StudentForm/SubjectsSelector.tsx	(revision cc05ef98e53004cf217e64d56780113f944c905c)
+++ frontend/src/components/StudentForm/SubjectsSelector.tsx	(revision 6130f827864132effcd3801db0e8148fa0df3fb5)
@@ -46,5 +46,4 @@
 				Положени предмети по семестри
 			</h3>
-
 			{studyTrack ? (
 				<div className="grid gap-6">
@@ -64,4 +63,8 @@
 							);
 
+							const seasonElectives = filteredElectiveSubjects.filter(
+								(subject) => subject.subject_info.semester % 2 === semester % 2
+							);
+
 							// const semesterElectives = filteredElectiveSubjects;
 
@@ -69,11 +72,22 @@
 							const electiveSlots = totalSlots - semesterMandatory.length;
 
-							const selectedElectivesForSemester = passedSubjects.filter(
-								(subject) =>
-									subject.subject_info.semester === semester &&
-									semesterElectives.some(
-										(elective) => elective.id === subject.id
-									)
-							);
+							const electivesSource =
+								(semesterSearchTerms[semester] || "") === ""
+									? semesterElectives
+									: seasonElectives;
+
+							const selectedElectivesForSemester = passedSubjects
+								.filter(
+									(subject) =>
+										subject.subject_info.semester === semester &&
+										semesterElectives.some(
+											(elective) => elective.id === subject.id
+										)
+								)
+								.sort(
+									(a, b) =>
+										b.subject_info.participants[0] -
+										a.subject_info.participants[0]
+								);
 
 							return (
@@ -128,5 +142,7 @@
 												<input
 													type="text"
-													placeholder={`Пребарај изборни предмети за семестар ${semester}`}
+													placeholder={`Пребарај ${
+														semester % 2 === 0 ? "летни" : "зимски"
+													} изборни предмети`}
 													value={semesterSearchTerms[semester] || ""}
 													className="w-full px-3 py-2 mb-2 text-sm border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500"
@@ -164,6 +180,6 @@
 															Избери од достапните:
 														</p>
-														<div className="flex flex-wrap gap-2 max-h-32 overflow-y-auto">
-															{semesterElectives
+														<div className="flex flex-wrap gap-2 h-max">
+															{electivesSource
 																.filter(
 																	(subject) =>
@@ -182,4 +198,9 @@
 																					).toLowerCase()
 																				))
+																)
+																.sort(
+																	(a, b) =>
+																		b.subject_info.participants[0] -
+																		a.subject_info.participants[0]
 																)
 																.slice(0, 8)
@@ -206,4 +227,7 @@
 																))}
 														</div>
+														<p className="mt-3 text-xs text-gray-500 px-2 py-1">
+															Не можеш да го најдеш твојот предмет? Пребарај го.
+														</p>
 													</div>
 												)}
Index: frontend/src/constants/subjects.ts
===================================================================
--- frontend/src/constants/subjects.ts	(revision cc05ef98e53004cf217e64d56780113f944c905c)
+++ frontend/src/constants/subjects.ts	(revision 6130f827864132effcd3801db0e8148fa0df3fb5)
@@ -13,4 +13,5 @@
 
 export const EVALUATIONS_MAP = {
+	Немам: "None",
 	Теорија: "Theory",
 	Практично: "Practical",
Index: frontend/src/index.css
===================================================================
--- frontend/src/index.css	(revision cc05ef98e53004cf217e64d56780113f944c905c)
+++ frontend/src/index.css	(revision 6130f827864132effcd3801db0e8148fa0df3fb5)
@@ -2,2 +2,16 @@
 @tailwind components;
 @tailwind utilities;
+
+@layer utilities {
+	.custom-select {
+		-webkit-appearance: none;
+		-moz-appearance: none;
+		appearance: none;
+		background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D'http%3A//www.w3.org/2000/svg'%20viewBox%3D'0%200%2020%2020'%3E%3Cpath%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.5'%20d%3D'M6%208l4%204%204-4'/%3E%3C/svg%3E");
+		background-repeat: no-repeat;
+		background-position: right 0.75rem center;
+		background-size: 1rem;
+		padding-right: 2rem;
+		cursor: pointer;
+	}
+}
