:root {
	--uob-blue: #0c4180;
	--uob-blue-light: #15539f;
	--uob-gold: #bd9c6c;
	--uob-red: #c61a20;
	--uob-red-hover: #a51318;
	--uob-border: #e5e5e5;
}

.uob-recruitment-wrapper {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

.uob-recruitment-title {
	margin-bottom: 45px;
	text-align: center;
}

.uob-recruitment-title h2 {
	margin: 0 0 10px;
	color: var(--uob-blue);
	font-size: clamp(30px, 4vw, 38px);
	line-height: 1.2;
}

.uob-recruitment-title p {
	margin: 0;
	color: #666666;
	font-size: 18px;
	line-height: 1.7;
}

.uob-job-card {
	margin-bottom: 20px;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--uob-border);
	border-left: 5px solid var(--uob-blue);
	border-radius: 8px;
	transition:
		box-shadow 0.3s ease,
		border-color 0.3s ease;
}

.uob-job-card:hover,
.uob-job-card.is-active {
	border-left-color: var(--uob-gold);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.uob-job-header {
	display: flex;
	width: 100%;
	padding: 25px;
	align-items: center;
	justify-content: space-between;
	gap: 25px;
	color: inherit;
	font: inherit;
	text-align: left;
	background: transparent;
	border: 0;
	cursor: pointer;
}

.uob-job-header:hover,
.uob-job-header:focus {
	color: inherit;
	background: #ffffff;
}

.uob-job-header:focus-visible {
	outline: 3px solid rgba(189, 156, 108, 0.5);
	outline-offset: -3px;
}

.uob-job-left {
	display: block;
	flex: 1;
	min-width: 0;
}

.uob-job-title {
	display: block;
	margin-bottom: 7px;
	color: var(--uob-blue);
	font-size: 20px !important;
	font-weight: 700;
	line-height: 1.4;
}

.uob-job-meta {
	display: block;
	color: var(--uob-gold);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.6;
}

.uob-meta-separator {
	display: inline-block;
	margin: 0 7px;
}

.uob-job-header-right {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	gap: 18px;
}

.uob-job-status {
	display: inline-flex;
	min-height: 32px;
	padding: 5px 14px;
	align-items: center;
	justify-content: center;
	color: var(--uob-blue);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	border: 1px solid var(--uob-gold);
	border-radius: 30px;
}

.uob-job-arrow {
	display: inline-block;
	color: var(--uob-blue);
	font-size: 30px;
	line-height: 1;
	transition: transform 0.3s ease;
}

.uob-job-card.is-active .uob-job-arrow {
	transform: rotate(180deg);
}

.uob-job-content {
	max-height: 0;
	overflow: hidden;
	border-top: 0 solid #eeeeee;
	transition: max-height 0.4s ease;
}

.uob-job-card.is-active .uob-job-content {
	border-top-width: 1px;
}

.uob-job-inner {
	padding: 30px;
	color: #333333;
	font-size: 16px;
	line-height: 1.8;
}

.uob-job-summary {
	display: grid;
	grid-template-columns: minmax(140px, 190px) 1fr;
	gap: 15px;
	padding: 10px 0;
	border-bottom: 1px solid #eeeeee;
}

.uob-job-summary strong {
	color: var(--uob-blue);
}

.uob-job-section {
	margin-top: 30px;
	padding-top: 25px;
	border-top: 1px solid #eeeeee;
}

.uob-job-section:first-of-type {
	border-top: 0;
	padding-top: 0;
}

.uob-job-section h3 {
	margin: 0 0 14px;
	color: var(--uob-blue);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	padding: 0;
	border: 0;
}

.uob-job-section-content > :first-child {
	margin-top: 0;
}

.uob-job-section-content > :last-child {
	margin-bottom: 0;
}

.uob-job-section-content ul,
.uob-job-section-content ol {
	padding-left: 24px;
}

.uob-job-section-content li {
	margin-bottom: 7px;
}

.uob-apply-btn {
	display: inline-flex;
	min-height: 48px;
	margin-top: 40px;
	padding: 12px 30px;
	align-items: center;
	justify-content: center;
	color: #ffffff !important;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	background: var(--uob-red);
	border-radius: 6px;
	transition:
		background 0.3s ease,
		transform 0.3s ease;
}

.uob-apply-btn:hover,
.uob-apply-btn:focus {
	color: #ffffff !important;
	background: var(--uob-red-hover);
	transform: translateY(-1px);
}

.uob-no-vacancies {
	padding: 45px 30px;
	text-align: center;
	background: #ffffff;
	border: 1px solid var(--uob-border);
	border-top: 5px solid var(--uob-gold);
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
}

.uob-no-vacancies h3 {
	margin: 0 0 12px;
	color: var(--uob-blue);
	font-size: 25px;
}

.uob-no-vacancies p {
	max-width: 700px;
	margin: 0 auto;
	color: #666666;
	font-size: 17px;
	line-height: 1.7;
}

@media (max-width: 767px) {
	.uob-job-header {
		padding: 20px;
		align-items: flex-start;
		gap: 15px;
	}

	.uob-job-title {
		font-size: 18px !important;
	}

	.uob-job-header-right {
		gap: 10px;
	}

	.uob-job-arrow {
		display: none;
	}

	.uob-job-status {
		padding: 5px 10px;
		font-size: 12px;
	}

	.uob-job-inner {
		padding: 22px 20px;
	}

	.uob-job-summary {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.uob-meta-separator {
		display: none;
	}

	.uob-job-meta {
		display: flex;
		flex-direction: column;
	}

	.uob-apply-btn {
		width: 100%;
	}
}

.uob-application-summary h1 .uob-title-separator {
	display: inline-block !important;
	margin: 0 0.22em;
	color: var(--uob-blue) !important;
	font-family: Arial, sans-serif;
	font-weight: 400;
}

/***********************Form front end view ************************************/
/* =========================================================
   Academic Application Page
   ========================================================= */

.uob-application-wrapper {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
}

.uob-application-summary {
	margin-bottom: 35px;
	padding: 28px 30px;
	background: #ffffff;
	border: 1px solid #e5e5e5;
	border-top: 5px solid var(--uob-blue);
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(12, 65, 128, 0.08);
}

.uob-application-eyebrow {
	margin: 0 0 8px;
	color: var(--uob-gold);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.uob-application-summary h1 {
	margin: 0 0 22px;
	color: var(--uob-blue);
	font-size: clamp(26px, 3vw, 32px) !important;
	font-weight: 600;
	line-height: 1.3;
}

.uob-application-meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 24px;
}

.uob-application-meta-item {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 13px 15px;
	background: #f8f9fb;
	border: 1px solid #e8ebf0;
	border-radius: 7px;
}

.uob-application-meta-item strong {
	color: var(--uob-blue);
	font-size: 14px;
}

.uob-application-meta-item span {
	color: #444444;
	font-size: 16px;
}

.uob-application-form-area {
	padding: 32px;
	background: #ffffff;
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(12, 65, 128, 0.08);
}

.uob-application-form-area > h2 {
	margin: 0 0 8px;
	color: var(--uob-blue);
	font-size: 30px;
}

.uob-application-form-note {
	margin: 0 0 28px;
	color: #666666;
	font-size: 16px;
	line-height: 1.7;
}


/* =========================================================
   Gravity Form 1
   ========================================================= */

.uob-gravity-form-wrapper #gform_wrapper_1 {
	margin: 0;
}

.uob-gravity-form-wrapper #gform_1 {
	font-family: inherit;
}

