
body {
	background-color: #eef5ff;
	background-image:
		radial-gradient(circle at top left, rgba(34, 51, 85, 0.12), transparent 34%),
		linear-gradient(120deg, rgba(238, 245, 255, 0.94), rgba(248, 251, 255, 0.98));
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: #000611;
	font-family: 'Inter', sans-serif;
}

body,
html {
	height: 100%;
	min-height: 100%;
}

form div.form-horizontal {
	--tia-navy: #223355;
	--tia-navy-hover: #17243e;
	--tia-field: #edf4ff;
	--tia-field-focus: #e6f0fc;
	--tia-border: #d8e6f7;
	background: #ffffff;
	border: 1px solid rgba(216, 230, 247, 0.95);
	border-radius: 38px 38px 28px 28px;
	box-shadow: 0 26px 75px rgba(34, 51, 85, 0.18);
	color: #000611;
	font-family: 'Inter', sans-serif;
	margin: 96px auto 42px;
	max-width: 540px;
	padding: 96px 58px 30px;
	position: relative;
	width: min(540px, calc(100% - 32px));
}

.tia-login-logo {
	background: #ffffff;
	border: 1px solid rgba(216, 230, 247, 0.95);
	border-radius: 14px;
	box-sizing: border-box;
	box-shadow: 0 16px 38px rgba(34, 51, 85, 0.18);
	display: block;
	height: auto;
	left: 50%;
	object-fit: contain;
	padding: 14px 18px;
	position: absolute;
	top: -58px;
	transform: translateX(-50%);
	width: min(390px, calc(100% - 64px));
}

form div.form-horizontal h1 {
	color: var(--tia-navy);
	font-family: 'Inter', sans-serif;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 28px;
	text-align: center;
}

form div.form-horizontal .row {
	align-items: flex-start;
	margin-bottom: 16px !important;
	position: relative;
}

form div.form-horizontal .btn,
form div.form-horizontal input,
form div.form-horizontal label {
	font-family: 'Inter', sans-serif;
}

form div.form-horizontal label {
	align-self: flex-start;
	color: var(--tia-navy);
	font-size: 0;
	font-weight: 600;
	padding-top: 8px;
	padding-right: 12px;
	position: relative;
	text-align: center !important;
}

form div.form-horizontal label::before {
	color: var(--tia-navy);
	display: inline-block;
	font-family: "Font Awesome 6 Pro", FontAwesome, sans-serif;
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
	min-width: 36px;
	text-align: center;
}

#usernameDiv label::before {
	content: "\f0e0";
}

#passwordDiv label::before {
	content: "\f023";
}

form div.form-horizontal .k-widget.k-textbox,
form div.form-horizontal .k-textbox,
form div.form-horizontal .k-input {
	background: var(--tia-field) !important;
	border: 1px solid #d8e6f7 !important;
	border-radius: 999px !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16) !important;
	color: var(--tia-navy) !important;
}

form div.form-horizontal .k-widget.k-textbox {
	box-sizing: border-box;
	height: 48px !important;
}

form div.form-horizontal input.k-input,
form div.form-horizontal input.k-textbox {
	background: transparent !important;
	box-sizing: border-box;
	color: var(--tia-navy) !important;
	font-size: 15px;
	font-weight: 500;
	height: 46px !important;
	min-height: 46px;
	padding: 10px 20px !important;
}

form div.form-horizontal input.k-input::placeholder,
form div.form-horizontal input.k-textbox::placeholder {
	color: rgba(34, 51, 85, 0.72);
}

form div.form-horizontal .field-validation-error,
form div.form-horizontal .field-validation-valid {
	display: block;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
	margin-top: 7px;
	text-align: left;
	width: 100%;
}

form div.form-horizontal .field-validation-error {
	color: #c83232;
}

form div.form-horizontal .field-validation-valid:empty,
#usernameDiv br,
#passwordDiv br {
	display: none;
}

form div.form-horizontal .col-sm-10 {
	min-width: 0;
}

form div.form-horizontal .k-widget.k-textbox:focus-within,
form div.form-horizontal .k-textbox:focus-within {
	background: var(--tia-field-focus) !important;
	box-shadow: 0 0 0 3px rgba(34, 51, 85, 0.14) !important;
}

#usernamelink,
#passwordlink {
	display: block;
	margin-top: 6px;
}

#usernamelink a,
#passwordlink a {
	color: var(--tia-navy) !important;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-style: italic;
	font-weight: 500;
	text-decoration: none;
}

#usernamelink a:hover,
#passwordlink a:hover {
	text-decoration: underline;
}

#loginButtonDiv {
	flex: 0 0 100%;
	margin-left: 0 !important;
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

#loginButtonDiv,
#loginButtonDiv .k-button {
	box-sizing: border-box;
}

#Login,
#register-btn {
	background-color: var(--tia-navy) !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 0 0 28px 28px !important;
	box-shadow: none !important;
	color: #ffffff !important;
	display: flex !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 25px !important;
	font-weight: 700 !important;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1 !important;
	margin: 18px -58px 0 !important;
	min-height: 64px;
	padding: 18px 28px !important;
	text-transform: uppercase !important;
	width: calc(100% + 116px) !important;
}

