:root {
	/* Ayala / Ali brand palette */
	--ali-green: #007b4b;
	--ali-dark-green: #112923;
	--ali-light-green: #a3b18a;
	--ali-grey: #898d8d;
	--ali-dark-grey: #373a36;
	--ali-light-gray: #e5e1e6;
	--ali-off-white: #f0ede4;
	--ali-off-dark-white: #dad7cd;
	--ali-white: #ffffff;
	--ali-sprout: #728758;
	--ali-moss: #415e30;
	--ali-mauve: #7c3942;
	--ali-wood: #935626;
	--ali-midnight: #334055;
	--ali-rose: #8a4e4e;
	--ali-sienna: #b6883b;
	--ali-stone-blue: #5f7b8c;
	/* App tokens */
	--wf-primary: var(--ali-dark-green);
	--wf-secondary: var(--ali-green);
	--wf-neutral: var(--ali-white);
	--wf-text: var(--ali-dark-grey);
	--wf-border: var(--ali-light-gray);
	--wf-gray: var(--ali-grey);
	--wf-primary-soft: var(--ali-off-white);
	--wf-primary-soft-strong: var(--ali-sprout);
	--wf-chart-employee: var(--ali-rose);
	--wf-chart-employer: var(--ali-sienna);
	--wf-chart-matching: var(--ali-stone-blue);
	--wf-chart-mid: var(--ali-stone-blue);
	/* UI sans â€” Aptos (Office â€œAptos (Body)â€); falls back on Mac / older Windows */
	--wf-font-sans: "Aptos", "Aptos Body", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
	/* Bootstrap 5 / SB Admin â€” match app palette */
	--bs-primary: #112923;
	--bs-secondary: #007b4b;
	--bs-primary-rgb: 17, 41, 35;
	--bs-secondary-rgb: 0, 123, 75;
	--bs-white: #ffffff;
	--bs-white-rgb: 255, 255, 255;
	--bs-body-bg: #ffffff;
	--bs-body-bg-rgb: 255, 255, 255;
	--bs-gray: #898d8d;
	--bs-gray-600: #898d8d;
	--bs-link-color: #112923;
	--bs-link-hover-color: #007b4b;
	--bs-font-sans-serif: var(--wf-font-sans);
}

/* Global: ~+1px on 1rem (16px â†’ 17px) so Bootstrap/rem typography scales up */
html {
	font-size: 106.25%;
	font-family: var(--wf-font-sans);
}

html,
body {
	margin: 0;
	padding: 0;
	height: 100%;
}

body {
	background-color: var(--wf-neutral) !important;
	color: var(--wf-text);
	font-family: var(--wf-font-sans) !important;
}

body.sb-nav-fixed {
	padding-top: 0 !important;
}

#wrapper,
#page-wrapper,
.container-fluid,
.card,
.panel {
	background-color: var(--wf-neutral);
}

/* Login page panels and buttons */
.panel,
.panel-default,
.panel-body {
	background-color: var(--ali-white);
}

.panel-default {
	border-color: var(--ali-white) !important;
}

.panel-heading {
	background-color: var(--wf-primary) !important;
	border-color: var(--wf-primary) !important;
	color: var(--ali-white) !important;
}

.panel-title {
	color: var(--ali-white) !important;
}

/* Login logo container alignment */
.jti-login-logo-wrap {
	height: 80px;
	background-color: var(--ali-white);
	display: flex;
	align-items: center;
	justify-content: center;
}

.jti-login-logo-wrap img {
	display: block;
	max-height: 60px;
	width: auto;
}

/* Login header: logo + company / portal context (mfalogin.php) */
.jti-login-header-stack {
	text-align: center;
	margin-bottom: 1rem;
}

.jti-login-header-stack .jti-login-logo-wrap {
	height: auto;
	min-height: 64px;
	margin-bottom: 0.35rem;
	padding: 10px 8px 6px;
}

.jti-login-branding {
	padding: 0 4px 4px;
}

.jti-login-company-name {
	margin: 0 0 6px;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--wf-primary);
	letter-spacing: 0.02em;
}

.jti-login-tagline {
	margin: 0;
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.45;
	color: var(--wf-text);
	max-width: 26rem;
	margin-left: auto;
	margin-right: auto;
}

/* MFA login + OTP reset â€” center stack, branded background image */
body.jti-login-page {
	position: relative;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding: 1.25rem 1.25rem 2rem;
	box-sizing: border-box;
	background-color: var(--ali-dark-green) !important;
	background-image: url("../images/ayalaland_login_bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	overflow-x: hidden;
	overflow-y: auto;
}

body.jti-login-page::before,
body.jti-login-page::after {
	content: none;
	display: none;
}

body.jti-login-page .jti-login-container {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: min(1200px, calc(100vw - 2.5rem));
	margin: 0 auto;
}

body.jti-login-page .panel.jti-login-card {
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}

body.jti-login-page .jti-login-header-stack {
	background: rgba(253, 253, 253, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 12px;
	padding: 0.75rem 0.6rem 1rem;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

body.jti-login-page .jti-login-header-stack .jti-login-logo-wrap {
	background-color: transparent;
}

body.jti-login-page .jti-login-company-name {
	color: var(--ali-white);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

body.jti-login-page .jti-login-tagline {
	color: rgba(253, 253, 253, 0.88);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

body.jti-login-page .panel.jti-login-card {
	border: 1px solid rgba(255, 255, 255, 0.28) !important;
	border-radius: 16px;
	box-shadow: 0 20px 56px rgba(0, 0, 0, 0.18);
	overflow: hidden;
	background: transparent;
}

body.jti-login-page .jti-login-card .jti-login-header-stack {
	margin-bottom: 0;
	padding: 22px 24px 20px;
	background:
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.22) 0%,
			rgba(255, 255, 255, 0.08) 42%,
			rgba(0, 123, 75, 0.28) 100%
		);
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 16px 16px 0 0;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
	backdrop-filter: blur(18px) saturate(1.35);
	-webkit-backdrop-filter: blur(18px) saturate(1.35);
}

body.jti-login-page .jti-login-card .jti-login-company-name {
	color: var(--ali-white);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

body.jti-login-page .jti-login-card .jti-login-tagline {
	font-size: 0.82rem;
	color: rgba(253, 253, 253, 0.9);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

body.jti-login-page .jti-login-logo-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	margin: 0 auto 12px;
	padding: 12px;
	border-radius: 50%;
	background: var(--ali-white);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}

body.jti-login-page .jti-login-logo-badge img {
	display: block;
	max-width: 100%;
	max-height: 56px;
	width: auto;
	height: auto;
}

body.jti-login-page .jti-login-card-body {
	padding: 26px 26px 26px;
	background: var(--ali-white);
	border-radius: 16px 16px 16px 16px;
	margin-top: -10px;
	position: relative;
	z-index: 1;
	box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.04);
}

body.jti-login-page .jti-login-card-body .form-group > label {
	display: block;
	margin-bottom: 6px;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--wf-primary);
}

body.jti-login-page .jti-login-card-body .form-control {
	height: 44px;
	padding: 10px 14px;
	background-color: #eef6f3;
	border: 1px solid var(--wf-primary-soft-strong);
	border-radius: 8px;
	color: var(--wf-text);
	box-shadow: none;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

body.jti-login-page .jti-login-card-body .form-control::placeholder {
	color: #9aaba4;
	opacity: 1;
}

body.jti-login-page .jti-login-card-body .form-control:focus {
	background-color: var(--ali-white);
	border-color: var(--wf-primary);
	box-shadow: 0 0 0 3px rgba(0, 123, 75, 0.12);
}

body.jti-login-page .jti-login-card-body .jti-login-input-with-icon {
	padding-left: 42px;
}

body.jti-login-page .jti-captcha-group {
	margin-bottom: 18px;
}

body.jti-login-page .jti-captcha-title {
	margin: 0 0 10px;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--wf-primary);
}

body.jti-login-page .jti-captcha-image-wrap {
	margin-bottom: 10px;
	text-align: center;
}

body.jti-login-page .jti-captcha-image-wrap .jti-captcha-image {
	display: inline-block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 0;
	border: 1px solid var(--wf-primary-soft-strong);
	border-radius: 6px;
	box-sizing: border-box;
}

body.jti-login-page .jti-captcha-input-wrap {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 8px;
}

body.jti-login-page .jti-captcha-input-wrap .jti-captcha-input {
	flex: 1 1 auto;
	min-width: 0;
}

body.jti-login-page .jti-captcha-refresh {
	flex: 0 0 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--wf-primary-soft-strong);
	border-radius: 8px;
	background: #eef6f3;
	color: var(--wf-primary);
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

body.jti-login-page .jti-captcha-refresh:hover,
body.jti-login-page .jti-captcha-refresh:focus {
	background: var(--wf-primary-soft);
	border-color: var(--wf-primary);
	color: var(--wf-primary);
	outline: none;
}

body.jti-login-page .jti-captcha-refresh:disabled {
	opacity: 0.6;
	cursor: wait;
}

body.jti-login-page .jti-login-submit {
	margin-top: 4px;
	height: 48px;
	padding: 12px 16px;
	border: none;
	border-radius: 10px;
	background: var(--wf-primary) !important;
	color: var(--ali-white) !important;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	box-shadow: 0 8px 22px rgba(0, 123, 75, 0.28);
	transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

body.jti-login-page .jti-login-submit:hover,
body.jti-login-page .jti-login-submit:focus {
	background: var(--wf-secondary) !important;
	color: var(--ali-white) !important;
	box-shadow: 0 10px 26px rgba(0, 123, 75, 0.32);
	transform: translateY(-1px);
}

body.jti-login-page .jti-login-otp-link-wrap {
	margin-top: 14px;
	margin-bottom: 0;
}

body.jti-login-page .jti-login-otp-link-wrap a {
	color: var(--wf-primary);
	font-weight: 600;
	text-decoration: none;
}

body.jti-login-page .jti-login-otp-link-wrap a:hover,
body.jti-login-page .jti-login-otp-link-wrap a:focus {
	color: var(--wf-secondary);
	text-decoration: underline;
}

body.jti-login-page #loginstatus.jti-login-status {
	display: none;
	margin: 0;
	padding: 0;
	min-height: 0;
	border: 0;
	background: transparent;
}

body.jti-login-page #loginstatus.jti-login-status:not(:empty) {
	display: block;
	width: 100%;
	margin: 0 0 16px;
	padding: 8px 10px;
	text-align: center;
	font-size: 0.875rem;
	color: var(--wf-primary);
	background: var(--wf-primary-soft);
	border-radius: 8px;
	border: 1px solid var(--wf-primary-soft-strong);
}

body.jti-login-page .panel-heading {
	display: none;
}

body.jti-login-page .jti-account-toggle {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
	padding: 5px;
	margin-bottom: 18px;
	background: var(--wf-primary-soft);
	border: 1px solid var(--wf-primary-soft-strong);
	border-radius: 999px;
}

body.jti-login-page .jti-account-toggle-option {
	position: relative;
	display: block;
	margin: 0;
	cursor: pointer;
}

body.jti-login-page .jti-account-toggle-option input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

body.jti-login-page .jti-account-toggle-option span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 14px;
	border-radius: 999px;
	color: var(--wf-primary);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.2;
	transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

body.jti-login-page .jti-account-toggle-option input:checked + span {
	background: var(--wf-primary);
	color: var(--ali-white);
	box-shadow: 0 7px 18px rgba(0, 123, 75, 0.26);
}

body.jti-login-page .jti-account-toggle-option input:focus-visible + span {
	outline: 2px solid var(--wf-secondary);
	outline-offset: 2px;
}

body.jti-login-page .jti-account-toggle-option:hover span {
	transform: translateY(-1px);
}

body.jti-login-page .jti-login-input-wrap {
	position: relative;
}

body.jti-login-page .jti-login-input-icon {
	position: absolute;
	top: 50%;
	left: 14px;
	z-index: 2;
	transform: translateY(-50%);
	color: var(--wf-gray);
	font-size: 1rem;
	pointer-events: none;
}

body.jti-login-page .jti-login-input-with-icon {
	padding-left: 42px;
}

body.jti-login-page .jti-login-password-input {
	padding-right: 42px;
}

body.jti-login-page .jti-password-toggle {
	position: absolute;
	top: 50%;
	right: 10px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: var(--wf-gray);
	transform: translateY(-50%);
	cursor: pointer;
}

body.jti-login-page .jti-password-toggle:hover,
body.jti-login-page .jti-password-toggle:focus {
	color: var(--wf-primary);
	background: var(--wf-primary-soft);
	outline: none;
}

body.jti-login-page .jti-login-input-with-icon:focus + .jti-login-input-icon,
body.jti-login-page .jti-login-input-wrap:focus-within .jti-login-input-icon {
	color: var(--wf-primary);
}

/* Login CAPTCHA image â€” OTP / reset pages */
body.jti-otp-reset-page img.jti-captcha-image {
	display: block;
	width: 180px;
	max-width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border: 1px solid var(--wf-primary-soft-strong);
	box-sizing: border-box;
}

body.jti-login-page .jti-login-row {
	margin-left: 0;
	margin-right: 0;
}

body.jti-login-page .jti-login-col {
	float: none;
	width: 100%;
	max-width: 100%;
	margin-left: 0 !important;
	padding-left: 0;
	padding-right: 0;
}

body.jti-login-page .jti-login-plan-note-wrap {
	margin-top: 12px;
	text-align: center;
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

body.jti-login-page .jti-login-plan-note {
	font-size: 0.76rem;
	color: var(--ali-white);
	text-decoration: underline;
	line-height: 1.3;
}

body.jti-login-page .jti-login-plan-note:hover,
body.jti-login-page .jti-login-plan-note:focus {
	color: rgba(255, 255, 255, 0.88);
}

body.jti-login-page .jti-participating-companies {
	display: none;
	margin-top: 10px;
}

body.jti-login-page .jti-participating-title {
	margin: 0 0 10px;
	font-size: 0.76rem;
	font-weight: 600;
	color: var(--ali-white);
}

/* Participating companies â€” name list (3 per row; last 2 centered) */
body.jti-login-page .jti-company-list {
	padding-bottom: 28px;
}

body.jti-login-page .jti-company-list-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(340px, 1fr));
	gap: 10px 28px;
	margin-bottom: 10px;
	justify-content: center;
}

body.jti-login-page .jti-company-list-item {
	font-size: 0.72rem;
	line-height: 1.35;
	color: var(--ali-white);
	text-align: center;
	padding: 4px 12px;
	white-space: nowrap;
}

body.jti-login-page .jti-company-list-row--center-2 .jti-company-list-item:first-child {
	grid-column: 2;
}

body.jti-login-page .jti-company-list-row--center-2 .jti-company-list-item:last-child {
	grid-column: 3;
}

/* Circle/logo grid â€” restore when assets are ready
body.jti-login-page .jti-company-circles {
	display: grid;
	grid-template-columns: repeat(6, 168px);
	gap: 22px;
	justify-content: center;
	padding-bottom: 28px;
}
body.jti-login-page .jti-company-circle {
	width: 168px;
	height: 168px;
	border-radius: 50%;
	...
}
*/

/* OTP reset password (mfa.reset.password.php) â€” matches login stack + theme */
body.jti-otp-reset-page .jti-otp-reset-intro {
	font-size: 0.9em;
	color: var(--wf-text);
	margin: 0 0 14px 0;
	line-height: 1.45;
}

