/* Admission portal — matches ACSIS login shell, full viewport, no site chrome */

body.admission-portal-page {
	margin: 0;
	background: #161616 !important;
	overflow-x: hidden;
}

body.admission-portal-page .backstretch,
body.admission-portal-page .backstretch-item {
	display: none !important;
}

.auth-main.admission-portal {
	min-height: 100vh;
	padding: 16px;
	align-items: center;
	justify-content: center;
}

.admission-portal .adm-shell {
	display: grid;
	grid-template-columns: minmax(280px, 380px) minmax(320px, 520px);
	gap: 0;
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	align-items: stretch;
	min-height: calc(100vh - 32px);
}

.admission-portal .adm-shell__brand,
.admission-portal .adm-shell__panel {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.admission-portal .adm-shell__brand .image-area {
	height: 100%;
	min-height: 100%;
	border-radius: 12px 0 0 12px;
	margin: 0;
}

.admission-portal .adm-shell__brand .image-area .content {
	height: auto;
	min-height: 100%;
	padding: 48px 28px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

.admission-portal .adm-shell__brand .image-hader h2 {
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin: 0;
}

.admission-portal .adm-shell__brand .image-hader h2:before {
	left: 50%;
	transform: translateX(-50%);
}

.admission-portal .adm-shell__brand .address p,
.admission-portal .adm-shell__brand .app-name,
.admission-portal .adm-shell__brand .app-name h2,
.admission-portal .adm-shell__brand .adm-brand-tagline {
	color: #fff;
}

.admission-portal .adm-shell__brand .app-name h2 {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 8px;
}

.admission-portal .adm-shell__brand .app-name .underline {
	background-color: #fff;
	margin: 8px auto 14px;
}

.admission-portal .adm-shell__brand .adm-brand-tagline {
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 18px;
	padding: 0 8px;
}

.admission-portal .sign-area {
	height: 100%;
	min-height: 100%;
	margin-top: 0;
	padding: 2.25rem 2.5rem;
	border-radius: 0 12px 12px 0;
	display: flex;
	flex-direction: column;
}

.admission-portal .sign-area::before {
	top: 50%;
	transform: translateY(-50%);
}

.admission-portal .sign-hader {
	text-align: center;
	padding-top: 8px;
	padding-bottom: 16px;
}

.admission-portal .sign-hader__logo {
	border-radius: 50%;
	background: #fff;
	padding: 3px;
}

.admission-portal .sign-hader__title {
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin: 8px 0 0;
	color: #fff;
}

.admission-portal .sign-area .sign-hader .page-subtitle {
	color: #b0b0b0;
	font-size: 13px;
	margin: 6px 0 0;
}

.admission-portal .sign-area-body {
	flex: 1;
	min-height: 0;
}

.admission-portal .sign-area--scroll .sign-area-body {
	overflow-y: auto;
	padding-right: 4px;
}

.admission-portal .landing-intro {
	color: #d0d0d0;
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 16px;
}

.admission-portal .landing-intro--note {
	margin-top: 14px;
	margin-bottom: 0;
}

.admission-portal .landing-intro small {
	color: #999;
}

.admission-portal .landing-intro a {
	color: #9eb6ff;
}

.admission-portal .landing-steps {
	color: #d8d8d8;
	font-size: 13px;
	line-height: 1.55;
	margin: 0 0 20px;
	padding-left: 20px;
}

.admission-portal .landing-steps li {
	margin-bottom: 6px;
}

.admission-portal .adm-landing__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.admission-portal .btn-adm-primary {
	background: linear-gradient(135deg, #5061ab, #4a56a0);
	border: 0;
	color: #fff !important;
}

.admission-portal .btn-adm-primary:hover,
.admission-portal .btn-adm-primary:focus {
	color: #fff !important;
	background: linear-gradient(135deg, #455399, #3f4a8f);
}

.admission-portal .btn-adm-secondary {
	background: transparent;
	border: 1px solid #666;
	color: #fff !important;
}

.admission-portal .btn-adm-secondary:hover,
.admission-portal .btn-adm-secondary:focus {
	background: rgba(255, 255, 255, 0.06);
	border-color: #888;
	color: #fff !important;
}

.admission-portal .sign-footer {
	margin-top: auto;
	padding-top: 16px;
	flex-shrink: 0;
}

.admission-portal .sign-footer__copy,
.admission-portal .sign-footer__staff {
	width: 100%;
	margin: 0;
	font-size: 12px;
	color: #888;
}

.admission-portal .sign-footer__staff {
	margin-top: 8px;
}

.admission-portal .sign-footer .staff-login-link {
	color: #9eb6ff !important;
}

.admission-portal .sign-area select.form-control {
	height: 40px;
	border-radius: 500px;
	padding-left: 38px;
	padding-right: 28px;
	color: #fff;
	background-color: #212121;
	border-color: #444;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23aaa' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
}

.admission-portal .select2-container--default .select2-selection--single {
	height: 40px;
	border-radius: 500px;
	background-color: #212121;
	border-color: #444;
}

.admission-portal .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #fff;
	line-height: 38px;
	padding-left: 16px;
	padding-right: 28px;
}

.admission-portal .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 38px;
	right: 8px;
}

.admission-portal .select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: #aaa transparent transparent transparent;
}

.admission-portal .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
	border-color: transparent transparent #aaa transparent;
}

