body, html {
	    font: normal normal normal 14px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;
}

	/* style for banner */
	#tdr_banner {
		background: transparent
			url(https://students.ucsd.edu/_resources/current_students/css/images/triton-banner.png)
			center top no-repeat;
		height: 52px;
		margin: 0 auto;
		max-width: 960px;
		width: 98%;
	}
	body.fluid #tdr_banner {
		max-width: none;
	}

	/* style for navigation */
	#navbar-list ul #current_students_nav a {
		background: transparent
			url(https://students.ucsd.edu/_resources/student_global/css/images/current_students_primary_nav.png)
			2px 0 no-repeat;
		background-color: #E3EDF8;
		background-color: rgba(255, 255, 255, 0.4);
		text-indent: -9999px;
		width: 110px;
	}
	#navbar-list ul #current_students_nav a:hover {
		background-color: #fff;
		background-color: rgba(255, 255, 255, 0.8);
	}

	@media only screen and (max-width: 768px) {
		#navbar-list ul #current_students_nav a {
			width: auto;
		}
	}
	.vertspacer10 {
		margin-top: 10px; /* add some vertical space */
	}
	.vertspacer20 {
		margin-top: 20px; /* add some vertical space */
	}
	.vertspacer30 {
		margin-top: 30px; /* add some vertical space */
	}
	.error {
    	color: #000000;
	}
	.privacy-statement-section {
    	display: block;
    	width: 72%;
    	margin: 0px;
    	color: #000000;
    	font-size: 80%;
	}
	.definitions-section {
   		color: #000000;
	}
	#h1-hp {
		text-transform: capitalize;
	}
	.m {
 		width: 560px;
 		padding-top: 00px;
 		padding-left: 00px;
 		height: auto;
	}
	.l {
 		width: 450px;
 		margin: 0px;
 		padding: 0px;
 		float: left;
 		text-align: left;
	}
	.lnarrow {
 		width: 200px;
 		margin: 0px;
 		padding: 0px;
 		float: left;
 		text-align: left;
	}
	.r {
 		width: 300px;
 		margin: 0px;
 		padding: 0px;
 		float: right;
 		text-align: left;
	}
	.fixedheight {
 		height: 20px;
	}
	.fixedheightmsg {
 		padding-top: 10px;
 		height: 30px;
	}
	.a {
 		clear: both;
 		width: 470px;
 		padding: 10px;
	}
	#h1-hp {
		text-transform: capitalize;
	}

/* 1. TABLE & LAYOUT STABILITY */
#summerSSOForm table {
    width: 100%;
    border-collapse: collapse;
    /* Fixed layout prevents cells from jumping when errors appear */
    table-layout: fixed;
}

#summerSSOForm th {
    width: 220px;
    min-width: 220px;
    text-align: left;
    vertical-align: top;
    padding: 10px 5px;
    font-weight: bold;
    color: #333;
    white-space: normal; /* Allows long labels to wrap if screen is small */
}

#summerSSOForm td {
    vertical-align: top;
    padding: 6px;
}

/* 2. THE INPUT WRAPPER (The primary fix for stacking) */
.input-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.input-wrapper input[type="text"],
.input-wrapper input[type="email"],
.input-wrapper select {
    width: 100%;
    padding: 6px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box; /* Includes padding in width */
}

/* 3. VALIDATION ERROR STYLING */
#summerSSOForm label.error {
    display: block;
    color: #d9534f; /* UCSD Error Red */
    font-size: 11px;
    font-weight: normal;
    margin-top: 4px;
    line-height: 1.3;
    white-space: normal;
    word-wrap: break-word;
    /* Limits error width so it doesn't force the table to expand */
    max-width: 220px;
}

/* Highlighting the input box red when invalid */
#summerSSOForm input.error {
    border: 1px solid #d9534f !important;
    background-color: #fff8f8;
}

/* 4. RADIO BUTTONS & ALIGNMENT */
.radio-group {
    display: flex;
    flex-direction: row;
    gap: 20px;
    padding-top: 5px;
}

.radio-group label {
    font-weight: normal;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.radio-group input[type="radio"] {
    margin-right: 6px;
    width: auto; /* Overrides the 100% width of text inputs */
}

/* 5. TSN INFO SECTION STYLE */
#incomingTsnInfoRow td {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    padding: 12px !important;
    border-radius: 4px;
    color: #444;
    font-size: 13px;
    line-height: 1.5;
}

/* 6. SUBMIT BUTTON */
#summerSubmit {
    background-color: #006a96; /* UCSD Blue */
    color: white;
    padding: 10px 24px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    font-size: 14px;
}

#summerSubmit:hover {
    background-color: #004a69;
}

#summerSubmit:disabled {
    background-color: #ccc;
    cursor: not-allowed;
}

/* 7. RESPONSIVE TWEAK */
@media screen and (max-width: 768px) {
    #summerSSOForm th {
        width: 150px;
        min-width: 150px;
    }
}