body.jti-otp-reset-page #loginstatus {
	width: 100%;
	margin: 0 auto 10px;
	padding: 8px 10px;
	text-align: center;
	font-size: 0.875rem;
	color: var(--wf-primary);
	background: var(--wf-primary-soft);
	border-radius: 4px;
	border: 1px solid rgba(0, 0, 0, 0.06);
	min-height: 1.25em;
}

body.jti-otp-reset-page .jti-otp-digit-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem;
	margin-top: 0.25rem;
}

body.jti-otp-reset-page .jti-otp-digit-row .mfainput {
	width: 2.75rem;
	height: 2.75rem;
	font-size: 1.35rem;
	font-weight: 600;
	border: 1px solid #c4c4c4;
	border-radius: 4px;
}

body.jti-otp-reset-page .jti-otp-resend-wrap {
	text-align: center;
	margin: 0.5rem 0 0.75rem;
}

body.jti-otp-reset-page .jti-otp-resend-hint {
	font-size: 0.85rem;
	color: var(--wf-text-muted, #666);
	margin: 0 0 0.25rem;
	min-height: 1.25em;
}

body.jti-otp-reset-page .jti-otp-resend-btn {
	padding: 0;
	font-size: 0.9rem;
	color: var(--wf-primary);
	text-decoration: none;
}

body.jti-otp-reset-page .jti-otp-resend-btn:disabled,
body.jti-otp-reset-page .jti-otp-resend-btn[disabled] {
	color: #999;
	cursor: not-allowed;
	text-decoration: none;
	pointer-events: none;
}

.btn-mcg-info,
.btn-mcg-info:hover,
.btn-mcg-info:focus,
.btn-mcg-info:active {
	background-color: var(--wf-primary) !important;
	border-color: var(--wf-secondary) !important;
	color: var(--ali-white) !important;
}

/* Dashboard top/side bars */
.sb-topnav,
.navbar,
.navbar-light.bg-light,
.bg-light {
	background-color: var(--wf-neutral) !important;
}

.sb-sidenav-light {
	background-color: var(--ali-white) !important;
	color: var(--wf-text) !important;
}

.sb-sidenav-light .sb-sidenav-menu .nav-link,
.sb-sidenav-light .sb-sidenav-footer {
	color: var(--wf-primary) !important;
}

.sb-sidenav-light .sb-sidenav-menu .nav-link:hover,
.sb-sidenav-light .sb-sidenav-menu .nav-link.active {
	background-color: var(--wf-primary-soft) !important;
	color: var(--wf-secondary) !important;
}

.sb-sidenav-light .sb-nav-link-icon,
.sb-sidenav-light .nav-link .fa,
.sb-sidenav-light .nav-link .fas {
	color: var(--wf-secondary) !important;
}

/* Standard bootstrap buttons used in dashboard */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
	background-color: var(--wf-primary) !important;
	border-color: var(--wf-secondary) !important;
	color: var(--ali-white) !important;
}

.btn-link,
.btn-link:hover,
.btn-link:focus {
	color: var(--wf-primary) !important;
}

.btn-danger,
.btn-warning,
.btn-info,
.btn-danger:hover,
.btn-warning:hover,
.btn-info:hover {
	background-color: var(--wf-primary) !important;
	border-color: var(--wf-secondary) !important;
	color: var(--ali-white) !important;
}

/* Inputs/focus states */
.form-control:focus,
.form-select:focus,
.btn:focus,
.btn:active:focus {
	border-color: var(--wf-secondary) !important;
	box-shadow: 0 0 0 0.2rem rgba(17, 41, 35, 0.25) !important;
}

/* Module headings and accent text used in dashboards */
.text-D61520,
.text-FDD603,
.text-FF6200,
.text-FFCD3F,
.text-FFCC43,
.text-red,
.text-blue,
.text-yellow {
	color: var(--wf-primary) !important;
}

.card-header,
.panel-heading,
.accordion-button {
	background-color: var(--wf-primary) !important;
	color: var(--ali-white) !important;
	border-color: var(--wf-secondary) !important;
}

.accordion-button:not(.collapsed) {
	background-color: var(--wf-secondary) !important;
	color: var(--ali-white) !important;
}

.sb-sidenav-footer,
footer.bg-light {
	background-color: var(--wf-neutral) !important;
	border-top: 1px solid var(--wf-border) !important;
}

/* App shell layout */
.jti-app-shell {
	display: flex;
	min-height: 100vh;
	height: 100vh;
	overflow: hidden;
	background-color: var(--wf-neutral);
}

.jti-sidebar {
	background-color: var(--wf-neutral);
	width: 280px;
	min-height: 0;
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-self: flex-start;
	margin: 0;
	padding: 0;
	border-right: 1px solid var(--wf-border);
	overflow-y: auto;
}

.jti-main-content {
	flex: 1;
	min-height: 0;
	height: 100vh;
	overflow-y: auto;
	overflow-x: hidden;
	background: var(--wf-neutral) !important;
	display: flex;
	flex-direction: column;
}

.jti-main-content main {
	flex: 1 0 auto;
}

.jti-main-content footer {
	flex-shrink: 0;
}

.jti-main-toolbar {
	display: none;
	align-items: center;
	flex-shrink: 0;
	justify-content: flex-start;
	padding: 8px 1rem 0;
	min-height: 48px;
}

.jti-page-header {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 4px;
}

.jti-page-header .jti-sidebar-toggle {
	flex-shrink: 0;
	margin-top: 2px;
}

.jti-page-header .jti-fundstory-greeting {
	float: none !important;
	flex: 1;
	min-width: 0;
}

.jti-sidebar-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 8px;
	color: var(--ali-dark-green) !important;
	background: transparent;
	text-decoration: none;
}

.jti-sidebar-toggle:hover,
.jti-sidebar-toggle:focus {
	color: var(--ali-green) !important;
	background: var(--ali-off-white);
	text-decoration: none;
}

.jti-sidebar-toggle .fa-bars {
	font-size: 1.25rem;
}

.jti-collapse-icon-closed {
	display: none !important;
}

/* JTI app shell: sidebar collapse (overrides SB Admin layoutSidenav defaults) */
#layoutSidenav.jti-app-shell {
	display: flex !important;
	width: 100%;
	max-width: 100%;
	height: 100vh;
	overflow: hidden;
}

/* sb-nav-fixed pins the nav with position:fixed + padding on content; use flex instead */
body.sb-nav-fixed #layoutSidenav.jti-app-shell #layoutSidenav_nav {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	flex: 0 0 280px;
	flex-shrink: 0;
	width: 280px;
	max-width: 280px;
	min-width: 280px;
	min-height: 0;
	height: 100vh;
	align-self: flex-start;
	transform: none !important;
	transition: width 0.2s ease-in-out, min-width 0.2s ease-in-out, flex-basis 0.2s ease-in-out;
	z-index: 1038;
}

#layoutSidenav.jti-app-shell #layoutSidenav_content {
	margin-left: 0 !important;
	padding-left: 0 !important;
	min-width: 0;
	flex: 1 1 auto;
	width: auto;
	max-width: 100%;
	position: relative;
	top: auto !important;
	height: 100vh;
	overflow-y: auto;
	overflow-x: hidden;
}

body.sb-nav-fixed #layoutSidenav.jti-app-shell #layoutSidenav_content {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

#layoutSidenav.jti-app-shell #layoutSidenav_content::before,
#layoutSidenav.jti-app-shell #layoutSidenav_content:before {
	display: none !important;
	content: none !important;
}

body.sb-sidenav-toggled #layoutSidenav.jti-app-shell #layoutSidenav_content {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

@media (min-width: 992px) {
	body.sb-nav-fixed #layoutSidenav.jti-app-shell #layoutSidenav_nav {
		transform: translateX(0) !important;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell #layoutSidenav_nav {
		flex: 0 0 76px !important;
		width: 76px !important;
		min-width: 76px !important;
		max-width: 76px !important;
		overflow-x: visible;
		overflow-y: auto;
		border-right-width: 1px;
		transform: translateX(0) !important;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-brand {
		padding: 20px 8px 14px;
		min-height: 62px;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-brand img {
		display: none;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-links {
		padding: 0 8px;
		gap: 8px;
		overflow: visible;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-links .nav-link,
	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-collapse-toggle {
		position: relative;
		justify-content: center;
		gap: 0;
		width: 100%;
		min-height: 44px;
		padding: 12px 0;
		border-left: 0 !important;
		font-size: 0;
		line-height: 0;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-links .nav-link.jti-nav-enrollment-open {
		border-left: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-sidebar .jti-nav-links .sb-nav-link-icon,
	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-sidebar .jti-nav-links a i,
	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-sidebar .jti-nav-links button i {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		flex-basis: 24px;
		width: 24px;
		min-width: 24px;
		margin: 0 auto;
		font-size: 1.08rem;
		line-height: 1;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-collapse-icon-open {
		display: none !important;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-collapse-icon-closed {
		display: inline-block !important;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-links .nav-link:hover,
	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-links .nav-link:focus,
	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-collapse-toggle:hover,
	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-collapse-toggle:focus {
		background-color: var(--ali-off-white) !important;
		color: var(--ali-green) !important;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-links .nav-link::after,
	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-collapse-toggle::after {
		content: attr(title);
		position: absolute;
		left: calc(100% + 10px);
		top: 50%;
		transform: translateY(-50%) translateX(-4px);
		z-index: 1050;
		display: block;
		width: max-content;
		max-width: 240px;
		padding: 7px 10px;
		border-radius: 7px;
		background: var(--ali-dark-green);
		color: var(--ali-white);
		font-size: 0.82rem;
		font-weight: 700;
		line-height: 1.2;
		opacity: 0;
		pointer-events: none;
		white-space: nowrap;
		box-shadow: 0 8px 18px rgba(17, 41, 35, 0.18);
		transition: opacity 0.15s ease, transform 0.15s ease;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-links .nav-link:hover::after,
	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-links .nav-link:focus::after,
	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-collapse-toggle:hover::after,
	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-collapse-toggle:focus::after {
		opacity: 1;
		transform: translateY(-50%) translateX(0);
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-trans-details {
		display: none;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell .jti-nav-enrollment-badge {
		display: none !important;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell #layoutSidenav_content {
		margin-left: 0 !important;
		padding-left: 0 !important;
	}

	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell #layoutSidenav_content::before,
	body.jti-sidebar-collapsed #layoutSidenav.jti-app-shell #layoutSidenav_content:before {
		display: none !important;
	}
}

@media (max-width: 991.98px) {
	.jti-main-toolbar {
		display: flex;
	}

	.jti-nav-collapse-toggle {
		display: none !important;
	}

	body.sb-nav-fixed #layoutSidenav.jti-app-shell #layoutSidenav_nav {
		position: fixed !important;
		left: 0 !important;
		right: auto !important;
		top: 0 !important;
		flex: 0 0 auto;
		width: 280px;
		min-width: 280px;
		max-width: 280px;
		height: 100vh;
		min-height: 100vh;
		transform: translateX(-100%) !important;
		box-shadow: 2px 0 12px rgba(0, 0, 0, 0.12);
	}

	body.sb-sidenav-toggled #layoutSidenav.jti-app-shell #layoutSidenav_nav {
		transform: translateX(0) !important;
	}

	#layoutSidenav.jti-app-shell #layoutSidenav_content {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
	}

	body.sb-sidenav-toggled #layoutSidenav.jti-app-shell #layoutSidenav_content::before,
	body.sb-sidenav-toggled #layoutSidenav.jti-app-shell #layoutSidenav_content:before {
		display: block !important;
		content: "" !important;
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.45);
		z-index: 1037;
		pointer-events: auto;
	}
}

/* Fund Story dashboard â€” light shell using brand neutral */
body.jti-fundstory-dashboard .jti-main-content,
body.jti-fundstory-dashboard .jti-main-content main,
body.jti-fundstory-dashboard .jti-main-content .container-fluid,
body.jti-fundstory-dashboard #layoutSidenav_content,
body.jti-fundstory-dashboard #layoutSidenav_content > main,
body.jti-fundstory-dashboard #layoutSidenav_content > footer,
body.jti-fundstory-dashboard #layoutSidenav_content .row,
body.jti-fundstory-dashboard .jti-dashboard-grid,
body.jti-fundstory-dashboard .bg-light {
	background: var(--wf-neutral) !important;
}

/* Remove inherited top offset/strip from sb-nav-fixed layout */
body.jti-fundstory-dashboard.sb-nav-fixed #layoutSidenav.jti-app-shell #layoutSidenav_content {
	padding-top: 0 !important;
	top: 0 !important;
}

body.jti-fundstory-dashboard,
body.jti-fundstory-dashboard #layoutSidenav,
body.jti-fundstory-dashboard .jti-app-shell {
	background: var(--wf-neutral) !important;
}

body.jti-fundstory-dashboard .jti-fundstory-greeting,
body.jti-fundstory-dashboard .jti-fundstory-greeting h3,
body.jti-fundstory-dashboard .jti-fundstory-greeting td {
	color: var(--ali-dark-green) !important;
}

/* Space above greeting / dashboard content */
body.jti-fundstory-dashboard .jti-main-content main > .container-fluid.px-4 {
	padding-top: 20px !important;
	padding-bottom: 36px !important;
}

body.jti-fundstory-dashboard .jti-fundstory-greeting h3 {
	margin-top: 0 !important;
	margin-bottom: 6px;
}

body.jti-fundstory-dashboard .jti-fundstory-greeting-title {
	display: inline-block;
	background: linear-gradient(90deg, var(--ali-dark-green), var(--ali-green), var(--ali-moss), var(--ali-dark-green));
	background-size: 240% auto;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	font-size: clamp(1.55rem, 2.2vw, 2.35rem);
	letter-spacing: -0.03em;
	text-shadow: 0 12px 28px rgba(17, 41, 35, 0.12);
	animation: jtiGreetingGlow 7s ease-in-out infinite;
}

@keyframes jtiGreetingGlow {
	0% {
		background-position: 0% center;
	}
	50% {
		background-position: 100% center;
	}
	100% {
		background-position: 0% center;
	}
}

body.jti-fundstory-dashboard .jti-fundstory-greeting-card {
	width: 100%;
	padding: 18px 20px;
	border: 1px solid rgba(0, 123, 75, 0.14);
	border-radius: 18px;
	background: linear-gradient(135deg, rgba(240, 237, 228, 0.95), rgba(255, 255, 255, 0.96));
	box-shadow: 0 14px 35px rgba(17, 41, 35, 0.08);
}

body.jti-fundstory-dashboard .jti-fundstory-greeting-main {
	margin-bottom: 14px;
}

body.jti-fundstory-dashboard .jti-fundstory-account-details {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

body.jti-fundstory-dashboard .jti-fundstory-account-details span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 11px;
	border: 1px solid rgba(0, 123, 75, 0.12);
	border-radius: 999px;
	background: var(--ali-white);
	color: var(--wf-text);
	font-size: 0.88rem;
}

body.jti-fundstory-dashboard .jti-fundstory-account-details b {
	color: var(--ali-green);
	font-size: 0.72rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* Remove line above disclaimer/footer in Fund Story dashboards */
body.jti-fundstory-dashboard footer.bg-light,
body.jti-fundstory-dashboard .jti-main-content footer,
body.jti-fundstory-dashboard .sb-sidenav-footer {
	background: var(--ali-grey) !important;
	border-top: 0 !important;
	box-shadow: none !important;
}

/* Defined Contribution + FAQs + Employee List â€” light shell (same neutral as rest of app) */
body.jti-contr-page,
body.jti-faqs-page,
body.jti-employee-list-page,
body.jti-contr-page #layoutSidenav,
body.jti-faqs-page #layoutSidenav,
body.jti-employee-list-page #layoutSidenav,
body.jti-contr-page .jti-app-shell,
body.jti-faqs-page .jti-app-shell,
body.jti-employee-list-page .jti-app-shell,
body.jti-contr-page #layoutSidenav_content,
body.jti-faqs-page #layoutSidenav_content,
body.jti-employee-list-page #layoutSidenav_content,
body.jti-contr-page .jti-main-content,
body.jti-faqs-page .jti-main-content,
body.jti-employee-list-page .jti-main-content,
body.jti-contr-page .jti-main-content main,
body.jti-faqs-page .jti-main-content main,
body.jti-employee-list-page .jti-main-content main,
body.jti-contr-page .jti-main-content .container-fluid,
body.jti-faqs-page .jti-main-content .container-fluid,
body.jti-employee-list-page .jti-main-content .container-fluid,
body.jti-contr-page .bg-light,
body.jti-faqs-page .bg-light,
body.jti-employee-list-page .bg-light {
	background: var(--wf-neutral) !important;
}

body.jti-contr-page.sb-nav-fixed #layoutSidenav.jti-app-shell #layoutSidenav_content,
body.jti-faqs-page.sb-nav-fixed #layoutSidenav.jti-app-shell #layoutSidenav_content,
body.jti-employee-list-page.sb-nav-fixed #layoutSidenav.jti-app-shell #layoutSidenav_content,
body.jti-enrollment-amendment-page.sb-nav-fixed #layoutSidenav.jti-app-shell #layoutSidenav_content {
	padding-top: 0 !important;
	top: 0 !important;
}

body.jti-contr-page footer.bg-light,
body.jti-faqs-page footer.bg-light,
body.jti-enrollment-amendment-page footer.bg-light,
body.jti-employee-list-page footer.bg-light {
	background: var(--ali-white) !important;
	border-top: 0 !important;
	box-shadow: none !important;
}

/* Page titles on light DC / FAQ backgrounds */
body.jti-contr-page .jti-main-content form > .row:first-of-type span {
	color: var(--wf-text) !important;
}

body.jti-faqs-page .text-FF6200 {
	color: var(--wf-primary) !important;
}

.jti-faqs-page-title {
	width: 100%;
	margin: 5px auto 18px;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	color: var(--ali-dark-green);
}

body.jti-faqs-page .jti-faqs-card {
	border: 0;
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(17, 41, 35, 0.08);
	overflow: hidden;
}

body.jti-faqs-page .jti-faqs-card .card-body {
	padding: 0;
}

body.jti-faqs-page .jti-faqs-ppt-shell {
	background: var(--ali-white);
}

body.jti-faqs-page .jti-faqs-intro {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 28px 32px;
	background: linear-gradient(135deg, var(--ali-dark-green), var(--ali-green));
	color: var(--ali-white);
}

body.jti-faqs-page .jti-faqs-intro h2 {
	margin: 6px 0 8px;
	font-size: 1.65rem;
	font-weight: 700;
	color: var(--ali-white);
}

body.jti-faqs-page .jti-faqs-intro p {
	max-width: 720px;
	margin: 0;
	color: rgba(255, 255, 255, 0.88);
}

body.jti-faqs-page .jti-faqs-eyebrow {
	display: inline-flex;
	align-items: center;
	padding: 5px 11px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ali-white);
}

body.jti-faqs-page .jti-faqs-count {
	flex: 0 0 auto;
	padding: 14px 18px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.25);
	color: var(--ali-white);
	font-weight: 700;
	white-space: nowrap;
}

body.jti-faqs-page .jti-faqs-section {
	padding: 30px 32px 4px;
}

body.jti-faqs-page .jti-faqs-section:last-child {
	padding-bottom: 32px;
}

body.jti-faqs-page .jti-faqs-section h3 {
	margin: 0 0 16px;
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--ali-dark-green);
}

body.jti-faqs-page .jti-faqs-list {
	display: grid;
	gap: 16px;
}

body.jti-faqs-page .jti-faq-item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 18px;
	padding: 20px;
	border: 1px solid var(--ali-light-gray);
	border-radius: 16px;
	background: linear-gradient(180deg, var(--ali-white), rgba(240, 237, 228, 0.4));
}

body.jti-faqs-page .jti-faq-item-number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--ali-off-white);
	color: var(--ali-dark-green);
	font-weight: 800;
}