.admission-portal .select2-dropdown {
	background: #2a2a2a;
	border-color: #555;
	color: #fff;
}

.admission-portal .select2-container--default .select2-search--dropdown .select2-search__field {
	background: #1a1a1a;
	border-color: #555;
	color: #fff;
	border-radius: 6px;
}

.admission-portal .select2-container--default .select2-results__option {
	color: #e8e8e8;
}

.admission-portal .select2-container--default .select2-results__option--highlighted[aria-selected] {
	background-color: #5061ab;
	color: #fff;
}

.admission-portal .select2-container--default .select2-results__option[aria-selected=true] {
	background-color: #333;
}

.admission-portal .select2-container {
	width: 100% !important;
}

.admission-portal .sign-area select.form-control option {
	color: #212121;
	background: #fff;
}

.admission-portal .sign-area .form-group label {
	color: #c8c8c8;
	font-weight: 400;
	font-size: 13px;
	margin-bottom: 6px;
}

.admission-portal .sign-area .form-group label .text-danger {
	color: #ff8a80;
}

.admission-portal .sign-area .form-row-compact .form-group {
	margin-bottom: 14px;
}

.admission-portal .adm-field {
	position: relative;
	width: 100%;
}

.admission-portal .adm-field .form-control {
	width: 100%;
	height: 40px;
	border-radius: 500px;
	padding-left: 38px;
	padding-right: 16px;
}

.admission-portal .adm-field--toggle .form-control {
	padding-right: 44px;
}

.admission-portal .adm-field__icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: #aaa;
	font-size: 14px;
	line-height: 1;
	z-index: 2;
	pointer-events: none;
}

.admission-portal .adm-field__action {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
}

.admission-portal .sign-area .btn-link {
	color: #9eb6ff;
	padding: 0;
}

.admission-portal .sign-area .btn-link:hover,
.admission-portal .sign-area .btn-link:focus {
	color: #c5d4ff;
}

.admission-portal .adm-form-submit {
	margin-top: 18px;
	margin-bottom: 0;
}

.admission-portal .adm-form-foot {
	margin: 14px 0 6px;
}

.admission-portal .dash-toolbar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid #444;
}

.admission-portal .dash-toolbar .greeting {
	color: #fff;
	font-size: 15px;
}

.admission-portal .dash-toolbar .greeting span {
	color: #9eb6ff;
}

.admission-portal .table-admission {
	color: #e0e0e0;
	margin-bottom: 16px;
}