.uob-gravity-form-wrapper #gform_1 .gfield {
	margin-bottom: 22px;
}

.uob-gravity-form-wrapper #gform_1 .gfield_label,
.uob-gravity-form-wrapper #gform_1 legend.gfield_label {
	margin-bottom: 8px;
	color: var(--uob-blue);
	font-size: 16px;
	font-weight: 700;
}

.uob-gravity-form-wrapper #gform_1 .gfield_required {
	color: var(--uob-red);
	font-size: 13px;
}

.uob-gravity-form-wrapper #gform_1 input[type="text"],
.uob-gravity-form-wrapper #gform_1 input[type="email"],
.uob-gravity-form-wrapper #gform_1 input[type="tel"],
.uob-gravity-form-wrapper #gform_1 input[type="number"],
.uob-gravity-form-wrapper #gform_1 input[type="url"],
.uob-gravity-form-wrapper #gform_1 input[type="date"],
.uob-gravity-form-wrapper #gform_1 input[type="password"],
.uob-gravity-form-wrapper #gform_1 select,
.uob-gravity-form-wrapper #gform_1 textarea {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	color: #222222;
	font-size: 16px;
	background: #ffffff;
	border: 1px solid #cfd6df;
	border-radius: 6px;
	box-shadow: none;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.uob-gravity-form-wrapper #gform_1 textarea {
	min-height: 135px;
	resize: vertical;
}

.uob-gravity-form-wrapper #gform_1 input:focus,
.uob-gravity-form-wrapper #gform_1 select:focus,
.uob-gravity-form-wrapper #gform_1 textarea:focus {
	border-color: var(--uob-blue);
	box-shadow: 0 0 0 3px rgba(12, 65, 128, 0.12);
	outline: none;
}

.uob-gravity-form-wrapper #gform_1 .gfield_description,
.uob-gravity-form-wrapper #gform_1 .ginput_complex label {
	color: #707781;
	font-size: 13px;
	line-height: 1.5;
}

.uob-gravity-form-wrapper #gform_1 .gsection {
	margin-top: 38px;
	padding-bottom: 12px;
	border-bottom: 1px solid #dfe3e8;
}

.uob-gravity-form-wrapper #gform_1 .gsection_title {
	margin: 0;
	color: var(--uob-blue);
	font-size: 25px;
	font-weight: 700;
}

.uob-gravity-form-wrapper #gform_1 .gsection_description {
	margin-top: 6px;
	color: #666666;
}


/* Progress bar */

.uob-gravity-form-wrapper #gform_wrapper_1 .gf_progressbar_wrapper {
	margin-bottom: 32px;
}

.uob-gravity-form-wrapper #gform_wrapper_1 .gf_progressbar_title {
	margin-bottom: 9px;
	color: var(--uob-blue);
	font-size: 15px;
	font-weight: 700;
}

.uob-gravity-form-wrapper #gform_wrapper_1 .gf_progressbar {
	height: 12px;
	overflow: hidden;
	background: #e2e5e9;
	border-radius: 30px;
}

.uob-gravity-form-wrapper #gform_wrapper_1 .gf_progressbar_percentage {
	height: 100%;
	background: var(--uob-blue);
	border-radius: 30px;
}

.uob-gravity-form-wrapper #gform_wrapper_1 .gf_progressbar_percentage span {
	display: none;
}


/* Buttons */