body.jti-faqs-page .jti-faq-item-content h4 {
	margin: 0 0 10px;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--ali-dark-green);
}

body.jti-faqs-page .jti-faq-answer p {
	margin: 0 0 10px;
	color: var(--wf-text);
	line-height: 1.55;
}

body.jti-faqs-page .jti-faq-answer p:last-child {
	margin-bottom: 0;
}

body.jti-faqs-page .jti-faqs-answer-list {
	margin: 0 0 12px;
	padding-left: 1.1rem;
	color: var(--wf-text);
}

body.jti-faqs-page .jti-faqs-answer-list:last-child {
	margin-bottom: 0;
}

body.jti-faqs-page .jti-faqs-answer-list li {
	margin-bottom: 6px;
	line-height: 1.5;
}

body.jti-faqs-page .jti-faqs-table-wrap {
	overflow-x: auto;
}

body.jti-faqs-page .jti-faqs-table td.text-top,
body.jti-faqs-page .jti-faqs-table th.text-top {
	vertical-align: top;
}

@media (max-width: 767px) {
	body.jti-faqs-page .jti-faqs-intro,
	body.jti-faqs-page .jti-faqs-section {
		padding-left: 20px;
		padding-right: 20px;
	}

	body.jti-faqs-page .jti-faqs-intro {
		align-items: flex-start;
		flex-direction: column;
	}

	body.jti-faqs-page .jti-faq-item {
		grid-template-columns: 1fr;
		gap: 12px;
	}
}

.jti-nav-brand {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px 0;
	visibility: visible;
	opacity: 1;
}

.jti-nav-brand img {
	display: block;
	width: 180px;
	max-width: 90%;
	height: auto;
	visibility: visible;
	opacity: 1;
}

.jti-nav-links {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	padding: 0 15px;
	box-sizing: border-box;
}

.jti-nav-links a,
.jti-nav-collapse-toggle {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 12px 20px;
	text-decoration: none;
	border-radius: 8px;
	color: var(--wf-primary) !important;
	font-size: 15px;
	text-align: left;
	border: 0;
	background: transparent;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.jti-nav-collapse-toggle {
	margin-top: 4px;
	cursor: pointer;
}

.jti-nav-links a:hover,
.jti-nav-links a:focus,
.jti-nav-links a.active-link,
.jti-nav-collapse-toggle:hover {
	background-color: var(--ali-off-white) !important;
	color: var(--ali-green) !important;
}

.jti-nav-collapse-toggle:focus {
	background: transparent !important;
	color: var(--wf-primary) !important;
	outline: 2px solid transparent;
}

.jti-nav-collapse-toggle:focus-visible {
	background-color: var(--ali-off-white) !important;
	color: var(--ali-green) !important;
	outline: 2px solid rgba(0, 123, 75, 0.25);
	outline-offset: 2px;
}

.jti-nav-links a.active-link {
	font-weight: bold;
}

/* Sidebar links use lightweight icons for visual scanning. */
.jti-sidebar .jti-nav-links .sb-nav-link-icon,
.jti-sidebar .jti-nav-links a i,
.jti-sidebar .jti-nav-links button i {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 20px;
	width: 20px;
	min-width: 20px;
	color: inherit !important;
	font-size: 0.95rem;
	text-align: center;
}

/* Defined contribution page content styling aligned with Fund Story */
.jti-dc-balance-page-title {
	margin: 5px auto;
	text-align: center;
	font-size: 2em;
	font-weight: bold;
	color: var(--ali-dark-green);
}

.jti-contr-page .jti-main-content .container-fluid,
body.jti-employee-list-page .jti-main-content .container-fluid {
	padding-top: 8px;
}

/* Employee List (company account) â€” align with DC / FAQs */
body.jti-employee-list-page .jti-dc-balance-page-title {
	margin: 5px auto 10px;
	text-align: center;
	font-size: 2em;
	font-weight: bold;
	color: var(--ali-dark-green) !important;
}

body.jti-employee-list-page .jti-emp-filters {
	margin-bottom: 14px;
}

body.jti-employee-list-page .jti-emp-filters .input-group,
body.jti-employee-list-page .jti-emp-toolbar .input-group,
body.jti-employee-list-page .jti-emp-card .input-group {
	background: var(--ali-white);
	border-radius: 8px;
}

body.jti-employee-list-page .jti-emp-filters .input-group-text,
body.jti-employee-list-page .jti-emp-toolbar .input-group-text,
body.jti-employee-list-page .jti-emp-card .input-group-text,
body.jti-employee-list-page #listform .input-group-text {
	min-width: 64px;
	height: 42px;
	font-weight: 600;
	background-color: var(--ali-dark-green) !important;
	border-color: var(--ali-dark-green) !important;
	color: var(--ali-white) !important;
}

body.jti-employee-list-page .jti-emp-filters .form-select,
body.jti-employee-list-page .jti-emp-toolbar .form-select,
body.jti-employee-list-page #srchstr {
	height: 42px;
	border-color: var(--ali-light-gray);
	color: var(--ali-dark-grey);
}

body.jti-employee-list-page #srchstr {
	border-radius: 8px;
}

body.jti-employee-list-page .jti-emp-card {
	background: var(--ali-white);
	border: 1px solid var(--ali-light-gray);
	border-radius: 10px;
	padding: 12px;
	box-shadow: 0 2px 6px rgba(17, 41, 35, 0.06);
}

body.jti-employee-list-page .jti-emp-filter-card {
	padding: 14px;
}

body.jti-employee-list-page .jti-emp-filter-split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	align-items: stretch;
}

body.jti-employee-list-page .jti-emp-filter-controls-container,
body.jti-employee-list-page .jti-emp-search-container {
	display: flex;
	align-items: center;
	min-width: 0;
	width: 100%;
}

body.jti-employee-list-page .jti-emp-search-container {
	gap: 10px;
}

body.jti-employee-list-page .jti-emp-filter-row-top {
	display: grid;
	gap: 12px;
	width: 100%;
	min-width: 0;
}

body.jti-employee-list-page .jti-emp-filter-cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.jti-employee-list-page .jti-emp-filter-cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.jti-employee-list-page .jti-emp-filter-cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.jti-employee-list-page .jti-emp-filter-row-top .input-group {
	width: 100%;
	flex-wrap: nowrap;
}

body.jti-employee-list-page .jti-emp-filter-row-top .form-select {
	height: 42px;
	min-width: 0;
	width: 100%;
}

body.jti-employee-list-page .jti-emp-filter-search {
	flex: 1 1 auto;
	min-width: 0;
}

body.jti-employee-list-page .jti-emp-filter-search .form-control,
body.jti-employee-list-page .jti-emp-search-card #srchstr {
	height: 42px;
	border-radius: 8px;
	width: 100%;
}

body.jti-employee-list-page .jti-emp-search-actions {
	gap: 8px;
	justify-content: flex-end;
	flex: 0 0 auto;
	flex-wrap: nowrap;
}

body.jti-employee-list-page .jti-emp-search-actions .btn,
body.jti-employee-list-page #cmdsrch {
	min-width: 96px;
	height: 42px;
	font-weight: 600;
	border-radius: 10px;
	background-color: var(--ali-green) !important;
	border-color: var(--ali-green) !important;
	color: var(--ali-white) !important;
}

body.jti-employee-list-page #cmdsrch {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

body.jti-employee-list-page .jti-emp-search-actions .btn:hover,
body.jti-employee-list-page .jti-emp-search-actions .btn:focus,
body.jti-employee-list-page #cmdsrch:hover {
	background-color: var(--ali-dark-green) !important;
	border-color: var(--ali-dark-green) !important;
	color: var(--ali-white) !important;
}

body.jti-employee-list-page #cmdexport.jti-btn-export {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 112px;
	border-radius: 10px;
	background-color: var(--ali-green) !important;
	border-color: var(--ali-green) !important;
	box-shadow: 0 6px 14px rgba(17, 41, 35, 0.14);
}

body.jti-employee-list-page #cmdexport.jti-btn-export:hover,
body.jti-employee-list-page #cmdexport.jti-btn-export:focus {
	background-color: var(--ali-dark-green) !important;
	border-color: var(--ali-dark-green) !important;
}

body.jti-employee-list-page #cmdexport.jti-btn-export i {
	font-size: 0.95rem;
}

body.jti-employee-list-page .jti-emp-table-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
	padding: 2px 2px 10px;
	border-bottom: 1px solid rgba(139, 139, 139, 0.18);
}

body.jti-employee-list-page .jti-emp-selected-summary {
	justify-content: flex-start;
	flex-wrap: wrap;
}

body.jti-employee-list-page .jti-emp-period-note {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border-radius: 999px;
	background: #eef6f3;
	color: var(--ali-dark-green);
	font-size: 0.9rem;
	font-style: italic;
	font-weight: 600;
}

body.jti-employee-list-page .jti-emp-period-note span {
	font-weight: 800;
}

body.jti-employee-list-page #emplist {
	margin-bottom: 0;
	color: var(--ali-dark-grey);
	white-space: nowrap;
}

body.jti-employee-list-page .dataTables_scroll,
body.jti-employee-list-page .dataTables_scrollHead,
body.jti-employee-list-page .dataTables_scrollBody {
	width: 100% !important;
}

body.jti-employee-list-page .dataTables_scrollBody {
	border-bottom: 1px solid var(--ali-light-gray);
}

@media (max-width: 991.98px) {
	body.jti-employee-list-page .jti-emp-filter-cols-3,
	body.jti-employee-list-page .jti-emp-filter-cols-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px) {
	body.jti-employee-list-page .jti-emp-filter-row-top,
	body.jti-employee-list-page .jti-emp-filter-cols-2,
	body.jti-employee-list-page .jti-emp-filter-cols-3,
	body.jti-employee-list-page .jti-emp-filter-cols-4 {
		grid-template-columns: 1fr;
	}

	body.jti-employee-list-page .jti-emp-search-container {
		flex-direction: column;
		align-items: stretch;
	}

	body.jti-employee-list-page .jti-emp-search-actions {
		justify-content: stretch;
		width: 100%;
	}

	body.jti-employee-list-page .jti-emp-search-actions .btn {
		flex: 1;
	}

	body.jti-employee-list-page .jti-emp-table-header {
		align-items: flex-start;
	}
}

@media (max-width: 575.98px) {
	body.jti-employee-list-page .jti-emp-search-actions {
		flex-direction: column;
	}

	body.jti-employee-list-page .jti-emp-search-actions .btn {
		width: 100%;
	}

	body.jti-employee-list-page .jti-emp-period-note {
		width: 100%;
		justify-content: center;
		text-align: center;
	}
}

/* Super Admin — Employee List: top row Company / Scope / Year / Month */
body.jti-superadmin-employee-list .jti-superadmin-company-group .input-group-text {
	min-width: 76px;
}

/* Company List — Scope, search, and Search on one row */
body.jti-rspsv-company-list .jti-company-list-filter-bar,
body.jti-rspsv-company-list .jti-emp-filter-bar {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 10px;
	width: 100%;
}

body.jti-rspsv-company-list .jti-company-list-scope,
body.jti-rspsv-company-list .jti-emp-filter-group {
	flex: 0 0 auto;
	min-width: 220px;
	max-width: 320px;
	width: min(320px, 32%);
}

body.jti-rspsv-company-list .jti-emp-filter-group .input-group {
	width: 100%;
	flex-wrap: nowrap;
}