.admission-portal .table-admission > thead > tr > th {
	background: #2a2a2a;
	border-color: #444;
	color: #fff;
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.admission-portal .table-admission > tbody > tr > td {
	border-color: #444;
	vertical-align: middle;
	font-size: 13px;
}

.admission-portal .table-admission > tbody > tr:nth-child(even) {
	background: #2a2a2a;
}

.admission-portal .table-admission code {
	color: #9eb6ff;
	background: #1a1a1a;
	border: 1px solid #444;
}

.admission-portal .info-panel {
	background: #2a2a2a;
	border: 1px solid #555;
	border-radius: 10px;
	padding: 14px 16px;
	color: #c8c8c8;
	font-size: 14px;
	margin-bottom: 16px;
}

.admission-portal .apply-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.admission-portal .apply-toolbar .btn-default {
	background: #2a2a2a;
	border-color: #555;
	color: #fff;
	border-radius: 50px;
}

.admission-portal .apply-toolbar .btn-default:hover {
	background: #333;
	color: #fff;
}

.admission-portal .iframe-apply {
	flex: 1;
	width: 100%;
	min-height: 0;
	border: 0;
	border-radius: 8px;
	background: #fff;
}

.admission-portal .sign-area input.form-control {
	color: #fff;
	background-color: #212121;
	border: 1px solid #444;
	box-shadow: none;
}

.admission-portal .sign-area input.form-control::placeholder {
	color: #8a8a8a;
	opacity: 1;
}

.admission-portal .sign-area input.form-control:focus {
	color: #fff;
	background-color: #252525;
	border-color: #666;
	box-shadow: 0 0 0 2px rgba(123, 159, 255, 0.15);
	outline: none;
}

.admission-portal .sign-area input.form-control:-webkit-autofill,
.admission-portal .sign-area input.form-control:-webkit-autofill:hover,
.admission-portal .sign-area input.form-control:-webkit-autofill:focus,
.admission-portal .sign-area input.form-control:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 1000px #212121 inset !important;
	box-shadow: 0 0 0 1000px #212121 inset !important;
	-webkit-text-fill-color: #fff !important;
	caret-color: #fff;
	transition: background-color 99999s ease-out 0s;
}

.admission-portal .sign-area input[type="password"]::-ms-reveal,
.admission-portal .sign-area input[type="password"]::-ms-clear {
	display: none;
}

.admission-portal .adm-pw-toggle {
	background: transparent;
	border: 0;
	width: 34px;
	height: 34px;
	padding: 0;
	margin: 0;
	line-height: 34px;
	text-align: center;
	color: #aaa;
	cursor: pointer;
	border-radius: 50%;
}

.admission-portal .adm-pw-toggle:hover,
.admission-portal .adm-pw-toggle:focus {
	color: #fff;
	background: rgba(255, 255, 255, 0.06);
	outline: none;
}

.admission-portal.layout-apply .adm-shell {
	grid-template-columns: minmax(220px, 280px) 1fr;
	max-width: 1200px;
}

.admission-portal.layout-apply .sign-area {
	padding: 1.5rem 2rem;
}

@media (max-width: 767px) {
	.auth-main.admission-portal {
		padding: 10px;
		align-items: stretch;
	}

	.admission-portal .adm-shell {
		grid-template-columns: 1fr;
		min-height: auto;
		max-width: 520px;
	}

	.admission-portal .adm-shell__brand .image-area {
		min-height: 280px;
		border-radius: 12px 12px 0 0;
	}

	.admission-portal .adm-shell__brand .image-area .content {
		padding: 36px 20px;
	}

	.admission-portal .sign-area {
		min-height: auto;
		border-radius: 0 0 12px 12px;
		padding: 1.75rem 1.25rem;
	}

	.admission-portal .sign-area::before {
		display: none;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.admission-portal .adm-shell {
		grid-template-columns: minmax(240px, 42%) minmax(280px, 58%);
		max-width: 900px;
	}
}