.uob-gravity-form-wrapper #gform_1 .gform_next_button,
.uob-gravity-form-wrapper #gform_1 .gform_previous_button,
.uob-gravity-form-wrapper #gform_1 .gform_button {
	min-height: 48px;
	padding: 12px 28px;
	font-size: 16px;
	font-weight: 700;
	border-radius: 6px;
	cursor: pointer;
	transition:
		background 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease;
}

.uob-gravity-form-wrapper #gform_1 .gform_next_button,
.uob-gravity-form-wrapper #gform_1 .gform_button {
	color: #ffffff;
	background: var(--uob-red);
	border: 1px solid var(--uob-red);
}

.uob-gravity-form-wrapper #gform_1 .gform_next_button:hover,
.uob-gravity-form-wrapper #gform_1 .gform_button:hover {
	background: var(--uob-red-hover);
	border-color: var(--uob-red-hover);
	transform: translateY(-1px);
}

.uob-gravity-form-wrapper #gform_1 .gform_previous_button {
	color: var(--uob-blue);
	background: #ffffff;
	border: 1px solid var(--uob-blue);
}

.uob-gravity-form-wrapper #gform_1 .gform_previous_button:hover {
	color: #ffffff;
	background: var(--uob-blue);
}


/* Validation */

.uob-gravity-form-wrapper #gform_1 .gfield_error input,
.uob-gravity-form-wrapper #gform_1 .gfield_error select,
.uob-gravity-form-wrapper #gform_1 .gfield_error textarea {
	border-color: var(--uob-red);
}

.uob-gravity-form-wrapper #gform_1 .validation_message {
	margin-top: 6px;
	color: var(--uob-red);
	font-size: 14px;
	font-weight: 600;
}

.uob-gravity-form-wrapper #gform_wrapper_1 .gform_validation_errors {
	margin-bottom: 25px;
	padding: 18px 20px;
	background: #fff6f6;
	border: 1px solid #e4a8aa;
	border-left: 5px solid var(--uob-red);
	border-radius: 7px;
}


/* Upload fields */

/* File upload fields. */
.uob-gravity-form-wrapper #gform_1 input[type="file"] {
	display: block;
	width: 100%;
	min-height: 52px;
	padding: 0;
	overflow: hidden;
	color: #333333;
	font-size: 15px;
	line-height: 50px;
	background: #f8f9fb;
	border: 1px dashed #b8c1cc;
	border-radius: 6px;
	cursor: pointer;
}

/* Modern browsers. */
.uob-gravity-form-wrapper #gform_1 input[type="file"]::file-selector-button {
	min-height: 50px;
	margin: 0 16px 0 0;
	padding: 0 18px;
	color: var(--uob-blue);
	font-size: 15px;
	font-weight: 700;
	background: #eef2f6;
	border: 0;
	border-right: 1px solid #cfd6df;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.uob-gravity-form-wrapper #gform_1 input[type="file"]:hover::file-selector-button {
	color: #ffffff;
	background: var(--uob-blue);
}

/* Chrome and older Safari fallback. */
.uob-gravity-form-wrapper #gform_1 input[type="file"]::-webkit-file-upload-button {
	min-height: 50px;
	margin: 0 16px 0 0;
	padding: 0 18px;
	color: var(--uob-blue);
	font-size: 15px;
	font-weight: 700;
	background: #eef2f6;
	border: 0;
	border-right: 1px solid #cfd6df;
	cursor: pointer;
}

.uob-gravity-form-wrapper #gform_1 .gform_fileupload_rules {
	display: block;
	margin-top: 8px;
	color: #707781;
	font-size: 13px;
	line-height: 1.5;
}


/* Checkboxes and radio buttons */

.uob-gravity-form-wrapper #gform_1 .gchoice {
	margin-bottom: 9px;
}

.uob-gravity-form-wrapper #gform_1 input[type="checkbox"],
.uob-gravity-form-wrapper #gform_1 input[type="radio"] {
	width: 18px;
	height: 18px;
	margin-right: 7px;
	accent-color: var(--uob-blue);
}


/* Confirmation and status messages */

.uob-application-message,
.uob-gravity-form-wrapper .gform_confirmation_wrapper {
	padding: 32px;
	background: #ffffff;
	border: 1px solid #e5e5e5;
	border-top: 5px solid var(--uob-gold);
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(12, 65, 128, 0.08);
}

.uob-application-message h2 {
	color: var(--uob-blue);
}

.uob-back-vacancies {
	display: inline-flex;
	margin-top: 15px;
	padding: 11px 22px;
	color: #ffffff !important;
	font-weight: 700;
	text-decoration: none;
	background: var(--uob-blue);
	border-radius: 6px;
}


/* Responsive */

@media (max-width: 767px) {
	.uob-application-summary,
	.uob-application-form-area {
		padding: 22px 18px;
	}

	.uob-application-meta {
		grid-template-columns: 1fr;
	}

	.uob-application-summary h1 {
		font-size: 29px;
	}

	.uob-application-form-area > h2 {
		font-size: 25px;
	}

	.uob-gravity-form-wrapper #gform_1 .gform_next_button,
	.uob-gravity-form-wrapper #gform_1 .gform_previous_button,
	.uob-gravity-form-wrapper #gform_1 .gform_button {
		width: 100%;
		margin-bottom: 10px;
	}
}

/* =========================================================
   Frontend Applications
   ========================================================= */

.uob-frontend-applications {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.uob-frontend-applications-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 28px;
	padding: 28px 30px;
	background: #ffffff;
	border-top: 5px solid var(--uob-blue);
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(12, 65, 128, 0.08);
}