body.jti-rspsv-company-list .jti-emp-filter-search {
	flex: 1 1 auto;
	min-width: 160px;
}

body.jti-rspsv-company-list .jti-emp-search-actions {
	flex: 0 0 auto;
	flex-wrap: nowrap;
}

body.jti-rspsv-company-list .jti-emp-card .input-group .form-control,
body.jti-rspsv-company-list .jti-emp-card .input-group .form-select,
body.jti-rspsv-company-list #companysrch {
	height: 42px;
	border-color: var(--ali-light-gray);
	color: var(--ali-dark-grey);
}

body.jti-rspsv-company-list .jti-emp-card .input-group .form-select,
body.jti-rspsv-company-list .jti-emp-card .input-group .form-control[readonly] {
	background-color: var(--ali-white);
}

body.jti-rspsv-company-list .jti-emp-card .input-group .form-select {
	cursor: pointer;
}

body.jti-rspsv-company-list .jti-emp-table-header {
	flex-wrap: wrap;
}

body.jti-rspsv-company-list .jti-company-selected-scope {
	font-style: normal;
}

body.jti-rspsv-company-list #companysrch {
	border-radius: 8px;
	width: 100%;
}

body.jti-rspsv-company-list #cmdcompanysrch {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 96px;
	height: 42px;
	font-weight: 600;
	border-radius: 10px;
	background-color: var(--ali-green) !important;
	border-color: var(--ali-green) !important;
	color: var(--ali-white) !important;
}

body.jti-rspsv-company-list #cmdcompanysrch:hover,
body.jti-rspsv-company-list #cmdcompanysrch:focus {
	background-color: var(--ali-dark-green) !important;
	border-color: var(--ali-dark-green) !important;
	color: var(--ali-white) !important;
}

@media (max-width: 767.98px) {
	body.jti-rspsv-company-list .jti-company-list-filter-bar,
	body.jti-rspsv-company-list .jti-emp-filter-bar {
		flex-wrap: wrap;
	}

	body.jti-rspsv-company-list .jti-company-list-scope,
	body.jti-rspsv-company-list .jti-emp-filter-group {
		width: 100%;
		max-width: none;
	}

	body.jti-rspsv-company-list .jti-emp-filter-search {
		flex: 1 1 100%;
	}

	body.jti-rspsv-company-list .jti-emp-search-actions {
		width: 100%;
		justify-content: flex-end;
	}
}

body.jti-employee-list-page #emplist thead tr.jti-emp-header-groups th,
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-head table.dataTable thead tr.jti-emp-header-groups th,
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-headInner table.dataTable thead tr.jti-emp-header-groups th,
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-head table.dataTable thead tr:first-child th {
	--bs-table-bg: var(--ali-off-white) !important;
	--bs-table-color: var(--ali-green) !important;
	--bs-table-accent-bg: transparent !important;
	background-color: var(--ali-off-white) !important;
	background: var(--ali-off-white) !important;
	color: var(--ali-green) !important;
	font-weight: 700;
	text-align: center;
	font-size: 0.9rem;
	padding: 11px 8px;
	border-color: var(--ali-off-dark-white) !important;
	box-shadow: none !important;
	vertical-align: middle !important;
}

body.jti-employee-list-page #emplist thead tr.jti-emp-header-columns th,
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-head table.dataTable thead tr.jti-emp-header-columns th,
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-headInner table.dataTable thead tr.jti-emp-header-columns th,
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-head table.dataTable thead tr:nth-child(2) th {
	--bs-table-bg: var(--ali-off-white) !important;
	--bs-table-color: var(--ali-green) !important;
	--bs-table-accent-bg: transparent !important;
	background-color: var(--ali-off-white) !important;
	background: var(--ali-off-white) !important;
	color: var(--ali-green) !important;
	font-weight: 700;
	text-align: center;
	font-size: 0.85rem;
	padding: 11px 8px;
	border-color: var(--ali-off-dark-white) !important;
	box-shadow: none !important;
	vertical-align: middle !important;
}

body.jti-employee-list-page #emplist thead th[rowspan],
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-head table.dataTable thead th[rowspan],
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-headInner table.dataTable thead th[rowspan],
body.jti-employee-list-page #emplist thead .jti-emp-action-heading {
	--bs-table-bg: var(--ali-off-white) !important;
	--bs-table-color: var(--ali-green) !important;
	--bs-table-accent-bg: transparent !important;
	background-color: var(--ali-off-white) !important;
	background: var(--ali-off-white) !important;
	color: var(--ali-green) !important;
	box-shadow: none !important;
	vertical-align: middle !important;
}

body.jti-employee-list-page #emplist thead,
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-head thead {
	border-bottom: 0 !important;
}

body.jti-employee-list-page #emplist_wrapper div.dt-scroll-head,
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-headInner,
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-body {
	border-top: 0 !important;
	border-bottom: 0 !important;
}

body.jti-employee-list-page #emplist thead tr.jti-emp-header-columns th,
body.jti-employee-list-page #emplist thead th[rowspan],
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-head table.dataTable thead tr.jti-emp-header-columns th,
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-head table.dataTable thead th[rowspan],
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-headInner table.dataTable thead tr.jti-emp-header-columns th,
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-headInner table.dataTable thead th[rowspan] {
	border-bottom: 1px solid var(--ali-off-dark-white) !important;
}

body.jti-employee-list-page #emplist tbody tr:first-child > *,
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-body table.dataTable tbody tr:first-child > * {
	border-top: 1px solid var(--ali-off-dark-white) !important;
}

body.jti-employee-list-page #emplist th,
body.jti-employee-list-page #emplist td {
	vertical-align: middle;
	border-color: var(--ali-off-dark-white) !important;
	border-width: 1px !important;
}

body.jti-employee-list-page #emplist tbody td {
	font-size: 0.9rem;
	padding: 7px 8px;
}

body.jti-employee-list-page #emplist tbody tr {
	cursor: pointer;
}

body.jti-employee-list-page #emplist tbody tr:nth-child(odd) > *,
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-body table.dataTable tbody tr:nth-child(odd) > * {
	--bs-table-bg: var(--ali-white) !important;
	--bs-table-accent-bg: var(--ali-white) !important;
	background-color: var(--ali-white) !important;
	box-shadow: inset 0 0 0 9999px var(--ali-white) !important;
}

body.jti-employee-list-page #emplist tbody tr:nth-child(even) > *,
body.jti-employee-list-page #emplist_wrapper div.dt-scroll-body table.dataTable tbody tr:nth-child(even) > * {
	--bs-table-bg: #f4f2f5 !important;
	--bs-table-accent-bg: #f4f2f5 !important;
	background-color: #f4f2f5 !important;
	box-shadow: inset 0 0 0 9999px #f4f2f5 !important;
}

body.jti-rspsv-employee-list #emplist tbody tr:hover td,
body.jti-rspsv-employee-list #emplist tbody tr.selected td {
	--bs-table-bg: var(--ali-light-green) !important;
	--bs-table-accent-bg: var(--ali-light-green) !important;
	background-color: var(--ali-light-green) !important;
	color: var(--ali-dark-green);
	box-shadow: inset 0 0 0 9999px var(--ali-light-green) !important;
}

body.jti-rspsv-employee-list #emplist.dataTable tbody tr.selected > *,
body.jti-rspsv-employee-list #emplist.table-striped tbody tr.selected > * {
	--bs-table-bg: var(--ali-light-green) !important;
	--bs-table-accent-bg: var(--ali-light-green) !important;
	background-color: var(--ali-light-green) !important;
	box-shadow: inset 0 0 0 9999px var(--ali-light-green) !important;
	color: var(--ali-dark-green) !important;
}

body.jti-rspsv-employee-list .jti-emp-row-action {
	width: 30px;
	height: 30px;
	padding: 0;
	border-radius: 50%;
	color: var(--ali-green) !important;
	background: transparent !important;
	border: 1px solid transparent !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

body.jti-rspsv-employee-list .jti-emp-row-action:hover,
body.jti-rspsv-employee-list .jti-emp-row-action:focus {
	color: var(--ali-white) !important;
	background: var(--ali-green) !important;
	border-color: var(--ali-green) !important;
}

body.jti-rspsv-employee-list .jti-emp-soa-action {
	color: var(--ali-dark-green) !important;
	background: #eef6f3 !important;
	border-color: #d9e4de !important;
	margin: 0 auto;
}

body.jti-rspsv-employee-list .jti-emp-soa-action:hover,
body.jti-rspsv-employee-list .jti-emp-soa-action:focus {
	color: var(--ali-white) !important;
	background: var(--ali-dark-green) !important;
	border-color: var(--ali-dark-green) !important;
}

body.jti-rspsv-employee-list #emplist tbody td:last-child,
body.jti-rspsv-employee-list #emplist_wrapper div.dt-scroll-body table.dataTable tbody td:last-child {
	text-align: center !important;
}

body.jti-rspsv-employee-list .jti-employee-detail-modal .modal-content {
	border: 0;
	border-radius: 16px;
	box-shadow: 0 18px 60px rgba(17, 41, 35, 0.24);
	overflow: hidden;
}

body.jti-rspsv-employee-list .jti-employee-detail-modal .modal-xl {
	max-width: 1180px;
}

body.jti-rspsv-employee-list .jti-employee-detail-modal .modal-header {
	background: var(--ali-white);
	border-bottom: 1px solid var(--ali-light-gray);
	padding: 18px 22px;
}

body.jti-rspsv-employee-list .jti-employee-detail-modal .modal-title {
	color: var(--ali-dark-green);
	font-weight: 800;
}

body.jti-rspsv-employee-list .jti-emp-modal-subtitle {
	margin-top: 3px;
	color: var(--ali-grey);
	font-size: 0.9rem;
	font-weight: 600;
}

body.jti-rspsv-employee-list .jti-emp-modal-grid {
	display: grid;
	grid-template-columns: minmax(280px, 0.9fr) minmax(320px, 1.1fr);
	gap: 16px;
}

body.jti-rspsv-employee-list .jti-emp-modal-hero {
	min-height: 170px;
	padding: 22px;
	border-radius: 14px;
	background: var(--ali-green);
	color: var(--ali-white);
}

body.jti-rspsv-employee-list .jti-emp-modal-kicker {
	font-size: 0.9rem;
	font-weight: 700;
	opacity: 0.95;
}

body.jti-rspsv-employee-list .jti-emp-modal-balance {
	margin-top: 16px;
	font-size: 1.8rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}

body.jti-rspsv-employee-list .jti-emp-modal-asof {
	margin-top: 8px;
	font-weight: 600;
	opacity: 0.92;
}

body.jti-rspsv-employee-list .jti-emp-modal-card {
	background: var(--ali-white);
	border: 1px solid var(--ali-light-gray);
	border-radius: 14px;
	padding: 18px;
	box-shadow: 0 4px 14px rgba(17, 41, 35, 0.07);
}

body.jti-rspsv-employee-list .jti-emp-modal-card h6 {
	margin: 0 0 14px;
	color: var(--ali-dark-green);
	font-weight: 800;
}

body.jti-rspsv-employee-list .jti-emp-modal-history {
	min-height: 300px;
}

body.jti-rspsv-employee-list .jti-emp-modal-chart-wrap {
	position: relative;
	width: 100%;
	height: 245px;
	border: 1px solid #eef2ef;
	border-radius: 10px;
	padding: 10px;
	background: var(--ali-white);
}

body.jti-rspsv-employee-list .jti-emp-modal-chart-wrap canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
}

body.jti-rspsv-employee-list .jti-emp-modal-info-grid,
body.jti-rspsv-employee-list .jti-emp-modal-metrics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

body.jti-rspsv-employee-list .jti-emp-modal-info-grid div,
body.jti-rspsv-employee-list .jti-emp-modal-metrics div {
	padding: 11px 12px;
	border-radius: 10px;
	background: #f7faf8;
	border: 1px solid #e1ebe5;
}

body.jti-rspsv-employee-list .jti-emp-modal-info-grid span,
body.jti-rspsv-employee-list .jti-emp-modal-metrics span {
	display: block;
	margin-bottom: 4px;
	color: var(--ali-grey);
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

body.jti-rspsv-employee-list .jti-emp-modal-info-grid strong,
body.jti-rspsv-employee-list .jti-emp-modal-metrics strong {
	color: var(--ali-dark-green);
	font-weight: 800;
	word-break: break-word;
}

body.jti-rspsv-employee-list .jti-emp-modal-donut-row {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: 18px;
	align-items: center;
}

body.jti-rspsv-employee-list .jti-emp-modal-donut {
	position: relative;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(17, 41, 35, 0.05);
}

body.jti-rspsv-employee-list .jti-emp-modal-donut span {
	position: absolute;
	inset: 48px;
	border-radius: 50%;
	background: var(--ali-white);
	box-shadow: 0 0 0 1px rgba(17, 41, 35, 0.06);
}

body.jti-rspsv-employee-list .jti-emp-modal-legend {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.jti-rspsv-employee-list .jti-emp-modal-legend li {
	display: grid;
	grid-template-columns: 12px minmax(0, 1fr);
	column-gap: 10px;
	row-gap: 2px;
	align-items: center;
	color: var(--ali-dark-green);
}

body.jti-rspsv-employee-list .jti-emp-modal-legend i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
}

body.jti-rspsv-employee-list .jti-emp-modal-legend span {
	font-weight: 700;
}

body.jti-rspsv-employee-list .jti-emp-modal-legend strong {
	grid-column: 2;
	color: var(--ali-grey);
	font-size: 0.85rem;
	font-weight: 700;
}

body.jti-rspsv-employee-list .jti-emp-modal-loading {
	padding: 16px;
	border: 1px dashed var(--ali-light-gray);
	border-radius: 10px;
	color: var(--ali-grey);
	font-weight: 700;
	text-align: center;
}

body.jti-rspsv-employee-list .jti-emp-breakdown-item {
	margin-bottom: 13px;
}

body.jti-rspsv-employee-list .jti-emp-breakdown-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 7px;
	font-weight: 700;
	color: var(--ali-dark-green);
}

body.jti-rspsv-employee-list .jti-emp-breakdown-meta span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

body.jti-rspsv-employee-list .jti-emp-breakdown-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ali-sienna);
}

body.jti-rspsv-employee-list .jti-emp-breakdown-track {
	height: 10px;
	border-radius: 999px;
	background: #edf2ef;
	overflow: hidden;
}

body.jti-rspsv-employee-list .jti-emp-breakdown-track span {
	display: block;
	height: 100%;
	min-width: 4px;
	border-radius: 999px;
}

body.jti-rspsv-employee-list .jti-emp-breakdown-pct {
	margin-top: 4px;
	color: var(--ali-grey);
	font-size: 0.82rem;
	font-weight: 700;
	text-align: right;
}

body.jti-rspsv-employee-list .is-employer {
	background: var(--ali-wood) !important;
}

body.jti-rspsv-employee-list .is-employee {
	background: var(--ali-moss) !important;
}

body.jti-rspsv-employee-list .is-interest {
	background: var(--ali-midnight) !important;
}

body.jti-rspsv-employee-list .is-withdrawal {
	background: var(--ali-grey) !important;
}

@media (max-width: 991.98px) {
	body.jti-rspsv-employee-list .jti-emp-modal-grid {
		grid-template-columns: 1fr;
	}

	body.jti-rspsv-employee-list .jti-emp-modal-donut-row {
		grid-template-columns: 1fr;
		justify-items: center;
	}
}

body.jti-employee-list-page .dataTables_wrapper .dataTables_filter input,
body.jti-employee-list-page .dataTables_wrapper .dataTables_length select {
	height: 36px;
	border: 1px solid var(--ali-light-gray);
	border-radius: 6px;
	color: var(--ali-dark-grey);
}

