/* GPA-specific styles */
#usct-gpa .usct-gpa-controls {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 16px;
}

#usct-gpa .usct-gpa-headers {
	display: grid;
	grid-template-columns: 2fr 1fr 1.5fr auto;
	gap: 12px;
	padding: 0 0 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--usct-text-muted);
}

#usct-gpa .usct-gpa-row {
	display: grid;
	grid-template-columns: 2fr 1fr 1.5fr auto;
	gap: 12px;
	align-items: center;
	margin-bottom: 10px;
}

#usct-gpa .usct-gpa-row input,
#usct-gpa .usct-gpa-row select {
	padding: 8px 10px;
	font-size: 14px;
}

#usct-gpa .usct-gpa-remove {
	background: none;
	border: none;
	color: var(--usct-error);
	font-size: 13px;
	cursor: pointer;
	font-weight: 600;
	padding: 4px 8px;
	font-family: inherit;
	white-space: nowrap;
}

#usct-gpa .usct-gpa-remove:hover { text-decoration: underline; }

/* When type column is visible (weighted mode), expand grid */
#usct-gpa .usct-gpa-headers:has(.usct-gpa-col-type-header:not([hidden])),
#usct-gpa .usct-gpa-row:has(.usct-gpa-type:not([hidden])) {
	grid-template-columns: 2fr 1fr 1.5fr 1.2fr auto;
}

@media (max-width: 640px) {
	#usct-gpa .usct-gpa-controls { grid-template-columns: 1fr; }
	#usct-gpa .usct-gpa-headers,
	#usct-gpa .usct-gpa-row {
		grid-template-columns: 1fr 80px 1fr;
	}
	#usct-gpa .usct-gpa-col-course,
	#usct-gpa .usct-gpa-row .usct-gpa-course { grid-column: 1 / -1; }
	#usct-gpa .usct-gpa-col-action,
	#usct-gpa .usct-gpa-row .usct-gpa-remove { grid-column: 1 / -1; text-align: right; }
	#usct-gpa .usct-gpa-col-type-header,
	#usct-gpa .usct-gpa-row .usct-gpa-type { grid-column: 1 / -1; }
}