.uob-frontend-applications-header h1 {
	margin: 0 0 8px;
	color: var(--uob-blue);
	font-size: 38px;
}

.uob-frontend-applications-header p {
	margin-bottom: 0;
}

.uob-current-access {
	display: flex;
	min-width: 190px;
	flex-direction: column;
	gap: 4px;
	padding: 13px 16px;
	background: #f8f9fb;
	border: 1px solid #e4e8ee;
	border-radius: 7px;
}

.uob-current-access strong {
	color: var(--uob-blue);
	font-size: 13px;
	text-transform: uppercase;
}

.uob-applications-table-wrap {
	overflow-x: auto;
	background: #ffffff;
	border: 1px solid #e1e5ea;
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(12, 65, 128, 0.06);
}

/* =========================================================
   Frontend Applications Table
   ========================================================= */

.uob-applications-table {
    width: 100%;
    border-collapse: collapse;
}

.uob-applications-table thead tr {
    background: var(--uob-blue);
}

.uob-applications-table thead th {
    background: var(--uob-blue) !important;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 15px;
    text-align: left;
    padding: 16px 18px;
    border: none;
}

.uob-applications-table thead th *,
.uob-applications-table thead th a,
.uob-applications-table thead th span {
    color: #ffffff !important;
}

.uob-applications-table tbody td {
    padding: 16px 18px;
    border-bottom: 1px solid #e8ebef;
    vertical-align: middle;
}

.uob-applications-table tbody tr:hover {
    background: #f9fafc;
}

.uob-applications-table tbody tr:last-child td {
    border-bottom: none;
}

.uob-applications-table td strong {
    color: var(--uob-blue);
}

.uob-table-action {
    width: 90px;
    text-align: right;
}

.uob-view-application-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 17px;
    background: var(--uob-red);
    color: #ffffff !important;
    text-decoration: none;
    font-weight: 700;
    border-radius: 5px;
    transition: .25s;
}

.uob-view-application-button:hover {
    background: var(--uob-red-hover);
    color: #ffffff !important;
}

.uob-empty-applications {
	padding: 35px !important;
	text-align: center !important;
	color: #666666;
}

.uob-applications-pagination {
	display: flex;
	margin-top: 24px;
	justify-content: center;
	gap: 7px;
}

.uob-applications-pagination .page-numbers {
	display: inline-flex;
	min-width: 38px;
	min-height: 38px;
	padding: 7px 12px;
	align-items: center;
	justify-content: center;
	color: var(--uob-blue);
	text-decoration: none;
	background: #ffffff;
	border: 1px solid #dbe1e8;
	border-radius: 5px;
}

.uob-applications-pagination .current {
	color: #ffffff;
	background: var(--uob-blue);
	border-color: var(--uob-blue);
}

@media (max-width: 767px) {
	.uob-frontend-applications-header {
		flex-direction: column;
		padding: 22px 18px;
	}

	.uob-current-access {
		width: 100%;
	}

	.uob-applications-table thead {
		display: none;
	}

	.uob-applications-table,
	.uob-applications-table tbody,
	.uob-applications-table tr,
	.uob-applications-table td {
		display: block;
		width: 100%;
	}

	.uob-applications-table tr {
		padding: 15px;
		border-bottom: 1px solid #dfe4e9;
	}

	.uob-applications-table td {
		display: grid;
		grid-template-columns: 130px 1fr;
		padding: 8px 0;
		border: 0;
	}

	.uob-applications-table td::before {
		content: attr(data-label);
		color: var(--uob-blue);
		font-weight: 700;
	}

	.uob-table-action {
		display: block !important;
		width: 100%;
		margin-top: 8px;
		text-align: left !important;
	}

	.uob-table-action::before {
		display: none;
	}

	.uob-view-application-button {
		width: 100%;
	}
}
/* =========================================================
   Frontend Application Details
   ========================================================= */

.uob-application-detail {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
}

.uob-application-detail-topbar {
	margin-bottom: 18px;
}

.uob-application-back-link {
	display: inline-flex;
	align-items: center;
	color: var(--uob-blue);
	font-weight: 700;
	text-decoration: none;
}

.uob-application-back-link:hover {
	color: var(--uob-red);
}

.uob-application-detail-header {
	position: relative;
	margin-bottom: 24px;
	padding: 28px 30px;
	background: #ffffff;
	border-top: 5px solid var(--uob-blue);
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(12, 65, 128, 0.08);
}

.uob-application-detail-header h1 {
	margin: 0;
	color: var(--uob-blue);
	font-size: clamp(30px, 4vw, 40px);
	line-height: 1.2;
}

.uob-application-reference {
	margin-top: 12px;
	color: #606873;
}

.uob-application-reference strong {
	color: var(--uob-blue);
}

.uob-application-detail-summary,
.uob-application-detail-fields {
	margin-bottom: 24px;
	padding: 28px 30px;
	background: #ffffff;
	border: 1px solid #e2e6eb;
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(12, 65, 128, 0.06);
}

.uob-application-detail-summary > h2,
.uob-application-detail-fields > h2 {
	margin: 0 0 22px;
	color: var(--uob-blue);
	font-size: 27px;
}

.uob-detail-summary-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.uob-detail-summary-item {
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 15px 17px;
	background: #f8f9fb;
	border: 1px solid #e4e8ee;
	border-radius: 7px;
}

.uob-detail-summary-item strong {
	color: var(--uob-blue);
	font-size: 14px;
}