body.jti-employee-list-page .dataTables_wrapper .bottom,
body.jti-employee-list-page .jti-emp-table-footer,
body.jti-employee-list-page .dataTables_wrapper .dataTables_paginate,
body.jti-employee-list-page div.dt-container div.dt-paging {
	margin-top: 16px;
	padding-top: 10px;
}

body.jti-employee-list-page .dataTables_wrapper .bottom,
body.jti-employee-list-page .jti-emp-table-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	border-top: 1px solid rgba(218, 215, 205, 0.75);
}

body.jti-employee-list-page .jti-emp-footer-actions {
	display: flex;
	align-items: center !important;
	justify-content: flex-end;
	gap: 12px;
	flex: 0 1 auto;
	flex-wrap: wrap;
	margin-left: auto;
}

body.jti-employee-list-page .jti-emp-table-toolbar {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin: 0;
}

body.jti-employee-list-page .jti-emp-length-control {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	margin: 0;
	color: var(--ali-dark-grey);
	font-weight: 600;
	line-height: 1;
}

body.jti-employee-list-page .jti-emp-length-control .form-select {
	width: 76px;
	height: 40px;
	padding-top: 0;
	padding-bottom: 0;
	border-color: var(--ali-light-gray);
	border-radius: 8px;
	color: var(--ali-dark-green);
	font-weight: 700;
}

body.jti-employee-list-page .dataTables_wrapper .dataTables_info,
body.jti-employee-list-page .jti-emp-table-footer .dataTables_info,
body.jti-employee-list-page .jti-emp-table-footer .dt-info {
	display: flex;
	align-items: center;
	min-height: 40px;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--ali-dark-grey);
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.2;
}

body.jti-employee-list-page .dataTables_wrapper .dataTables_paginate,
body.jti-employee-list-page div.dt-container div.dt-paging {
	margin-top: 0;
	padding-top: 0;
	text-align: right;
}

body.jti-employee-list-page .dataTables_wrapper .pagination,
body.jti-employee-list-page div.dt-container div.dt-paging ul.pagination {
	align-items: center;
	margin: 0;
	justify-content: flex-end;
}

body.jti-employee-list-page .jti-emp-footer-actions .page-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: 0 12px;
	line-height: 1;
}

body.jti-employee-list-page .dataTables_wrapper .pagination .page-link,
body.jti-employee-list-page .dataTables_wrapper .pagination > li > a,
body.jti-employee-list-page .dataTables_wrapper .pagination > li > span,
body.jti-employee-list-page div.dt-container div.dt-paging ul.pagination li a.page-link {
	color: var(--ali-dark-green) !important;
	background-color: var(--ali-white) !important;
	border-color: var(--ali-light-gray) !important;
}

body.jti-employee-list-page .dataTables_wrapper .pagination .page-link:hover,
body.jti-employee-list-page .dataTables_wrapper .pagination .page-link:focus,
body.jti-employee-list-page div.dt-container div.dt-paging ul.pagination li a.page-link:hover {
	color: var(--ali-dark-green) !important;
	background-color: var(--ali-off-white) !important;
	border-color: var(--ali-green) !important;
}

body.jti-employee-list-page .dataTables_wrapper .pagination .page-item.active .page-link,
body.jti-employee-list-page .dataTables_wrapper .pagination .page-link[aria-current="page"],
body.jti-employee-list-page div.dt-container div.dt-paging ul.pagination li.dt-paging-button.active a.page-link {
	color: var(--ali-white) !important;
	background-color: var(--ali-green) !important;
	border-color: var(--ali-green) !important;
}

body.jti-employee-list-page .dt-body-right {
	text-align: right;
}
/* Company admin â€” enrollment list */
body.jti-enrollment-admin-page .jti-enrollment-list-header {
	margin: 5px auto 10px;
	text-align: center;
}

body.jti-enrollment-admin-page .jti-enrollment-list-title {
	margin: 0;
	font-size: 2em;
	font-weight: 800;
	color: var(--ali-dark-green) !important;
}

body.jti-enrollment-admin-page .jti-main-content .container-fluid {
	padding-top: 8px;
	max-width: none;
	width: 100%;
	min-width: 0;
}

body.jti-enrollment-admin-page .jti-enrollment-content {
	display: grid;
	gap: 14px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

body.jti-enrollment-admin-page .jti-enrollment-card {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

body.jti-enrollment-admin-page .jti-enrollment-filters,
body.jti-enrollment-admin-page .jti-enrollment-table-row {
	--bs-gutter-x: 0;
	width: 100%;
	max-width: 100%;
	margin-right: 0;
	margin-left: 0;
}

body.jti-enrollment-admin-page .jti-enrollment-filters > .col-12,
body.jti-enrollment-admin-page .jti-enrollment-table-row > .col-12 {
	width: 100%;
	max-width: 100%;
	padding-right: 0;
	padding-left: 0;
}

body.jti-enrollment-admin-page .jti-enrollment-filter-bar {
	display: grid;
	gap: 14px;
	width: 100%;
}

body.jti-enrollment-admin-page .jti-enrollment-filters .jti-emp-card,
body.jti-enrollment-admin-page .jti-enrollment-filter-bar,
body.jti-enrollment-admin-page .jti-enrollment-table-wrap {
	width: 100% !important;
	max-width: 100% !important;
}

body.jti-enrollment-admin-page .jti-enrollment-filter-controls {
	display: grid;
	grid-template-columns: minmax(430px, 500px) minmax(520px, 1fr);
	grid-template-areas:
		"company period"
		"status search";
	gap: 12px;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	padding: 12px;
	border: 1px solid rgba(218, 215, 205, 0.9);
	border-radius: 12px;
	background: #fbfaf7;
}

body.jti-enrollment-admin-page .jti-enrollment-action-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: nowrap;
	width: 100%;
	box-sizing: border-box;
	padding: 12px;
	border: 1px solid rgba(218, 215, 205, 0.9);
	border-radius: 12px;
	background: var(--ali-white);
}

body.jti-enrollment-admin-page .jti-enrollment-filter-controls,
body.jti-enrollment-admin-page .jti-enrollment-action-panel,
body.jti-enrollment-admin-page .jti-enrollment-table-wrap {
	margin-right: auto;
	margin-left: auto;
	max-width: 100%;
}

body.jti-enrollment-admin-page .jti-enrollment-period-note {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: 12px;
	row-gap: 4px;
	flex: 1 1 auto;
	min-width: 0;
	padding: 10px 14px;
	border: 1px solid rgba(0, 123, 75, 0.12);
	border-radius: 12px;
	background: #eef6f3;
	color: var(--ali-dark-green);
	font-style: italic;
	font-weight: 800;
	white-space: normal;
	overflow: visible;
}

body.jti-enrollment-admin-page .jti-enrollment-period-label {
	font-size: 0.78rem;
	font-style: italic !important;
	font-weight: 800 !important;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

body.jti-enrollment-admin-page .jti-enrollment-period-value {
	font-size: 0.92rem;
	font-style: italic !important;
	font-weight: 800 !important;
	line-height: 1.35;
	min-width: 0;
	overflow: visible;
	text-overflow: clip;
	white-space: normal;
}

body.jti-enrollment-admin-page .jti-enrollment-period-control,
body.jti-enrollment-admin-page .jti-enrollment-search-control,
body.jti-enrollment-admin-page .jti-enrollment-status-control {
	min-width: 0;
}

body.jti-enrollment-admin-page .jti-enrollment-company-control {
	grid-area: company;
}

body.jti-enrollment-admin-page .jti-enrollment-period-control {
	grid-area: period;
}

body.jti-enrollment-admin-page .jti-enrollment-search-control {
	grid-area: search;
}

body.jti-enrollment-admin-page .jti-enrollment-status-control {
	grid-area: status;
}

body.jti-enrollment-admin-page .jti-enrollment-content .input-group-text,
body.jti-enrollment-admin-page .jti-enrollment-filters .input-group-text,
body.jti-enrollment-admin-page .jti-emp-card .input-group-text {
	min-width: 88px;
	height: 42px;
	font-weight: 700;
	background-color: var(--ali-dark-green) !important;
	border-color: var(--ali-dark-green) !important;
	color: var(--ali-white) !important;
}

body.jti-enrollment-admin-page .jti-enrollment-content .form-select,
body.jti-enrollment-admin-page .jti-enrollment-content .form-control,
body.jti-enrollment-admin-page .jti-emp-card .form-select,
body.jti-enrollment-admin-page .jti-emp-card .form-control {
	height: 42px;
	border-color: var(--ali-light-gray);
	color: var(--ali-dark-grey);
}

body.jti-enrollment-admin-page .jti-enrollment-search-control .input-group {
	height: 42px;
	background: var(--ali-white);
	border-radius: 10px;
	box-shadow: 0 3px 10px rgba(17, 41, 35, 0.06);
}

body.jti-enrollment-admin-page .jti-enrollment-search-control .form-control {
	border-radius: 10px 0 0 10px;
	border-color: var(--ali-light-gray);
	border-right: 0;
	padding-left: 14px;
	font-weight: 400;
}

body.jti-enrollment-admin-page .jti-enrollment-search-control .form-control::placeholder {
	font-weight: 400;
	color: #6f7571;
	opacity: 1;
}

body.jti-enrollment-admin-page .jti-enrollment-search-control #btn-enrollment-search {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 112px;
	height: 42px;
	border-radius: 0 10px 10px 0;
	font-weight: 700;
	background-color: var(--ali-green) !important;
	border-color: var(--ali-green) !important;
	color: var(--ali-white) !important;
}

body.jti-enrollment-admin-page .jti-enrollment-search-control #btn-enrollment-search:hover,
body.jti-enrollment-admin-page .jti-enrollment-search-control #btn-enrollment-search:focus {
	background-color: var(--ali-dark-green) !important;
	border-color: var(--ali-dark-green) !important;
	color: var(--ali-white) !important;
}

body.jti-enrollment-admin-page .jti-enrollment-search-actions,
body.jti-enrollment-admin-page .jti-enrollment-print-actions {
	gap: 10px;
	flex: 0 0 auto;
	flex-wrap: wrap !important;
	justify-content: flex-end;
	min-width: 0;
}

body.jti-enrollment-admin-page .jti-enrollment-search-actions .btn,
body.jti-enrollment-admin-page .jti-enrollment-print-actions .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex: 0 0 auto;
	min-width: 0;
	height: 44px;
	padding-right: 12px;
	padding-left: 12px;
	border-radius: 10px;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.15;
	white-space: nowrap;
	background-color: var(--ali-green) !important;
	border-color: var(--ali-green) !important;
	color: var(--ali-white) !important;
}

body.jti-enrollment-admin-page .jti-enrollment-search-actions .btn:hover,
body.jti-enrollment-admin-page .jti-enrollment-search-actions .btn:focus,
body.jti-enrollment-admin-page .jti-enrollment-print-actions .btn:hover,
body.jti-enrollment-admin-page .jti-enrollment-print-actions .btn:focus {
	background-color: var(--ali-dark-green) !important;
	border-color: var(--ali-dark-green) !important;
	color: var(--ali-white) !important;
}

body.jti-enrollment-admin-page #btn-enrollment-showall {
	background-color: var(--ali-sienna) !important;
	border-color: var(--ali-sienna) !important;
}

body.jti-enrollment-admin-page #btn-enrollment-showall:hover,
body.jti-enrollment-admin-page #btn-enrollment-showall:focus {
	background-color: var(--ali-dark-green) !important;
	border-color: var(--ali-dark-green) !important;
}

body.jti-enrollment-admin-page .jti-enrollment-print-actions .btn {
	min-height: 42px;
}

body.jti-enrollment-admin-page .jti-enrollment-table-wrap {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	box-sizing: border-box;
	padding: 14px;
	border: 1px solid rgba(218, 215, 205, 0.9);
	border-radius: 12px;
	background: var(--ali-white);
	overflow: hidden;
}

body.jti-enrollment-admin-page .jti-enrollment-table-scroll {
	display: block;
	width: 100%;
	max-width: 100%;
	margin-right: 0;
	margin-left: 0;
	padding-bottom: 2px;
	overflow-x: auto;
	overflow-y: hidden;
}

body.jti-enrollment-admin-page .jti-enrollment-table-wrap .dt-container,
body.jti-enrollment-admin-page .jti-enrollment-table-wrap .dataTables_wrapper {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	overflow: visible;
}

body.jti-enrollment-admin-page .jti-enrollment-table-toolbar {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin: 0;
}

body.jti-enrollment-admin-page .jti-enrollment-length-control {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	margin: 0;
	color: var(--ali-dark-grey);
	font-weight: 600;
	line-height: 1;
}

body.jti-enrollment-admin-page .jti-enrollment-length-control .form-select {
	width: 76px;
	height: 40px;
	padding-top: 0;
	padding-bottom: 0;
	border-color: var(--ali-light-gray);
	border-radius: 8px;
	color: var(--ali-dark-green);
	font-weight: 700;
}

body.jti-enrollment-admin-page .jti-enrollment-table-wrap .dt-layout-table,
body.jti-enrollment-admin-page .jti-enrollment-table-wrap .dt-layout-table .dt-layout-cell,
body.jti-enrollment-admin-page .jti-enrollment-table-wrap .dt-scroll,
body.jti-enrollment-admin-page .jti-enrollment-table-wrap table {
	margin-bottom: 0;
}

body.jti-enrollment-admin-page .jti-enrollment-table-wrap .dt-layout-table,
body.jti-enrollment-admin-page .jti-enrollment-table-wrap .jti-enrollment-table-scroll {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
}

body.jti-enrollment-admin-page .jti-enrollment-table-wrap .dt-layout-table .dt-layout-cell {
	width: 100%;
	max-width: 100%;
	overflow: visible;
}

body.jti-enrollment-admin-page .jti-enrollment-table-footer,
body.jti-enrollment-admin-page .jti-enrollment-table-wrap .dt-layout-row:last-child,
body.jti-enrollment-admin-page .jti-enrollment-table-wrap .row:last-child {
	display: flex;
	align-items: center !important;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid rgba(218, 215, 205, 0.75);
}

body.jti-enrollment-admin-page .jti-enrollment-footer-actions {
	display: flex;
	align-items: center !important;
	justify-content: flex-end;
	gap: 12px;
	flex: 0 1 auto;
	flex-wrap: wrap;
	margin-left: auto;
}

body.jti-enrollment-admin-page .jti-enrollment-table-footer .dataTables_info,
body.jti-enrollment-admin-page .jti-enrollment-table-footer .dt-info {
	display: flex;
	align-items: center;
	min-height: 40px;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.2;
}

body.jti-enrollment-admin-page .jti-enrollment-footer-actions .pagination {
	align-items: center;
	margin: 0;
}

body.jti-enrollment-admin-page #enrollmentlist {
	margin-bottom: 0;
	color: var(--ali-dark-grey);
	white-space: nowrap;
	width: max-content !important;
	min-width: 1120px;
	table-layout: auto;
}

body.jti-enrollment-admin-page #enrollmentlist thead th,
body.jti-enrollment-admin-page .jti-enrollment-table-wrap table.dataTable thead th,
body.jti-enrollment-admin-page .jti-enrollment-table-wrap .dataTables_scrollHead thead th,
body.jti-enrollment-admin-page .jti-enrollment-table-wrap .dt-scroll-head thead th {
	--bs-table-bg: var(--ali-off-white) !important;
	--bs-table-color: var(--ali-green) !important;
	--bs-table-accent-bg: transparent !important;
	background: var(--ali-off-white) !important;
	background-color: var(--ali-off-white) !important;
	color: var(--ali-green) !important;
	border-color: var(--ali-off-dark-white) !important;
	font-weight: 800;
	text-align: center;
	vertical-align: middle;
	box-shadow: none !important;
}