#Login:hover,
#Login:focus,
#register-btn:hover,
#register-btn:focus {
	background-color: var(--tia-navy-hover) !important;
	color: #ffffff !important;
}

#orDiv {
	color: #637083;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 500;
	margin: 18px 0 12px !important;
	text-transform: uppercase;
}

.tia-microsoft-login {
	align-items: center !important;
	background: #ffffff !important;
	border: 1px solid #dadce0 !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	color: #202124 !important;
	display: inline-flex !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	gap: 12px !important;
	height: 46px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin-bottom: 24px !important;
	max-width: 390px !important;
	padding: 0 16px !important;
	text-align: center !important;
	white-space: nowrap !important;
	width: 100% !important;
}

.tia-microsoft-login:hover,
.tia-microsoft-login:focus {
	background: #f8fbff !important;
	border-color: #b8c6d8 !important;
	color: #202124 !important;
}

.tia-microsoft-mark {
	display: grid;
	flex: 0 0 20px;
	gap: 2px;
	grid-template-columns: repeat(2, 1fr);
	height: 20px;
	width: 20px;
}

.tia-microsoft-mark span {
	display: block;
	height: 100%;
	width: 100%;
}

.tia-microsoft-red {
	background: #f25022;
}

.tia-microsoft-green {
	background: #7fba00;
}

.tia-microsoft-blue {
	background: #00a4ef;
}

.tia-microsoft-yellow {
	background: #ffb900;
}

.tia-microsoft-text {
	color: #202124;
	display: inline-block;
	font-family: 'Inter', sans-serif;
}

#showFooter {
	display: none;
}

@media (max-width: 575.98px) {
	form div.form-horizontal {
		border-radius: 30px 30px 24px 24px;
		margin: 78px auto 24px;
		padding: 74px 22px 26px;
	}

	.tia-login-logo {
		border-radius: 10px;
		padding: 10px 12px;
		top: -42px;
		width: min(310px, calc(100% - 40px));
	}

	form div.form-horizontal label {
		flex: 0 0 42px;
		margin-bottom: 0;
		max-width: 42px;
		padding: 11px 8px 0 0;
		width: 42px;
	}

	form div.form-horizontal label::before {
		font-size: 24px;
		min-width: 34px;
	}

	#usernameDiv,
	#passwordDiv {
		align-items: flex-start;
		flex-wrap: nowrap;
	}

	#usernameDiv .col-sm-10,
	#passwordDiv .col-sm-10 {
		flex: 1 1 auto;
		max-width: none;
		min-width: 0;
		padding-left: 0;
		width: auto;
	}

	#Login,
	#register-btn {
		border-radius: 0 0 24px 24px !important;
		font-size: 22px !important;
		margin-left: -22px !important;
		margin-right: -22px !important;
		min-height: 58px;
		width: calc(100% + 44px) !important;
	}
}

/* SCDOT additions: responsive fields. */
.tia-login-logo { width:250px; height:100px; object-fit:contain; }
form div.form-horizontal #usernameDiv, form div.form-horizontal #passwordDiv { display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px; margin-left:0; margin-right:0; }
form div.form-horizontal #usernameDiv > label, form div.form-horizontal #passwordDiv > label { padding:8px 0 0; width:auto; max-width:none; }
form div.form-horizontal #usernameDiv > .col-sm-10, form div.form-horizontal #passwordDiv > .col-sm-10 { padding:0; width:auto; max-width:none; min-width:0; }
form div.form-horizontal .k-widget.k-textbox { width:100% !important; }
.scdot-empty-provider { display:none; }
form div.form-horizontal label[for="StayLoggedIn"] { font-size:13px; padding:0; width:auto; max-width:none; }
form div.form-horizontal label[for="StayLoggedIn"]::before { display:none; }
@media(max-width:575.98px) {
 .tia-login-logo { width:min(230px,calc(100% - 40px)); height:84px; }
 form div.form-horizontal #usernameDiv, form div.form-horizontal #passwordDiv { grid-template-columns:28px minmax(0,1fr); gap:10px; }
 form div.form-horizontal label::before { min-width:28px; }
}

/* Login-only system-use notice, visually separate from sign-in actions. */
.scdot-user-notice {
    box-sizing: border-box;
    width: calc(100% - 32px);
    max-width: 780px;
    margin: 0 auto 40px;
    padding: 22px 26px;
    border: 1px solid #d8e2ef;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.65);
    color: #41516b;
    text-align: left;
}
.scdot-user-notice h2 {
    margin: 0 0 10px;
    color: #223355;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.07em;
}
.scdot-user-notice p {
    margin: 0;
    font-size: 13px;
    line-height: 1.75;
}
@media (max-width: 575.98px) {
    .scdot-user-notice { padding: 20px; margin-bottom: 24px; }
}