.uob-detail-summary-item span {
	color: #333333;
	font-size: 16px;
	line-height: 1.6;
}

.uob-detail-fields-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.uob-detail-field {
	min-width: 0;
	padding: 16px 18px;
	background: #ffffff;
	border: 1px solid #e1e6ec;
	border-radius: 7px;
}

.uob-detail-field-label {
	margin-bottom: 7px;
	color: var(--uob-blue);
	font-size: 14px;
	font-weight: 700;
}

.uob-detail-field-value {
	overflow-wrap: anywhere;
	color: #333333;
	font-size: 16px;
	line-height: 1.7;
}

.uob-detail-section-heading {
	grid-column: 1 / -1;
	margin-top: 20px;
	padding: 16px 18px;
	background: var(--uob-blue);
	border-radius: 7px;
}

.uob-detail-section-heading:first-child {
	margin-top: 0;
}

.uob-detail-section-heading h3 {
	margin: 0;
	color: #ffffff !important;
	font-size: 21px;
}

.uob-detail-section-heading p {
	margin: 7px 0 0;
	color: rgba(255, 255, 255, 0.86);
}

.uob-detail-files {
	grid-column: 1 / -1;
}

.uob-detail-files .uob-detail-field-value {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.uob-document-link {
	display: inline-flex;
	min-height: 44px;
	padding: 10px 15px;
	align-items: center;
	gap: 8px;
	color: var(--uob-blue) !important;
	font-weight: 700;
	text-decoration: none;
	background: #f7f9fc;
	border: 1px solid #dce3eb;
	border-radius: 6px;
	transition:
		background 0.2s ease,
		border-color 0.2s ease;
}

.uob-document-link:hover {
	color: var(--uob-blue) !important;
	background: #f3eee7;
	border-color: var(--uob-gold);
}

@media (max-width: 767px) {
	.uob-application-detail-header,
	.uob-application-detail-summary,
	.uob-application-detail-fields {
		padding: 22px 18px;
	}

	.uob-detail-summary-grid,
	.uob-detail-fields-list {
		grid-template-columns: 1fr;
	}

	.uob-detail-section-heading,
	.uob-detail-files {
		grid-column: auto;
	}

	.uob-detail-files .uob-detail-field-value {
		flex-direction: column;
	}

	.uob-document-link {
		width: 100%;
	}
}

.uob-application-form-note-success {
	color: var(--uob-blue);
	font-weight: 600;
}

.uob-degree-disabled {
	opacity: 0.45;
}

.uob-degree-disabled label,
.uob-degree-disabled input {
	cursor: not-allowed;
}

select option:disabled {
	color: #999;
	background-color: #f2f2f2;
}
/* =========================================================
   Vacancy Management Dashboard
   ========================================================= */
.uob-vacancy-manager,
.uob-vacancy-form-wrapper {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	color: #273241;
}

.uob-vacancy-manager-hero,
.uob-vacancy-form-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 24px;
	padding: 30px 32px;
	background: linear-gradient(135deg, #ffffff 0%, #f5f8fc 100%);
	border: 1px solid #dfe6ef;
	border-top: 5px solid var(--uob-blue);
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(12, 65, 128, 0.08);
}

.uob-vacancy-eyebrow {
	display: block;
	margin-bottom: 6px;
	color: var(--uob-gold);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.uob-vacancy-manager-hero h1,
.uob-vacancy-form-header h2 {
	margin: 0 0 8px;
	color: var(--uob-blue);
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1.15;
}

.uob-vacancy-manager-hero p {
	margin: 0;
	color: #667180;
	font-size: 16px;
}

.uob-manager-primary-button,
.uob-vacancy-form-header .button,
.uob-vacancy-form-actions .button,
.uob-vacancy-form-actions button {
	display: inline-flex;
	min-height: 46px;
	padding: 11px 20px;
	align-items: center;
	justify-content: center;
	gap: 7px;
	color: #ffffff !important;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	background: var(--uob-red);
	border: 1px solid var(--uob-red);
	border-radius: 7px;
	box-shadow: none;
	cursor: pointer;
	transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.uob-manager-primary-button:hover,
.uob-vacancy-form-actions button:hover {
	background: var(--uob-red-hover);
	border-color: var(--uob-red-hover);
	transform: translateY(-1px);
}

.uob-vacancy-form-header .button,
.uob-vacancy-form-actions .button:not(.button-primary) {
	color: var(--uob-blue) !important;
	background: #ffffff;
	border-color: #cbd6e3;
}

.uob-vacancy-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}

.uob-stat-card {
	position: relative;
	min-height: 124px;
	padding: 22px 24px;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e0e6ed;
	border-radius: 10px;
	box-shadow: 0 7px 22px rgba(12, 65, 128, 0.06);
}

.uob-stat-card::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	content: "";
	background: var(--uob-blue);
}

.uob-stat-card-open::before { background: #218739; }
.uob-stat-card-closed::before { background: #7b8794; }
.uob-stat-card-expired::before { background: var(--uob-red); }

.uob-stat-card span {
	display: block;
	margin-bottom: 10px;
	color: #687484;
	font-size: 14px;
	font-weight: 700;
}

.uob-stat-card strong {
	display: block;
	color: var(--uob-blue);
	font-size: 38px;
	line-height: 1;
}

.uob-vacancy-list-panel,
.uob-vacancy-form,
.uob-vacancy-view {
	background: #ffffff;
	border: 1px solid #dfe5ec;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(12, 65, 128, 0.07);
}

.uob-vacancy-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 22px 24px;
	border-bottom: 1px solid #e6ebf0;
}

.uob-vacancy-toolbar h2 {
	margin: 0 0 4px;
	color: var(--uob-blue);
	font-size: 23px;
}

.uob-vacancy-toolbar p {
	margin: 0;
	color: #74808d;
	font-size: 13px;
}

.uob-vacancy-search-wrap {
	display: flex;
	width: min(100%, 390px);
	min-height: 46px;
	align-items: center;
	gap: 10px;
	padding: 0 14px;
	background: #f8fafc;
	border: 1px solid #cfd8e3;
	border-radius: 8px;
}

.uob-vacancy-search-wrap span { color: var(--uob-blue); font-size: 22px; }
.uob-vacancy-search-wrap input {
	width: 100%;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
	outline: none;
}

.uob-vacancy-table-wrapper { overflow-x: auto; }
.uob-vacancy-table { width: 100%; border-collapse: collapse; }
.uob-vacancy-table thead th {
	padding: 15px 18px;
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 800;
	text-align: left;
	background: var(--uob-blue) !important;
	border: 0;
	white-space: nowrap;
}
.uob-vacancy-table tbody td {
	padding: 17px 18px;
	vertical-align: middle;
	border-bottom: 1px solid #e8edf2;
}
.uob-vacancy-table tbody tr:hover { background: #f8fafc; }
.uob-vacancy-row-title { display: block; color: var(--uob-blue); font-size: 15px; }
.uob-vacancy-table td small { display: block; margin-top: 5px; color: #75808d; line-height: 1.45; }
.uob-vacancy-row.is-expired { background: #fffafa; }

.uob-vacancy-status {
	display: inline-flex;
	min-height: 28px;
	margin: 2px 5px 2px 0;
	padding: 5px 10px;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 800;
	border-radius: 30px;
}
.uob-vacancy-status-open { color: #176b2a; background: #eaf7ed; border: 1px solid #b9dec1; }
.uob-vacancy-status-closed { color: #586471; background: #edf0f3; border: 1px solid #d2d8de; }
.uob-vacancy-status-expired { color: #9f171c; background: #fff0f0; border: 1px solid #efc1c3; }
.uob-closing-date.is-expired { color: var(--uob-red); font-weight: 800; }

.uob-vacancy-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.uob-action-button {
	display: inline-flex;
	min-height: 34px;
	padding: 7px 11px;
	align-items: center;
	justify-content: center;
	color: var(--uob-blue) !important;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none !important;
	background: #ffffff;
	border: 1px solid #ccd6e1;
	border-radius: 5px;
}
.uob-action-button:hover { color: #ffffff !important; background: var(--uob-blue); border-color: var(--uob-blue); }
.uob-action-delete { color: var(--uob-red) !important; border-color: #e6b7b9; }
.uob-action-delete:hover { background: var(--uob-red); border-color: var(--uob-red); }
#uob-vacancy-no-results td,
.uob-vacancy-empty-row td { padding: 40px; color: #6e7884; text-align: center; }

.uob-vacancy-notice {
	margin-bottom: 22px;
	padding: 15px 18px;
	font-weight: 700;
	border-radius: 7px;
}
.uob-vacancy-notice-success { color: #176529; background: #edf8ef; border: 1px solid #b9dfc1; border-left: 5px solid #218739; }
.uob-vacancy-notice-error { color: #94181d; background: #fff1f1; border: 1px solid #efc3c5; border-left: 5px solid var(--uob-red); }

/* Vacancy Create/Edit form */
.uob-vacancy-form { padding: 30px; }
.uob-vacancy-form-field { margin-bottom: 25px; }
.uob-vacancy-form-field > label,
.uob-vacancy-form-field legend {
	display: block;
	margin-bottom: 8px;
	color: var(--uob-blue);
	font-size: 15px;
	font-weight: 800;
}
.uob-vacancy-form-field label span[aria-hidden="true"],
.uob-vacancy-form-field legend span[aria-hidden="true"] { color: var(--uob-red); }
.uob-vacancy-form input[type="text"],
.uob-vacancy-form input[type="date"],
.uob-vacancy-form select,
.uob-vacancy-form textarea {
	width: 100%;
	min-height: 48px;
	padding: 10px 13px;
	background: #ffffff;
	border: 1px solid #cbd5df;
	border-radius: 7px;
	box-shadow: none;
}
.uob-vacancy-form input:focus,
.uob-vacancy-form select:focus,
.uob-vacancy-form textarea:focus {
	border-color: var(--uob-blue);
	box-shadow: 0 0 0 3px rgba(12, 65, 128, .12);
	outline: 0;
}
.uob-vacancy-form-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.uob-vacancy-form fieldset { margin: 0; padding: 0; border: 0; }
.uob-checkbox-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.uob-checkbox-card {
	display: flex;
	min-height: 48px;
	padding: 12px 14px;
	align-items: center;
	gap: 9px;
	background: #f8fafc;
	border: 1px solid #dce4ec;
	border-radius: 7px;
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease;
}
.uob-checkbox-card:hover { background: #f1f6fb; border-color: #afc2d8; }
.uob-checkbox-card:has(input:checked) { background: #eef4fb; border-color: var(--uob-blue); }
.uob-checkbox-card input { width: 18px; height: 18px; accent-color: var(--uob-blue); }
.uob-departments-message { grid-column: 1 / -1; margin: 0; padding: 16px; color: #6b7580; background: #f8fafc; border: 1px dashed #cbd5df; border-radius: 7px; text-align: center; }
.uob-vacancy-form .description { margin: 9px 0 0; color: #737e8b; font-size: 13px; }
.uob-vacancy-form-actions { display: flex; gap: 10px; margin-top: 32px; padding-top: 24px; border-top: 1px solid #e4e9ef; }
.uob-vacancy-form-actions button.is-loading { opacity: .7; cursor: wait; }

/* Vacancy View */
.uob-vacancy-view {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	padding: 28px;
	overflow: visible;
	background: #ffffff;
}

.uob-vacancy-view-field {
	padding: 20px;
	background: #f7f8fa;
	border: 1px solid #dfe5ec;
	border-radius: 9px;
}

.uob-vacancy-view-field:nth-child(2n) {
	border-right: 1px solid #dfe5ec;
}

.uob-vacancy-view-field h3 {
	margin: 0 0 10px;
	color: var(--uob-blue);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.uob-vacancy-view-field p {
	margin: 0;
}

/* Full-width fields */
.uob-vacancy-view-field:nth-child(1),
.uob-vacancy-view-field:nth-child(2),
.uob-vacancy-view-field:nth-child(n+9) {
	grid-column: 1 / -1;
}

@media (max-width: 980px) {
	.uob-vacancy-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.uob-checkbox-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.uob-vacancy-manager-hero,
	.uob-vacancy-form-header,
	.uob-vacancy-toolbar { flex-direction: column; align-items: stretch; padding: 22px 18px; }
	.uob-manager-primary-button { width: 100%; }
	.uob-vacancy-stats { grid-template-columns: 1fr; }
	.uob-vacancy-search-wrap { width: 100%; }
	.uob-vacancy-table thead { display: none; }
	.uob-vacancy-table,
	.uob-vacancy-table tbody,
	.uob-vacancy-table tr,
	.uob-vacancy-table td { display: block; width: 100%; }
	.uob-vacancy-table tr { padding: 14px 16px; border-bottom: 1px solid #dde4eb; }
	.uob-vacancy-table td { display: grid; grid-template-columns: 115px 1fr; padding: 8px 0; border: 0; }
	.uob-vacancy-table td::before { content: attr(data-label); color: var(--uob-blue); font-weight: 800; }
	.uob-vacancy-actions { display: flex !important; padding-top: 13px !important; }
	.uob-vacancy-actions::before { display: none; }
	.uob-vacancy-form { padding: 22px 18px; }
	.uob-vacancy-form-row,
	.uob-checkbox-grid,
	.uob-vacancy-view { grid-template-columns: 1fr; }
	.uob-vacancy-view-field,
	.uob-vacancy-view-field:nth-child(2n) { grid-column: 1; border-right: 0; }
	.uob-vacancy-form-actions { flex-direction: column; }
	.uob-vacancy-form-actions .button,
	.uob-vacancy-form-actions button { width: 100%; }
}

label.uob-department-option[hidden]{
	display:none !important;
}

/* ==========================================================
   Vacancy Table Sorting
========================================================== */

.uob-vacancy-table th.sortable{
	cursor:pointer;
	user-select:none;
	transition:background-color .2s ease;
}

.uob-vacancy-table th.sortable:hover{
	background:#0b4a92;
}

.uob-vacancy-table th.sortable span{
	margin-left:6px;
	font-size:11px;
	opacity:.6;
}
/* ==========================================================
   Applications Table Header
========================================================== */

.uob-applications-table thead th{

    font-size:16px;
    font-weight:400;
    letter-spacing:.2px;

    padding:18px 28px;

    white-space:nowrap;

    vertical-align:middle;
}

.uob-applications-table thead th.sortable{

    cursor:pointer;

    transition:.2s;

}

.uob-applications-table thead th.sortable:hover{

    color:#d7b57a;

}

.uob-applications-table thead th span{

    display:inline-block;

    margin-left:6px;

    font-size:13px;

    opacity:.55;

    vertical-align:middle;

}

/* ==========================================================
   Frontend Login
========================================================== */

.uob-login-page{
	display:flex;
	align-items:center;
	justify-content:center;
	padding:80px 20px;
	min-height:70vh;
}

.uob-login-card{

	width:100%;
	max-width:470px;

	background:#ffffff;

	border-radius:14px;

	box-shadow:
		0 12px 35px rgba(0,0,0,.08);

	padding:40px;
}

.uob-login-header{

	text-align:center;

	margin-bottom:35px;
}

.uob-login-header img{

	max-width:95px;

	height:auto;

	margin-bottom:18px;
}

.uob-login-header h1{

	margin:0;

	color:#0c4180;

	font-size:30px;

	font-weight:700;
}

.uob-login-header p{

	margin-top:12px;

	color:#777;

	font-size:15px;
}

.uob-login-error{

	background:#fdecec;

	color:#b42318;

	border:1px solid #f3b5b5;

	padding:14px;

	border-radius:8px;

	margin-bottom:25px;

	font-size:14px;
}

.uob-login-form p{

	margin-bottom:22px;
}

.uob-login-form label{

	display:block;

	margin-bottom:8px;

	font-weight:600;

	color:#333;
}

.uob-login-form input[type=text],
.uob-login-form input[type=email],
.uob-login-form input[type=password]{

	width:100%;

	height:50px;

	padding:0 16px;

	border:1px solid #d6d6d6;

	border-radius:8px;

	font-size:15px;

	transition:.25s;
}

.uob-login-form input:focus{

	outline:none;

	border-color:#0c4180;

	box-shadow:0 0 0 3px rgba(12,65,128,.08);
}

.uob-login-form .login-remember{

	display:flex;

	align-items:center;

	gap:10px;
}

.uob-login-form .login-remember label{

	margin:0;
}

#uob_login_button{

	width:100%;

	height:52px;

	border:none;

	border-radius:8px;

	background:#0c4180;

	color:#fff;

	font-size:16px;

	font-weight:700;

	cursor:pointer;

	transition:.25s;
}

#uob_login_button:hover{

	background:#08315f;
}

.uob-login-footer{

	margin-top:30px;

	text-align:center;

	font-size:13px;

	color:#888;
}

/* Mobile */

@media (max-width:768px){

	.uob-login-card{

		padding:28px;
	}

	.uob-login-header h1{

		font-size:24px;
	}
}
.uob-login-form p{
	position:relative;
}

.uob-password-toggle{

	position:absolute;

	right:14px;

	top:42px;

	border:none;

	background:transparent;

	cursor:pointer;

	font-size:18px;

	padding:0;
}

.uob-password-toggle:hover{

	opacity:.7;
}

/* ==========================================================
   Login / Logout Menu Alignment
========================================================== */

/* Desktop */
@media (min-width: 981px) {

	.et_pb_menu .et_pb_menu__menu > nav > ul {
		display: flex !important;
		align-items: center !important;
	}

	.et_pb_menu .et_pb_menu__menu > nav > ul > li {
		display: flex !important;
		align-items: center !important;
		margin: 0 !important;
		padding: 0 18px !important;
	}

	.et_pb_menu .et_pb_menu__menu > nav > ul > li > a {
		display: flex !important;
		height: 48px;
		padding: 0 !important;
		align-items: center !important;
		justify-content: center;
		line-height: 1.2 !important;
	}

	.et_pb_menu li.uob-menu-login,
	.et_pb_menu li.uob-menu-logout {
		margin-left: 12px !important;
		padding: 0 !important;
	}

	.et_pb_menu li.uob-menu-login > a,
	.et_pb_menu li.uob-menu-logout > a {
		display: inline-flex !important;
		min-width: 150px;
		height: 48px;
		padding: 0 22px !important;
		align-items: center;
		justify-content: center;
		color: var(--uob-blue) !important;
		font-weight: 700 !important;
		line-height: 1 !important;
		white-space: nowrap;
		background: #ffffff;
		border: 2px solid var(--uob-blue);
		border-radius: 8px;
		transition:
			color 0.2s ease,
			background-color 0.2s ease;
	}

	.et_pb_menu li.uob-menu-login > a {
		color: #ffffff !important;
		background: var(--uob-blue);
	}

	.et_pb_menu li.uob-menu-login > a:hover {
		color: var(--uob-blue) !important;
		background: #ffffff;
	}

	.et_pb_menu li.uob-menu-logout > a:hover {
		color: #ffffff !important;
		background: var(--uob-blue);
	}
}


/* Mobile and Tablet */
@media (max-width: 980px) {

	.et_pb_menu .et_mobile_menu {
		padding: 18px !important;
	}

	.et_pb_menu .et_mobile_menu > li {
		margin: 0 !important;
		padding: 0 !important;
	}

	.et_pb_menu .et_mobile_menu > li > a {
		display: block !important;
		padding: 14px 24px !important;
		line-height: 1.4 !important;
	}

	.et_pb_menu .et_mobile_menu li.uob-menu-login,
	.et_pb_menu .et_mobile_menu li.uob-menu-logout {
		margin-top: 14px !important;
		padding: 0 !important;
	}

	.et_pb_menu .et_mobile_menu li.uob-menu-login > a,
	.et_pb_menu .et_mobile_menu li.uob-menu-logout > a {
		display: flex !important;
		width: 100% !important;
		min-height: 48px;
		margin: 0 !important;
		padding: 10px 18px !important;
		align-items: center;
		justify-content: center;
		color: var(--uob-blue) !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		text-align: center;
		background: #ffffff;
		border: 2px solid var(--uob-blue);
		border-radius: 8px;
	}

	.et_pb_menu .et_mobile_menu li.uob-menu-login > a {
		color: #ffffff !important;
		background: var(--uob-blue);
	}
}

/* Hide Academic Rank field when the vacancy has one rank */
.uob-gravity-form-wrapper
.uob-single-rank-field {
	display: none !important;
}

/* Accordion closing date */
.uob-accordion-closing-date {
	color: #a70717 !important;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}
.uob-action-copy {
	color: #6a4a1f !important;
	border-color: #d8c098;
	background: #fffaf2;
}

.uob-action-copy:hover,
.uob-action-copy:focus {
	color: #ffffff !important;
	background: #8a642d;
	border-color: #8a642d;
}

/* Compact accordion typography */
.uob-job-header {
	padding: 22px 28px;
}

.uob-job-title {
	margin-bottom: 10px;
	font-size: 18px !important;
	font-weight: 700;
	line-height: 1.4;
}

.uob-job-meta {
	font-size: 14px !important;
	font-weight: 600;
	line-height: 1.65;
}

/* Closing date emphasis */
.uob-accordion-closing-date {
	color: #800020 !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* Mobile */
@media (max-width: 767px) {
	.uob-job-header {
		padding: 18px;
	}

	.uob-job-title {
		font-size: 17px !important;
		line-height: 1.4;
	}

	.uob-job-meta,
	.uob-accordion-closing-date {
		font-size: 13px !important;
	}
}