body.jti-enrollment-admin-page #enrollmentlist th,
body.jti-enrollment-admin-page #enrollmentlist td,
body.jti-enrollment-admin-page .jti-enrollment-table-wrap .dataTables_scrollHead th,
body.jti-enrollment-admin-page .jti-enrollment-table-wrap .dt-scroll-head th {
	border-color: var(--ali-off-dark-white) !important;
	border-width: 1px !important;
	vertical-align: middle;
}

body.jti-enrollment-admin-page #enrollmentlist tbody tr:nth-child(odd) > * {
	--bs-table-bg: var(--ali-white) !important;
	--bs-table-accent-bg: var(--ali-white) !important;
	background-color: var(--ali-white) !important;
	box-shadow: inset 0 0 0 9999px var(--ali-white) !important;
}

body.jti-enrollment-admin-page #enrollmentlist tbody tr:nth-child(even) > * {
	--bs-table-bg: #f4f2f5 !important;
	--bs-table-accent-bg: #f4f2f5 !important;
	background-color: #f4f2f5 !important;
	box-shadow: inset 0 0 0 9999px #f4f2f5 !important;
}

body.jti-enrollment-admin-page #enrollmentlist tbody tr:hover > * {
	--bs-table-bg: #edf3e7 !important;
	--bs-table-accent-bg: #edf3e7 !important;
	background-color: #edf3e7 !important;
	box-shadow: inset 0 0 0 9999px #edf3e7 !important;
	color: var(--ali-dark-green) !important;
}

body.jti-enrollment-admin-page #enrollmentlist tbody tr.table-active > * {
	--bs-table-bg: var(--ali-light-green) !important;
	--bs-table-accent-bg: var(--ali-light-green) !important;
	background-color: var(--ali-light-green) !important;
	box-shadow: inset 0 0 0 9999px var(--ali-light-green) !important;
	color: var(--ali-dark-green) !important;
}

body.jti-enrollment-admin-page div.dt-container div.dt-search,
body.jti-enrollment-admin-page div.dt-container div.dt-length,
body.jti-enrollment-admin-page .dataTables_wrapper .dataTables_filter,
body.jti-enrollment-admin-page .dataTables_wrapper .dataTables_length {
	display: none;
}

body.jti-enrollment-admin-page div.dt-container div.dt-info,
body.jti-enrollment-admin-page .dataTables_wrapper .dataTables_info {
	margin-top: 0;
	color: var(--ali-dark-grey);
	font-weight: 600;
}

body.jti-enrollment-admin-page div.dt-container div.dt-paging,
body.jti-enrollment-admin-page .dataTables_wrapper .dataTables_paginate {
	margin-top: 0;
	padding-top: 0;
}

body.jti-enrollment-admin-page .jti-enrollment-footer-actions div.dt-paging,
body.jti-enrollment-admin-page .jti-enrollment-footer-actions .dataTables_paginate {
	margin-top: 0;
	padding-top: 0;
}

body.jti-enrollment-admin-page .jti-enrollment-footer-actions .page-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: 0 12px;
	line-height: 1;
}

body.jti-enrollment-admin-page div.dt-container div.dt-paging ul.pagination li a.page-link,
body.jti-enrollment-admin-page .dataTables_wrapper .pagination .page-link {
	color: var(--ali-dark-green) !important;
	background-color: var(--ali-white) !important;
	border-color: var(--ali-light-gray) !important;
}

body.jti-enrollment-admin-page div.dt-container div.dt-paging ul.pagination li a.page-link:hover,
body.jti-enrollment-admin-page .dataTables_wrapper .pagination .page-link:hover,
body.jti-enrollment-admin-page .dataTables_wrapper .pagination .page-link:focus {
	color: var(--ali-dark-green) !important;
	background-color: var(--ali-off-white) !important;
	border-color: var(--ali-green) !important;
}

body.jti-enrollment-admin-page div.dt-container div.dt-paging ul.pagination li.dt-paging-button.active a.page-link,
body.jti-enrollment-admin-page .dataTables_wrapper .pagination .page-item.active .page-link {
	color: var(--ali-white) !important;
	background-color: var(--ali-green) !important;
	border-color: var(--ali-green) !important;
}

body.jti-enrollment-admin-page .jti-enrollment-print-cell .btn-link {
	color: var(--ali-dark-green);
}

body.jti-enrollment-admin-page footer.bg-light {
	border-top: 0 !important;
	box-shadow: none !important;
}

body.jti-enrollment-admin-page #enrollmentlist tbody tr.table-active {
	background-color: rgba(0, 123, 75, 0.12) !important;
}

@media (max-width: 1199.98px) {
	body.jti-enrollment-admin-page .jti-enrollment-filter-controls {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"company period"
			"status search";
	}
}

@media (max-width: 767.98px) {
	body.jti-enrollment-admin-page .jti-enrollment-filter-controls {
		grid-template-columns: 1fr;
		grid-template-areas:
			"company"
			"period"
			"search"
			"status";
		overflow: hidden;
	}

	body.jti-enrollment-admin-page .jti-enrollment-filter-controls .input-group {
		width: 100%;
		min-width: 0;
	}

	body.jti-enrollment-admin-page .jti-enrollment-filter-controls .input-group-text {
		flex: 0 0 auto;
		min-width: auto;
		max-width: 45%;
		white-space: nowrap;
	}

	body.jti-enrollment-admin-page .jti-enrollment-filter-controls .form-select,
	body.jti-enrollment-admin-page .jti-enrollment-filter-controls .form-control {
		flex: 1 1 auto;
		width: 1%;
		min-width: 0;
		text-overflow: ellipsis;
	}

	body.jti-enrollment-admin-page .jti-enrollment-action-panel {
		align-items: stretch;
		flex-direction: column;
		flex-wrap: wrap;
		gap: 10px;
		overflow: hidden;
	}

	body.jti-enrollment-admin-page .jti-enrollment-period-note {
		display: block;
		flex: 0 1 auto;
		justify-content: flex-start;
		width: 100%;
		padding: 10px 12px;
		border-radius: 12px;
		white-space: normal;
	}

	body.jti-enrollment-admin-page .jti-enrollment-period-note span {
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
	}

	body.jti-enrollment-admin-page .jti-enrollment-print-actions {
		flex: 0 1 auto;
		flex-direction: column;
		flex-wrap: wrap !important;
		gap: 8px;
		width: 100%;
	}

	body.jti-enrollment-admin-page .jti-enrollment-print-actions .btn {
		flex: 0 0 auto;
		justify-content: center;
		width: 100%;
		min-width: 0;
		height: auto;
		min-height: 42px;
		padding: 10px 12px;
		white-space: normal;
	}

	body.jti-enrollment-admin-page .jti-enrollment-table-footer {
		align-items: stretch;
		flex-direction: column;
	}

	body.jti-enrollment-admin-page .jti-enrollment-footer-actions {
		align-items: center;
		justify-content: space-between;
		width: 100%;
		margin-left: 0;
	}

	body.jti-enrollment-admin-page .jti-enrollment-length-control {
		flex: 0 1 auto;
	}
}

@media (max-width: 480px) {
	body.jti-enrollment-admin-page .jti-enrollment-footer-actions {
		flex-direction: column;
		justify-content: center;
	}

	body.jti-enrollment-admin-page .jti-enrollment-footer-actions .dataTables_paginate,
	body.jti-enrollment-admin-page .jti-enrollment-footer-actions .dt-paging {
		width: 100%;
	}

	body.jti-enrollment-admin-page .jti-enrollment-footer-actions .pagination {
		justify-content: center;
	}
}

@media (max-width: 575.98px) {
	body.jti-enrollment-admin-page .jti-enrollment-search-actions,
	body.jti-enrollment-admin-page .jti-enrollment-print-actions {
		flex-direction: column;
	}

	body.jti-enrollment-admin-page .jti-enrollment-search-actions .btn,
	body.jti-enrollment-admin-page .jti-enrollment-print-actions .btn {
		width: 100%;
	}
}

.jti-nav-links .nav-link.jti-nav-enrollment-open {
	background-color: rgba(0, 123, 75, 0.12);
	border-left: 3px solid var(--ali-dark-green, #007b4b);
}

.jti-nav-enrollment-badge {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 6px;
	font-size: 0.65rem;
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
	color: #fff;
	background-color: var(--ali-dark-green, #007b4b);
	border-radius: 4px;
	vertical-align: middle;
}

.jti-enrollment-dashboard-notice {
	border-left: 4px solid var(--ali-dark-green, #007b4b);
}

.jti-contr-page .jti-contr-filters {
	margin-bottom: 14px;
}

.jti-contr-page .jti-contr-filters .input-group {
	background: var(--ali-white);
	border-radius: 8px;
}

.jti-contr-page .jti-contr-filters .input-group-text {
	background-color: var(--ali-dark-green) !important;
	color: var(--ali-white) !important;
	border: 1px solid var(--ali-dark-green) !important;
	font-weight: 600;
	min-width: 78px;
}

.jti-contr-page .jti-contr-filters .form-select {
	border-color: var(--ali-light-gray);
	background-color: var(--ali-white);
	color: #000000;
	padding-right: 2rem;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	/* Force a single chevron icon regardless of inherited legacy styles */
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23008644' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
	background-repeat: no-repeat !important;
	background-position: right 0.7rem center !important;
	background-size: 14px 10px !important;
}

.jti-contr-page .panel-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.jti-contr-page .panel {
	border: 1px solid var(--ali-light-gray) !important;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: none;
}

.jti-contr-page .panel-heading {
	padding: 0 !important;
	background-color: var(--ali-green) !important;
	border-color: var(--ali-green) !important;
}

.jti-contr-page .panel-title {
	margin: 0;
}

.jti-contr-page .panel-title a {
	display: flex;
	align-items: center;
	padding: 10px 14px;
	color: var(--ali-white) !important;
	text-decoration: none !important;
	font-size: 17px;
	font-weight: 500;
}

.jti-contr-page .panel-title a::before {
	content: "+";
	display: inline-block;
	width: 18px;
	font-size: 25px;
	line-height: 1;
	font-weight: 700;
	margin-right: 8px;
}

.jti-contr-page .panel-title a[aria-expanded="true"]::before {
	content: "-";
}

.jti-contr-page .panel-body {
	padding: 14px 16px;
	background-color: var(--ali-white);
}

.jti-contr-page .panel-body td h4 {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	color: #000000;
}

/* Company defined contribution page uses the same visual treatment */
.jti-client-contr-page .jti-main-content .container-fluid {
	padding-top: 8px;
}

.jti-client-contr-page .jti-contr-filters {
	margin-bottom: 14px;
}

.jti-client-contr-page .jti-contr-filters .input-group {
	background: var(--ali-white);
	border-radius: 8px;
}

.jti-client-contr-page .jti-contr-filters .input-group-text {
	background-color: var(--wf-primary) !important;
	color: var(--ali-white) !important;
	border: 1px solid var(--wf-primary) !important;
	font-weight: 600;
	min-width: 78px;
}

.jti-client-contr-page .jti-contr-filters .form-select {
	border-color: var(--ali-light-gray);
	background-color: var(--ali-white);
	color: #000000;
	padding-right: 2rem;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23008644' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
	background-repeat: no-repeat !important;
	background-position: right 0.7rem center !important;
	background-size: 14px 10px !important;
}

.jti-client-contr-page .accordion {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.jti-client-contr-page .accordion-item {
	border: 1px solid var(--ali-light-gray) !important;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: none;
	background: var(--ali-white);
}

.jti-client-contr-page .accordion-button {
	background-color: var(--wf-secondary) !important;
	border-color: var(--wf-secondary) !important;
	color: var(--ali-white) !important;
	font-size: 17px;
	font-weight: 500;
	box-shadow: none !important;
}

.jti-client-contr-page .accordion-button::after {
	display: none !important;
}

.jti-client-contr-page .accordion-button::before {
	content: "+";
	display: inline-block;
	width: 18px;
	font-size: 25px;
	line-height: 1;
	font-weight: 700;
	margin-right: 8px;
}

.jti-client-contr-page .accordion-button:not(.collapsed)::before {
	content: "-";
}

.jti-trans-details {
	background-color: var(--ali-off-white);
	padding: 15px;
	margin: 15px 15px 20px 15px;
	margin-top: auto;
	border-radius: 10px;
}

.jti-trans-details .title {
	color: var(--ali-green);
	font-weight: 700;
	margin-bottom: 10px;
}

.jti-trans-details ul {
	background: var(--ali-white);
	border: 1px solid var(--ali-sprout);
	border-radius: 5px;
	padding: 0;
	margin: 0;
	max-height: 165px;
	overflow-y: auto;
	list-style: none;
}

.jti-trans-details li {
	font-size: 13px;
	padding: 8px;
	color: var(--wf-text);
	border-bottom: 1px solid var(--wf-border);
}

.jti-trans-details li:last-child {
	border-bottom: none;
}

/* Employee dashboard mockup layout */
.jti-dashboard-grid {
	display: grid;
	/* Left column (TPV + breakdown): 40%; right (income + contributions): 60% */
	grid-template-columns: 2fr 3fr;
	gap: 26px;
	margin-top: 20px;
	align-items: start;
}

.jti-dashboard-grid.jti-dashboard-grid--no-charts {
	grid-template-columns: minmax(0, 1fr);
	max-width: 520px;
}

.jti-dashboard-col-left {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
	width: 100%;
}

.jti-dashboard-col-left > .jti-card {
	width: 100%;
	flex-shrink: 0;
}

.jti-card {
	background: var(--wf-neutral);
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	padding: 20px;
}

/* Top row: TPV stays compact; Historical Portfolio card is taller */
.jti-card-tpv {
	min-height: 200px;
	display: flex;
	flex-direction: column;
}

.jti-card-income {
	min-height: 340px;
	display: flex;
	flex-direction: column;
}

.jti-card-breakdown,
.jti-card-contributions {
	min-height: 255px;
	display: flex;
	flex-direction: column;
}

.jti-card-title {
	margin: 0 0 12px 0;
	font-size: 1.1rem;
	font-weight: 700;
	color: #000000;
}

.jti-card-header-flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.jti-card-header-flex .jti-card-title {
	margin: 0;
}

.jti-view-all {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--wf-primary);
	text-decoration: none;
	white-space: nowrap;
}

.jti-view-all:hover,
.jti-view-all:focus {
	color: var(--ali-green);
	text-decoration: underline;
}

.jti-card-tpv {
	position: relative;
	background: var(--ali-green);
	color: var(--ali-white);
	min-height: 200px;
	--jti-tpv-logo-space: 150px;
}

.jti-card-tpv .jti-card-title {
	color: var(--ali-white);
}

.jti-tpv-value {
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: 0.4px;
	margin-top: 12px;
	max-width: calc(100% - var(--jti-tpv-logo-space));
	line-height: 1.15;
	overflow-wrap: anywhere;
}

.jti-tpv-caption {
	margin-top: 8px;
	font-size: 0.95rem;
	opacity: 0.95;
	max-width: calc(100% - var(--jti-tpv-logo-space));
}

.jti-tpv-logo {
	position: absolute;
	right: 16px;
	bottom: 16px;
	width: 120px;
	height: auto;
}

.jti-chart-placeholder {
	border: 1px dashed var(--wf-border);
	background: var(--wf-neutral);
	color: var(--wf-border);
	border-radius: 8px;
	height: 100%;
	min-height: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
}

.jti-card-income .jti-chart-placeholder {
	width: 100%;
	min-width: 0;
	flex: 1 1 auto;
	min-height: 280px;
	padding: 8px;
	align-items: stretch;
}

/* Chart.js tooltip (DOM mode) â€” align with portfolio donut hover */
.jti-card-income .chartjs-tooltip,
body.jti-fundstory-dashboard #chartjs-tooltip {
	opacity: 1 !important;
	background: rgba(17, 41, 35, 0.96) !important;
	color: var(--ali-white) !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 14px rgba(17, 41, 35, 0.22) !important;
	font-family: var(--wf-font-sans) !important;
}

.jti-card-income .chartjs-tooltip-title,
body.jti-fundstory-dashboard #chartjs-tooltip .chartjs-tooltip-title {
	color: var(--ali-white) !important;
	font-weight: 700 !important;
}

.jti-card-income .chartjs-tooltip-body,
body.jti-fundstory-dashboard #chartjs-tooltip .chartjs-tooltip-body {
	color: var(--ali-white) !important;
	font-weight: 600 !important;
}

.jti-card-income #linechart {
	display: block;
	width: 100% !important;
	max-width: 100%;
	height: 300px !important;
}

.jti-breakdown-content {
	display: flex;
	align-items: center;
	gap: 30px;
}

.jti-donut-chart {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: conic-gradient(var(--wf-chart-employee) 0% 25%, var(--wf-chart-employer) 25% 50%, var(--wf-chart-matching) 50% 75%, var(--ali-light-gray) 75% 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 150px;
}

.jti-donut-hole {
	width: 85px;
	height: 85px;
	border-radius: 50%;
	background: var(--wf-neutral);
}

.jti-breakdown-legend {
	margin: 0;
	padding-left: 18px;
}

.jti-breakdown-legend li {
	margin-bottom: 6px;
}

.jti-table-wrap {
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 0 0 1px var(--ali-light-gray);
	border: none;
}

.jti-contrib-table {
	width: 100%;
	border-collapse: collapse;
	border-style: hidden;
}

.jti-contrib-table thead th {
	background: var(--ali-green);
	color: var(--ali-white);
	font-weight: 700;
}

.jti-contrib-table th,
.jti-contrib-table td {
	border: 1px solid var(--wf-border) !important;
	padding: 12px 15px;
	text-align: left !important;
}

.jti-contrib-table .jti-num {
	text-align: right;
}

.jti-contrib-table .jti-contrib-corner {
	width: 1%;
	white-space: nowrap;
}

.jti-contrib-table .jti-contrib-row-label {
	background: var(--ali-off-white);
	color: var(--ali-dark-grey);
	font-weight: 700;
	min-width: 15rem;
	white-space: normal;
	line-height: 1.35;
}

.jti-contrib-table tr.jti-contrib-row-total th,
.jti-contrib-table tr.jti-contrib-row-total td {
	font-weight: 700;
}

.jti-contrib-table thead .jti-contrib-corner {
	background: var(--ali-green);
}

.jti-card-announcements {
	grid-column: 1 / -1;
	padding: 0;
	overflow: hidden;
	display: flex;
}

.jti-ann-left {
	background: var(--wf-primary);
	color: var(--ali-white);
	font-weight: 700;
	min-width: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.jti-ann-right {
	background: var(--wf-primary-soft);
	color: #000000;
	flex: 1;
	padding: 20px;
}

.jti-ann-right ul {
	margin: 0;
	padding-left: 18px;
	padding-top: 0;
	padding-bottom: 0;
}

.jti-ann-right li {
	margin-bottom: 0;
	padding: 3px 0;
}

.jti-breakdown-content {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 10px 0;
}

.jti-breakdown-split {
	display: flex;
	align-items: center;
	gap: 20px;
	width: 100%;
}

.jti-breakdown-donut-wrap {
	flex: 0 0 170px;
	display: flex;
	justify-content: center;
}

.jti-breakdown-donut {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	position: relative;
}

.jti-breakdown-donut-hole {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background: var(--wf-neutral);
}

.jti-breakdown-list-wrap {
	flex: 1;
	min-width: 0;
}

/* Portfolio breakdown â€” donut is primary; styled tooltip on segment hover */
.jti-breakdown-donut-chart-only {
	position: relative;
	display: grid;
	grid-template-columns: minmax(190px, 240px) minmax(150px, 1fr);
	grid-template-areas:
		"chart legend"
		"hint legend";
	align-items: center;
	justify-content: center;
	column-gap: 22px;
	width: 100%;
	max-width: 520px;
}

.jti-breakdown-content--chart-only {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 4px 0 0;
}

.jti-breakdown-donut-wrap--emphasis {
	grid-area: chart;
	width: 100%;
	max-width: 240px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.jti-portfolio-donut-svg {
	width: 100%;
	max-width: 240px;
	height: auto;
	display: block;
	aspect-ratio: 1 / 1;
}

.jti-portfolio-donut-svg g.jti-portfolio-donut-segment {
	cursor: pointer;
	transition: opacity 0.15s ease;
}

.jti-portfolio-donut-svg g.jti-portfolio-donut-segment:hover,
.jti-portfolio-donut-svg g.jti-portfolio-donut-segment:focus {
	opacity: 0.88;
	outline: none;
}

.jti-portfolio-donut-tooltip {
	position: absolute;
	z-index: 30;
	pointer-events: none;
	padding: 8px 12px;
	border-radius: 8px;
	color: var(--ali-white);
	font-size: 0.78rem;
	line-height: 1.4;
	max-width: 240px;
	box-shadow: 0 4px 14px rgba(17, 41, 35, 0.22);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.12s ease, visibility 0.12s ease;
}

.jti-portfolio-donut-tooltip.is-visible {
	opacity: 1;
	visibility: visible;
}

.jti-portfolio-donut-tooltip__label {
	display: block;
	font-weight: 700;
	font-size: 0.8rem;
	margin-bottom: 2px;
	color: var(--ali-white);
}

.jti-portfolio-donut-tooltip__value {
	display: block;
	font-weight: 600;
	font-size: 0.76rem;
	color: var(--ali-white);
	opacity: 0.95;
}

.jti-breakdown-chart-hint {
	grid-area: hint;
	margin: 0;
	font-size: 0.8rem;
	color: var(--ali-grey);
	text-align: center;
	max-width: 240px;
	line-height: 1.35;
}

.jti-portfolio-legend-simple {
	grid-area: legend;
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	width: 100%;
	max-width: 180px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jti-portfolio-legend-simple li {
	display: flex;
	align-items: center;
	min-width: 0;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--wf-text);
}

.jti-portfolio-legend-simple .jti-dot {
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	margin-right: 8px;
}

.jti-portfolio-list--sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.jti-chart-container {
	width: 100%;
	max-width: 320px;
	height: 300px;
	position: relative;
	margin: 0 auto;
}

.jti-portfolio-list {
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
}

.jti-portfolio-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 0;
	border-bottom: 1px solid var(--ali-light-gray);
}

.jti-portfolio-list li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.jti-portfolio-list li:first-child {
	padding-top: 0;
}

.jti-portfolio-label {
	display: flex;
	align-items: center;
	font-size: 14px;
	font-weight: 500;
	color: var(--wf-primary);
}

.jti-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	margin-right: 12px;
	display: inline-block;
}

.jti-portfolio-value {
	text-align: right;
}

.jti-portfolio-value .jti-amt {
	display: block;
	font-weight: 600;
	font-size: 14px;
	color: #000000;
	font-variant-numeric: tabular-nums;
}

.jti-portfolio-value .jti-pct {
	display: block;
	font-size: 12px;
	color: var(--wf-gray);
	margin-top: 2px;
	font-variant-numeric: tabular-nums;
}

/* Force override of old hardcoded elements just in case */
.jti-donut-chart, .jti-breakdown-legend {
	display: none !important;
}

/* FAQs table legacy color overrides */
#listtable tr.td-c2c2c2 th,
#listtable .td-c2c2c2 {
	background-color: var(--wf-primary-soft) !important;
	color: #000000 !important;
}

#listtable .category-bg th,
#listtable .category-bg td,
#listtable tr.category-bg {
	background-color: var(--wf-secondary) !important;
	color: var(--ali-white) !important;
}

#listtable a {
	color: var(--wf-primary) !important;
}

#listtable a:hover,
#listtable a:focus {
	color: var(--wf-secondary) !important;
}

.jti-faqs-page .card-footer {
	background-color: var(--ali-white) !important;
	border-top: 1px solid var(--ali-white) !important;
}

.jti-faqs-page #listtable_wrapper .dataTables_scrollFoot,
.jti-faqs-page #listtable_wrapper .dataTables_scrollFootInner,
.jti-faqs-page #listtable_wrapper .dataTables_scroll {
	background-color: var(--ali-white) !important;
}

.jti-faqs-page #listtable_wrapper .dataTables_scrollBody {
	border-bottom: 1px solid var(--ali-white) !important;
}

.jti-card-income .jti-card-title {
	color: var(--ali-dark-green) !important;
}

.jti-card-breakdown .jti-card-title,
.jti-card-contributions .jti-card-title {
	color: var(--ali-dark-green) !important;
}

.jti-card-contributions {
	grid-column: 2;
}

@media (max-width: 991px) {
	.jti-dashboard-grid {
		grid-template-columns: 1fr;
	}

	.jti-dashboard-col-left,
	.jti-card-income,
	.jti-card-contributions,
	.jti-card-announcements {
		grid-column: 1;
	}

	.jti-card-announcements {
		flex-direction: column;
	}

	.jti-ann-left {
		justify-content: flex-start;
		min-width: 0;
	}

	.jti-breakdown-content,
	.jti-breakdown-content--chart-only {
		flex-direction: column;
		align-items: center;
	}

	.jti-breakdown-split {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 575px) {
	.jti-dashboard-grid {
		gap: 16px;
		margin-top: 14px;
	}

	.jti-card {
		padding: 16px;
	}

	.jti-card-title {
		font-size: 1rem;
	}

	.jti-card-income {
		min-height: 300px;
	}

	.jti-card-income .jti-chart-placeholder {
		min-height: 250px;
		padding: 6px;
		overflow: hidden;
	}

	.jti-card-income #linechart {
		height: 265px !important;
	}

	.jti-card-tpv {
		--jti-tpv-logo-space: 92px;
	}

	.jti-tpv-value {
		font-size: 1.45rem;
		line-height: 1.25;
		padding-right: 0;
	}

	.jti-tpv-caption {
		font-size: 0.85rem;
		padding-right: 0;
	}

	.jti-tpv-logo {
		right: 12px;
		bottom: 12px;
		width: 72px;
	}

	.jti-table-wrap {
		overflow-x: auto;
	}

	.jti-contrib-table {
		min-width: 640px;
	}

	.jti-breakdown-donut-chart-only {
		display: flex;
		flex-direction: column;
		align-items: center;
		max-width: 320px;
	}

	.jti-breakdown-donut-wrap--emphasis,
	.jti-portfolio-donut-svg {
		max-width: 240px;
	}

	.jti-breakdown-chart-hint {
		max-width: 280px;
	}

	.jti-portfolio-legend-simple {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 320px;
		margin-top: 12px;
	}
}

/* Employee enrollment / contribution amendment (prototype) */
body.jti-enrollment-amendment-page .text-FF6200 {
	color: var(--ali-dark-green) !important;
}

body.jti-enrollment-amendment-page .jti-enrollment-page-title {
	max-width: 52rem;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.2;
}

body.jti-enrollment-amendment-page .jti-enrollment-page-title .text-FF6200 {
	display: inline-block;
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: center;
	margin: 12px 0 18px;
	padding: 18px;
	background: linear-gradient(135deg, rgba(0, 123, 75, 0.08), rgba(255, 255, 255, 1));
	border: 1px solid rgba(0, 123, 75, 0.2);
	border-radius: 14px;
	box-shadow: 0 2px 10px rgba(0, 123, 75, 0.08);
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-copy {
	color: var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-kicker {
	margin: 0 0 8px;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ali-green);
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-copy h2 {
	margin: 0 0 10px;
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1.2;
	color: var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-copy p:last-child {
	margin-bottom: 0;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-open {
	white-space: nowrap;
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-modal .modal-content {
	border: 0;
	border-radius: 14px;
	overflow: hidden;
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-modal .modal-header {
	background: var(--ali-dark-green);
	color: var(--ali-white);
	border-bottom: 0;
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-modal .btn-close {
	filter: invert(1) grayscale(100%) brightness(200%);
	opacity: 0.9;
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-modal-toolbar {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-modal-toolbar p {
	flex: 1 1 280px;
	margin: 0;
	font-size: 0.85rem;
	line-height: 1.45;
	color: var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-zoom-controls .btn {
	min-width: 86px;
	font-size: 0.82rem;
	font-weight: 700;
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-zoom-label {
	min-width: 3.25rem;
	font-size: 0.82rem;
	font-weight: 800;
	text-align: right;
	color: var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-image-scroll {
	max-height: min(74vh, 820px);
	overflow: auto;
	padding: 14px;
	background: var(--ali-off-white);
	border: 1px solid rgba(139, 139, 139, 0.2);
	border-radius: 12px;
	text-align: center;
}

body.jti-enrollment-amendment-page .jti-enrollment-guide-image-scroll img {
	display: block;
	width: min(100%, 760px);
	max-width: none;
	height: auto;
	margin: 0 auto;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(17, 41, 35, 0.16);
	transition: width 0.16s ease;
}

@media (max-width: 992px) {
	body.jti-enrollment-amendment-page .jti-enrollment-guide-card {
		grid-template-columns: 1fr;
	}

	body.jti-enrollment-amendment-page .jti-enrollment-guide-copy {
		text-align: center;
	}

	body.jti-enrollment-amendment-page .jti-enrollment-guide-open {
		justify-self: center;
	}
}

@media (max-width: 768px) {
	body.jti-enrollment-amendment-page .jti-enrollment-page-title {
		font-size: 1.35em !important;
	}

	body.jti-enrollment-amendment-page .jti-enrollment-guide-card {
		padding: 14px;
	}

	body.jti-enrollment-amendment-page .jti-enrollment-guide-open,
	body.jti-enrollment-amendment-page .jti-enrollment-guide-zoom-controls,
	body.jti-enrollment-amendment-page .jti-enrollment-guide-zoom-controls .btn {
		width: 100%;
	}

	body.jti-enrollment-amendment-page .jti-enrollment-guide-modal-toolbar {
		align-items: stretch;
	}

	body.jti-enrollment-amendment-page .jti-enrollment-guide-zoom-controls {
		display: grid;
		grid-template-columns: 1fr;
	}

	body.jti-enrollment-amendment-page .jti-enrollment-guide-zoom-label {
		width: 100%;
		text-align: center;
	}

	body.jti-enrollment-amendment-page .jti-enrollment-guide-image-scroll {
		padding: 8px;
		max-height: 68vh;
	}
}

body.jti-enrollment-amendment-page .jti-enrollment-form-card {
	border-color: var(--ali-white);
	box-shadow: 0 2px 10px rgba(0, 123, 75, 0.08);
}

body.jti-enrollment-amendment-page .jti-enrollment-form-card .card-body {
	padding: 18px 22px;
}

body.jti-enrollment-amendment-page .jti-enrollment-status {
	display: none;
	margin-bottom: 16px;
	padding: 10px 14px;
	border-radius: 8px;
	font-size: 0.9rem;
	font-weight: 600;
}

body.jti-enrollment-amendment-page .jti-enrollment-status:not(:empty) {
	display: block;
}

body.jti-enrollment-amendment-page .jti-enrollment-status.is-success,
body.jti-enrollment-amendment-page .jti-enrollment-status.is-info {
	color: var(--ali-dark-green);
	background: var(--ali-white);
	border: 1px solid var(--ali-green);
}

body.jti-enrollment-amendment-page .jti-enrollment-status.is-error {
	color: var(--ali-dark-green);
	background: var(--ali-white);
	border: 1px solid var(--ali-grey);
}

body.jti-enrollment-amendment-page .jti-enrollment-section-title {
	margin: 0 0 12px;
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-enrollment-intro,
body.jti-enrollment-amendment-page .jti-enrollment-option-text,
body.jti-enrollment-amendment-page .jti-enrollment-effective {
	color: var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-enrollment-intro {
	margin: 0 0 14px;
	font-size: 0.875rem;
	line-height: 1.45;
}

body.jti-enrollment-amendment-page .jti-enrollment-option-desc {
	display: block;
	margin-top: 4px;
	font-weight: 400;
	color: var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-enrollment-option {
	margin-bottom: 14px;
}

body.jti-enrollment-amendment-page .jti-enrollment-option-check {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	cursor: pointer;
}

body.jti-enrollment-amendment-page .jti-enrollment-option-check input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

body.jti-enrollment-amendment-page .jti-enrollment-check-ui {
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	margin-top: 2px;
	border: 2px solid var(--ali-dark-green);
	border-radius: 4px;
	background: var(--ali-white);
}

body.jti-enrollment-amendment-page .jti-enrollment-option-check input:checked + .jti-enrollment-check-ui {
	background: var(--ali-dark-green);
	box-shadow: inset 0 0 0 3px var(--ali-white);
}

body.jti-enrollment-amendment-page .jti-enrollment-option-text {
	font-size: 0.875rem;
	line-height: 1.4;
}

body.jti-enrollment-amendment-page .jti-rate-picker {
	margin: 10px 0 8px 28px;
	max-width: 360px;
	padding: 12px 14px;
	background: var(--ali-white);
	border: 2px solid var(--ali-dark-green);
	border-radius: 12px;
	box-sizing: border-box;
}

body.jti-enrollment-amendment-page .jti-rate-picker.is-disabled {
	opacity: 0.55;
}

body.jti-enrollment-amendment-page .jti-rate-picker-value-wrap {
	text-align: center;
	margin-bottom: 8px;
	min-height: 1.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

body.jti-enrollment-amendment-page .jti-rate-picker-value {
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1;
	color: var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-rate-picker-control {
	display: flex;
	align-items: center;
	gap: 10px;
}

body.jti-enrollment-amendment-page .jti-rate-picker-bound {
	flex-shrink: 0;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--ali-grey);
}

body.jti-enrollment-amendment-page .jti-rate-slider {
	flex: 1;
	min-width: 0;
	height: 32px;
	margin: 0;
	padding: 0;
	--rate-fill-percent: 0%;
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	cursor: pointer;
}

body.jti-enrollment-amendment-page .jti-rate-slider:disabled {
	cursor: not-allowed;
}

body.jti-enrollment-amendment-page .jti-rate-slider:focus {
	outline: none;
}

body.jti-enrollment-amendment-page .jti-rate-slider:focus-visible {
	outline: 3px solid var(--ali-green);
	outline-offset: 4px;
}

body.jti-enrollment-amendment-page .jti-rate-slider::-webkit-slider-runnable-track {
	height: 10px;
	border-radius: 5px;
	background: linear-gradient(
		to right,
		var(--ali-dark-green) 0%,
		var(--ali-dark-green) var(--rate-fill-percent, 0%),
		var(--ali-grey) var(--rate-fill-percent, 0%),
		var(--ali-grey) 100%
	);
	border: 1px solid var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-rate-slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 22px;
	height: 22px;
	margin-top: -7px;
	border-radius: 50%;
	background: var(--ali-dark-green);
	border: 3px solid var(--ali-white);
	box-shadow: 0 0 0 2px var(--ali-green);
}

body.jti-enrollment-amendment-page .jti-rate-slider:disabled::-webkit-slider-thumb {
	background: var(--ali-grey);
	box-shadow: 0 0 0 2px var(--ali-grey);
}

body.jti-enrollment-amendment-page .jti-rate-slider::-moz-range-track {
	height: 10px;
	border-radius: 5px;
	background: var(--ali-grey);
	border: 1px solid var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-rate-slider::-moz-range-progress {
	height: 10px;
	border-radius: 5px 0 0 5px;
	background: var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-rate-slider::-moz-range-thumb {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--ali-dark-green);
	border: 3px solid var(--ali-white);
	box-shadow: 0 0 0 2px var(--ali-green);
}

body.jti-enrollment-amendment-page .jti-rate-slider:disabled::-moz-range-thumb {
	background: var(--ali-grey);
	box-shadow: 0 0 0 2px var(--ali-grey);
}

body.jti-enrollment-amendment-page .jti-enrollment-effective {
	margin: 0 0 0 28px;
	font-size: 0.8rem;
	line-height: 1.4;
	color: var(--ali-grey);
}

body.jti-enrollment-amendment-page .jti-enrollment-effective strong {
	color: var(--ali-green);
}

body.jti-enrollment-amendment-page .jti-enrollment-option-stop {
	margin-top: 8px;
}

body.jti-enrollment-amendment-page .jti-atd-authorization {
	margin-top: 18px;
	padding: 16px;
	border: 1px solid rgba(139, 139, 139, 0.2);
	border-radius: 8px;
	background: var(--ali-white);
	color: var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-atd-authorization-title {
	margin: 0 0 12px;
	font-size: 0.95rem;
	font-weight: 800;
	color: var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-atd-authorization p {
	margin: 0 0 10px;
	font-size: 0.85rem;
	line-height: 1.5;
	color: var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-atd-fields {
	display: grid;
	grid-template-columns: minmax(240px, 1.1fr) minmax(170px, 0.65fr);
	gap: 16px;
	margin-top: 16px;
}

body.jti-enrollment-amendment-page .jti-atd-field label {
	display: block;
	margin-bottom: 6px;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--ali-dark-green);
}

body.jti-enrollment-amendment-page .jti-atd-field .form-control {
	height: 42px;
	border-color: var(--ali-light-gray);
	border-radius: 6px;
	font-size: 0.9rem;
}

body.jti-enrollment-amendment-page .jti-enrollment-form-card .card-footer.jti-enrollment-actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 18px 22px 22px;
	background: var(--ali-white);
	border-top: 1px solid rgba(139, 139, 139, 0.25);
}

body.jti-enrollment-amendment-page .btn-wf-secondary,
body.jti-enrollment-amendment-page .btn-wf-secondary:hover,
body.jti-enrollment-amendment-page .btn-wf-secondary:focus,
body.jti-enrollment-amendment-page .btn-wf-secondary:active {
	background-color: var(--ali-green) !important;
	border-color: var(--ali-green) !important;
	color: var(--ali-white) !important;
}

body.jti-enrollment-amendment-page .btn-wf-outline,
body.jti-enrollment-amendment-page .btn-wf-outline:hover,
body.jti-enrollment-amendment-page .btn-wf-outline:focus,
body.jti-enrollment-amendment-page .btn-wf-outline:active {
	background-color: var(--ali-white) !important;
	border: 2px solid var(--ali-dark-green) !important;
	color: var(--ali-dark-green) !important;
}

body.jti-enrollment-amendment-page .jti-enrollment-actions .btn {
	min-width: 200px;
	font-size: 0.9375rem;
	font-weight: 700;
	border-radius: 8px;
}

body.jti-enrollment-amendment-page .jti-enrollment-actions .btn:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	filter: grayscale(0.15);
}

@media (max-width: 768px) {
	body.jti-enrollment-amendment-page .jti-enrollment-form-card .card-body,
	body.jti-enrollment-amendment-page .jti-enrollment-form-card .card-footer.jti-enrollment-actions {
		padding-left: 16px;
		padding-right: 16px;
	}

	body.jti-enrollment-amendment-page .jti-rate-picker {
		margin-left: 0;
		max-width: none;
	}

	body.jti-enrollment-amendment-page .jti-enrollment-effective {
		margin-left: 0;
	}

	body.jti-enrollment-amendment-page .jti-atd-fields {
		grid-template-columns: 1fr;
	}

	body.jti-enrollment-amendment-page .jti-enrollment-actions .btn {
		width: 100%;
		min-width: 0;
	}
}

/* ==========================================================================
   Online portal — mobile / small screens (rspsv + public login; not admin)
   ========================================================================== */

@media (max-width: 991.98px) {
	body.sb-nav-fixed .jti-app-shell,
	body.sb-nav-fixed #layoutSidenav.jti-app-shell {
		height: 100dvh;
		min-height: 100dvh;
	}

	body.sb-nav-fixed .jti-main-content,
	body.sb-nav-fixed #layoutSidenav.jti-app-shell #layoutSidenav_content {
		height: 100dvh;
		min-height: 100dvh;
	}

	.jti-main-content main > .container-fluid.px-4,
	.jti-main-content main > .container-fluid {
		padding-left: max(0.75rem, env(safe-area-inset-left, 0px)) !important;
		padding-right: max(0.75rem, env(safe-area-inset-right, 0px)) !important;
	}

	.jti-page-header {
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 8px;
	}

	.jti-page-header .jti-fundstory-greeting,
	.jti-page-header .jti-fundstory-greeting h3 {
		font-size: clamp(1.15rem, 4.5vw, 1.65rem) !important;
		word-break: break-word;
	}

	.jti-page-header .jti-fundstory-greeting table,
	.jti-page-header .jti-fundstory-greeting td {
		display: block;
		width: 100%;
	}

	body.jti-fundstory-dashboard .jti-fundstory-greeting-card {
		padding: 14px 12px;
	}

	body.jti-fundstory-dashboard .jti-fundstory-account-details {
		flex-direction: column;
		align-items: stretch;
	}

	body.jti-fundstory-dashboard .jti-fundstory-account-details span {
		width: 100%;
		justify-content: flex-start;
	}

	.jti-sidebar .jti-trans-details {
		font-size: 0.78rem;
		padding: 10px 12px 14px;
	}

	.jti-emp-card,
	.jti-enrollment-filter-card,
	body.jti-contr-page .jti-emp-card {
		padding: 12px !important;
	}

	body.jti-rspsv-employee-list .jti-employee-detail-modal .modal-dialog,
	body.jti-rspsv-employee-list .jti-employee-detail-modal .modal-xl {
		max-width: calc(100vw - 1rem);
		margin: 0.5rem auto;
	}

	body.jti-rspsv-employee-list .jti-employee-detail-modal .modal-body {
		padding: 12px;
		max-height: calc(100dvh - 8rem);
		overflow-y: auto;
	}
}

@media (max-width: 767.98px) {
	html,
	body.jti-login-page {
		overflow-x: hidden;
	}

	body.jti-login-page {
		padding: max(0.75rem, env(safe-area-inset-top, 0px)) max(0.75rem, env(safe-area-inset-right, 0px)) max(1.25rem, env(safe-area-inset-bottom, 0px)) max(0.75rem, env(safe-area-inset-left, 0px));
		background-attachment: scroll;
	}

	body.jti-login-page .jti-login-container {
		max-width: 100%;
	}

	body.jti-login-page .jti-login-card-body,
	body.jti-otp-reset-page .panel-body {
		padding: 18px 14px 20px;
	}

	body.jti-otp-reset-page .jti-otp-digit-row .mfainput {
		width: 2.35rem;
		height: 2.5rem;
		font-size: 1.15rem;
	}

	body.jti-otp-reset-page ul[style] {
		font-size: 0.85em !important;
		padding-left: 1.1rem;
	}

	body.sb-nav-fixed .jti-main-toolbar {
		padding-left: max(0.5rem, env(safe-area-inset-left, 0px));
		padding-right: max(0.5rem, env(safe-area-inset-right, 0px));
	}

	.jti-main-content main > .container-fluid.px-4,
	.jti-main-content main > .container-fluid {
		padding-top: 12px !important;
		padding-bottom: 20px !important;
	}

	.jti-card {
		border-radius: 12px;
	}

	.jti-dashboard-grid {
		gap: 14px;
	}

	.jti-contrib-table,
	body.jti-enrollment-admin-page #enrollmentlist,
	body.jti-employee-list-page #emplist,
	body.jti-rspsv-company-list table.dataTable {
		min-width: 640px;
	}

	.table-responsive,
	.jti-table-wrap,
	body.jti-enrollment-admin-page .jti-enrollment-table-scroll,
	body.jti-enrollment-admin-page .jti-enrollment-table-wrap,
	body.jti-employee-list-page .dataTables_wrapper,
	body.jti-rspsv-company-list .dataTables_wrapper {
		-webkit-overflow-scrolling: touch;
		overflow-x: auto;
		max-width: 100%;
	}

	body.jti-enrollment-admin-page .jti-enrollment-table-footer,
	body.jti-employee-list-page .jti-emp-table-footer,
	body.jti-employee-list-page .dataTables_wrapper .bottom {
		flex-direction: column;
		align-items: stretch;
	}

	body.jti-enrollment-admin-page .jti-enrollment-footer-actions,
	body.jti-employee-list-page .jti-emp-footer-actions {
		width: 100%;
		margin-left: 0;
		justify-content: center;
	}

	body.jti-enrollment-admin-page .pagination,
	body.jti-employee-list-page .pagination {
		flex-wrap: wrap;
		justify-content: center;
	}

	.modal-dialog {
		max-width: calc(100vw - 1rem);
		margin: 0.5rem auto;
	}

	.modal-dialog.modal-lg,
	.modal-dialog.modal-xl {
		max-width: calc(100vw - 1rem);
	}

	.modal-body {
		max-height: calc(100dvh - 7rem);
		overflow-y: auto;
	}

	.btn,
	.btn-lg,
	.jti-sidebar-toggle {
		min-height: 44px;
	}

	body.jti-contr-page .jti-contr-filter-row,
	body.jti-contr-page .row.g-3 {
		--bs-gutter-x: 0.75rem;
	}

	body.jti-faqs-page .jti-faqs-table {
		min-width: 520px;
	}
}

@media (max-width: 575.98px) {
	body.jti-login-page .jti-login-header-stack {
		padding: 0.65rem 0.5rem 0.85rem;
	}

	body.jti-login-page .jti-login-company-name,
	body.jti-login-page .jti-login-card .jti-login-company-name {
		font-size: 0.95rem;
	}

	body.jti-login-page .jti-login-tagline,
	body.jti-login-page .jti-login-card .jti-login-tagline {
		font-size: 0.78rem;
	}

	body.jti-login-page .jti-account-toggle {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}

	body.jti-login-page .jti-account-toggle-option {
		justify-content: center;
		width: 100%;
	}

	.jti-portfolio-legend-simple {
		grid-template-columns: 1fr !important;
	}

	body.jti-enrollment-amendment-page .container-fluid {
		padding-left: 0.65rem !important;
		padding-right: 0.65rem !important;
	}

	body.jti-enrollment-amendment-page .jti-enrollment-page-title {
		font-size: 1.2em !important;
	}

	body.jti-rspsv-company-list .jti-emp-search-actions,
	body.jti-rspsv-company-list .jti-emp-search-actions .btn {
		width: 100%;
	}

	body.jti-superadmin-employee-list .jti-emp-filter-row-top .jti-emp-filter-group {
		min-width: 0;
	}
}
