/**
 * Landing Page Styles — Pixel-perfect clone of reference design
 *
 * @package CARE-INF
 * @since 1.0.0
 */

/* =============================================
   LANDING PAGE SPECIFIC STYLES
   ============================================= */

/* Container is defined in global.css */

/* =============================================
   MAIN HEADER - Dark Modern Design
   ============================================= */

/* Prevent body scroll when mobile menu is open */
body.menu-open {
	overflow: hidden;
}

.site-header {
	width: 100%;
	background: transparent;
	border-bottom: 1px solid rgba(0,0,0,0.1);
	position: fixed;
	z-index: 1000;
	backdrop-filter: blur(10px);
}

.site-header.sticky {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	box-shadow: 0 8px 32px rgba(0,0,0,0.1);
	animation: slideDown 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(20px);
	border-bottom-color: rgba(0,0,0,0.1);
}

.site-header.sticky .nav-menu > li > a {
	color: var(--care-inf-text-color);
}

.site-header.sticky .logo-name {
	color: var(--care-inf-primary);
}

@keyframes slideDown {
	from {
		transform: translateY(-100%);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 75px;
	gap: 2.5rem;
	position: relative;
}

.site-header .container {
	padding-left: 0;
	padding-right: 0;
}


@media (min-width: 1101px) {
	.site-header .container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.hero-section .container,
	.hero-slide .container {
		padding-left: 20px;
		padding-right: 20px;
	}

	/* Match header/hero horizontal rhythm (footer-main/bottom override global .container here) */
	.site-footer .footer-main .container,
	.site-footer .footer-bottom .container {
		padding-left: 20px;
		padding-right: 20px;
	}

}

/* Logo Section */
.site-branding {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	padding-top: 6px;
	padding-bottom: 6px;
}

.logo-link {
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	transition: opacity 0.3s ease;
}

.logo-link:hover {
	opacity: 0.9;
	text-decoration: none;
}

.logo-wrapper {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	line-height: 1;
}

.logo-icon-box {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: linear-gradient(135deg, var(--care-inf-accent) 0%, var(--care-inf-accent-dark) 100%);
	border-radius: 10px;
	box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
}

.logo-icon-box::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: linear-gradient(45deg, transparent, rgba(255,255,255,0.3), transparent);
	transform: rotate(45deg);
	transition: all 0.6s ease;
}

.logo-link:hover .logo-icon-box {
	transform: scale(1.08) rotate(5deg);
	box-shadow: 0 6px 20px rgba(212, 175, 55, 0.5);
}

.logo-link:hover .logo-icon-box::before {
	left: 100%;
	top: 100%;
}

.logo-icon {
	font-size: 1.5rem;
	color: var(--care-inf-text-color);
	font-weight: 600;
	display: block;
}

.logo-name {
	font-size: 1.625rem;
	font-weight: 600;
	color: var(--care-inf-primary);
	letter-spacing: -0.5px;
	line-height: 1;
	transition: all 0.3s ease;
}

.logo-link:hover .logo-name {
	color: var(--care-inf-accent);
	transform: translateX(2px);
}

.custom-logo-link img,
.site-branding img {
	max-height: 85px;
	width: auto;
	height: auto;
	display: block;
}

/* Navigation */
.main-navigation {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

.nav-menu {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.25rem;
	margin: 0;
	padding: 0;
	align-items: center;
}

.nav-menu li {
	position: relative;
	margin: 0;
}

.nav-menu > li > a {
	display: block;
	padding: 10px 16px;
	color: var(--care-inf-bg-color);
	font-size: 1rem;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	white-space: nowrap;
	letter-spacing: 0.3px;
	position: relative;
	border-radius: 6px;
}

.nav-menu > li > a::before {
	content: '';
	position: absolute;
	bottom: 6px;
	left: 50%;
	transform: translateX(-50%) scaleX(0);
	width: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--care-inf-accent), var(--care-inf-accent-dark));
	border-radius: 2px;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-menu > li > a::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(212, 175, 55, 0.08);
	border-radius: 6px;
	opacity: 0;
	transform: scale(0.95);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: -1;
}

.nav-menu > li > a:hover {
	color: var(--care-inf-accent);
	text-decoration: none;
	transform: translateY(-2px);
}

.nav-menu > li > a:hover::before {
	width: calc(100% - 32px);
	transform: translateX(-50%) scaleX(1);
}

.nav-menu > li > a:hover::after {
	opacity: 1;
	transform: scale(1);
}

.nav-menu > li.current-menu-item > a,
.nav-menu > li.current_page_parent > a {
	color: var(--care-inf-accent);
	font-weight: 600;
	/* background: rgba(212, 175, 55, 0.15); */
}

.nav-menu > li.current-menu-item > a::before,
.nav-menu > li.current_page_parent > a::before {
	width: calc(100% - 32px);
	transform: translateX(-50%) scaleX(1);
}

/* Submenu: hidden by default, show only on hover (desktop) */
.nav-menu .sub-menu {
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	list-style: none;
	margin: 0;
	padding: 0.5rem 0;
	background: var(--care-inf-bg-color);
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
	border: 1px solid rgba(0, 0, 0, 0.08);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
	z-index: 1000;
}

.nav-menu > li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Dropdown indicator icon for items with submenu */
.nav-menu > li.menu-item-has-children > a {
	padding-right: 28px;
}

.nav-menu > li.menu-item-has-children::after {
	content: '';
	position: absolute;
	right: 10px;
	top: 50%;
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
	margin-top: -2px;
	opacity: 0.85;
	pointer-events: none;
	transition: transform 0.2s ease;
}

.nav-menu > li.menu-item-has-children::after {
	color: var(--care-inf-bg-color);
	border-top-color: currentColor;
}

.site-header.sticky .nav-menu > li.menu-item-has-children::after {
	color: var(--care-inf-text-color);
}

.nav-menu > li.menu-item-has-children:hover::after {
	transform: rotate(180deg);
}

.nav-menu .sub-menu li {
	width: 100%;
}

.nav-menu .sub-menu a {
	display: block;
	padding: 10px 20px;
	color: var(--care-inf-text-color);
	font-size: 0.9375rem;
	white-space: nowrap;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

.nav-menu .sub-menu a:hover {
	background: rgba(26, 58, 95, 0.06);
	color: var(--care-inf-primary);
}

/* Hide sub-menu toggle on desktop */
.sub-menu-toggle {
	display: none !important;
}

/* Mobile Menu Toggle */
.menu-toggle {
	display: none;
	background: none;
	border: 2px solid rgba(212, 175, 55, 0.3);
	border-radius: 6px;
	cursor: pointer;
	padding: 8px 12px;
	flex-direction: column;
	gap: 4px;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.menu-toggle:hover {
	border-color: var(--care-inf-accent);
	background: rgba(212, 175, 55, 0.1);
}

.menu-toggle.active {
	border-color: var(--care-inf-accent);
	background: rgba(212, 175, 55, 0.15);
}

.menu-icon {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 28px;
}

.menu-line {
	display: block;
	width: 100%;
	height: 3px;
	background: var(--care-inf-accent);
	border-radius: 2px;
	transition: all 0.3s ease;
}

.menu-toggle:hover .menu-line,
.menu-toggle.active .menu-line {
	background: var(--care-inf-accent);
}

.menu-toggle.active .menu-line:nth-child(1) {
	transform: rotate(45deg) translate(5px, 5px);
}

.menu-toggle.active .menu-line:nth-child(2) {
	opacity: 0;
}

.menu-toggle.active .menu-line:nth-child(3) {
	transform: rotate(-45deg) translate(5px, -5px);
}

/* Header Actions */
.header-actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-shrink: 0;
}

.btn-primary {
	background: linear-gradient(135deg, var(--care-inf-accent) 0%, var(--care-inf-accent-dark) 100%);
	color: var(--care-inf-bg-color);
	padding: 12px 24px;
	border-radius: 10px;
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
	position: relative;
	overflow: hidden;
	letter-spacing: 0.3px;
}

.btn-primary::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-radius: 50%;
	background: rgba(255,255,255,0.3);
	transform: translate(-50%, -50%);
	transition: width 0.6s ease, height 0.6s ease;
}

.btn-primary:hover::before {
	width: 300px;
	height: 300px;
}

.btn-primary:hover {
	background: linear-gradient(135deg, var(--care-inf-accent-dark) 0%, var(--care-inf-accent) 100%);
	color: var(--care-inf-bg-color);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(212, 175, 55, 0.6);
}

.btn-primary:active {
	transform: translateY(0);
	box-shadow: 0 3px 10px rgba(212, 175, 55, 0.4);
}

.btn-signin {
	background: linear-gradient(135deg, var(--care-inf-accent) 0%, var(--care-inf-accent-dark) 100%);
	color: var(--care-inf-bg-color);
	padding: 12px 24px;
	border-radius: 10px;
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	cursor: pointer;
	letter-spacing: 0.3px;
	font-family: var(--care-inf-font-family);
	box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
	position: relative;
	overflow: hidden;
}

.btn-signin::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-radius: 50%;
	background: rgba(255,255,255,0.3);
	transform: translate(-50%, -50%);
	transition: width 0.6s ease, height 0.6s ease;
}

.btn-signin:hover::before {
	width: 300px;
	height: 300px;
}

.btn-signin:hover {
	background: linear-gradient(135deg, var(--care-inf-accent-dark) 0%, var(--care-inf-accent) 100%);
	border-color: transparent;
	color: var(--care-inf-bg-color);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(212, 175, 55, 0.6);
}

.btn-signin:active {
	transform: translateY(0);
	box-shadow: 0 3px 10px rgba(212, 175, 55, 0.4);
}

.btn-signin:active {
	transform: translateY(0);
}

.btn-icon {
	background: linear-gradient(135deg, var(--care-inf-accent) 0%, var(--care-inf-accent-dark) 100%);
	color: var(--care-inf-bg-color);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
	padding: 0;
	position: relative;
	overflow: hidden;
}

.btn-icon::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-radius: 50%;
	background: rgba(255,255,255,0.3);
	transform: translate(-50%, -50%);
	transition: width 0.6s ease, height 0.6s ease;
}

.btn-icon:hover::before {
	width: 200px;
	height: 200px;
}

.btn-icon:hover {
	background: linear-gradient(135deg, var(--care-inf-accent-dark) 0%, var(--care-inf-accent) 100%);
	transform: translateY(-2px) rotate(45deg) scale(1.05);
	box-shadow: 0 6px 20px rgba(212, 175, 55, 0.6);
}

.btn-icon:active {
	transform: translateY(0) rotate(45deg) scale(1);
	box-shadow: 0 3px 10px rgba(212, 175, 55, 0.4);
}

.btn-icon svg {
	width: 18px;
	height: 18px;
	stroke-width: 2.5;
	color: var(--care-inf-bg-color);
	stroke: var(--care-inf-bg-color);
}

/* =============================================
   RESPONSIVE HEADER STYLES
   ============================================= */

@media (max-width: 1024px) {
	.header-inner {
		min-height: 65px;
		gap: 1.5rem;
	}

	.nav-menu {
		gap: 1.5rem;
	}

	.nav-menu > li > a {
		font-size: 0.875rem;
		padding: 6px 0;
	}

	.logo-name {
		font-size: 1.25rem;
	}

	.logo-icon-box {
		width: 36px;
		height: 36px;
	}

	.logo-icon {
		font-size: 1.25rem;
	}

	.btn-primary {
		padding: 8px 16px;
		font-size: 0.8125rem;
	}

	.btn-icon {
		width: 36px;
		height: 36px;
	}

	.btn-icon svg {
		width: 16px;
		height: 16px;
	}
}

@media (max-width: 768px) {
	.header-inner {
		min-height: 70px;
		flex-wrap: wrap;
		gap: 1rem;
		padding: 0rem 0;
		width: 100%;
	}

	.container {
		padding: 0 20px;
		width: 100%;
		max-width: 100%;
	}

	.site-header .container {
		padding-left: 0;
		padding-right: 0;
	}

	.footer-main .container,
	.footer-bottom .container,
	section .container,
	[class*="section"] .container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.site-branding {
		order: 1;
		flex: 1;
		min-width: 0;
	}

	.main-navigation {
		order: 3;
		width: 100%;
		justify-content: flex-start;
		position: relative;
		margin-top: 0.5rem;
	}

	.header-actions {
		order: 2;
		display: flex;
		align-items: center;
		gap: 0.5rem;
		flex-shrink: 0;
	}

	.header-actions .btn-primary {
		display: none;
	}

	.header-actions .btn-signin {
		display: none;
	}

	.header-actions .btn-icon {
		display: none;
	}

	.main-navigation {
		order: 3;
		justify-content: flex-end;
	}

	.menu-toggle {
		display: flex;
		padding: 12px 16px;
		margin-left: auto;
		position: relative;
		z-index: 10000;
	}

	.nav-menu {
		display: none;
		flex-direction: column;
		width: calc(100vw - 40px);
		background: var(--care-inf-bg-color);
		border-top: 1px solid rgba(0,0,0,0.1);
		position: fixed;
		top: 60px;
		left: 20px;
		right: 20px;
		z-index: 9999;
		box-shadow: 0 8px 24px rgba(0,0,0,0.15);
		padding: 10px 0;
		margin: 0;
		gap: 0;
		overflow-y: auto;
		max-height: calc(100vh - 60px);
		box-sizing: border-box;
		border-radius: 12px;
	}

	.nav-menu.active {
		display: flex;
	}


	.nav-menu li {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	.nav-menu > li {
		position: relative;
		overflow: visible;
	}

	.nav-menu > li::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		width: 0;
		background: linear-gradient(90deg, var(--care-inf-accent), transparent);
		transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		z-index: 0;
	}

	.nav-menu > li:hover::before,
	.nav-menu > li.current-menu-item::before,
	.nav-menu > li.current_page_parent::before {
		width: 4px;
	}

	.nav-menu > li > a {
		position: relative;
		display: flex;
		align-items: center;
		padding: 16px 20px;
		border-bottom: 1px solid rgba(212, 175, 55, 0.2);
		color: var(--care-inf-text-color);
		font-size: 1rem;
		font-weight: 500;
		width: 100%;
		box-sizing: border-box;
		background: var(--care-inf-bg-color);
		margin: 0;
		text-decoration: none;
		transition: all 0.3s ease;
		-webkit-tap-highlight-color: transparent;
	}

	.nav-menu > li > a::before,
	.nav-menu > li > a::after {
		display: none;
	}

	.nav-menu .sub-menu {
		display: none;
		padding-left: 16px;
		background: rgba(26, 58, 95, 0.03);
		border-left: 3px solid var(--care-inf-accent);
		margin: 0;
		overflow: hidden;
	}

	.nav-menu .sub-menu.open {
		display: block;
	}

	.nav-menu .sub-menu a {
		white-space: normal;
		word-wrap: break-word;
		padding: 12px 16px;
		font-size: 0.9375rem;
		color: var(--care-inf-text-color);
		border-bottom: 1px solid rgba(0,0,0,0.05);
		transition: all 0.2s ease;
	}

	.nav-menu .sub-menu a:hover {
		color: var(--care-inf-accent);
		background: rgba(212, 175, 55, 0.06);
		padding-left: 22px;
	}

	.nav-menu .sub-menu li:last-child a {
		border-bottom: none;
	}

	/* Dropdown toggle arrow for parent items */
	.nav-menu > li.menu-item-has-children > .sub-menu-toggle {
		display: flex !important;
		position: absolute;
		right: 0;
		top: 0;
		width: 52px;
		height: 100%;
		border: none;
		background: none;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		z-index: 2;
		-webkit-tap-highlight-color: transparent;
	}

	.nav-menu > li.menu-item-has-children > .sub-menu-toggle::after {
		content: '';
		width: 8px;
		height: 8px;
		border-right: 2px solid var(--care-inf-accent);
		border-bottom: 2px solid var(--care-inf-accent);
		transform: rotate(45deg);
		transition: transform 0.3s ease;
	}

	.nav-menu > li.menu-item-has-children.sub-open > .sub-menu-toggle::after {
		transform: rotate(-135deg);
	}

	.nav-menu > li > a:hover,
	.nav-menu > li > a:focus,
	.nav-menu > li > a:active {
		background: linear-gradient(90deg, rgba(212, 175, 55, 0.08) 0%, rgba(212, 175, 55, 0.02) 100%);
		color: var(--care-inf-accent);
		transform: translateX(-4px);
		padding-left: 28px;
		outline: none;
	}

	.nav-menu > li > a:hover::after,
	.nav-menu > li > a:focus::after {
		opacity: 1;
		transform: rotate(-45deg) translateY(-50%) translateX(2px);
	}

	.nav-menu > li.current-menu-item > a,
	.nav-menu > li.current_page_parent > a {
		background: linear-gradient(90deg, rgba(212, 175, 55, 0.12) 0%, rgba(212, 175, 55, 0.04) 100%);
		color: var(--care-inf-accent);
		font-weight: 600;
		padding-left: 28px;
	}

	.nav-menu > li.current-menu-item > a::after,
	.nav-menu > li.current_page_parent > a::after {
		opacity: 1;
	}

	.logo-wrapper {
		gap: 0.5rem;
	}

	.logo-name {
		font-size: 1rem;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 150px;
	}

	.logo-icon-box {
		width: 36px;
		height: 36px;
		flex-shrink: 0;
	}

	.logo-icon {
		font-size: 1.125rem;
	}

	.btn-primary {
		padding: 10px 16px;
		font-size: 0.8125rem;
		white-space: nowrap;
	}

	.btn-icon {
		width: 36px;
		height: 36px;
		flex-shrink: 0;
	}

	.btn-icon svg {
		width: 16px;
		height: 16px;
	}


	.hero-section {
		padding: 4rem 0;
		min-height: 400px;
	}

	.hero-title {
		font-size: 2.3rem;
		line-height: 1.3;
		margin-bottom: 1rem;
	}

	.hero-desc {
		font-size: 1.3rem;
		margin-bottom: 2rem;
	}

	.hero-buttons {
		flex-direction: column;
		gap: 0.75rem;
	}

	.hero-buttons .btn {
		width: 100%;
		min-width: auto;
	}

	.btn {
		width: 100%;
		text-align: center;
		justify-content: center;
	}

	h1 {
		font-size: 2.5rem;
	}
}

@media (max-width: 480px) {
	.hero-section {
		min-height: 640px;
		padding: 1.5rem 0;
	}

	.hero-title {
		font-size: 1.35rem;
		line-height: 1.3;
		margin-bottom: 0.75rem;
	}

	.hero-desc {
		font-size: 0.9375rem;
		margin-bottom: 1.25rem;
		line-height: 1.5;
	}

	.hero-buttons {
		gap: 0.5rem;
	}

	.btn {
		padding: 12px 24px;
		font-size: 0.9375rem;
	}
	.header-inner {
		min-height: 56px;
		gap: 0.5rem;
		padding: 0.5rem 0;
	}

	.container {
		padding: 0 20px;
	}

	.site-header .container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.footer-main .container,
	.footer-bottom .container,
	section .container,
	[class*="section"] .container,
	.hero-section .container,
	.heartbeat-section .container,
	.core-entities-section .container,
	.cta-bar-section .container,
	.cards-row-section .container,
	.membership-section .container,
	.news-section .container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.logo-name {
		font-size: 0.9375rem;
		max-width: 120px;
	}

	.logo-icon-box {
		width: 32px;
		height: 32px;
	}

	.logo-icon {
		font-size: 1rem;
	}

	.btn-primary {
		display: none;
	}

	.btn-icon {
		display: none;
	}

	.header-actions {
		gap: 0.375rem;
	}

	.menu-toggle {
		padding: 10px 14px;
	}

	.menu-icon {
		width: 26px;
		gap: 4px;
	}

	.menu-line {
		height: 3px;
	}

	.menu-toggle {
		padding: 10px 14px;
	}

	.menu-icon {
		width: 26px;
		gap: 4px;
	}

	.menu-line {
		height: 3px;
	}

	.nav-menu > li > a {
		padding: 16px 20px;
		font-size: 1rem;
		font-weight: 500;
		color: var(--care-inf-text-color);
		border-bottom: 1px solid rgba(0,0,0,0.08);
		background: var(--care-inf-bg-color);
	}

	.nav-menu > li > a:hover {
		background: rgba(212, 175, 55, 0.1);
		color: var(--care-inf-accent);
	}
}

/* Sticky header */
.site-header.sticky {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
	animation: slideDown 0.3s ease;
}

@keyframes slideDown {
	from { transform: translateY(-100%); }
	to { transform: translateY(0); }
}

/* =============================================
   HERO SECTION - Advancing Nursing Excellence
   ============================================= */

/* Hero Text Animations */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(60px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.hero-section {
	width: 100%;
	background: linear-gradient(135deg, var(--care-inf-primary) 0%, var(--care-inf-primary-dark) 60%);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: scroll;
	color: var(--care-inf-bg-color);
	position: relative;
	overflow: hidden;
	padding: 0;
	height: 820px;
	margin-top: 0;
	min-height: 820px;
	display: flex;
	align-items: center;
}

.hero-section.hero-slider.premium-hero {
	display: block;
}

/* Hero Slider — Swiper */
.hero-slider {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: inherit;
}

.hero-swiper {
	width: 100%;
	height: 100%;
	position: relative;
}

.hero-swiper .swiper-wrapper,
.hero-swiper .swiper-slide {
	height: 100%;
}

.hero-slide {
	position: relative;
	width: 100%;
	height: 100%;
	opacity: 1;
	visibility: visible;
}

.hero-slide-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	z-index: 0;
}

.hero-slide .hero-overlay {
	z-index: 1;
}

.hero-slide .container {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	align-items: center;
}

/* Swiper nav — hide default arrow glyphs; keep custom SVG */
.hero-swiper .swiper-button-prev::after,
.hero-swiper .swiper-button-next::after {
	display: none;
}

.hero-swiper .swiper-button-prev,
.hero-swiper .swiper-button-next {
	margin-top: 0;
	width: 56px;
	height: 56px;
}

/* Modern Slider Navigation Arrows */
.hero-slider-prev,
.hero-slider-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.05) 100%);
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	color: var(--care-inf-bg-color);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

.hero-slider-prev::before,
.hero-slider-next::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.2);
	transform: translate(-50%, -50%);
	transition: all 0.6s ease;
}

.hero-slider-prev:hover::before,
.hero-slider-next:hover::before {
	width: 200%;
	height: 200%;
}

.hero-slider-prev {
	left: 40px;
}

.hero-slider-next {
	right: 40px;
}

.hero-slider-prev:hover,
.hero-slider-next:hover {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0.15) 100%);
	border-color: rgba(255, 255, 255, 0.6);
	transform: translateY(-50%) scale(1.15);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
}

.hero-slider-prev:active,
.hero-slider-next:active {
	transform: translateY(-50%) scale(1.05);
}

.hero-slider-prev svg,
.hero-slider-next svg {
	width: 24px;
	height: 24px;
	position: relative;
	z-index: 1;
	transition: transform 0.3s ease;
}

.hero-slider-prev:hover svg {
	transform: translateX(-2px);
}

.hero-slider-next:hover svg {
	transform: translateX(2px);
}

/* Modern Slider Dots (Swiper pagination) */
.hero-slider-dots.swiper-pagination {
	position: absolute;
	bottom: 40px;
	left: 50%;
	right: auto;
	width: auto;
	transform: translateX(-50%);
	z-index: 10;
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
	padding: 12px 20px;
	background: rgba(0, 0, 0, 0.2);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 50px;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.hero-slider-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.3);
	border: 2px solid rgba(255, 255, 255, 0.4);
	cursor: pointer;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	padding: 0;
	position: relative;
	overflow: hidden;
}

.hero-slider-dot::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 0;
	height: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.6);
	transition: all 0.4s ease;
}

.hero-slider-dot.active {
	background: var(--care-inf-accent);
	border-color: var(--care-inf-accent);
	width: 36px;
	border-radius: 18px;
	box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
}

.hero-slider-dot.active::before {
	width: 24px;
	height: 6px;
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.9);
}

.hero-slider-dot:hover {
	background: rgba(255, 255, 255, 0.5);
	border-color: rgba(255, 255, 255, 0.8);
	transform: scale(1.2);
}

.hero-slider-dot:hover::before {
	width: 6px;
	height: 6px;
}

/* Responsive Modern Slider Styles */
@media (max-width: 768px) {
	.hero-slider-prev,
	.hero-slider-next {
		width: 44px;
		height: 44px;
	}

	.hero-slider-prev {
		left: 20px;
	}

	.hero-slider-next {
		right: 20px;
	}

	.hero-slider-prev svg,
	.hero-slider-next svg {
		width: 20px;
		height: 20px;
	}

	.hero-slider-dots {
		bottom: 25px;
		gap: 8px;
		padding: 10px 16px;
	}

	.hero-slider-dot {
		width: 8px;
		height: 8px;
	}

	.hero-slider-dot.active {
		width: 28px;
	}
}

@media (max-width: 480px) {
	.hero-slider-prev,
	.hero-slider-next {
		width: 40px;
		height: 40px;
	}

	.hero-slider-prev {
		left: 15px;
	}

	.hero-slider-next {
		right: 15px;
	}

	.hero-slider-prev svg,
	.hero-slider-next svg {
		width: 18px;
		height: 18px;
	}

	.hero-slider-dots {
		bottom: 20px;
		gap: 6px;
		padding: 8px 12px;
	}

	.hero-slider-dot {
		width: 7px;
		height: 7px;
	}

	.hero-slider-dot.active {
		width: 24px;
	}
}

.hero-section[style*="background-image"] {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(26, 58, 95, 0.7) 0%, rgba(26, 58, 95, 0.6) 100%);
	z-index: 1;
}

.hero-section .container {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	align-items: center;
	padding: 0;
}

.hero-content {
	max-width: 846px !important;
	padding: 0;
	width: 100%;
}

.hero-title {
	font-family: var(--care-inf-heading-font);
	font-size: 60px;
	font-weight: var(--care-inf-font-weight-hero, 600);
	font-style: normal;
	line-height: 60px;
	color: rgb(255, 255, 255);
	margin-bottom: 1.5rem;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
	letter-spacing: 0;
	white-space: normal;
	word-wrap: break-word;
	position: relative;
	padding-bottom: 0.75rem;
}

.hero-title .hero-word,
.hero-desc .hero-word {
	display: inline-block;
	animation: fadeInUp 0.8s ease-out both;
}

.hero-title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 120px;
	height: 3px;
	background: var(--care-inf-accent);
	border-radius: 2px;
}

.hero-desc {
	font-family: var(--care-inf-font-family);
	font-size: 1.3rem !important;
	line-height: 1.7;
	margin-bottom: 2.5rem;
	color: rgba(255, 255, 255, 0.95);
	max-width: 600px;
	text-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
}

.hero-desc p {
	margin: 0;
	font-size: inherit; /* Inherit from .hero-desc (1.3rem), don't use global 17px */
}

.hero-buttons {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: stretch;
	animation: fadeInUp 0.8s ease-out 0.6s both;
}

.hero-buttons .btn {
	flex: 0 1 auto;
	min-width: 120px;
	max-width: 280px;
	font-size: 0.9375rem;
	padding: 12px 24px;
	white-space: normal;
	text-align: center;
	line-height: 2;
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 32px;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 8px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	border: 2px solid transparent;
	cursor: pointer;
	letter-spacing: 0.3px;
	font-family: var(--care-inf-font-family);
	white-space: nowrap;
}

/* Primary portal CTA (historically named `btn-red`; styled to brand gold) */
.btn.btn-red {
	background: linear-gradient(135deg, var(--care-inf-accent) 0%, var(--care-inf-accent-dark) 100%);
	color: var(--care-inf-bg-color);
	border-color: rgba(212, 175, 55, 0.35);
	box-shadow: 0 6px 18px rgba(212, 175, 55, 0.28);
}

.btn.btn-red:hover {
	background: linear-gradient(135deg, var(--care-inf-accent-dark) 0%, var(--care-inf-accent) 100%);
	color: var(--care-inf-bg-color);
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 10px 26px rgba(212, 175, 55, 0.38);
}

.btn.btn-red:active {
	transform: translateY(0);
	box-shadow: 0 4px 14px rgba(212, 175, 55, 0.28);
}

.btn.btn-red:focus-visible {
	outline: 3px solid rgba(45, 90, 142, 0.35);
	outline-offset: 2px;
}

.hero-buttons .btn {
	white-space: normal;
}

.btn-primary-hero {
	background: linear-gradient(135deg, var(--care-inf-accent) 0%, var(--care-inf-accent-dark) 100%);
	color: var(--care-inf-bg-color);
	border-color: transparent;
	box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
	position: relative;
	overflow: hidden;
}

.btn-primary-hero::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-radius: 50%;
	background: rgba(255,255,255,0.3);
	transform: translate(-50%, -50%);
	transition: width 0.6s ease, height 0.6s ease;
}

.btn-primary-hero:hover::before {
	width: 300px;
	height: 300px;
}

.btn-primary-hero:hover {
	background: linear-gradient(135deg, var(--care-inf-accent-dark) 0%, var(--care-inf-accent) 100%);
	border-color: transparent;
	color: var(--care-inf-bg-color);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(212, 175, 55, 0.6);
}

.btn-primary-hero:active {
	transform: translateY(0);
	box-shadow: 0 3px 10px rgba(212, 175, 55, 0.4);
}

.btn-outline-hero {
	background: transparent;
	color: var(--care-inf-bg-color);
	border: 2px solid var(--care-inf-bg-color);
}

.btn-outline-hero:hover {
	background: rgba(255, 255, 255, 0.1);
	color: var(--care-inf-bg-color);
	border-color: var(--care-inf-bg-color);
	text-decoration: none;
}

/* =============================================
   HEARTBEAT SECTION — Modern, brand-aligned
   ============================================= */

.heartbeat-section {
	padding: 5rem 0;
	background: linear-gradient(180deg, var(--care-inf-bg-light) 0%, var(--care-inf-bg-color) 100%);
	position: relative;
}

.heartbeat-section::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--care-inf-primary) 0%, var(--care-inf-accent) 100%);
}

.heartbeat-grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 4rem;
	align-items: center;
}

.heartbeat-image {
	position: relative;
}

.heartbeat-image::after {
	content: "";
	position: absolute;
	bottom: -12px;
	right: -12px;
	width: 40%;
	height: 40%;
	border: 3px solid var(--care-inf-accent);
	border-radius: 0 0 12px 0;
	z-index: 0;
	pointer-events: none;
}

.heartbeat-image img,
.heartbeat-image .placeholder-img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 20px 50px rgba(26, 58, 95, 0.12), 0 8px 20px rgba(0, 0, 0, 0.06);
}

.heartbeat-image img {
	display: block;
}

.placeholder-img {
	height: 280px;
	background: linear-gradient(135deg, var(--care-inf-border-color), var(--care-inf-border-color));
}

.placeholder-img.landscape {
	height: 360px;
}

.heartbeat-title {
	font-family: var(--care-inf-heading-font);
	font-size: 2rem;
	font-weight: var(--care-inf-font-weight-section-title, 600);
	color: var(--care-inf-primary);
	line-height: 1.25;
	margin: 0 0 1.5rem;
	padding-left: 1.25rem;
	border-left: 4px solid var(--care-inf-accent);
}

.heartbeat-lead {
	font-size: 1.0625rem;
	line-height: 1.75;
	color: var(--care-inf-text-color, var(--care-inf-text-color));
	margin: 0 0 1.25rem;
	letter-spacing: 0.01em;
}

.heartbeat-list {
	margin: 0 0 1.25rem 1.25rem;
	padding: 0;
	color: var(--care-inf-text-color, var(--care-inf-text-color));
	line-height: 1.7;
}

.heartbeat-list li {
	margin-bottom: 0.35rem;
}

.heartbeat-tagline {
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.6;
	color: var(--care-inf-primary);
	margin: 0;
	padding-top: 0.5rem;
	border-top: 1px solid var(--care-inf-border-color);
}

/* Keep global .section-title / .text-accent for other sections */
.section-title {
	font-family: var(--care-inf-heading-font);
	font-size: 2rem;
	font-weight: var(--care-inf-font-weight-section-title, 600);
	margin-bottom: 1rem;
}

.text-accent {
	color: var(--care-inf-primary);
}

/* =============================================
   CORE ENTITIES SECTION — Contemporary modern
   ============================================= */

.entities-section {
	padding: 5.5rem 0 5.5rem;
	background: linear-gradient(90deg, transparent 50%, rgba(204, 167, 45, 0.06) 85%, rgba(204, 167, 45, 0.1) 100%), linear-gradient(180deg, rgba(26, 58, 95, 0.04) 0%, var(--care-inf-bg-light) 25%, var(--care-inf-bg-color) 50%, var(--care-inf-bg-light) 75%, rgba(26, 58, 95, 0.05) 100%);
	position: relative;
	overflow: hidden;
}

.entities-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 85% 60% at 50% 30%, rgba(26, 58, 95, 0.08), transparent 60%);
	pointer-events: none;
}

.entities-section .container {
	max-width: 1300px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
	position: relative;
	z-index: 1;
}

.entities-header {
	text-align: center;
	margin-bottom: 3.25rem;
}

.entities-label {
	display: inline-block;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--care-inf-accent);
	margin-bottom: 0.625rem;
}

.entities-title {
	font-family: var(--care-inf-heading-font);
	font-size: 2rem;
	font-weight: 600;
	color: var(--care-inf-primary);
	margin: 0 0 0.5rem;
	line-height: 1.2;
	letter-spacing: -0.03em;
}

.entities-title::after {
	content: "";
	display: block;
	width: 56px;
	height: 4px;
	background: linear-gradient(90deg, var(--care-inf-primary), var(--care-inf-accent));
	border-radius: 3px;
	margin: 1rem auto 0;
}

.entities-subtitle {
	font-size: 1.0625rem;
	line-height: 1.5;
	color: var(--care-inf-text-light);
	margin: 1rem auto 0;
	max-width: 460px;
}

.entities-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
}

.entity-block {
	position: relative;
	text-align: left;
	background: var(--care-inf-bg-color);
	border-radius: 20px;
	padding: 2.25rem 1.875rem;
	box-shadow: 0 4px 24px rgba(26, 58, 95, 0.06), 0 1px 4px rgba(0, 0, 0, 0.03);
	border: 1px solid rgba(26, 58, 95, 0.08);
	transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s ease, border-color 0.3s ease;
	overflow: hidden;
}

.entity-block::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--care-inf-primary), var(--care-inf-accent));
	opacity: 0;
	transition: opacity 0.35s ease;
}

.entity-block:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 48px rgba(26, 58, 95, 0.1), 0 12px 24px rgba(0, 0, 0, 0.06);
	border-color: rgba(26, 58, 95, 0.12);
}

.entity-block:hover::before {
	opacity: 1;
}

.entity-block:not(:last-child)::after {
	display: none;
}

.entity-block-inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
}

.entity-logo-wrap {
	margin-bottom: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin-left: 0;
	margin-right: auto;
	background: linear-gradient(145deg, rgba(26, 58, 95, 0.06), rgba(26, 58, 95, 0.02));
	border-radius: 16px;
	padding: 12px;
	transition: background 0.35s ease, transform 0.35s ease;
}

.entity-block:hover .entity-logo-wrap {
	background: linear-gradient(145deg, rgba(26, 58, 95, 0.1), rgba(26, 58, 95, 0.04));
	transform: scale(1.05);
}

.entity-logo-wrap img {
	max-height: 40px;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}

.entity-name {
	font-family: var(--care-inf-heading-font);
	font-size: 1.1875rem;
	font-weight: 600;
	color: var(--care-inf-primary);
	margin: 0 0 0.875rem;
	line-height: 1.3;
	letter-spacing: -0.02em;
	width: 100%;
}

.entity-desc {
	font-size: 0.9375rem;
	line-height: 1.75;
	color: var(--care-inf-text-color);
	margin: 0 0 1.5rem;
	flex-grow: 1;
	width: 100%;
	max-width: none;
	min-height: 8.25rem; /* Same height for all 3 cards (~200 chars) */
}

.entity-link {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.5rem;
	color: var(--care-inf-primary);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	letter-spacing: 0.03em;
	padding: 0.5rem 1rem;
	border-radius: 10px;
	background: rgba(26, 58, 95, 0.06);
	border: 1px solid rgba(26, 58, 95, 0.12);
	transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease, gap 0.25s ease, transform 0.25s ease;
}

.entity-link:hover {
	color: var(--care-inf-bg-color);
	background: var(--care-inf-primary);
	border-color: var(--care-inf-primary);
	gap: 0.65rem;
	transform: translateY(-1px);
}

.entity-link-arrow {
	display: inline-block;
	transition: transform 0.25s cubic-bezier(0.34, 1.2, 0.64, 1);
	font-size: 1em;
}

.entity-link:hover .entity-link-arrow {
	transform: translateX(4px);
}

.entity-link:focus {
	outline: 2px solid var(--care-inf-accent);
	outline-offset: 2px;
}

/* Legacy .link-arrow used elsewhere */
.link-arrow {
	color: var(--care-inf-primary);
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
}

.link-arrow:hover {
	color: var(--care-inf-secondary);
	text-decoration: underline;
}

/* =============================================
   CTA BAR — Modern, professional, user-friendly
   ============================================= */

.cta-bar {
	width: 100%;
	background: linear-gradient(135deg, var(--care-inf-primary) 0%, var(--care-inf-primary-dark) 100%);
	color: var(--care-inf-bg-color);
	padding: 3.5rem 0;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.page-how-it-works .cta-bar {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	min-height: 560px;
	display: flex;
	align-items: center;
	padding: 5.5rem 0;
	background: linear-gradient(128deg, rgba(16, 42, 74, 0.46) 0%, rgb(20 50 86 / 71%) 52%, rgb(26 58 95) 100%), url(../images/image11.webp) center / cover no-repeat;
	background-attachment: fixed;
}

.page-how-it-works .cta-bar .container {
	position: relative;
	z-index: 1;
}

.page-how-it-works .cta-bar::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(8, 24, 44, 0.08) 0%, rgba(8, 24, 44, 0.18) 100%);
	pointer-events: none;
}

.cta-bar::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, transparent 20%, var(--care-inf-accent) 50%, transparent 80%);
	opacity: 0.9;
}

.cta-bar .container {
	max-width: 800px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
}

.cta-bar-inner {
	position: relative;
	z-index: 1;
}

.cta-heading {
	font-family: var(--care-inf-heading-font);
	font-size: 2rem;
	font-weight: 600;
	color: var(--care-inf-bg-color);
	line-height: 1.35;
	letter-spacing: -0.02em;
	margin: 0 0 1rem;
}

.cta-heading::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	background: var(--care-inf-accent);
	border-radius: 2px;
	margin: 1rem auto 0;
}

.cta-subtext {
	font-size: 1rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.92);
	max-width: 640px;
	margin: 0 auto;
}

/* =============================================
   LEAD THE PROFESSION + CARDS — One section, modern
   ============================================= */

.lead-profession-section {
	background: var(--care-inf-bg-color);
	padding: 0 0 4rem;
}

.lead-profession-intro {
	position: relative;
	background: linear-gradient(128deg, rgba(16, 42, 74, 0.84) 0%, rgba(20, 50, 86, 0.212) 52%, rgba(26, 58, 95, 0.212) 100%), url("../images/image11.webp") center/cover no-repeat;
	padding: 3.5rem 0 3rem;
	text-align: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
	overflow: hidden;
}

.lead-profession-intro::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at top, rgba(212, 175, 55, 0.18), transparent 58%);
	pointer-events: none;
}

.lead-profession-intro .container {
	position: relative;
	z-index: 1;
	max-width: 780px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
}

.lead-profession-heading {
	font-family: var(--care-inf-heading-font);
	font-size: 2rem;
	font-weight: 600;
	color: var(--care-inf-bg-color);
	line-height: 1.35;
	letter-spacing: -0.02em;
	margin: 0 0 1rem;
}

.lead-profession-heading::after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	background: linear-gradient(90deg, var(--care-inf-primary), var(--care-inf-accent));
	border-radius: 2px;
	margin: 1rem auto 1.25rem;
}

.lead-profession-desc {
	font-size: 1rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.92);
	margin: 0;
}

.lead-profession-cards-wrap {
	max-width: 1300px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
	padding-top: 3rem;
}

.lead-profession-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
}

.lead-card {
	background: var(--care-inf-bg-color);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 8px 32px rgba(26, 58, 95, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(26, 58, 95, 0.08);
	transition: transform 0.4s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.4s ease, border-color 0.3s ease;
	display: flex;
	flex-direction: column;
	position: relative;
}

.lead-card-accent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--care-inf-primary), var(--care-inf-accent));
	z-index: 1;
}

.lead-card-featured {
	border-color: rgba(204, 167, 45, 0.2);
	box-shadow: 0 12px 40px rgba(26, 58, 95, 0.1), 0 4px 12px rgba(0, 0, 0, 0.05);
}

.lead-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 28px 56px rgba(26, 58, 95, 0.12), 0 12px 24px rgba(0, 0, 0, 0.06);
	border-color: rgba(26, 58, 95, 0.12);
}

.lead-card-featured:hover {
	box-shadow: 0 32px 64px rgba(26, 58, 95, 0.14), 0 14px 28px rgba(0, 0, 0, 0.07);
}

.lead-card-image {
	width: 100%;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	position: relative;
}

.lead-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.lead-card:hover .lead-card-image img {
	transform: scale(1.08);
}

.lead-card-placeholder {
	width: 100%;
	height: 100%;
	min-height: 180px;
	background: linear-gradient(145deg, rgba(26, 58, 95, 0.06) 0%, rgba(26, 58, 95, 0.02) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}

.lead-card-placeholder-icon {
	font-size: 2.5rem;
	color: rgba(26, 58, 95, 0.12);
	line-height: 1;
}

.lead-card-body {
	padding: 1.75rem 1.5rem 1.75rem;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.lead-card-title {
	font-family: var(--care-inf-heading-font);
	font-size: 1.1875rem;
	font-weight: 600;
	margin: 0 0 0.75rem;
	line-height: 1.3;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--care-inf-border-color);
}

.lead-card-title a {
	color: var(--care-inf-primary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.lead-card-title a:hover {
	color: var(--care-inf-accent);
}

.lead-card-text {
	font-size: 0.9375rem;
	line-height: 1.72;
	color: var(--care-inf-text-color);
	margin: 0 0 1.25rem;
	flex-grow: 1;
}

.lead-card-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--care-inf-bg-color);
	background: linear-gradient(135deg, var(--care-inf-primary), var(--care-inf-primary-dark));
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	padding: 0.6rem 1.25rem;
	border-radius: 10px;
	transition: background 0.3s ease, color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
	box-shadow: 0 4px 12px rgba(26, 58, 95, 0.2);
	align-self: flex-start;
}

.lead-card-link:hover {
	background: linear-gradient(135deg, var(--care-inf-accent-dark), var(--care-inf-accent));
	color: var(--care-inf-bg-color);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(212, 175, 55, 0.35);
}

.lead-card-link-arrow {
	transition: transform 0.25s ease;
}

.lead-card-link:hover .lead-card-link-arrow {
	transform: translateX(4px);
}

/* =============================================
   CARDS SECTION — Modern professional grid
   ============================================= */

.cards-section {
	padding: 4rem 0;
	background: linear-gradient(180deg, #f8fafc 0%, #fff 12%, #fff 88%, #f8fafc 100%);
}

.cards-grid-section .container {
	max-width: 1300px;
}

/* Optional section header */
.cards-grid-header {
	text-align: center;
	margin-bottom: 2.75rem;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}

.cards-grid-title {
	font-family: var(--care-inf-heading-font);
	font-size: 1.875rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	letter-spacing: -0.02em;
	line-height: 1.3;
	margin: 0 0 0.75rem;
}

.cards-grid-title::after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	background: linear-gradient(90deg, var(--care-inf-accent), var(--care-inf-primary));
	border-radius: 2px;
	margin-top: 1rem;
}

.cards-grid-subtitle {
	font-size: 1rem;
	line-height: 1.65;
	color: var(--care-inf-text-light);
	margin: 0;
}

.cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
}

.card {
	background: var(--care-inf-bg-color);
	border-radius: 20px 20px 14px 14px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	display: block;
	text-decoration: none;
	position: relative;
	height: 0;
	padding-bottom: 133.33%; /* 4/3 aspect ratio - works in all grid rows */
}

.card:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12), 0 4px 12px rgba(0, 0, 0, 0.06);
}

/* Inner wrapper so overlay works on every card (all 6) */
.cards-grid-section .card-overlay .card-inner {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
}

/* Overlay style: image full-bleed, text on gradient at bottom */
.cards-grid-section .card-overlay .card-images {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background: var(--care-inf-border-color);
	z-index: 0;
}

.cards-grid-section .card-overlay .card-images img,
.cards-grid-section .card-overlay .card-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.cards-grid-section .card-overlay .card-placeholder {
	min-height: 0;
}

.cards-grid-section .card-overlay:hover .card-images img {
	transform: scale(1.05);
}

.cards-grid-section .card-overlay .card-body {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
	padding: 2.25rem 1.5rem 1.5rem;
	background: linear-gradient(to top, rgb(0 0 0 / 79%) 0%, rgb(0 0 0) 40%, rgb(0 0 0 / 51%) 70%, #00000000 100%);
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.cards-grid-section .card-overlay .card-title {
	font-family: var(--care-inf-heading-font);
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.3;
	margin: 0;
	color: #ffffff;
}

.cards-grid-section .card-overlay .card-text {
	font-size: 0.875rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.95);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.cards-grid-section .card-overlay .card-link {
	font-size: 0.8125rem;
	font-weight: 600;
	color: #ffffff;
	letter-spacing: 0.02em;
	margin-top: 0.25rem;
	transition: opacity 0.2s ease;
}

.cards-grid-section .card-overlay:hover .card-link {
	opacity: 0.9;
}

/* =============================================
   MEMBERSHIP SECTION — Full-width BG image, panel on right
   ============================================= */

.membership-section {
	position: relative;
	width: 100%;
	min-height: 680px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	display: flex;
	align-items: stretch;
	justify-content: flex-end;
	padding: 0;
	overflow: hidden;
}

.membership-bg-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(26, 58, 95, 0.35) 0%, rgba(26, 58, 95, 0.5) 45%, rgba(26, 58, 95, 0.88) 100%);
	z-index: 1;
}

.membership-wrap {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	min-height: 100%;
	display: flex;
	justify-content: flex-end;
	align-items: stretch;
}

.membership-panel {
	position: relative;
	width: 42%;
	min-width: 380px;
	min-height: 100%;
	background: transparent;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	color: #fff;
	padding: 3rem 2.5rem;
	border-radius: 0;
	box-shadow: -8px 0 32px rgba(0, 0, 0, 0.08);
	border-left: 1px solid rgba(255, 255, 255, 0.25);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.membership-panel-accent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--care-inf-primary-dark), var(--care-inf-accent));
	z-index: 1;
}

.membership-panel-inner {
	position: relative;
	z-index: 2;
	text-align: center;
	max-width: 420px;
	width: 100%;
}

.membership-icon {
	margin-bottom: 1.5rem;
	color: #fff;
}

.membership-icon svg {
	display: block;
	margin: 0 auto;
	width: 56px;
	height: 56px;
	filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.15));
}

.membership-title {
	font-family: var(--care-inf-heading-font);
	font-size: 2rem;
	font-weight: 600;
	color: #fff;
	margin: 0;
	line-height: 1.25;
	letter-spacing: -0.03em;
}

.membership-title::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	background: linear-gradient(90deg, var(--care-inf-accent), rgba(255, 255, 255, 0.6));
	border-radius: 2px;
	margin: 1rem auto 1.5rem;
}

.membership-desc {
	font-size: 0.9375rem;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.95);
	margin: 0 0 1.75rem;
	letter-spacing: 0.01em;
}

.membership-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.8rem 1.85rem;
	background: transparent;
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-decoration: none;
	border: 2px solid rgba(255, 255, 255, 0.7);
	border-radius: 10px;
	transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.membership-cta:hover {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.6);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
	text-decoration: none;
}

.membership-cta:focus-visible {
	outline: 2px solid var(--care-inf-accent);
	outline-offset: 3px;
}

/* =============================================
   NEWS SECTION — Modern
   ============================================= */

.news-section {
	padding: 4.5rem 0;
	background: linear-gradient(180deg, #fff 0%, #f8fafc 15%, #f8fafc 85%, #fff 100%);
}

.news-section .container {
	max-width: 1300px;
}

.news-heading {
	font-family: var(--care-inf-heading-font);
	font-size: 1.875rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	letter-spacing: -0.02em;
	text-align: center;
	margin: 0 0 2.75rem;
	line-height: 1.3;
}

.news-heading::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	background: linear-gradient(90deg, var(--care-inf-accent), var(--care-inf-primary));
	border-radius: 2px;
	margin: 1rem auto 0;
}

.news-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 2rem;
	align-items: start;
}

.news-left {
	padding: 0;
}

.news-featured {
	display: flex;
	flex-direction: column;
	background: var(--care-inf-bg-color);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.06);
	transition: transform 0.25s ease, box-shadow 0.3s ease;
}

.news-featured:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.1), 0 4px 12px rgba(0, 0, 0, 0.06);
}

.news-featured-img {
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: var(--care-inf-border-color);
}

.news-featured-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.news-featured:hover .news-featured-img img {
	transform: scale(1.03);
}

.news-featured-body {
	padding: 1.75rem 1.5rem;
}

.news-featured-title {
	font-family: var(--care-inf-heading-font);
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.35;
	margin: 0 0 0.75rem;
}

.news-featured-title a {
	color: var(--care-inf-primary-dark);
	text-decoration: none;
	transition: color 0.2s ease;
}

.news-featured-title a:hover {
	color: var(--care-inf-accent);
}

.news-featured-body .link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--care-inf-primary);
	letter-spacing: 0.02em;
	margin-top: 0.25rem;
}

.news-featured-body .link-arrow:hover {
	color: var(--care-inf-accent);
}

.news-featured-body .link-arrow::after {
	content: "→";
}

.news-featured-body p {
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--care-inf-text-light);
	margin: 0 0 1rem;
}

.news-right {
	padding: 0;
}

.news-sidebar-block {
	background: var(--care-inf-bg-color);
	padding: 1.5rem 1.5rem 1.75rem;
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.06);
}

.news-sidebar-heading {
	font-family: var(--care-inf-heading-font);
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0 0 1.25rem;
	padding-bottom: 0.75rem;
	border-bottom: 3px solid var(--care-inf-accent);
	letter-spacing: -0.01em;
}

.news-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.news-list li {
	padding: 0.85rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	margin: 0;
	transition: background 0.2s ease;
}

.news-list li:last-child {
	border-bottom: none;
}

.news-list li:hover {
	background: rgba(0, 0, 0, 0.02);
}

.news-list a {
	color: var(--care-inf-primary-dark);
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: none;
	display: block;
	line-height: 1.45;
	transition: color 0.2s ease;
}

.news-list a:hover {
	color: var(--care-inf-accent);
}

.news-date {
	font-size: 0.8125rem;
	color: var(--care-inf-text-light);
	display: block;
	margin-top: 0.35rem;
}

.news-list-empty {
	font-size: 0.9375rem;
	color: var(--care-inf-text-light);
	margin: 0;
	padding: 0.5rem 0;
}

/* =============================================
   FOOTER - Modern Professional Design
   ============================================= */

.footer-main {
	width: 100%;
	background: linear-gradient(180deg, var(--care-inf-bg-color) 0%, var(--care-inf-bg-light) 100%);
	color: var(--care-inf-text-color);
	padding: 5rem 0 4rem;
	position: relative;
	border-top: 3px solid var(--care-inf-accent);
	box-shadow: 0 -4px 20px rgba(0,0,0,0.05);
}

.footer-main::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="800" height="400"><text x="50%25" y="35%25" font-size="200" font-weight="300" fill="rgba(26, 58, 95, 0.03)" text-anchor="middle" dominant-baseline="middle" font-family="Cinzel, serif" opacity="0.5">CARE-INF</text></svg>');
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	pointer-events: none;
	z-index: 0;
}

.footer-main::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--care-inf-accent), transparent);
	opacity: 0.3;
	pointer-events: none;
}

.footer-main .container {
	position: relative;
	z-index: 1;
}

.site-footer .footer-main .container,
.site-footer .footer-bottom .container {
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 5px;
	box-sizing: border-box;
}

.footer-grid {
	display: grid;
	/* Fixed-width brand column avoids a large empty gutter next to Platform */
	grid-template-columns: minmax(220px, 300px) repeat(4, minmax(0, 1fr)) minmax(148px, 190px);
	gap: 2.5rem 1.5rem;
	align-items: start;
}

.footer-logo-col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-right: 0;
	max-width: none;
	width: 100%;
}

.footer-brand-name {
	font-family: var(--care-inf-heading-font);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--care-inf-primary);
	margin: 1rem 0 0.5rem;
	line-height: 1.3;
}

.footer-brand-tagline {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.45;
	color: var(--care-inf-primary);
	margin: 0 0 0.75rem;
	letter-spacing: 0.02em;
}

.footer-brand-intro {
	font-size: 1rem;
	line-height: 1.55;
	color: var(--care-inf-text-light);
	margin: 0;
	max-width: 100%;
}

.footer-contact-col .footer-heading {
	margin-bottom: 0.75rem;
}

.footer-contact-email {
	margin: 0;
	font-size: 0.9375rem;
}

.footer-contact-email a,
.footer-contact-mailto {
	color: var(--care-inf-primary);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid rgba(26, 58, 95, 0.25);
	transition: color 0.2s ease, border-color 0.2s ease;
	position: relative;
	z-index: 2;
	cursor: pointer;
}

.footer-contact-email a:hover {
	color: var(--care-inf-accent);
	border-bottom-color: var(--care-inf-accent);
}

.footer-address {
	margin: 1rem 0 0;
	padding: 0;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--care-inf-text-light);
	font-style: normal;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.footer-address-line {
	display: block;
}

.footer-cta-bar {
	background: linear-gradient(90deg, var(--care-inf-primary) 0%, var(--care-inf-primary-dark) 100%);
	border-top: 1px solid rgba(212, 175, 55, 0.35);
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	padding: 1.25rem 0;
}

.footer-cta-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem 1rem;
}

.footer-cta-link {
	color: #fff;
	font-weight: 600;
	font-size: 0.9375rem;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.2s ease, opacity 0.2s ease;
}

.footer-cta-link:hover,
.footer-cta-link:focus-visible {
	color: var(--care-inf-accent);
}

.footer-cta-sep {
	color: rgba(255, 255, 255, 0.45);
	font-weight: 300;
	user-select: none;
}

.footer-bottom-meta {
	padding: 1.25rem 5px 1.75rem;
	text-align: center;
	border-top: 1px solid rgba(26, 58, 95, 0.08);
	margin-top: 0;
}

.footer-disclaimer {
	font-size: 0.75rem;
	line-height: 1.5;
	color: var(--care-inf-text-light);
	margin: 0 0 0.5rem;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

.footer-premium-tagline {
	font-size: 0.6875rem;
	line-height: 1.45;
	color: var(--care-inf-text-muted);
	margin: 0;
	font-style: italic;
	letter-spacing: 0.02em;
}

.footer-logo-wrapper {
	position: relative;
	transition: transform 0.3s ease;
}

.footer-logo-wrapper:hover {
	transform: translateY(-3px);
}

.footer-logo-seal {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--care-inf-primary) 0%, var(--care-inf-primary-dark) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 20px rgba(26, 58, 95, 0.25), 0 0 0 4px rgba(212, 175, 55, 0.1);
	border: 4px solid var(--care-inf-accent);
	position: relative;
	overflow: hidden;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer-logo-seal::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: linear-gradient(45deg, transparent, rgba(255,255,255,0.2), transparent);
	transform: rotate(45deg);
	transition: all 0.6s ease;
}

.footer-logo-wrapper:hover .footer-logo-seal {
	box-shadow: 0 8px 30px rgba(26, 58, 95, 0.35), 0 0 0 6px rgba(212, 175, 55, 0.15);
	transform: scale(1.05);
}

.footer-logo-wrapper:hover .footer-logo-seal::before {
	left: 100%;
	top: 100%;
}

.footer-logo-icon {
	font-size: 2.75rem;
	color: var(--care-inf-bg-color);
	font-weight: 600;
	position: relative;
	z-index: 1;
}

.footer-logo-wrapper img {
	max-height: 110px;
	width: auto;
	display: block;
	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.footer-tagline {
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--care-inf-text-light);
	margin-top: 1rem;
	margin-bottom: 0;
	max-width: 220px;
}

.footer-col {
	display: flex;
	flex-direction: column;
}

.footer-heading {
	color: var(--care-inf-primary);
	font-family: var(--care-inf-heading-font);
	font-size: 1.125rem;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0.5px;
	margin-bottom: 1.5rem;
	position: relative;
	padding-bottom: 0.75rem;
}

.footer-heading::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 40px;
	height: 3px;
	background: linear-gradient(90deg, var(--care-inf-accent), transparent);
	border-radius: 2px;
}

.footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-col li {
	margin-bottom: 0.875rem;
}

.footer-nav .menu > li > a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.footer-menu-item-icon--img img {
	display: block;
	flex-shrink: 0;
}

.footer-col a {
	color: var(--care-inf-text-color);
	text-decoration: none;
	font-size: 0.9375rem;
	font-weight: 400;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	display: inline-block;
	line-height: 1.6;
}

.footer-col a:hover,
.footer-col a:focus-visible {
	color: var(--care-inf-primary-dark);
	text-decoration: underline;
	text-decoration-color: var(--care-inf-accent);
	text-underline-offset: 0.2em;
	text-decoration-thickness: 1px;
	transform: none;
}

.footer-social-col {
	display: flex;
	flex-direction: column;
}

.footer-social-icons {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.footer-social {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(26, 58, 95, 0.05) 0%, rgba(26, 58, 95, 0.02) 100%);
	border: 2px solid var(--care-inf-primary);
	color: var(--care-inf-primary);
	text-decoration: none;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
	flex-shrink: 0;
	margin: 0;
	padding: 0;
}

.footer-social::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-radius: 50%;
	background: var(--care-inf-accent);
	transform: translate(-50%, -50%);
	transition: width 0.6s ease, height 0.6s ease;
	z-index: 0;
}

.footer-social:hover::before {
	width: 200px;
	height: 200px;
}

.footer-social:hover {
	background: var(--care-inf-accent);
	border-color: var(--care-inf-accent);
	color: var(--care-inf-bg-color);
	text-decoration: none;
	transform: translateY(-3px) scale(1.05);
	box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4);
}

.footer-social:active {
	transform: translateY(-1px) scale(1.02);
}

.footer-social svg {
	width: 20px;
	height: 20px;
	position: relative;
	top: 10px;
	z-index: 1;
	transition: transform 0.3s ease;
	display: block;
	margin: 0 auto;
}

.footer-social:hover svg {
	transform: scale(1.1);
}

.footer-portals {
	width: 100%;
	padding: 0.75rem 0;
	background: var(--care-inf-bg-light, #f1f5f9);
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	color: var(--care-inf-text-color, #334155);
}
.footer-portals .container {
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 20px;
}
.footer-portals-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1.25rem;
	font-size: 0.9rem;
}
.footer-portals-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.5rem;
}
.footer-portals-group .footer-portals-label {
	margin-right: 0.25rem;
}
.footer-portals-group a:not(:last-child)::after {
	content: '·';
	opacity: 0.7;
	margin-left: 0.5rem;
	pointer-events: none;
}
.footer-portals-label {
	font-weight: 600;
	margin-right: 0.25rem;
}
.footer-portals-inner a {
	color: var(--care-inf-primary, #1a3a5f);
	text-decoration: none;
	font-weight: 500;
}
.footer-portals-inner a:hover {
	text-decoration: underline;
}
.footer-portals-sep {
	opacity: 0.6;
	margin: 0 0.25rem;
}

.footer-bottom {
	width: 100%;
	background: linear-gradient(180deg, var(--care-inf-bg-light) 0%, var(--care-inf-bg-light) 100%);
	padding: 2rem 0;
	border-top: 1px solid rgba(0,0,0,0.08);
	position: relative;
}

.footer-bottom::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--care-inf-accent), transparent);
	opacity: 0.5;
}

.footer-bottom-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.5rem;
}

.footer-copy {
	color: var(--care-inf-text-light);
	font-size: 0.875rem;
	margin: 0;
	font-weight: 500;
	letter-spacing: 0.2px;
}

.footer-legal {
	display: flex;
	gap: 2rem;
	flex-wrap: wrap;
}

.footer-legal a {
	color: var(--care-inf-text-light);
	font-size: 0.875rem;
	text-decoration: none;
	font-weight: 500;
	transition: all 0.3s ease;
	position: relative;
	padding: 0.25rem 0;
	letter-spacing: 0.2px;
}

.footer-legal a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--care-inf-secondary);
	transition: width 0.3s ease;
}

.footer-legal a:hover {
	color: var(--care-inf-secondary);
	text-decoration: none;
}

.footer-legal a:hover::after {
	width: 100%;
}

/* =============================================
   FRONT PAGE OVERRIDES
   ============================================= */

.front-page {
	width: 100%;
	max-width: 100%;
	padding: 0;
	margin: 0;
}

.site-main.front-page {
	width: 100%;
	max-width: 100%;
	padding: 0;
	margin: 0;
}

.site-main:not(.front-page) {
	max-width: 1300px;
	margin: 0 auto;
	padding: 0rem 20px;
}

.front-page .lead-profession-intro {
	background: linear-gradient(180deg, var(--care-inf-bg-light) 0%, var(--care-inf-bg-color) 100%);
	border-bottom: 1px solid var(--care-inf-border-color);
}

.front-page .lead-profession-intro::before {
	content: none;
}

.front-page .lead-profession-heading {
	color: var(--care-inf-primary);
}

.front-page .lead-profession-desc {
	color: var(--care-inf-text-color);
}

/* Full-width sections */
	.hero-section {
		height: 950px;
		min-height: 950px;
	}

	.hero-content {
		max-width: 100%;
	}

	.hero-desc {
		font-size: 1.3rem;
	}

	.hero-section,
	.heartbeat-section,
	.entities-section,
	.cta-bar,
	.cards-section,
	.membership-section,
.news-section {
	width: 100%;
}

/* =============================================
   RESPONSIVE
   ============================================= */

@media (max-width: 1024px) {
	.hero-section {
		min-height: 680px;
		padding: 3rem 0;
	}

	.hero-section .container {
		padding-left: 24px;
		padding-right: 24px;
	}

	.hero-title {
		font-size: 2.25rem;
		line-height: 1.25;
		margin-bottom: 1.25rem;
	}

	.hero-desc {
		font-size: 1.2rem;
		margin-bottom: 2rem;
	}

	.hero-grid,
	.heartbeat-grid {
		grid-template-columns: 1fr;
	}

	.membership-section {
		min-height: 520px;
		padding: 3rem 0;
		align-items: center;
		justify-content: center;
		background-attachment: scroll;
	}

	.membership-wrap {
		padding-left: 20px;
		padding-right: 20px;
		justify-content: center;
	}

	.membership-panel {
		width: 100%;
		min-width: 0;
		min-height: auto;
		border-radius: 16px;
	}

	.heartbeat-section {
		padding: 3.5rem 0;
	}

	.heartbeat-grid {
		gap: 2.5rem;
	}

	.heartbeat-image::after {
		display: none;
	}

	.hero-logo-area {
		display: none;
	}

	.cards-grid-section .cards-grid-header {
		margin-bottom: 2rem;
	}

	.cards-grid-title {
		font-size: 1.625rem;
	}

	.entities-grid,
	.cards-grid,
	.lead-profession-cards {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}

	.entity-block:not(:first-child)::after {
		display: none;
	}

	.news-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.news-heading {
		margin-bottom: 2rem;
	}

	.news-featured-body {
		padding: 1.5rem 1.25rem;
	}

	.news-sidebar-block {
		padding: 1.25rem 1.25rem 1.5rem;
	}

	.footer-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.footer-logo-col {
		grid-column: 1 / -1;
		max-width: none;
	}

	/* Contact was orphan bottom-left; full-width row reads as intentional */
	.footer-contact-col {
		grid-column: 1 / -1;
		text-align: center;
		padding-top: 1.25rem;
		margin-top: 0.25rem;
		border-top: 1px solid rgba(26, 58, 95, 0.1);
	}
}

@media (max-width: 768px) {
	.top-bar .container {
		flex-direction: column;
		height: auto;
		padding: 10px 20px;
		gap: 0.5rem;
	}

	.top-bar-content {
		flex-direction: column;
		gap: 0.75rem;
		width: 100%;
	}

	.top-nav-left {
		width: 100%;
	}

	.top-nav-left ul,
	.top-menu {
		flex-wrap: wrap;
		justify-content: center;
		gap: 1rem;
		font-size: 0.75rem;
	}

	.top-nav-right {
		width: 100%;
		justify-content: center;
		flex-wrap: wrap;
	}

	.header-inner {
		min-height: 70px;
		flex-wrap: wrap;
		gap: 1rem;
		padding: 0rem 0;
	}

	.site-branding {
		order: 1;
		flex: 1;
		min-width: 0;
	}

	.main-navigation {
		order: 3;
		width: 100%;
		justify-content: flex-start;
		position: relative;
	}

	.header-actions {
		order: 2;
	}

	.menu-toggle {
		display: flex;
	}

	.nav-menu {
		display: none;
		flex-direction: column;
		width: calc(100vw - 40px);
		background: var(--care-inf-bg-color);
		border-top: 1px solid rgba(0,0,0,0.08);
		position: fixed;
		top: 87px;
		left: 20px;
		z-index: 9999;
		box-shadow: 0 8px 24px rgba(0,0,0,0.12);
		padding: 10px 0;
		margin-top: 0;
		overflow-y: auto;
		max-height: calc(100vh - 60px);
		box-sizing: border-box;
		border-radius: 12px;
	}

	.nav-menu.active {
		display: flex;
	}

	.nav-menu li {
		width: 100%;
	}

	.nav-menu > li > a {
		padding: 14px 20px;
		border-radius: 0;
		border-bottom: 1px solid rgba(0,0,0,0.05);
	}

	.nav-menu > li > a::before {
		display: none;
	}

	.nav-menu .sub-menu {
		display: none;
		padding-left: 16px;
		background: rgba(26, 58, 95, 0.03);
		border-left: 3px solid var(--care-inf-accent);
		margin: 0;
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		overflow: hidden;
	}

	.nav-menu .sub-menu.open {
		display: block;
	}

	.nav-menu .sub-menu a {
		white-space: normal;
		word-wrap: break-word;
		padding: 12px 16px;
		font-size: 0.9375rem;
	}

	.search-text {
		display: none;
	}

	.search-close {
		right: 20px;
		top: 20px;
		transform: none;
	}

	.hero-section {
		min-height: 620px;
		padding: 2rem 0;
	}

	.hero-section .container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.hero-content {
		max-width: 100%;
	}

	.hero-title {
		font-size: 2.3rem;
		line-height: 1.3;
		margin-bottom: 1rem;
	}

	.hero-desc {
		font-size: 1.1rem;
		margin-bottom: 1.5rem;
	}

	.hero-buttons {
		flex-direction: column;
		gap: 0.75rem;
	}

	.hero-buttons .btn {
		width: 100%;
		min-width: auto;
	}

	.cards-section {
		padding: 3rem 0;
	}

	.cards-grid-section .cards-grid-header {
		margin-bottom: 1.75rem;
	}

	.cards-grid-title {
		font-size: 1.5rem;
	}

	.entities-grid,
	.cards-grid,
	.lead-profession-cards {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.entities-section {
		padding: 3.5rem 0 4rem;
	}

	.entities-header {
		margin-bottom: 2rem;
	}

	.entities-title::after {
		margin-top: 0.75rem;
	}

	.entities-subtitle {
		font-size: 0.9375rem;
		margin-top: 1rem;
	}

	.entity-block {
		padding: 1.75rem 1.5rem;
	}

	.entity-block:not(:last-child)::after {
		display: none;
	}

	.heartbeat-title,
	.entities-title,
	.cta-heading,
	.lead-profession-heading,
	.membership-title,
	.news-heading,
	.section-title {
		font-size: 1.5rem;
	}

	.lead-profession-intro {
		padding: 2.5rem 0 2rem;
	}

	.lead-profession-cards-wrap {
		padding-top: 2rem;
	}

	.lead-profession-cards {
		gap: 1.5rem;
	}

	.membership-panel {
		padding: 2.25rem 1.5rem;
		min-width: 0;
	}

	.footer-main {
		padding: 3rem 0 2.5rem;
	}

	.footer-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 3rem;
	}

	.footer-logo-col {
		grid-column: 1 / -1;
		justify-content: flex-start;
		margin-bottom: 1rem;
		padding-right: 0;
	}

	.footer-logo-seal {
		width: 75px;
		height: 75px;
	}

	.footer-logo-icon {
		font-size: 2.25rem;
	}

	.footer-heading {
		font-size: 1rem;
		margin-bottom: 1.25rem;
	}

	.footer-heading::after {
		width: 30px;
	}

	.footer-col a {
		font-size: 0.875rem;
	}

	.footer-social-icons {
		justify-content: center;
		gap: 0.875rem;
		align-items: center;
	}

	.footer-social {
		width: 40px;
		height: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0;
		padding: 0;
	}

	.footer-social svg {
		width: 18px;
		height: 18px;
		display: block;
		margin: 0 auto;
	}

	.footer-bottom {
		padding: 1.5rem 0;
	}

	.footer-bottom-inner {
		flex-direction: column;
		text-align: center;
		gap: 1rem;
	}

	.footer-legal {
		justify-content: center;
		gap: 1.25rem;
	}
}

@media (max-width: 1024px) {
	.footer-main {
		padding: 4rem 0 3rem;
	}

	.footer-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 3rem;
	}

	.footer-logo-col {
		grid-column: 1 / -1;
		justify-content: flex-start;
		margin-bottom: 1rem;
		padding-right: 0;
		max-width: none;
	}

	.footer-contact-col {
		grid-column: 1 / -1;
		text-align: center;
		padding-top: 1.25rem;
		margin-top: 0.25rem;
		border-top: 1px solid rgba(26, 58, 95, 0.1);
	}

	.footer-social-col {
		grid-column: 1 / -1;
	}
}

/* =============================================
   PAGE TEMPLATES — How It Works, Pricing, FAQ, Contact, etc.
   ============================================= */

/* Page hero: full width, -95px, height 750px, no slider. Per-page image set below. */
.page-hero {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-top: 0;
	height: 750px;
	min-height: 750px;
	display: flex;
	align-items: center;
	padding: 3rem 0;
	text-align: center;
	overflow: hidden;
	box-sizing: border-box;
	background: linear-gradient(135deg, var(--care-inf-primary) 0%, var(--care-inf-primary-dark) 60%);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url('https://images.unsplash.com/photo-1551076805-e1869033e561?w=2070&q=85&auto=format&fit=crop');
}

/* Per-page hero background images */
.page-how-it-works .page-hero {
	background-image: url('https://www.mua.edu/uploads/sites/10/2023/02/istock-482499394.webp?w=1200');
}

.page-how-it-works .page-hero::before {
	background: linear-gradient(135deg, rgba(26, 58, 95, 0.62) 0%, rgba(16, 42, 74, 0.68) 100%);
}
.page-pricing .page-hero {
	background-image: url('https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?w=2070&q=85&auto=format&fit=crop');
}

.page-pricing .page-hero::before {
	background: linear-gradient(135deg, rgba(26, 58, 95, 0.6) 0%, rgba(16, 42, 74, 0.66) 100%);
}
.page-contact .page-hero {
	background-image: url('https://images.unsplash.com/photo-1423666639041-f56000c27a9a?w=2070&q=85&auto=format&fit=crop');
}
.page-faq .page-hero {
	height: 500px;
	min-height: 500px;
	background-image: url('https://images.unsplash.com/photo-1523240795612-9a05468b4b9c?w=2070&q=85&auto=format&fit=crop');
}
.page-partners .page-hero {
	background-image: url('https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=2070&q=85&auto=format&fit=crop');
}
.page-security-compliance .page-hero {
	background-image: url('https://images.unsplash.com/photo-1563013544-824ae1b704d3?w=2070&q=85&auto=format&fit=crop');
}
.page-preceptor-program .page-hero {
	background-image: url('https://images.unsplash.com/photo-1559839734-2b71ea197ec2?w=2070&q=85&auto=format&fit=crop');
}

.page-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(26, 58, 95, 0.88) 0%, rgba(16, 42, 74, 0.92) 100%);
	z-index: 0;
}

.page-hero .container {
	position: relative;
	z-index: 1;
}
.cards-grid-section .card-overlay .card-images img {
    min-height: 550px !important;
    height: 550px;
    object-fit: cover;
}
.page-hero-title {
	font-family: var(--care-inf-heading-font);
	font-size: 2rem;
	font-weight: var(--care-inf-font-weight-page-title, 600);
	color: var(--care-inf-bg-color);
	margin: 0 0 0.75rem;
	letter-spacing: -0.02em;
}

.page-how-it-works .page-hero-title {
	font-family: var(--care-inf-heading-font);
	font-style: normal;
	font-weight: var(--care-inf-font-weight-page-title, 600);
	font-size: 60px;
	line-height: 60px;
	color: rgb(255, 255, 255);
}

.page-hero-desc {
	font-size: 1.125rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.92);
	margin: 0;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 768px) {
    .page-hero {
        min-height: 420px;
		margin-top: 0;
    }
}

@media (max-width: 768px) {
	.page-how-it-works .page-hero {
		min-height: 420px;
	}
}

.page-how-it-works .page-hero .hero-buttons {
	margin-top: 1rem;
	justify-content: center;
	align-items: center;
}

/* How It Works: Simple Process (modern) */
.page-how-it-works .how-steps {
	padding: 4rem 0 3.25rem;
	background: transparent;
	border-top: 1px solid rgba(26, 58, 95, 0.06);
	border-bottom: 1px solid rgba(26, 58, 95, 0.08);
}

.page-how-it-works .how-steps .section-title {
	margin-bottom: 2rem !important;
	color: var(--care-inf-primary-dark);
	font-size: clamp(2rem, 3.4vw, 2.75rem);
	letter-spacing: -0.03em;
	line-height: 1.08;
}

.page-how-it-works .how-steps-head {
	max-width: 780px;
	margin: 0 auto 2.25rem;
	text-align: center;
}

.page-how-it-works .how-steps-kicker {
	margin: 0 0 0.6rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--care-inf-accent-dark);
}

.page-how-it-works .how-steps-lead {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.72;
	color: var(--care-inf-text-light);
	max-width: 680px;
	margin-left: auto;
	margin-right: auto;
}

.page-how-it-works .how-steps-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.65rem;
	align-items: stretch;
}

.page-how-it-works .how-steps-grid .step-card {
	height: auto;
	padding-bottom: 0;
	background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
	border: 1px solid rgba(26, 58, 95, 0.14);
	border-radius: 20px;
	box-shadow: 0 12px 28px rgba(16, 42, 74, 0.09);
	position: relative;
	overflow: visible;
	isolation: isolate;
}

.page-how-it-works .how-steps-grid .step-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	border-radius: 20px 20px 0 0;
	background: linear-gradient(90deg, var(--care-inf-primary), var(--care-inf-accent));
}

.page-how-it-works .how-steps-grid .step-card::after {
	content: none;
}

.page-how-it-works .how-steps-grid .step-card:last-child::after {
	display: none;
}

.page-how-it-works .how-steps-grid .step-card .card-inner {
	position: static;
}

.page-how-it-works .how-steps-grid .step-card .card-body {
	padding: 1.55rem 1.55rem 1.4rem;
	display: flex;
	flex-direction: column;
	gap: 0.95rem;
}

.page-how-it-works .step-header {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
}

.page-how-it-works .step-badge {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--care-inf-heading-font);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1;
	color: #ffffff;
	background: linear-gradient(135deg, var(--care-inf-primary), var(--care-inf-primary-dark));
	box-shadow: 0 6px 16px rgba(26, 58, 95, 0.24);
	flex-shrink: 0;
}

.page-how-it-works .step-card-create .step-badge {
	background: linear-gradient(135deg, #1a3a5f, #2d5f95);
}

.page-how-it-works .step-card-verify .step-badge {
	background: linear-gradient(135deg, #0f7a89, #16a0b5);
}

.page-how-it-works .step-card-share .step-badge {
	background: linear-gradient(135deg, #8b6b12, #d4af37);
}

.page-how-it-works .step-title {
	margin: 0;
	font-family: var(--care-inf-heading-font);
	font-size: 1.7rem;
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: var(--care-inf-primary-dark);
	position: relative;
	padding-bottom: 0.58rem;
}

.page-how-it-works .step-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 72px;
	height: 2px;
	background: linear-gradient(90deg, rgba(26, 58, 95, 0.32), rgba(26, 58, 95, 0));
}

.page-how-it-works .step-text {
	margin: 0;
	font-size: 1rem;
	line-height: 1.68;
	color: var(--care-inf-text-color);
	flex-grow: 1;
}

.page-how-it-works .step-foot {
	margin-top: 0.15rem;
	padding-top: 0.72rem;
	border-top: 1px dashed rgba(26, 58, 95, 0.2);
	font-size: 0.79rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--care-inf-primary);
}

.page-how-it-works .how-steps-grid .step-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 24px 52px rgba(16, 42, 74, 0.16);
	border-color: rgba(26, 58, 95, 0.24);
}

/* How It Works: Roles (modern gradient section) */
.page-how-it-works .how-roles {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 5.2rem 0 5rem;
	background: linear-gradient(90deg, transparent 50%, rgba(204, 167, 45, 0.06) 85%, rgba(204, 167, 45, 0.1) 100%), linear-gradient(180deg, rgba(26, 58, 95, 0.04) 0%, var(--care-inf-bg-light) 25%, var(--care-inf-bg-color) 50%, var(--care-inf-bg-light) 75%, rgba(26, 58, 95, 0.05) 100%);
	overflow: hidden;
	border-top: 1px solid rgba(26, 58, 95, 0.08);
	border-bottom: 1px solid rgba(26, 58, 95, 0.08);
}

.page-how-it-works .how-roles::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 85% 60% at 50% 30%, rgba(26, 58, 95, 0.075), transparent 60%);
	pointer-events: none;
}

.page-how-it-works .how-roles::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(120deg, rgba(26, 58, 95, 0.03) 0%, transparent 45%);
	pointer-events: none;
}

.page-how-it-works .how-roles .container {
	position: relative;
	z-index: 1;
}

.page-how-it-works .how-roles-head {
	text-align: center;
	max-width: 860px;
	margin: 0 auto 2.55rem;
}

.page-how-it-works .how-roles-kicker {
	margin: 0 0 0.6rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(140, 106, 20, 0.95);
}

.page-how-it-works .how-roles .section-title {
	margin: 0 0 0.85rem;
	font-size: clamp(2rem, 3.2vw, 2.6rem);
	letter-spacing: -0.03em;
	line-height: 1.08;
	color: var(--care-inf-primary-dark);
}

.page-how-it-works .how-roles-lead {
	margin: 0;
	font-size: 1rem;
	line-height: 1.75;
	color: var(--care-inf-text-light);
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.page-how-it-works .how-roles-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.65rem;
	align-items: stretch;
}

.page-how-it-works .how-role-card {
	background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
	border: 1px solid rgba(26, 58, 95, 0.14);
	border-radius: 20px;
	padding: 1.55rem 1.5rem 1.38rem;
	box-shadow: 0 12px 30px rgba(16, 42, 74, 0.12);
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	overflow: hidden;
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.3s ease;
}

.page-how-it-works .how-role-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 3px;
	border-radius: 20px 20px 0 0;
	background: linear-gradient(90deg, rgba(26, 58, 95, 0.95), rgba(212, 175, 55, 0.95));
}

.page-how-it-works .how-role-card::after {
	content: "";
	position: absolute;
	right: -22px;
	top: -22px;
	width: 120px;
	height: 120px;
	background: radial-gradient(circle at center, rgba(26, 58, 95, 0.08) 0%, transparent 70%);
	pointer-events: none;
}

.page-how-it-works .role-card-head {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.page-how-it-works .role-icon {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(145deg, #f2f8ff, #e6f1fd);
	color: var(--care-inf-primary);
	border: 1px solid rgba(26, 58, 95, 0.18);
	flex-shrink: 0;
}

.page-how-it-works .role-icon svg {
	width: 23px;
	height: 23px;
	stroke-width: 1.9;
}

.page-how-it-works .role-title {
	margin: 0;
	font-family: var(--care-inf-heading-font);
	font-size: 1.78rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: var(--care-inf-primary-dark);
}

.page-how-it-works .role-subtitle {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--care-inf-primary);
}

.page-how-it-works .role-steps {
	list-style: none;
	margin: 0.1rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.58rem;
}

.page-how-it-works .role-steps li {
	position: relative;
	padding-left: 1.15rem;
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.58;
	color: var(--care-inf-text-color);
}

.page-how-it-works .role-steps li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.6em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--care-inf-accent);
	box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2);
}

.page-how-it-works .how-role-card .btn {
	margin-top: 0.4rem;
	align-self: flex-start;
	padding: 0.72rem 1.24rem;
	border-radius: 10px;
	font-size: 0.92rem;
	font-weight: 600;
	background: linear-gradient(135deg, var(--care-inf-primary), var(--care-inf-primary-dark));
	color: #ffffff;
	box-shadow: 0 8px 20px rgba(16, 42, 74, 0.18);
	border: 1px solid rgba(16, 42, 74, 0.12);
}

.page-how-it-works .how-role-card .btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 24px rgba(16, 42, 74, 0.22);
	color: #ffffff;
}

.page-how-it-works .how-role-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 22px 48px rgba(16, 42, 74, 0.18);
	border-color: rgba(26, 58, 95, 0.22);
}

.page-how-it-works .role-health .btn {
	background: linear-gradient(135deg, #8c6b12, #d4af37);
}

.page-how-it-works .role-preceptor .btn {
	background: linear-gradient(135deg, #126a78, #1898ad);
}

.page-how-it-works .role-student .role-icon {
	background: linear-gradient(145deg, #eef6ff, #ddeafe);
}

.page-how-it-works .role-preceptor .role-icon {
	background: linear-gradient(145deg, #e9f7fa, #d8eef3);
}

.page-how-it-works .role-health .role-icon {
	background: linear-gradient(145deg, #fbf5e4, #f0e2b8);
}

/* How It Works */
.how-blocks { padding: 2rem 0 3rem; }
.how-block {
	max-width: 720px;
	margin: 0 auto 2.5rem;
	padding: 1.5rem 0;
	border-bottom: 1px solid var(--care-inf-border-color);
}

.how-block:last-of-type { border-bottom: 0; margin-bottom: 0; }
.how-block-title {
	font-family: var(--care-inf-heading-font);
	font-size: 1.375rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0 0 0.5rem;
}

.how-block-text {
	font-size: 1rem;
	line-height: 1.65;
	color: var(--care-inf-text-color);
	margin: 0 0 1rem;
}

.how-block-cta {
	display: inline-block;
	font-weight: 600;
	color: var(--care-inf-primary);
	text-decoration: none;
}

.how-block-cta:hover { color: var(--care-inf-accent); }

.how-components { padding: 2rem 0 3.5rem; background: #f8fafc; }
.how-components .section-title {
	font-family: var(--care-inf-heading-font);
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0 0 1.25rem;
	text-align: center;
}

.how-components-list {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}

.how-components-list li {
	padding: 0.4rem 0;
	padding-left: 1.5rem;
	position: relative;
}

.how-components-list li::before {
	content: "•";
	color: var(--care-inf-accent);
	position: absolute;
	left: 0;
}

.how-compliance {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--care-inf-text-light);
	margin: 0;
	text-align: center;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}

/* How It Works: Core Components (modern) */
.page-how-it-works .how-components {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 4.7rem 0 4.2rem;
	background: linear-gradient(90deg, transparent 50%, rgba(204, 167, 45, 0.06) 85%, rgba(204, 167, 45, 0.1) 100%), linear-gradient(180deg, rgba(26, 58, 95, 0.04) 0%, var(--care-inf-bg-light) 25%, var(--care-inf-bg-color) 50%, var(--care-inf-bg-light) 75%, rgba(26, 58, 95, 0.05) 100%);
	border-top: 1px solid rgba(26, 58, 95, 0.08);
	border-bottom: 1px solid rgba(26, 58, 95, 0.08);
	overflow: hidden;
}

.page-how-it-works .how-components::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 70% 55% at 20% 18%, rgba(26, 58, 95, 0.07), transparent 60%),
		radial-gradient(ellipse 65% 50% at 90% 82%, rgba(212, 175, 55, 0.08), transparent 65%);
	pointer-events: none;
}

.page-how-it-works .how-components .container {
	position: relative;
	z-index: 1;
}

.page-how-it-works .how-components-head {
	max-width: 860px;
	margin: 0 auto 2.45rem;
	text-align: center;
}

.page-how-it-works .how-components-kicker {
	margin: 0 0 0.6rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(140, 106, 20, 0.96);
}

.page-how-it-works .components-title {
	margin: 0 0 0.8rem;
	font-family: var(--care-inf-heading-font);
	font-weight: 600;
	font-size: clamp(2rem, 3vw, 2.55rem);
	line-height: 1.08;
	letter-spacing: -0.03em;
	color: var(--care-inf-primary-dark);
}

.page-how-it-works .how-components-lead {
	margin: 0;
	max-width: 740px;
	margin-left: auto;
	margin-right: auto;
	font-size: 1rem;
	line-height: 1.72;
	color: var(--care-inf-text-light);
}

.page-how-it-works .how-steps .section-title,
.page-how-it-works .how-roles .section-title,
.page-how-it-works .components-title,
.page-how-it-works .cta-heading {
	font-size: 40px;
	line-height: 1.15;
}

.page-how-it-works .how-components-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
	gap: 1.65rem;
	align-items: stretch;
}

.page-how-it-works .components-image-wrap {
	position: relative;
}

.page-how-it-works .components-image {
	position: relative;
	height: 100%;
	min-height: 430px;
	border-radius: 22px;
	overflow: hidden;
	border: 1px solid rgba(26, 58, 95, 0.16);
	box-shadow: 0 16px 38px rgba(16, 42, 74, 0.16);
}

.page-how-it-works .components-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(10, 30, 54, 0.03) 0%, rgba(10, 30, 54, 0.38) 100%);
}

.page-how-it-works .components-image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.page-how-it-works .components-image-badge {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(26, 58, 95, 0.16);
	box-shadow: 0 10px 20px rgba(16, 42, 74, 0.16);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--care-inf-primary-dark);
}

.page-how-it-works .components-content {
	position: relative;
	padding: 1.45rem;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
	border: 1px solid rgba(26, 58, 95, 0.16);
	border-radius: 22px;
	box-shadow: 0 15px 36px rgba(16, 42, 74, 0.12);
	overflow: hidden;
}

.page-how-it-works .components-content::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	border-radius: 22px 22px 0 0;
	background: linear-gradient(90deg, var(--care-inf-primary), var(--care-inf-accent));
}

.page-how-it-works .components-content::after {
	content: "";
	position: absolute;
	right: -36px;
	top: -34px;
	width: 150px;
	height: 150px;
	background: radial-gradient(circle at center, rgba(26, 58, 95, 0.08) 0%, transparent 70%);
	pointer-events: none;
}

.page-how-it-works .how-components-list {
	position: relative;
	z-index: 1;
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.78rem 0.8rem;
}

.page-how-it-works .how-components-list li {
	position: relative;
	margin: 0;
	padding: 0.74rem 0.8rem 0.74rem 1.9rem;
	border-radius: 12px;
	border: 1px solid rgba(26, 58, 95, 0.14);
	background: rgba(255, 255, 255, 0.92);
	font-size: 0.94rem;
	line-height: 1.5;
	color: var(--care-inf-text-color);
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.page-how-it-works .how-components-list li::before {
	content: "";
	position: absolute;
	left: 0.82rem;
	top: 1.04rem;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--care-inf-accent);
	box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2);
}

.page-how-it-works .how-components-list li:hover {
	transform: translateY(-2px);
	border-color: rgba(26, 58, 95, 0.24);
	box-shadow: 0 8px 16px rgba(16, 42, 74, 0.08);
}

.page-how-it-works .components-note {
	position: relative;
	z-index: 1;
	margin: 0.95rem 0 0;
	padding: 0.92rem 1rem;
	border-radius: 12px;
	border: 1px solid rgba(26, 58, 95, 0.2);
	background: linear-gradient(180deg, rgba(236, 243, 252, 0.95), rgba(245, 249, 254, 0.95));
	font-size: 0.91rem;
	line-height: 1.62;
	color: var(--care-inf-primary-dark);
}

/* Pricing */
.pricing-content {
	padding: 2.5rem 0 4rem;
	background: #ffffff;
	border-bottom: 1px solid rgba(16, 42, 74, 0.08);
}

.pricing-header {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}

.pricing-header h2 {
	font-size: clamp(2rem, 3.2vw, 2.75rem);
	margin-bottom: 0.75rem;
}

.pricing-header p {
	color: rgba(26, 58, 95, 0.75);
	line-height: 1.6;
}
.pricing-tiers {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 2rem;
	max-width: 980px;
	margin: 0 auto;
}

.pricing-tier {
	background: #ffffff;
	border: 1px solid rgba(16, 42, 74, 0.12);
	border-radius: 16px;
	padding: 2rem;
	box-shadow: 0 10px 30px rgba(16, 42, 74, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.pricing-tier::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, #1a3a5f 0%, #d4af37 100%);
}

.pricing-tier:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(16, 42, 74, 0.12);
}

.pricing-tier.is-featured {
	border-color: rgba(212, 175, 55, 0.6);
	box-shadow: 0 18px 40px rgba(212, 175, 55, 0.2);
}

.pricing-tier-badge {
	align-self: flex-start;
	font-size: 0.75rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	font-weight: 600;
	color: #1a3a5f;
	background: rgba(212, 175, 55, 0.2);
	padding: 0.4rem 0.9rem;
	border-radius: 999px;
	margin-bottom: 1rem;
}

.pricing-tier-title {
	font-family: var(--care-inf-heading-font);
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0 0 0.75rem;
}

.pricing-tier-price {
	font-size: 2rem;
	font-weight: 600;
	color: var(--care-inf-primary);
	margin: 0 0 0.75rem;
}
.pricing-tier-price span { font-size: 0.875rem; font-weight: 400; color: var(--care-inf-text-light); }
.pricing-tier-desc { font-size: 0.95rem; line-height: 1.65; margin: 0 0 1.5rem; color: var(--care-inf-text-color); }
.pricing-tier .btn { margin-top: auto; }

.pricing-feature-list {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
}

.pricing-feature-list li {
	position: relative;
	padding-left: 1.4rem;
	margin-bottom: 0.6rem;
	color: rgba(26, 58, 95, 0.85);
	line-height: 1.5;
}

.pricing-feature-list li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: var(--care-inf-accent);
	font-weight: 600;
}

/* Pricing cards use light backgrounds; override hero outline button colors. */
.pricing-content .btn-outline-hero,
.snapshot-tiers-section .btn-outline-hero {
	background: #ffffff;
	color: var(--care-inf-primary);
	border-color: var(--care-inf-primary);
}

.pricing-content .btn-outline-hero:hover,
.snapshot-tiers-section .btn-outline-hero:hover {
	background: rgba(26, 58, 95, 0.08);
	color: var(--care-inf-primary-dark);
	border-color: var(--care-inf-primary-dark);
}

.snapshot-tiers-section {
	padding: 3rem 0 4.5rem;
	background: #f8fafc;
	margin-left: -100vw;
	margin-right: -100vw;
	padding-left: 100vw;
	padding-right: 100vw;
}

.snapshot-tiers-section .section-header {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
}

.snapshot-tier-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 2rem;
	max-width: 980px;
	margin: 0 auto;
}

.snapshot-tier-grid--three {
	max-width: 1180px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.snapshot-tier-grid--two {
	max-width: 920px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1024px) {
	.snapshot-tier-grid--three,
	.snapshot-tier-grid--two {
		grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	}
}

.snapshot-tier-card {
	background: #ffffff;
	border: 1px solid var(--care-inf-border-color);
	border-radius: 14px;
	padding: 2rem;
	box-shadow: 0 6px 18px rgba(16, 42, 74, 0.08);
	position: relative;
	display: flex;
	flex-direction: column;
}

.snapshot-tier-card .btn {
	margin-top: auto;
}

.snapshot-tier-card.is-premium {
	border-color: rgba(212, 175, 55, 0.5);
	box-shadow: 0 8px 24px rgba(212, 175, 55, 0.18);
}

.snapshot-tier-badge {
	display: inline-block;
	font-size: 0.75rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	background: rgba(26, 58, 95, 0.08);
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	margin-bottom: 1rem;
}

.snapshot-tier-badge.premium {
	color: #1a3a5f;
	background: rgba(212, 175, 55, 0.2);
}

.snapshot-tier-card.is-basic {
	border-color: rgba(26, 58, 95, 0.14);
}

.snapshot-tier-badge--basic {
	background: rgba(100, 116, 139, 0.12);
	color: rgba(30, 41, 59, 0.9);
}

.snapshot-tier-card h3 {
	font-family: var(--care-inf-heading-font);
	font-size: 1.4rem;
	color: var(--care-inf-primary-dark);
	margin: 0 0 0.75rem;
}

.snapshot-tier-price {
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--care-inf-primary);
	margin: 0 0 0.75rem;
}

.snapshot-tier-price span {
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--care-inf-text-light);
}

.snapshot-tier-desc {
	color: rgba(26, 58, 95, 0.75);
	line-height: 1.6;
	margin: 0 0 1.25rem;
}

.snapshot-tier-list {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
}

.snapshot-tier-list li {
	position: relative;
	padding-left: 1.25rem;
	margin-bottom: 0.65rem;
	color: rgba(26, 58, 95, 0.85);
	line-height: 1.5;
}

.snapshot-tier-list li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: var(--care-inf-accent);
	font-weight: 600;
}

.snapshot-compare {
	margin-top: 3rem;
}

.snapshot-compare-title {
	text-align: center;
	font-family: var(--care-inf-heading-font);
	font-size: 1.5rem;
	color: var(--care-inf-primary-dark);
	margin: 0 0 1.5rem;
}

.snapshot-compare-table {
	background: #ffffff;
	border: 1px solid rgba(16, 42, 74, 0.1);
	border-radius: 14px;
	box-shadow: 0 10px 24px rgba(16, 42, 74, 0.08);
	overflow: hidden;
}

.snapshot-compare-table table {
	width: 100%;
	border-collapse: collapse;
}

.snapshot-compare-table thead th {
	background: #f8fafc;
	text-align: left;
	padding: 1rem 1.25rem;
	font-size: 0.9rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(26, 58, 95, 0.7);
}

.snapshot-compare-table thead th:nth-child(2),
.snapshot-compare-table thead th:nth-child(3),
.snapshot-compare-table thead th:nth-child(4) {
	text-align: center;
	width: 100px;
}

.snapshot-compare-table tbody td {
	padding: 1rem 1.25rem;
	border-top: 1px solid rgba(16, 42, 74, 0.08);
	color: rgba(26, 58, 95, 0.85);
}

.snapshot-compare-table tbody tr:nth-child(even) {
	background: #fcfdff;
}

.snapshot-compare-table tbody td:nth-child(2),
.snapshot-compare-table tbody td:nth-child(3),
.snapshot-compare-table tbody td:nth-child(4) {
	text-align: center;
	font-weight: 600;
}

@media (max-width: 768px) {
	.snapshot-compare-table {
		overflow-x: auto;
	}

	.snapshot-compare-table table {
		min-width: 640px;
	}
}

/* Certified Preceptor, Security, Partners — block layout */
.preceptor-content, .security-content, .partners-content { padding: 2rem 0 3.5rem; }
.preceptor-blocks, .security-blocks, .partners-blocks {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.preceptor-block, .security-block, .partners-block {
	padding: 1.5rem;
	background: #f8fafc;
	border-radius: 12px;
	border: 1px solid rgba(0,0,0,0.06);
}

.preceptor-block-title, .security-block-title, .partners-block-title {
	font-family: var(--care-inf-heading-font);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0 0 0.5rem;
}

.preceptor-block p, .security-block p, .partners-block p { margin: 0; font-size: 0.9375rem; line-height: 1.6; color: var(--care-inf-text-color); }
.preceptor-cta-wrap, .security-cta-wrap, .partners-cta-wrap { text-align: center; margin: 0; }

/* FAQ */
.faq-content { padding: 2rem 0 3.5rem; }
.faq-list { max-width: 720px; margin: 0 auto 2rem; padding: 0; list-style: none; }
.faq-q {
	font-family: var(--care-inf-heading-font);
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0;
	padding: 1rem 0 0.35rem;
	border-bottom: 1px solid var(--care-inf-border-color);
}

.faq-a {
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--care-inf-text-color);
	margin: 0 0 0.5rem;
	padding-bottom: 1rem;
}

.faq-cta-wrap { text-align: center; margin: 0; max-width: 640px; margin-left: auto; margin-right: auto; }
.faq-cta-title {
	font-family: var(--care-inf-heading-font);
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0 0 0.75rem;
}
.faq-cta-desc { font-size: 1rem; line-height: 1.65; color: var(--care-inf-text-light); margin: 0 0 1.25rem; }
.faq-cta-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }
.faq-cta-section { padding: 0 0 3.5rem; }

/* FAQ page layout: see assets/css/faq-page.css */

@media (max-width: 768px) {
	.page-faq .page-hero {
		height: auto;
		min-height: 420px;
	}
}

/* Contact */
.contact-demo { padding: 2rem 0; background: #f8fafc; text-align: center; }
.contact-section-title { font-family: var(--care-inf-heading-font); font-size: 1.5rem; font-weight: var(--care-inf-font-weight-section-title, 600); color: var(--care-inf-primary-dark); margin: 0 0 0.5rem; }
.contact-section-desc { font-size: 1rem; color: var(--care-inf-text-light); margin: 0 0 1rem; max-width: 560px; margin-left: auto; margin-right: auto; }
.contact-cta-wrap { margin: 0; }
.contact-main { padding: 2rem 0 3.5rem; }
.contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-items: start;
	max-width: 900px;
	margin: 0 auto;
}

.contact-info .contact-section-title { text-align: left; }
.contact-methods { list-style: none; margin: 0.5rem 0 0; padding: 0; }
.contact-methods li { margin-bottom: 0.5rem; }
.contact-methods a { color: var(--care-inf-primary); }

/* Portal: Dashboard + Builder */
.ci-notice {
	padding: 0.95rem 1rem;
	border-radius: 10px;
	border: 1px solid rgba(26, 58, 95, 0.16);
	background: #f7fafd;
	color: var(--care-inf-text-color);
	margin-bottom: 1rem;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.ci-notice .btn {
	white-space: normal;
	word-break: break-word;
}

.ci-notice a {
	color: var(--care-inf-primary);
	font-weight: 600;
}

.ci-notice.ci-notice-success { background: #eefaf2; border-color: rgba(40, 167, 69, 0.3); }
.ci-notice.ci-notice-error { background: #fff1f1; border-color: rgba(220, 53, 69, 0.3); }
.ci-notice.ci-notice-warning { background: #fff8e7; border-color: rgba(212, 175, 55, 0.38); }
.ci-notice.ci-notice-info { background: #eef5ff; border-color: rgba(26, 58, 95, 0.28); }

/* Toast notifications */
.ci-toast-container {
	position: fixed;
	top: 24px;
	right: 24px;
	z-index: 10020;
	display: flex;
	flex-direction: column;
	gap: 10px;
	pointer-events: none;
	max-width: min(92vw, 380px);
}

.ci-toast {
	pointer-events: auto;
	background: #ffffff;
	border: 1px solid rgba(26, 58, 95, 0.16);
	border-left: 4px solid var(--care-inf-primary);
	border-radius: 12px;
	box-shadow: 0 10px 28px rgba(16, 42, 74, 0.18);
	padding: 0.72rem 0.85rem 0.76rem;
	transform: translateY(-8px);
	opacity: 0;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.ci-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.ci-toast-title {
	margin: 0;
	font-size: 0.84rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--care-inf-primary-dark);
}

.ci-toast-desc {
	margin: 0.2rem 0 0;
	font-size: 0.82rem;
	line-height: 1.35;
	color: rgba(26, 58, 95, 0.84);
}

.ci-toast-success { border-left-color: #18a957; }
.ci-toast-error { border-left-color: #dc3545; }
.ci-toast-warning { border-left-color: #d4af37; }
.ci-toast-info { border-left-color: #2f6fed; }

/* Portal alerts (reflection messages, student clinical readiness, etc.) */
.ci-alert {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
	margin: 0 0 1rem;
	padding: 1rem 1.15rem 1.05rem 1rem;
	border-radius: 12px;
	border: 1px solid transparent;
	font-size: 0.9rem;
	line-height: 1.55;
	box-sizing: border-box;
}

.ci-alert a {
	color: var(--care-inf-primary);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ci-alert a:hover {
	text-decoration: none;
}

.ci-alert__icon {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 0.06rem;
	line-height: 0;
}

.ci-alert__icon svg {
	display: block;
}

.ci-alert__body {
	flex: 1 1 auto;
	min-width: 0;
}

.ci-alert__title {
	margin: 0 0 0.35rem;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: #4a3d0f;
}

.ci-alert__text {
	margin: 0;
	font-size: 0.875rem;
	color: rgba(58, 48, 12, 0.88);
}

.ci-alert__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	align-items: center;
	margin: 0.8rem 0 0;
}

.ci-alert__actions .btn {
	font-size: 0.82rem;
	padding: 0.42rem 0.95rem;
}

.ci-alert-warning {
	background: linear-gradient(180deg, #fffdf6 0%, #fff8e7 100%);
	border-color: rgba(201, 162, 39, 0.42);
	border-left: 4px solid #c9a227;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset, 0 2px 12px rgba(201, 162, 39, 0.08);
}

.ci-alert-warning .ci-alert__icon {
	color: #9a7a0f;
}

.ci-alert-success {
	background: linear-gradient(180deg, #f6fffa 0%, #eefaf2 100%);
	border-color: rgba(40, 167, 69, 0.32);
	border-left: 4px solid #28a745;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset, 0 2px 10px rgba(40, 167, 69, 0.06);
}

.ci-alert-success .ci-alert__title {
	color: #1e4d2d;
}

.ci-alert-success .ci-alert__text {
	color: rgba(20, 60, 32, 0.88);
}

.ci-alert-danger {
	background: linear-gradient(180deg, #fffbfb 0%, #fff1f1 100%);
	border-color: rgba(220, 53, 69, 0.32);
	border-left: 4px solid #dc3545;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset, 0 2px 10px rgba(220, 53, 69, 0.06);
}

.ci-alert-danger .ci-alert__title {
	color: #6b1c26;
}

.ci-alert-danger .ci-alert__text {
	color: rgba(80, 20, 28, 0.9);
}

/* Student dashboard: readiness alert in Overview */
.ci-alert--readiness {
	margin: 0 0 1.35rem;
	padding: 1.05rem 1.2rem 1.1rem 1.05rem;
	border-radius: 14px;
}

.ci-m-0 { margin: 0; }

.ci-portal-dashboard {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: clamp(20px, 2vw, 30px);
	box-sizing: border-box;
}

@media (max-width: 1440px) {
	.ci-portal-dashboard {
		padding: 22px;
	}
}

@media (max-width: 1200px) {
	.ci-portal-dashboard {
		padding: 20px;
	}
}

@media (max-width: 992px) {
	.ci-portal-dashboard {
		padding: 18px;
	}
}

@media (max-width: 768px) {
	.ci-portal-dashboard {
		padding: 14px;
	}
}

@media (max-width: 480px) {
	.ci-portal-dashboard {
		padding: 10px;
	}
}

.ci-portal-page .site-main:not(.front-page) {
	max-width: none;
	margin: 0;
	padding: 0;
}

.ci-dashboard-app-page .site-main:not(.front-page) {
	width: 100%;
	max-width: 100%;
	min-height: 100vh;
	background:
		radial-gradient(circle at 10% 10%, rgba(212, 175, 55, 0.08) 0%, transparent 50%),
		radial-gradient(circle at 90% 90%, rgba(26, 58, 95, 0.06) 0%, transparent 50%),
		linear-gradient(180deg, #f8fafcff 0%, #f0f4f8 100%);
}

.ci-portal-page .entry-content {
	margin: 0;
}

.ci-dashboard-app-page .entry-content {
	width: 100%;
	max-width: 100%;
	padding: 0;
}

.ci-portal-page:not(.ci-dashboard-app-page) .site-header {
	background: linear-gradient(135deg, #102846 0%, #1a3a5f 100%);
	border-bottom-color: rgba(255, 255, 255, 0.16);
	backdrop-filter: none;
}

.ci-portal-page:not(.ci-dashboard-app-page) .site-header.sticky {
	background: linear-gradient(135deg, #102846 0%, #1a3a5f 100%);
	border-bottom-color: rgba(255, 255, 255, 0.16);
	box-shadow: 0 10px 26px rgba(8, 24, 43, 0.34);
}

.ci-portal-page:not(.ci-dashboard-app-page) .nav-menu > li > a {
	color: #eef5ff;
}

.ci-portal-page:not(.ci-dashboard-app-page) .nav-menu > li.menu-item-has-children::after {
	color: #eef5ff;
}

.ci-portal-page:not(.ci-dashboard-app-page) .nav-menu > li > a:hover,
.ci-portal-page:not(.ci-dashboard-app-page) .nav-menu > li.current-menu-item > a,
.ci-portal-page:not(.ci-dashboard-app-page) .nav-menu > li.current_page_parent > a {
	color: #ffd877;
}

/* Auth portal headers: readable logo + menu toggle on dark bar */
.ci-portal-page:not(.ci-dashboard-app-page) .logo-name,
.ci-portal-page:not(.ci-dashboard-app-page) .logo-link {
	color: #f4f8ff;
}

.ci-portal-page:not(.ci-dashboard-app-page) .menu-toggle {
	border-color: rgba(255, 255, 255, 0.45);
}

.ci-portal-page:not(.ci-dashboard-app-page) .menu-line {
	background: #f4f8ff;
}

.ci-student-login-page .site-main:not(.front-page),
.ci-student-register-page .site-main:not(.front-page) {
	background-image:
		linear-gradient(135deg, rgba(12, 33, 58, 0.72) 0%, rgba(19, 52, 89, 0.58) 100%),
		url("https://dm3omg1n1n7zx.cloudfront.net/rcni/static/journals/nm/aop/nm.2021.e2016/tile/nm.2021.e2016_abs.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 100vh;
	height: auto;
	margin-top: -98px;
	padding: clamp(4.25rem, 11vh, 7.5rem) clamp(1.25rem, 3vw, 2rem) clamp(3.5rem, 9vh, 6.5rem);
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.ci-student-login-page .entry-content,
.ci-student-register-page .entry-content {
	width: 100%;
	padding-top: clamp(5.5rem, 12vh, 7.5rem);
	padding-bottom: clamp(1.5rem, 4vh, 3rem);
}

.ci-student-login-page .ci-auth-wrap,
.ci-student-register-page .ci-auth-wrap {
	padding: 30px;
	width: 100%;
}

.ci-dashboard-app-page .site-header {
	display: none;
}

.ci-dashboard-shell {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	gap: clamp(20px, 2.5vw, 32px);
	align-items: start;
	max-width: 100%;
	width: 100%;
	margin: 0;
	padding: clamp(20px, 3vw, 40px) clamp(20px, 3vw, 40px) clamp(20px, 3vw, 40px) clamp(20px, 3vw, 40px);
	border: none;
	border-radius: 0;
	background: linear-gradient(180deg, #f8fafcff 0%, #f0f4f8 100%);
	box-shadow: none;
	min-height: 100vh;
}

/*
 * Tablet & small laptop (769–1199px): all portal dashboards (teacher, nurse, faculty partner,
 * coordinator, program leadership, healthcare org, student). Fluid sidebar + wrapping header
 * so the shell does not overflow or crush the main column.
 */
@media (min-width: 769px) and (max-width: 1199px) {
	.ci-portal-dashboard .ci-dashboard-shell {
		grid-template-columns: minmax(200px, 24vw) minmax(0, 1fr);
		gap: clamp(14px, 2vw, 26px);
		padding: clamp(14px, 2.2vw, 32px);
		align-items: start;
	}
	.ci-portal-dashboard .ci-dashboard-sidebar {
		min-width: 0;
	}
	.ci-portal-dashboard .ci-dashboard-content {
		min-width: 0;
		max-width: 100%;
	}
	.ci-portal-dashboard .ci-dashboard-top-header {
		flex-wrap: wrap;
		gap: 1rem 1.25rem;
		row-gap: 0.85rem;
	}
	.ci-portal-dashboard .ci-top-header-left {
		flex: 1 1 220px;
		min-width: 0;
	}
	.ci-portal-dashboard .ci-top-header-right {
		flex: 1 1 auto;
		min-width: 0;
		justify-content: flex-end;
	}
	.ci-portal-dashboard .ci-user-profile-widget {
		max-width: 100%;
	}
	.ci-portal-dashboard .ci-dashboard-page-title,
	.ci-portal-dashboard .ci-dashboard-page-subtitle {
		overflow-wrap: anywhere;
		word-break: break-word;
	}
	.ci-portal-dashboard .ci-card,
	.ci-portal-dashboard .ci-pane-block,
	.ci-portal-dashboard .ci-dashboard-hero {
		min-width: 0;
		max-width: 100%;
	}
}

/*
 * Desktop 1200–1800px: all portal dashboards — prevent ultra-wide stretch, keep sidebar/main
 * ratio stable, readable gutters (teacher, nurse, student, coordinator, etc.).
 */
@media (min-width: 1200px) and (max-width: 1800px) {
	.ci-portal-dashboard {
		padding: clamp(22px, 2vw, 36px);
	}
	.ci-portal-dashboard .ci-dashboard-shell {
		width: 100%;
		max-width: min(100%, 1720px);
		margin-inline: auto;
		box-sizing: border-box;
		grid-template-columns: clamp(252px, 16vw, 290px) minmax(0, 1fr);
		gap: clamp(22px, 2.2vw, 36px);
		padding: clamp(22px, 2.4vw, 40px);
		align-items: start;
	}
	.ci-portal-dashboard .ci-dashboard-sidebar {
		min-width: 0;
	}
	.ci-portal-dashboard .ci-dashboard-content {
		min-width: 0;
		max-width: 100%;
	}
	.ci-portal-dashboard .ci-dashboard-top-header {
		gap: clamp(1rem, 1.8vw, 1.75rem);
	}
	.ci-portal-dashboard .ci-top-header-left {
		min-width: 0;
	}
	.ci-portal-dashboard .ci-top-header-right {
		min-width: 0;
		flex-shrink: 0;
	}
	.ci-portal-dashboard .ci-card,
	.ci-portal-dashboard .ci-pane-block {
		min-width: 0;
		max-width: 100%;
	}
}

/* Top Header Bar with Profile */
.ci-dashboard-top-header {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1.25rem 1.75rem;
	background: linear-gradient(135deg, #ffffff 0%, #fafcff 100%);
	border: 1px solid rgba(26, 58, 95, 0.08);
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(16, 42, 74, 0.06), 0 1px 4px rgba(16, 42, 74, 0.04);
	margin-bottom: 0;
}

.ci-top-header-left {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.ci-dashboard-page-title {
	margin: 0;
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--care-inf-primary-dark);
	line-height: 1.2;
}

.ci-dashboard-page-subtitle {
	margin: 0;
	font-size: 0.9rem;
	color: rgba(26, 58, 95, 0.6);
	font-weight: 500;
}

.ci-top-header-right {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.ci-user-profile-widget {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.65rem 1rem;
	background: linear-gradient(135deg, #f8fbff 0%, #f0f6ff 100%);
	border: 1px solid rgba(26, 58, 95, 0.1);
	border-radius: 50px;
	box-shadow: 0 2px 12px rgba(16, 42, 74, 0.06);
	transition: all 0.3s ease;
}

.ci-user-profile-widget:hover {
	box-shadow: 0 6px 20px rgba(16, 42, 74, 0.12);
	border-color: rgba(26, 58, 95, 0.15);
}

.ci-user-avatar {
	position: relative;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid rgba(212, 175, 55, 0.3);
	box-shadow: 0 4px 12px rgba(16, 42, 74, 0.15);
	background: linear-gradient(135deg, #d4af37 0%, #f0d98f 100%);
}

.ci-user-avatar img,
.ci-user-avatar .ci-avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ci-user-info {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

.ci-user-name {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ci-user-email {
	font-size: 0.8rem;
	color: rgba(26, 58, 95, 0.6);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ci-portal-dashboard .ci-user-info a.ci-user-name {
	text-decoration: none;
	color: inherit;
}
.ci-portal-dashboard .ci-user-info a.ci-user-name:hover {
	text-decoration: underline;
}

.ci-co-profile-edit-link {
	font-size: 0.72rem;
	font-weight: 600;
	color: #c41e3a;
	text-decoration: none;
	align-self: flex-start;
	margin-top: 0.15rem;
}
.ci-co-profile-edit-link:hover {
	text-decoration: underline;
}

.ci-co-profile-photo-block {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	align-items: flex-start;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(26, 58, 95, 0.12);
}

.ci-co-profile-photo-preview-wrap {
	flex: 0 0 auto;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid rgba(26, 58, 95, 0.18);
	background: #f4f6f9;
	position: relative;
}

.ci-co-profile-photo-preview-wrap::after {
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: 40px;
	height: 40px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2393a3b6' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3l2-2h6l2 2h3a2 2 0 0 1 2 2z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3Cpath d='M12 4v-2'/%3E%3Cpath d='M11 1h2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 40px 40px;
	background-position: center;
	pointer-events: none;
	opacity: 0.95;
}

.ci-co-profile-photo-preview-wrap:has(img.ci-avatar-img)::after {
	opacity: 0;
}

.ci-co-profile-photo-preview-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ci-co-profile-photo-actions {
	flex: 1 1 220px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0.5rem 0.65rem;
	align-items: center;
}

.ci-co-profile-photo-actions > .ci-co-profile-photo-hint,
.ci-co-profile-photo-actions > .ci-fc-msg {
	flex-basis: 100%;
	width: 100%;
}

.ci-co-profile-photo-actions > .ci-co-profile-photo-hint {
	min-width: 100%;
	max-width: none;
	box-sizing: border-box;
}

.ci-co-profile-photo-actions > .ci-fc-msg {
	min-height: 0;
	margin-top: 0.35rem;
}

.ci-co-profile-photo-actions > .ci-fc-msg:empty {
	margin-top: 0;
}

.ci-co-profile-photo-actions .ci-co-profile-photo-label.btn,
.ci-co-profile-photo-actions > .btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.56rem 0.95rem;
	border-radius: 999px;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: #ffffff;
	background: var(--care-inf-primary, #1a3a5f);
	border-color: var(--care-inf-primary, #1a3a5f);
	box-shadow: 0 1px 2px rgba(26, 58, 95, 0.24);
}

.ci-co-profile-photo-actions .ci-co-profile-photo-label.btn::before {
	content: '';
	display: inline-block;
	width: 15px;
	height: 15px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E");
	background-size: 15px 15px;
	background-repeat: no-repeat;
	background-position: center;
}

.ci-co-profile-photo-actions .ci-co-profile-photo-label.btn:hover {
	filter: brightness(0.93);
	border-color: var(--care-inf-primary, #1a3a5f);
}

.ci-co-profile-photo-actions > .btn::before {
	content: '';
	display: inline-block;
	width: 15px;
	height: 15px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6'/%3E%3Cpath d='M10 11v6'/%3E%3Cpath d='M14 11v6'/%3E%3Cpath d='M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2'/%3E%3C/svg%3E");
	background-size: 15px 15px;
	background-repeat: no-repeat;
	background-position: center;
}

.ci-co-profile-photo-actions > .btn:hover {
	filter: brightness(0.93);
	border-color: var(--care-inf-primary, #1a3a5f);
}

.ci-co-profile-photo-input-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ci-co-profile-photo-hint {
	font-size: 0.85rem;
	margin: 0;
	max-width: 38rem;
	line-height: 1.45;
}

@media (max-width: 768px) {
	.ci-co-profile-photo-block {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 0.85rem;
		margin-bottom: 1rem;
		padding-bottom: 0.85rem;
	}

	.ci-co-profile-photo-actions {
		flex: 1 1 100%;
		width: 100%;
		justify-content: center;
	}

	.ci-co-profile-photo-actions > .ci-co-profile-photo-hint {
		max-width: none;
		text-align: center;
	}
}

.ci-co-for-assigned {
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 600;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	line-height: 1.3;
}
.ci-co-for-assigned--yes {
	background: rgba(40, 167, 69, 0.12);
	color: #1e7e34;
	border: 1px solid rgba(40, 167, 69, 0.35);
}
.ci-co-for-assigned--no {
	background: rgba(196, 30, 58, 0.08);
	color: #a01830;
	border: 1px solid rgba(196, 30, 58, 0.28);
}

/* Coordinator — snapshot table status + actions */
.ci-co-status-pill {
	display: inline-block;
	padding: 0.22rem 0.65rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.35;
	border: 1px solid rgba(26, 58, 95, 0.12);
	background: rgba(26, 58, 95, 0.06);
	color: var(--care-inf-primary-dark, #1a3a5f);
}
.ci-co-status-pill--verified {
	background: rgba(40, 167, 69, 0.14);
	color: #146c2e;
	border-color: rgba(40, 167, 69, 0.38);
}
.ci-co-status-pill--draft {
	background: rgba(108, 117, 125, 0.12);
	color: #495057;
	border-color: rgba(108, 117, 125, 0.25);
}
.ci-co-status-pill--submitted,
.ci-co-status-pill--under_review {
	background: rgba(0, 123, 255, 0.1);
	color: #0b5cab;
	border-color: rgba(0, 123, 255, 0.28);
}
.ci-co-status-pill--rejected {
	background: rgba(196, 30, 58, 0.1);
	color: #8b1428;
	border-color: rgba(196, 30, 58, 0.28);
}

.ci-coordinator-dashboard.ci-reviewer-redesign .ci-pane-co-snapshots .ci-table th,
.ci-coordinator-dashboard.ci-reviewer-redesign .ci-pane-co-snapshots .ci-table td {
	padding: 0.62rem 0.85rem;
	vertical-align: middle;
}

.ci-coordinator-dashboard.ci-reviewer-redesign .ci-co-overview-quick-actions {
	margin-top: 1.35rem;
}
.ci-coordinator-dashboard.ci-reviewer-redesign .ci-co-overview-quick-actions .ci-quick-actions-title {
	margin-bottom: 0.35rem;
}
.ci-coordinator-dashboard.ci-reviewer-redesign .ci-co-quick-actions-hint {
	margin: 0 0 0.9rem;
	font-size: 0.84rem;
	line-height: 1.45;
	max-width: 44rem;
	color: rgba(26, 58, 95, 0.78);
}
.ci-coordinator-dashboard.ci-reviewer-redesign .ci-co-overview-quick-actions .ci-quick-action-card.ci-dashboard-pane-link {
	position: relative;
	padding-top: 1.25rem;
}
.ci-coordinator-dashboard.ci-reviewer-redesign .ci-co-overview-quick-actions .ci-quick-action-card .ci-quick-action-count {
	position: absolute;
	top: 0.45rem;
	right: 0.45rem;
	min-width: 1.45rem;
	height: 1.45rem;
	padding: 0 0.35rem;
	border-radius: 999px;
	background: var(--care-inf-primary-dark, #1a3a5f);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.ci-co-snap-filter-tabs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin: 1rem 0 0.5rem;
}
.ci-co-snap-filter-tab {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--care-inf-primary-dark, #1a3a5f);
	background: rgba(26, 58, 95, 0.06);
	border: 1px solid rgba(26, 58, 95, 0.12);
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.ci-co-snap-filter-tab:hover {
	background: rgba(26, 58, 95, 0.1);
	border-color: rgba(26, 58, 95, 0.2);
}
.ci-co-snap-filter-tab.is-active {
	background: var(--care-inf-primary-dark, #1a3a5f);
	color: #fff;
	border-color: transparent;
}
.ci-co-snap-filter-tab.is-active .ci-co-snap-filter-count {
	opacity: 0.95;
	color: rgba(255, 255, 255, 0.92);
}
.ci-co-snap-filter-count {
	font-size: 0.72rem;
	font-weight: 600;
	opacity: 0.75;
}
.ci-co-snap-filter-summary {
	margin: 0 0 0.75rem;
	font-size: 0.84rem;
}
.ci-co-wp-status-pill {
	display: inline-block;
	margin-top: 0.1rem;
	padding: 0.15rem 0.45rem;
	border-radius: 6px;
	font-size: 0.72rem;
	font-weight: 600;
	background: rgba(108, 117, 125, 0.15);
	color: #495057;
	border: 1px solid rgba(108, 117, 125, 0.25);
}
.ci-co-wp-status-pill--draft {
	background: rgba(255, 193, 7, 0.18);
	color: #856404;
	border-color: rgba(255, 193, 7, 0.45);
}
.ci-co-wp-status-pill--pending {
	background: rgba(0, 123, 255, 0.12);
	color: #0b5cab;
	border-color: rgba(0, 123, 255, 0.28);
}
.ci-co-wp-status-pill--private {
	background: rgba(108, 117, 125, 0.12);
	color: #343a40;
}
.ci-co-compliance-flag {
	display: inline-block;
	margin-top: 0.35rem;
	font-size: 0.72rem;
	font-weight: 600;
	color: #b45309;
}

.ci-co-audit-actions-cell {
	width: 1%;
	white-space: nowrap;
	vertical-align: middle;
}
.ci-co-audit-actions-stack {
	display: inline-flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.35rem;
}
.ci-co-audit-update-btn,
.ci-co-audit-delete-btn {
	padding: 0.32rem 0.65rem;
	font-size: 0.78rem;
	font-weight: 600;
	white-space: nowrap;
}
.ci-co-audit-delete-btn {
	border-color: rgba(196, 30, 58, 0.35);
	color: #8b1428;
}
.ci-co-audit-delete-btn:hover {
	border-color: rgba(196, 30, 58, 0.55);
	color: #6d0f1f;
}

.ci-co-snapshot-actions-cell {
	width: 1%;
	white-space: nowrap;
}

.ci-co-snapshot-actions {
	display: inline-flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.42rem;
	min-width: 9.25rem;
	max-width: 12rem;
}

.ci-co-snapshot-actions .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0.42rem 0.8rem;
	font-size: 0.8125rem;
	font-weight: 600;
	border-radius: 8px;
	line-height: 1.25;
	box-sizing: border-box;
}

.ci-co-btn-preview {
	border-width: 1.5px !important;
	border-color: rgba(26, 58, 95, 0.32) !important;
	background: #fff !important;
	box-shadow: 0 1px 3px rgba(16, 42, 74, 0.08);
	transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}

.ci-co-btn-preview:hover {
	border-color: var(--care-inf-primary-dark, #1a3a5f) !important;
	background: rgba(26, 58, 95, 0.05) !important;
	box-shadow: 0 2px 8px rgba(16, 42, 74, 0.1);
}

.ci-co-snapshot-actions-note {
	font-size: 0.78rem;
	line-height: 1.35;
	display: block;
}

@media (min-width: 900px) {
	.ci-co-snapshot-actions {
		min-width: 10rem;
	}
}

.ci-user-avatar.ci-dashboard-pane-link {
	text-decoration: none;
	color: inherit;
}

.ci-logout-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(196, 30, 58, 0.08);
	color: #c41e3a;
	border: 1px solid rgba(196, 30, 58, 0.2);
	transition: all 0.3s ease;
	cursor: pointer;
	text-decoration: none;
}

.ci-logout-btn:hover {
	background: #c41e3a;
	color: #ffffff;
	box-shadow: 0 4px 12px rgba(196, 30, 58, 0.3);
	transform: scale(1.05);
}

.ci-logout-btn svg {
	width: 18px;
	height: 18px;
}

@media (max-width: 768px) {
	.ci-dashboard-top-header {
		flex-direction: column;
		align-items: flex-start;
		padding: 1rem 1.25rem;
	}
	
	.ci-top-header-left {
		width: 100%;
	}
	
	.ci-top-header-right {
		width: 100%;
		justify-content: flex-end;
	}
}

.ci-dashboard-sidebar {
	position: sticky;
	top: 20px;
	padding: 1.5rem 1.25rem;
	border: 1px solid rgba(26, 58, 95, 0.1);
	border-radius: 20px;
	background: linear-gradient(180deg, #ffffff 0%, #fafcff 100%);
	box-shadow: 0 4px 20px rgba(16, 42, 74, 0.08), 0 1px 4px rgba(16, 42, 74, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.ci-dashboard-sidebar::-webkit-scrollbar {
	width: 6px;
}

.ci-dashboard-sidebar::-webkit-scrollbar-track {
	background: transparent;
	border-radius: 10px;
}

.ci-dashboard-sidebar::-webkit-scrollbar-thumb {
	background: rgba(26, 58, 95, 0.2);
	border-radius: 10px;
	transition: background 0.2s ease;
}

.ci-dashboard-sidebar::-webkit-scrollbar-thumb:hover {
	background: rgba(26, 58, 95, 0.35);
}

.admin-bar .ci-dashboard-sidebar {
	top: 52px;
	max-height: calc(100vh - 80px);
}

.ci-dashboard-brand {
	margin: 0 0 1rem;
	padding: 0 0 1rem;
	border-bottom: 2px solid rgba(26, 58, 95, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ci-dashboard-brand .custom-logo-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.ci-dashboard-brand .custom-logo {
	width: auto;
	max-width: 160px;
	max-height: 64px;
	height: auto;
	display: block;
}

.ci-dashboard-brand-fallback {
	display: inline-flex;
	align-items: center;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--care-inf-primary-dark);
	text-decoration: none;
}

.ci-dashboard-sidebar-kicker {
	margin: 0 0 0.85rem;
	font-size: 0.68rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgba(26, 58, 95, 0.5);
	text-align: center;
	padding: 0.5rem 0;
}

.ci-dashboard-nav {
	display: grid;
	gap: 0.65rem;
}

.ci-dashboard-nav-link {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem 1.1rem;
	border-radius: 14px;
	text-decoration: none;
	color: var(--care-inf-primary-dark);
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
	border: 1px solid transparent;
	background: transparent;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ci-dashboard-nav-link::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 3px;
	height: 0;
	background: linear-gradient(180deg, var(--care-inf-accent) 0%, var(--care-inf-primary) 100%);
	border-radius: 0 3px 3px 0;
	transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ci-dashboard-nav-link:hover {
	transform: translateX(4px);
	background: linear-gradient(135deg, #f8fbff 0%, #f0f6ff 100%);
	border-color: rgba(26, 58, 95, 0.08);
	box-shadow: 0 2px 12px rgba(16, 42, 74, 0.06);
	color: var(--care-inf-primary);
}

.ci-dashboard-nav-link:hover::before {
	height: 60%;
}

.ci-dashboard-nav-link.is-active {
	background: linear-gradient(135deg, #e8f2ff 0%, #dae8fc 100%);
	border-color: rgba(26, 58, 95, 0.12);
	box-shadow: 0 4px 16px rgba(16, 42, 74, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.6);
	color: var(--care-inf-primary);
	font-weight: 600;
}

.ci-dashboard-nav-link.is-active::before {
	height: 75%;
}

.ci-plan-pill {
	margin-left: auto;
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	padding: 0.18rem 0.45rem;
	border-radius: 999px;
	border: 1px solid rgba(26, 58, 95, 0.18);
	background: #edf3ff;
	color: #1a3a5f;
}

.ci-plan-pill--pro {
	border-color: rgba(194, 147, 27, 0.32);
	background: #fdf6e4;
	color: #8b6a14;
}

.ci-plan-compare {
	margin: 10px 0 14px;
	padding: 10px 12px;
	border: 1px solid rgba(26, 58, 95, 0.12);
	border-radius: 12px;
	background: linear-gradient(180deg, #f8fbff 0%, #f0f6ff 100%);
}

.ci-plan-compare--compact {
	padding: 8px 10px;
}

.ci-plan-compare__head {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin-bottom: 6px;
}

.ci-plan-compare__icon {
	flex-shrink: 0;
	color: var(--care-inf-primary);
	opacity: 0.92;
}

.ci-plan-compare__label {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #1a3a5f;
}

.ci-plan-compare__rows {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 4px;
}

.ci-plan-compare__row {
	display: flex;
	align-items: flex-start;
	gap: 0.35rem;
	font-size: 0.82rem;
	line-height: 1.35;
	color: #19365a;
}

.ci-plan-compare__row.is-muted {
	color: rgba(25, 54, 90, 0.62);
}

.ci-plan-compare__check,
.ci-plan-compare__dash {
	flex: 0 0 1rem;
	width: 1rem;
	text-align: center;
	font-weight: 600;
	font-size: 0.72rem;
	line-height: 1.35;
	color: #2e7d32;
}

.ci-plan-compare__dash {
	color: rgba(25, 54, 90, 0.35);
	font-weight: 600;
}

.ci-dashboard-content {
	min-width: 0;
	padding: 0;
	display: grid;
	gap: 1.5rem;
	min-height: 100%;
	width: 100%;
}

.ci-dashboard-section {
	scroll-margin-top: 110px;
}

.ci-pane-block.is-hidden {
	display: none !important;
}

.ci-dashboard-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 1rem;
}

.ci-dash-info h2 {
	margin: 0 0 0.45rem;
	font-size: clamp(1.6rem, 2.4vw, 2.05rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--care-inf-primary-dark);
}

.ci-dash-actions {
	display: inline-flex;
	gap: 0.65rem;
	flex-wrap: wrap;
}

.ci-progress-block {
	margin: 0;
	padding: 1rem 1.25rem;
	border: 1px solid rgba(26, 58, 95, 0.08);
	border-radius: 16px;
	background: linear-gradient(135deg, #ffffff 0%, #fafcff 100%);
	box-shadow: 0 6px 24px rgba(16, 42, 74, 0.05), 0 2px 8px rgba(16, 42, 74, 0.03);
}

.ci-dashboard-hero {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1.4fr 0.6fr;
	gap: 1.5rem;
	margin: 20px 0;
	padding: clamp(1.5rem, 2.5vw, 2rem);
	min-height: 260px;
	border: 1px solid rgba(26, 58, 95, 0.08);
	border-radius: 20px;
	background:
		radial-gradient(circle at 100% 0%, rgba(212, 175, 55, 0.15), transparent 50%),
		radial-gradient(circle at 0% 100%, rgba(26, 58, 95, 0.05), transparent 50%),
		linear-gradient(135deg, #ffffff 0%, #f6f9ff 60%, #eef5ff 100%);
	color: var(--care-inf-primary-dark);
	box-shadow: 0 12px 40px rgba(16, 42, 74, 0.08), 0 4px 12px rgba(16, 42, 74, 0.04);
}

.ci-dashboard-hero::after {
	content: "";
	position: absolute;
	left: -14%;
	bottom: -28%;
	width: 68%;
	height: 84%;
	background: radial-gradient(circle, rgba(26, 58, 95, 0.08), rgba(26, 58, 95, 0) 72%);
	pointer-events: none;
}

.ci-dashboard-hero-main {
	position: relative;
	z-index: 1;
}

.ci-dashboard-hero-main h3 {
	margin: 0 0 0.45rem;
	font-size: clamp(1.45rem, 2.45vw, 2.1rem);
	line-height: 2;
	letter-spacing: -0.02em;
	color: var(--care-inf-primary-dark);
}

.ci-dashboard-hero-main p {
	margin: 0;
	max-width: 58ch;
	color: var(--care-inf-text-light);
	font-size: 0.95rem;
	line-height: 1.65;
}

.ci-hero-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 0.5rem;
	padding: 0.26rem 0.58rem;
	border-radius: 999px;
	border: 1px solid rgba(26, 58, 95, 0.18);
	background: rgba(26, 58, 95, 0.06);
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
}

.ci-hero-kicker::before {
	content: "";
	width: 0.42rem;
	height: 0.42rem;
	border-radius: 50%;
	background: #d4af37;
	box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.2);
}

.ci-hero-actions {
	margin-top: 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
}

.ci-hero-actions .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 48px;
	min-width: 180px;
	padding: 0.75rem 1.25rem;
	font-size: 0.9rem;
	font-weight: 600;
	border-radius: 12px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.ci-hero-actions .btn:hover {
	transform: translateY(-2px) scale(1.02);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.ci-hero-actions .ci-update-profile-btn {
	background: linear-gradient(135deg, #d4af37 0%, #b7891f 100%);
	border-color: transparent;
	color: #102a4a;
	font-weight: 600;
	box-shadow: 0 7px 16px rgba(183, 137, 31, 0.35);
}

.ci-hero-actions .ci-update-profile-btn:hover {
	background: linear-gradient(135deg, #b7891f 0%, #d4af37 100%);
	color: #102a4a;
	transform: translateY(-1px);
	box-shadow: 0 9px 20px rgba(183, 137, 31, 0.42);
}

.ci-dashboard-hero .btn-outline-white {
	background: #ffffff;
	color: var(--care-inf-primary-dark);
	border-color: rgba(26, 58, 95, 0.24);
	backdrop-filter: none;
}

.ci-dashboard-hero .btn-outline-white:hover {
	background: #f3f8ff;
	border-color: rgba(26, 58, 95, 0.42);
	color: #102a4a;
}

.ci-dashboard-hero .ci-submit-review-btn:hover {
	background: #ffffff;
	color: #102a4a;
	border-color: #ffffff;
}

.ci-dashboard-hero-meta {
	display: grid;
	gap: 0.65rem;
	align-content: start;
	position: relative;
	z-index: 1;
}

.ci-hero-chip {
	padding: 0.85rem 0.9rem;
	border-radius: 14px;
	border: 1px solid rgba(26, 58, 95, 0.14);
	background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%);
	box-shadow: 0 8px 14px rgba(16, 42, 74, 0.06);
}

.ci-hero-chip span {
	display: block;
	font-size: 0.69rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--care-inf-text-light);
	margin-bottom: 0.15rem;
}

.ci-hero-chip strong {
	font-size: 1.04rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
}

@media (max-width: 1024px) {
	.ci-dashboard-hero {
		grid-template-columns: 1fr;
	}
	.ci-dashboard-hero-meta {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.ci-kpi-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.85rem;
	margin: 0;
}

.ci-kpi-card {
	position: relative;
	overflow: hidden;
	display: grid;
	gap: 0.4rem;
	align-content: center;
	min-height: 116px;
	padding: 1.15rem 1.5rem;
	border-radius: 16px;
	border: 1px solid rgba(26, 58, 95, 0.08);
	background: linear-gradient(135deg, #ffffff 0%, #f9fcff 100%);
	box-shadow: 0 8px 24px rgba(16, 42, 74, 0.06), 0 2px 8px rgba(16, 42, 74, 0.03);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.ci-kpi-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--care-inf-primary-dark), var(--care-inf-accent));
	opacity: 0.9;
}

.ci-kpi-card:hover {
	transform: translateY(-4px) scale(1.02);
	border-color: rgba(26, 58, 95, 0.15);
	box-shadow: 0 16px 40px rgba(16, 42, 74, 0.12), 0 6px 16px rgba(16, 42, 74, 0.06);
}

.ci-kpi-card span {
	display: block;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--care-inf-text-light);
	margin-bottom: 0.3rem;
}

.ci-kpi-card strong {
	display: block;
	font-size: 1.34rem;
	line-height: 1.1;
	color: var(--care-inf-primary-dark);
	letter-spacing: -0.02em;
}

.ci-kpi-card a.ci-kpi-value {
	display: block;
	font-size: 1.34rem;
	line-height: 1.1;
	color: var(--care-inf-primary-dark);
	letter-spacing: -0.02em;
	text-decoration: none;
	font-weight: 600;
}

.ci-kpi-card a.ci-kpi-value:hover {
	text-decoration: underline;
}

/* Student dashboard — credentialing readiness / profile completion */
.ci-credential-readiness-card {
	position: relative;
	overflow: hidden;
	margin-top: 1rem;
	padding: clamp(1.15rem, 2.2vw, 1.55rem);
	border-radius: 16px;
	border: 1px solid rgba(26, 58, 95, 0.1);
	background:
		radial-gradient(900px 420px at 12% -10%, rgba(45, 90, 142, 0.14), transparent 55%),
		radial-gradient(700px 360px at 92% 0%, rgba(212, 175, 55, 0.16), transparent 52%),
		linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
	box-shadow: 0 10px 30px rgba(16, 42, 74, 0.08), 0 2px 10px rgba(16, 42, 74, 0.04);
	isolation: isolate;
}

.ci-credential-readiness-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 4px;
	background: linear-gradient(90deg, var(--care-inf-primary-dark), var(--care-inf-accent));
	opacity: 0.95;
	pointer-events: none;
}

.ci-credential-readiness-card[data-tier="green"]::before {
	background: linear-gradient(90deg, #047857, #10b981);
}

.ci-credential-readiness-card[data-tier="yellow"]::before {
	background: linear-gradient(90deg, #b45309, #f59e0b);
}

.ci-credential-readiness-card[data-tier="red"]::before {
	background: linear-gradient(90deg, #991b1b, #ef4444);
}

.ci-credential-readiness-card[data-tier="none"]::before {
	background: linear-gradient(90deg, rgba(26, 58, 95, 0.55), rgba(212, 175, 55, 0.65));
}

.ci-crc-glow {
	position: absolute;
	inset: -40% -20% auto auto;
	width: min(520px, 70vw);
	height: min(520px, 70vw);
	border-radius: 50%;
	filter: blur(42px);
	opacity: 0.55;
	pointer-events: none;
	z-index: 0;
	background: radial-gradient(circle at 30% 30%, rgba(45, 90, 142, 0.35), transparent 62%);
}

.ci-credential-readiness-card[data-tier="green"] .ci-crc-glow {
	background: radial-gradient(circle at 30% 30%, rgba(16, 185, 129, 0.35), transparent 62%);
}

.ci-credential-readiness-card[data-tier="yellow"] .ci-crc-glow {
	background: radial-gradient(circle at 30% 30%, rgba(245, 158, 11, 0.38), transparent 62%);
}

.ci-credential-readiness-card[data-tier="red"] .ci-crc-glow {
	background: radial-gradient(circle at 30% 30%, rgba(239, 68, 68, 0.34), transparent 62%);
}

.ci-credential-readiness-card[data-tier="none"] .ci-crc-glow {
	background: radial-gradient(circle at 30% 30%, rgba(45, 90, 142, 0.22), transparent 62%),
		radial-gradient(circle at 70% 40%, rgba(212, 175, 55, 0.22), transparent 60%);
	opacity: 0.45;
}

.ci-crc-head,
.ci-crc-body,
.ci-crc-actions {
	position: relative;
	z-index: 1;
}

.ci-crc-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.ci-crc-title {
	margin: 0;
	font-family: var(--care-inf-font-family);
	font-size: clamp(1.05rem, 2.2vw, 1.2rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--care-inf-primary-dark);
}

.ci-crc-subtitle {
	margin: 0.35rem 0 0;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(26, 58, 95, 0.55);
}

.ci-crc-badge {
	flex: 0 0 auto;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(26, 58, 95, 0.75);
	border: 1px solid rgba(26, 58, 95, 0.12);
	background: rgba(255, 255, 255, 0.75);
	backdrop-filter: blur(6px);
}

.ci-crc-body {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr);
	gap: clamp(1rem, 2.4vw, 1.75rem);
	align-items: center;
	min-width: 0;
}

.ci-crc-meter {
	position: relative;
	width: 150px;
	height: 150px;
	margin: 0 auto;
}

.ci-crc-ring {
	width: 100%;
	height: 100%;
	display: block;
	transform: rotate(-90deg);
}

.ci-crc-ring__track,
.ci-crc-ring__value {
	fill: none;
}

.ci-crc-ring__track {
	stroke: rgba(26, 58, 95, 0.12);
	stroke-width: 9;
}

.ci-crc-ring__value {
	stroke-width: 9;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.65s cubic-bezier(0.4, 0, 0.2, 1);
	filter: drop-shadow(0 6px 10px rgba(16, 42, 74, 0.12));
}

.ci-crc-meter__label {
	position: absolute;
	inset: 0;
	display: grid;
	place-content: center;
	justify-items: center;
	gap: 0.15rem;
	text-align: center;
	padding: 0.75rem;
}

.ci-crc-pct {
	font-size: clamp(1.65rem, 3.6vw, 2.05rem);
	font-weight: 900;
	letter-spacing: -0.03em;
	line-height: 1;
	color: var(--care-inf-primary-dark);
}

.ci-credential-readiness-card[data-tier="green"] .ci-crc-pct {
	color: #047857;
}

.ci-credential-readiness-card[data-tier="yellow"] .ci-crc-pct {
	color: #b45309;
}

.ci-credential-readiness-card[data-tier="red"] .ci-crc-pct {
	color: #b91c1c;
}

.ci-credential-readiness-card[data-tier="none"] .ci-crc-pct {
	color: rgba(26, 58, 95, 0.55);
}

.ci-crc-pct-note {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(26, 58, 95, 0.55);
}

.ci-crc-copy {
	display: grid;
	gap: 0.85rem;
}

.ci-crc-status {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.55;
	color: rgba(26, 43, 75, 0.78);
}

.ci-crc-legend {
	list-style: none;
	margin: 0;
	padding: 0.85rem 0.95rem;
	display: grid;
	gap: 0.55rem;
	border-radius: 14px;
	border: 1px solid rgba(26, 58, 95, 0.1);
	background: rgba(255, 255, 255, 0.72);
}

.ci-crc-legend li {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 0.86rem;
	font-weight: 600;
	color: rgba(26, 58, 95, 0.78);
}

.ci-crc-dot {
	width: 10px;
	height: 10px;
	border-radius: 999px;
	flex: 0 0 auto;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.85);
}

.ci-crc-legend .is-green .ci-crc-dot {
	background: #10b981;
}

.ci-crc-legend .is-yellow .ci-crc-dot {
	background: #f59e0b;
}

.ci-crc-legend .is-red .ci-crc-dot {
	background: #ef4444;
}

.ci-crc-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 1.05rem;
}

.ci-crc-actions .btn {
	min-width: 200px;
	border-radius: 12px;
	padding: 0.85rem 1.15rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

@media (max-width: 720px) {
	.ci-crc-body {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 1.1rem;
	}

	.ci-crc-copy {
		justify-items: stretch;
		text-align: left;
		width: 100%;
		max-width: 100%;
	}

	.ci-crc-actions {
		justify-content: stretch;
	}

	.ci-crc-actions .btn {
		width: 100%;
		min-width: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ci-crc-ring__value {
		transition: none;
	}
}

/* Student Overview: hero → clinical + credentialing (row) → KPI → program context */
.ci-dashboard-section--student-overview {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	min-width: 0;
}

.ci-dashboard-section--student-overview > .ci-dashboard-hero {
	margin-top: 0;
	margin-bottom: 0;
}

.ci-overview-metrics-group {
	margin-top: 1.2rem;
	min-width: 0;
}

/* Side-by-side: Clinical readiness (left) + Credentialing readiness (right) */
.ci-readiness-two-col {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1rem, 2.2vw, 1.4rem);
	align-items: stretch;
	width: 100%;
	min-width: 0;
}

.ci-readiness-two-col__cell {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ci-readiness-two-col__cell > .ci-clinical-readiness-card,
.ci-readiness-two-col__cell > .ci-credential-readiness-card {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
}

.ci-readiness-two-col .ci-credential-readiness-card {
	margin-top: 0;
}

/* Clinical readiness card — visual sibling to .ci-credential-readiness-card */
.ci-clinical-readiness-card {
	position: relative;
	overflow: hidden;
	padding: clamp(1.15rem, 2.2vw, 1.55rem);
	border-radius: 16px;
	border: 1px solid rgba(26, 58, 95, 0.1);
	background:
		radial-gradient(720px 380px at 0% -5%, rgba(45, 90, 142, 0.12), transparent 58%),
		linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
	box-shadow: 0 10px 30px rgba(16, 42, 74, 0.08), 0 2px 10px rgba(16, 42, 74, 0.04);
	isolation: isolate;
}

.ci-clinical-readiness-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 4px;
	background: linear-gradient(90deg, var(--care-inf-primary-dark), var(--care-inf-accent));
	opacity: 0.95;
	pointer-events: none;
}

.ci-clinical-readiness-card[data-clinical-state="blocked"]::before {
	background: linear-gradient(90deg, #b45309, #f59e0b);
}

.ci-clinical-readiness-card[data-clinical-state="cleared"]::before {
	background: linear-gradient(90deg, #047857, #10b981);
}

.ci-clinical-readiness-card[data-clinical-state="in_progress"]::before {
	background: linear-gradient(90deg, #1d4ed8, #3b82f6);
}

.ci-clinical-readiness-card[data-clinical-state="info"]::before {
	background: linear-gradient(90deg, rgba(26, 58, 95, 0.55), rgba(212, 175, 55, 0.55));
}

.ci-clc-glow {
	position: absolute;
	inset: -35% auto auto -25%;
	width: min(420px, 85vw);
	height: min(420px, 85vw);
	border-radius: 50%;
	filter: blur(42px);
	opacity: 0.42;
	pointer-events: none;
	z-index: 0;
	background: radial-gradient(circle at 40% 35%, rgba(45, 90, 142, 0.28), transparent 62%);
}

.ci-clinical-readiness-card[data-clinical-state="blocked"] .ci-clc-glow {
	background: radial-gradient(circle at 40% 35%, rgba(245, 158, 11, 0.32), transparent 62%);
	opacity: 0.5;
}

.ci-clinical-readiness-card[data-clinical-state="cleared"] .ci-clc-glow {
	background: radial-gradient(circle at 40% 35%, rgba(16, 185, 129, 0.28), transparent 62%);
	opacity: 0.45;
}

.ci-clinical-readiness-card[data-clinical-state="in_progress"] .ci-clc-glow {
	background: radial-gradient(circle at 40% 35%, rgba(59, 130, 246, 0.26), transparent 62%);
}

.ci-clc-head,
.ci-clc-body,
.ci-clc-actions {
	position: relative;
	z-index: 1;
}

.ci-clc-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.ci-clc-title {
	margin: 0;
	font-family: var(--care-inf-font-family);
	font-size: clamp(1.05rem, 2.2vw, 1.2rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--care-inf-primary-dark);
}

.ci-clc-subtitle {
	margin: 0.35rem 0 0;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(26, 58, 95, 0.55);
}

.ci-clc-badge {
	flex: 0 0 auto;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(26, 58, 95, 0.75);
	border: 1px solid rgba(26, 58, 95, 0.12);
	background: rgba(255, 255, 255, 0.75);
	backdrop-filter: blur(6px);
}

.ci-clc-badge--ok {
	color: #065f46;
	border-color: rgba(16, 185, 129, 0.35);
	background: rgba(236, 253, 245, 0.9);
}

.ci-clc-badge--warn {
	color: #92400e;
	border-color: rgba(245, 158, 11, 0.45);
	background: rgba(255, 251, 235, 0.95);
}

.ci-clc-badge--progress {
	color: #1e40af;
	border-color: rgba(59, 130, 246, 0.35);
	background: rgba(239, 246, 255, 0.95);
}

.ci-clc-body {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: clamp(0.85rem, 2vw, 1.15rem);
	align-items: start;
	min-width: 0;
}

.ci-clc-icon {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	flex-shrink: 0;
	border-radius: 16px;
	border: 1px solid rgba(26, 58, 95, 0.1);
	background: rgba(255, 255, 255, 0.75);
	color: var(--care-inf-primary-dark);
	box-shadow: 0 4px 14px rgba(16, 42, 74, 0.06);
}

.ci-clinical-readiness-card[data-clinical-state="blocked"] .ci-clc-icon {
	color: #b45309;
	border-color: rgba(245, 158, 11, 0.35);
	background: rgba(255, 251, 235, 0.9);
}

.ci-clinical-readiness-card[data-clinical-state="cleared"] .ci-clc-icon {
	color: #047857;
	border-color: rgba(16, 185, 129, 0.35);
	background: rgba(236, 253, 245, 0.85);
}

.ci-clinical-readiness-card[data-clinical-state="in_progress"] .ci-clc-icon {
	color: #1d4ed8;
	border-color: rgba(59, 130, 246, 0.3);
	background: rgba(239, 246, 255, 0.9);
}

.ci-clc-copy {
	min-width: 0;
}

.ci-clc-status {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.55;
	color: rgba(26, 43, 75, 0.78);
}

.ci-clc-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	align-items: center;
	margin-top: 1.05rem;
}

@media (max-width: 960px) {
	.ci-readiness-two-col {
		grid-template-columns: 1fr;
		gap: 1.1rem;
	}
}

@media (max-width: 720px) {
	.ci-clc-body {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.ci-clc-copy {
		text-align: left;
		width: 100%;
	}

	.ci-clc-actions {
		justify-content: stretch;
	}

	.ci-clc-actions .btn {
		flex: 1 1 auto;
		min-width: 0;
	}
}

.ci-overview-kpi-grid {
	margin-top: 1.2rem;
}

.ci-progress-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.45rem;
	font-size: 0.93rem;
	color: var(--care-inf-text-light);
}

.ci-progress-label strong {
	color: var(--care-inf-primary-dark);
	font-size: 1rem;
}

.ci-progress-bar {
	height: 10px;
	background: rgba(26, 58, 95, 0.12);
	border-radius: 999px;
	overflow: hidden;
}

.ci-progress-fill {
	height: 100%;
	background: linear-gradient(90deg, var(--care-inf-primary), var(--care-inf-accent));
	border-radius: inherit;
}

.ci-dashboard-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.92rem;
	margin-bottom: 0;
}

.ci-dashboard-grid-wide {
	grid-template-columns: 1.3fr 1fr;
}

/* ── Student dashboard panels: program | profile (row 1), share | rotations (row 2) ── */
.ci-student-dashboard-panels {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
	align-items: stretch;
	width: 100%;
	min-width: 0;
}

.ci-student-dashboard-panels__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1rem, 2vw, 1.25rem);
	align-items: stretch;
	min-width: 0;
}

.ci-student-dashboard-panels__cell {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ci-student-dashboard-panels__cell > .ci-card {
	flex: 1 1 auto;
	width: 100%;
	min-height: 0;
}

/* Program | profile row: do not stretch the shorter card to match the tall column (avoids empty white beside snapshot history). */
.ci-student-dashboard-panels__row--program .ci-student-dashboard-panels__cell > .ci-card {
	flex: 0 1 auto;
}

.ci-card--dashboard-missing-items {
	border: 1px solid rgba(220, 38, 38, 0.14);
	background: linear-gradient(135deg, #ffffff 0%, #fff7f7 100%);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
	height: 100%;
	display: flex;
	flex-direction: column;
}

.ci-card--dashboard-missing-items > h3 {
	margin-bottom: 0.5rem;
	color: #7f1d1d;
}

.ci-missing-items-card__lead {
	margin: 0 0 1rem;
	color: rgba(30, 41, 59, 0.82);
	font-size: 0.9rem;
	line-height: 1.5;
}

.ci-missing-items-card__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.7rem;
}

.ci-missing-items-card__list li {
	position: relative;
	padding-left: 1.45rem;
	color: #1f2937;
	font-size: 0.92rem;
	line-height: 1.4;
}

.ci-missing-items-card__list li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.35rem;
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 999px;
	background: #dc2626;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.16);
}

.ci-missing-items-card__btn {
	margin-top: auto;
	padding-top: 1rem;
	width: 100%;
	justify-content: center;
}

.ci-student-dashboard-panels__cell--program > .ci-student-program-context {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
}

.ci-student-program-context--empty .ci-student-program-context-empty {
	border: 1px solid rgba(26, 58, 95, 0.1);
	border-radius: 16px;
	padding: 1.15rem 1.35rem;
	background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
	box-shadow: 0 6px 22px rgba(16, 42, 74, 0.06);
}

@media (max-width: 960px) {
	.ci-student-dashboard-panels__row {
		grid-template-columns: 1fr;
		gap: 1.1rem;
	}
}

.ci-dashboard-shell.ci-active-pane-share .ci-student-dashboard-panels__row--share,
.ci-dashboard-shell.ci-active-pane-rotations .ci-student-dashboard-panels__row--share {
	grid-template-columns: 1fr;
}

.ci-dashboard-empty-state {
	margin: 0;
	padding: 1.25rem 1rem;
	text-align: center;
	background: rgba(26, 58, 95, 0.04);
	border: 1px dashed rgba(26, 58, 95, 0.14);
	border-radius: 12px;
	color: var(--care-inf-primary-dark);
	font-size: 0.9rem;
	line-height: 1.5;
}

.ci-dashboard-empty-state p {
	margin: 0;
}

.ci-dashboard-empty-state__hint {
	margin-top: 0.45rem !important;
	font-size: 0.82rem !important;
	color: var(--care-inf-text-light) !important;
	font-weight: 400;
}

/* Stat card: label + value stacked — no wide gap */
.ci-student-dashboard-panels .ci-card--dashboard-stat .ci-list li {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.2rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid rgba(26, 58, 95, 0.08);
	align-items: start;
	justify-content: stretch;
}

.ci-student-dashboard-panels .ci-card--dashboard-stat .ci-list li span {
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: rgba(26, 58, 95, 0.55);
	white-space: normal;
}

.ci-student-dashboard-panels .ci-card--dashboard-stat .ci-list li strong {
	font-size: 1rem;
	font-weight: 600;
	text-align: left;
	word-break: break-word;
}

/* Share + tips: match dashboard typography */
.ci-student-dashboard-panels .ci-card--dashboard-share {
	background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
	border: 1px solid rgba(26, 58, 95, 0.1);
	border-radius: 16px;
}

.ci-student-dashboard-panels .ci-card--dashboard-share > h3 {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin-bottom: 1rem;
	letter-spacing: -0.01em;
	font-family: inherit;
}

.ci-student-dashboard-panels .ci-share-subtitle {
	font-size: 0.98rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
}

.ci-student-dashboard-panels .ci-share-description {
	font-size: 0.88rem;
	color: rgba(30, 41, 59, 0.75);
	line-height: 1.55;
}

.ci-student-dashboard-panels .ci-share-section {
	border-bottom-color: rgba(26, 58, 95, 0.1);
	padding-bottom: 1.25rem;
	margin-bottom: 1rem;
}

.ci-student-dashboard-panels .ci-share-box,
.ci-student-dashboard-panels .ci-share-controls {
	border-color: rgba(26, 58, 95, 0.12);
	border-radius: 12px;
}

.ci-student-dashboard-panels .ci-share-info {
	background: rgba(26, 58, 95, 0.05);
	border-left: 3px solid rgba(26, 58, 95, 0.35);
	border-radius: 10px;
	padding: 1rem 1rem 1rem 1.1rem;
	margin-top: 1.25rem;
}

.ci-student-dashboard-panels .ci-share-info h4 {
	color: var(--care-inf-primary-dark);
	font-size: 0.92rem;
	font-weight: 600;
	margin-bottom: 0.65rem;
}

.ci-student-dashboard-panels .ci-share-info li {
	color: rgba(30, 41, 59, 0.82);
	font-size: 0.85rem;
	padding-left: 1.35rem;
}

.ci-student-dashboard-panels .ci-share-info li:before {
	color: var(--care-inf-primary-dark);
	opacity: 0.65;
}

/* ── Readiness tab: full-width checklist (dedicated pane) ── */
.ci-readiness-pane {
	margin-bottom: 0;
}

.ci-readiness-pane .ci-readiness-pane__shell {
	width: 100%;
	max-width: 100%;
	padding: clamp(1.25rem, 2.4vw, 2rem);
	border-radius: 18px;
	border: 1px solid rgba(26, 58, 95, 0.11);
	background: linear-gradient(180deg, #ffffff 0%, #f3f7fb 100%);
	box-shadow: 0 12px 38px rgba(16, 42, 74, 0.07), 0 2px 10px rgba(16, 42, 74, 0.04);
}

.ci-readiness-pane .ci-readiness-pane__header {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
}

@media (min-width: 900px) {
	.ci-readiness-pane .ci-readiness-pane__header {
		grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
		align-items: start;
	}
}

.ci-readiness-pane .ci-readiness-pane__title {
	margin: 0 0 0.35rem;
	font-size: clamp(1.45rem, 2.4vw, 1.85rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.18;
	color: var(--care-inf-primary-dark);
}

.ci-readiness-pane .ci-readiness-pane__intro {
	margin: 0;
	max-width: 66ch;
	font-size: 0.95rem;
	line-height: 1.58;
	color: rgba(30, 41, 59, 0.78);
}

.ci-readiness-pane .ci-readiness-pane__summary {
	padding: 1rem 1.1rem;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid rgba(26, 58, 95, 0.12);
}

.ci-readiness-pane .ci-readiness-pane__fraction {
	display: flex;
	align-items: baseline;
	gap: 0.2rem;
	margin-bottom: 0.55rem;
	color: rgba(30, 41, 59, 0.62);
}

.ci-readiness-pane .ci-readiness-pane__fraction strong {
	font-size: 1.55rem;
	font-weight: 600;
	letter-spacing: -0.03em;
	color: #0f2742;
}

.ci-readiness-pane .ci-readiness-pane__bar {
	height: 9px;
	border-radius: 999px;
	background: rgba(26, 58, 95, 0.12);
	overflow: hidden;
}

.ci-readiness-pane .ci-readiness-pane__bar-fill {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, #13385a, #23628a 58%, #2f8eb4);
	border-radius: inherit;
	transition: width 0.35s ease;
}

.ci-readiness-pane .ci-readiness-pane__pct {
	margin: 0.5rem 0 0;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(26, 58, 95, 0.7);
}

.ci-readiness-pane .ci-readiness-pane__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin: 0 0 1.25rem;
}

.ci-readiness-pane .ci-readiness-pane__actions .btn {
	min-height: 42px;
	padding-inline: 1rem;
	border-radius: 10px;
}

.ci-readiness-pane .ci-checklist--readiness-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.8rem;
	width: 100%;
	max-width: 100%;
}

@media (min-width: 900px) {
	.ci-readiness-pane .ci-checklist--readiness-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.ci-readiness-pane .ci-checklist--readiness-grid > .ci-readiness-item {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.9rem 0.95rem;
	margin: 0;
	border-radius: 12px;
	border: 1px solid rgba(26, 58, 95, 0.11);
	background: #fff;
	box-shadow: 0 2px 8px rgba(16, 42, 74, 0.04);
}

.ci-readiness-pane .ci-checklist--readiness-grid > .ci-readiness-item.is-complete {
	border-left: 4px solid #1f7a37;
	background: linear-gradient(90deg, rgba(230, 248, 235, 0.45), #ffffff 32%);
}

.ci-readiness-pane .ci-checklist--readiness-grid > .ci-readiness-item.is-pending {
	border-left: 4px solid rgba(19, 56, 90, 0.28);
	background: linear-gradient(90deg, rgba(19, 56, 90, 0.04), #ffffff 32%);
}

.ci-readiness-pane .ci-readiness-item__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 76px;
	flex-shrink: 0;
	padding: 0.28rem 0.52rem;
	border-radius: 999px;
	font-size: 0.67rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.ci-readiness-pane .ci-readiness-item.is-complete .ci-readiness-item__badge {
	background: #e6f8eb;
	color: #1f7a37;
}

.ci-readiness-pane .ci-readiness-item.is-pending .ci-readiness-item__badge {
	background: rgba(19, 56, 90, 0.1);
	color: #13385a;
}

.ci-readiness-pane .ci-readiness-item__label {
	display: block;
	padding-top: 0.1rem;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.42;
	color: #13385a;
}

.ci-card {
	background: linear-gradient(135deg, #ffffff 0%, #f9fcff 100%);
	border: 1px solid rgba(26, 58, 95, 0.08);
	border-radius: 16px;
	padding: 1.25rem;
	box-shadow: 0 8px 28px rgba(16, 42, 74, 0.06), 0 2px 8px rgba(16, 42, 74, 0.03);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.ci-card:hover {
	box-shadow: 0 12px 36px rgba(16, 42, 74, 0.1), 0 4px 12px rgba(16, 42, 74, 0.05);
	border-color: rgba(26, 58, 95, 0.12);
}

.ci-card h3 {
	margin: 0 0 1rem;
	font-size: 1.1rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--care-inf-primary-dark);
	line-height: 1.3;
}

.ci-card-wide {
	padding: 1.05rem 1rem;
}

.ci-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.5rem;
}

.ci-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding-bottom: 0.45rem;
	border-bottom: 1px dashed rgba(26, 58, 95, 0.16);
}

.ci-list li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.ci-list li span {
	font-size: 0.83rem;
	color: var(--care-inf-text-light);
	white-space: nowrap;
	flex-shrink: 0;
}

.ci-list li strong {
	font-size: 0.92rem;
	color: var(--care-inf-primary-dark);
	word-break: break-all;
	text-align: right;
}

.ci-portal-dashboard .btn-outline-white {
	background: #ffffff;
	color: var(--care-inf-primary-dark);
	border-color: rgba(26, 58, 95, 0.28);
}

.ci-portal-dashboard .btn-outline-white:hover {
	background: rgb(245 245 245);
	color: var(--care-inf-primary-dark);
	border-color: rgba(26, 58, 95, 0.42);
}

/* Portal dashboards: table cells — btn-outline-dark has no base stroke in theme (plain links otherwise). */
.ci-portal-dashboard .ci-table td .btn.btn-outline-dark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0.2rem 0.4rem 0.2rem 0;
	padding: 0.42rem 0.8rem;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.25;
	border-radius: 8px;
	box-sizing: border-box;
	white-space: nowrap;
	background: #fff;
	color: var(--care-inf-primary-dark, #1a3a5f);
	border: 1.5px solid rgba(26, 58, 95, 0.32);
	box-shadow: 0 1px 3px rgba(16, 42, 74, 0.08);
	text-decoration: none;
	transition: border-color 0.2s, background 0.2s, box-shadow 0.2s, color 0.2s;
}

.ci-portal-dashboard .ci-table td .btn.btn-outline-dark:hover {
	background: rgba(26, 58, 95, 0.05);
	border-color: var(--care-inf-primary-dark, #1a3a5f);
	color: var(--care-inf-primary-dark, #1a3a5f);
	text-decoration: none;
	box-shadow: 0 2px 8px rgba(16, 42, 74, 0.1);
}

.ci-portal-dashboard .ci-table td .btn.btn-outline-dark:focus-visible {
	outline: 2px solid rgba(26, 58, 95, 0.35);
	outline-offset: 2px;
}

.ci-portal-dashboard .ci-pane-co-signoffs .ci-table td:last-child {
	white-space: normal;
	vertical-align: middle;
}

.ci-portal-dashboard .ci-table td.ci-co-snapshot-actions-cell .btn.btn-outline-dark,
.ci-portal-dashboard .ci-table td.ci-co-audit-actions-cell .btn.btn-outline-dark {
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.ci-portal-dashboard .ci-table td.ci-co-audit-actions-cell .btn.btn-outline-dark.ci-co-audit-delete-btn {
	border-color: rgba(196, 30, 58, 0.35);
	color: #8b1428;
}

.ci-portal-dashboard .ci-table td.ci-co-audit-actions-cell .btn.btn-outline-dark.ci-co-audit-delete-btn:hover {
	border-color: rgba(196, 30, 58, 0.55);
	color: #6d0f1f;
	background: rgba(196, 30, 58, 0.06);
	box-shadow: 0 2px 8px rgba(196, 30, 58, 0.12);
}

/* Portal dashboards — Reports: CSV download row (coordinator, program leadership, healthcare org). */
.ci-portal-dashboard .ci-portal-reports-csv-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	margin: 0;
}

.ci-portal-dashboard .ci-portal-reports-csv-actions .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
	border-radius: 8px;
	box-sizing: border-box;
	text-decoration: none;
	transition: border-color 0.2s, background 0.2s, box-shadow 0.2s, color 0.2s;
}

.ci-portal-dashboard .ci-portal-reports-csv-actions .btn-outline-dark {
	background: #fff;
	color: var(--care-inf-primary-dark, #1a3a5f);
	border: 1.5px solid rgba(26, 58, 95, 0.32);
	box-shadow: 0 1px 3px rgba(16, 42, 74, 0.08);
}

.ci-portal-dashboard .ci-portal-reports-csv-actions .btn-outline-dark:hover {
	background: rgba(26, 58, 95, 0.05);
	border-color: var(--care-inf-primary-dark, #1a3a5f);
	color: var(--care-inf-primary-dark, #1a3a5f);
	text-decoration: none;
	box-shadow: 0 2px 8px rgba(16, 42, 74, 0.1);
}

/* Override global.css gold `a:focus` / `button:focus` for these controls (mouse focus uses :focus). */
.ci-portal-dashboard .ci-portal-reports-csv-actions a.btn:focus,
.ci-portal-dashboard .ci-portal-reports-csv-actions button.btn:focus {
	outline: none;
}

.ci-portal-dashboard .ci-portal-reports-csv-actions .btn-outline-dark:focus {
	border-color: rgba(26, 58, 95, 0.32);
	box-shadow: 0 1px 3px rgba(16, 42, 74, 0.08);
}

.ci-portal-dashboard .ci-portal-reports-csv-actions .btn:focus-visible {
	outline: 2px solid rgba(26, 58, 95, 0.35);
	outline-offset: 2px;
}

/* Global.css `a:focus` uses accent gold — remove for portal .btn links (mouse :focus); keep keyboard ring. */
.ci-portal-dashboard a.btn:focus {
	outline: none;
}

.ci-portal-dashboard a.btn:focus-visible {
	outline: 2px solid rgba(26, 58, 95, 0.35);
	outline-offset: 2px;
}

/* Share Center Section */
.ci-pane-share {
	background: linear-gradient(135deg, #f8f9fb 0%, #ffffff 100%);
	border-radius: 12px;
	overflow: hidden;
}

.ci-pane-share h3 {
	color: #222;
	margin-bottom: 24px;
	font-size: 24px;
	font-weight: 600;
}

.ci-pane-share h4 {
	color: #333;
	margin-bottom: 16px;
	font-size: 18px;
	font-weight: 600;
}

.ci-share-section {
	margin-bottom: 32px;
	padding-bottom: 32px;
	border-bottom: 1px solid #e0e0e0;
}

.ci-share-subtitle {
	font-size: 18px;
	font-weight: 600;
	color: #222;
	margin-bottom: 8px;
}

.ci-share-description {
	color: #666;
	font-size: 14px;
	margin-bottom: 20px;
	line-height: 1.6;
}

.ci-share-controls {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 20px;
	margin-bottom: 16px;
	display: block;
}

.ci-share-form-group {
	margin-bottom: 16px;
}

.ci-share-form-group:last-child {
	margin-bottom: 0;
}

.ci-share-form-group label {
	display: block;
	margin-bottom: 8px;
}

.ci-label-text {
	display: block;
	color: #333;
	font-weight: 600;
	margin-bottom: 8px;
	font-size: 14px;
}

.ci-share-expiry {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #d0d0d0;
	border-radius: 6px;
	font-size: 14px;
	background: #fff;
	color: #333;
	cursor: pointer;
	transition: all 0.3s ease;
}

.ci-share-expiry:hover {
	border-color: #c0c0c0;
}

.ci-share-expiry:focus {
	outline: none;
	border-color: #dc2626;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
}

.ci-share-watermark-label {
	display: flex;
	align-items: center;
	cursor: pointer;
	gap: 8px;
	padding: 10px;
	border-radius: 6px;
	transition: background 0.3s ease;
	margin: 0 !important;
}

.ci-share-watermark-label:hover {
	background: #f5f5f5;
}

.ci-share-watermark-input {
	cursor: pointer;
	width: 18px;
	height: 18px;
	accent-color: #dc2626;
}

.ci-share-watermark-label small {
	display: block;
	color: #999;
	font-size: 12px;
	margin-top: 2px;
}

.ci-share-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.ci-share-generate-btn,
.ci-share-revoke-btn {
	flex: 1;
	min-width: 200px;
}

.ci-share-result {
	margin-top: 24px;
}

.ci-share-active {
	animation: slideIn 0.4s ease;
}

@keyframes slideIn {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.ci-share-box {
	background: #fff;
	border: 2px solid #dbeafe;
	border-radius: 8px;
	padding: 20px;
}

.ci-share-box-title {
	color: #1e40af;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 16px;
}

.ci-share-url-container {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
	margin-bottom: 16px;
	min-width: 0;
}

/* Override global.css `input { width:100% }` inside flex row — was collapsing the field on narrow viewports */
.ci-share-url-container .ci-share-url-input {
	flex: 1 1 12rem;
	min-width: 0;
	width: auto;
	max-width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid #d0d0d0;
	border-radius: 6px;
	font-size: 13px;
	background: #f9f9f9;
	color: #333;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	overflow-x: auto;
	word-break: break-all;
}

.ci-share-url-container .ci-snap-share-copy-btn,
.ci-share-url-container .ci-snap-share-copy-btn-new {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	white-space: nowrap;
	padding: 0.5rem 0.85rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.25;
	box-sizing: border-box;
}

@media screen and (max-width: 640px) {
	.ci-share-url-container {
		flex-direction: column;
		align-items: stretch;
	}

	.ci-share-url-container .ci-share-url-input {
		flex: 1 1 auto;
		width: 100%;
		min-height: 44px;
	}

	.ci-share-url-container .ci-snap-share-copy-btn,
	.ci-share-url-container .ci-snap-share-copy-btn-new {
		width: 100%;
	}
}

.ci-share-copy-btn {
	display: flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
	padding: 10px 16px;
}

.ci-share-copy-btn svg {
	width: 16px;
	height: 16px;
}

.ci-share-copy-btn:hover {
	background: #f0f0f0;
	color: #333;
}

.ci-share-copy-btn.copied {
	background: #dcfce7;
	color: #166534;
	border-color: #86efac;
}

.ci-share-expiry-info {
	color: #666;
	font-size: 13px;
	margin-bottom: 16px;
	padding: 10px;
	background: #f9f9f9;
	border-radius: 6px;
	border-left: 3px solid #fbbf24;
}

.ci-share-qr-section {
	margin: 24px 0;
	padding: 20px;
	background: #f9fafb;
	border-radius: 8px;
	border: 1px solid #e5e7eb;
}

.ci-share-qr-section h5 {
	color: #333;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 12px;
	margin-top: 0;
}

.ci-share-qr-canvas {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 200px;
	background: #fff;
	border-radius: 6px;
	border: 1px solid #e0e0e0;
}

.ci-share-qr-canvas canvas {
	max-width: 100%;
	height: auto;
}

.ci-share-qr-canvas.is-unavailable {
	min-height: 72px;
	padding: 10px 12px;
	text-align: center;
}

.ci-share-qr-fallback {
	margin: 0;
	font-size: 12px;
	line-height: 1.4;
	color: #64748b;
}

.ci-share-revoke-section {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #e0e0e0;
}

.ci-share-revoke-text {
	color: #666;
	font-size: 14px;
	margin-bottom: 12px;
	margin-top: 0;
}

.ci-share-info {
	background: #fffbeb;
	border-left: 4px solid #f59e0b;
	border-radius: 6px;
	padding: 16px;
	margin-top: 24px;
}

.ci-share-info h4 {
	color: #b45309;
	margin-bottom: 12px;
	font-size: 16px;
	margin-top: 0;
}

.ci-share-info ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ci-share-info li {
	color: #92400e;
	font-size: 14px;
	margin-bottom: 8px;
	padding-left: 20px;
	position: relative;
	line-height: 1.5;
}

.ci-share-info li:before {
	content: '✓';
	position: absolute;
	left: 0;
	color: #d97706;
	font-weight: bold;
}

.ci-share-empty-state {
	color: #999;
	font-size: 14px;
	padding: 20px;
	text-align: center;
	background: #f9f9f9;
	border-radius: 6px;
	border: 1px dashed #d0d0d0;
	margin-top: 16px;
	margin-bottom: 0;
}

.ci-notice {
	padding: 16px 20px;
	border-radius: 8px;
	margin-bottom: 20px;
	border-left: 4px solid;
	font-size: 14px;
	line-height: 1.6;
}

.ci-notice-info {
	background: #eff6ff;
	border-color: #3b82f6;
	color: #1e40af;
}

.ci-notice-info p {
	margin: 0;
}

/* Loading State for Share Buttons */
.ci-share-generate-btn.loading,
.ci-share-revoke-btn.loading {
	opacity: 0.7;
	pointer-events: none;
}

.ci-share-generate-btn.loading:before,
.ci-share-revoke-btn.loading:before {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: 6px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	border-top-color: white;
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* Success/Error Messages */
.ci-share-message {
	padding: 12px 16px;
	border-radius: 6px;
	margin-bottom: 16px;
	font-size: 13px;
	animation: slideIn 0.3s ease;
}

.ci-share-message.success {
	background: #dcfce7;
	color: #166534;
	border-left: 3px solid #22c55e;
}

.ci-share-message.error {
	background: #fee2e2;
	color: #991b1b;
	border-left: 3px solid #ef4444;
}

.ci-share-message.warning {
	background: #fef3c7;
	color: #92400e;
	border-left: 3px solid #f59e0b;
}

.ci-muted {
	margin: 0 0 0.7rem;
	color: var(--care-inf-text-light);
	font-size: 0.9rem;
}

.ci-timeline,
.ci-rotation-map,
.ci-activity-log,
.ci-checklist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.6rem;
}

.ci-timeline li {
	display: grid;
	gap: 0.2rem;
	padding-left: 0.8rem;
	border-left: 2px solid rgba(26, 58, 95, 0.24);
}

.ci-timeline li strong {
	font-size: 0.9rem;
	color: var(--care-inf-primary-dark);
}

.ci-timeline li span {
	font-size: 0.78rem;
	color: var(--care-inf-text-light);
}

.ci-checklist li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.55rem;
	align-items: center;
	font-size: 0.85rem;
}

.ci-checklist li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 68px;
	padding: 0.2rem 0.4rem;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.ci-checklist li strong {
	font-weight: 600;
	color: var(--care-inf-primary-dark);
}

.ci-checklist li.is-complete span {
	background: #e6f8eb;
	color: #1f7a37;
}

.ci-checklist li.is-pending span {
	background: #fff1d8;
	color: #8c6a14;
}

.ci-rotation-map li {
	padding: 0.65rem;
	border-radius: 10px;
	border: 1px solid rgba(26, 58, 95, 0.14);
	background: #ffffff;
}

.ci-rotation-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.2rem;
}

.ci-rotation-head strong {
	font-size: 0.9rem;
	color: var(--care-inf-primary-dark);
}

.ci-rotation-head span {
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--care-inf-primary);
}

.ci-rotation-map p {
	margin: 0 0 0.2rem;
	font-size: 0.82rem;
	color: var(--care-inf-text-color);
}

.ci-rotation-map small {
	font-size: 0.72rem;
	color: var(--care-inf-text-light);
}

/* Snapshot Profile Display */
.ci-snapshot-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 2px solid rgba(26, 58, 95, 0.1);
}

.ci-snapshot-title-wrap h2 {
	margin: 0 0 0.5rem;
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--care-inf-primary-dark);
	line-height: 1.2;
}

.ci-snapshot-title-wrap .ci-muted {
	margin: 0;
	font-size: 1rem;
}

.ci-snapshot-actions {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.ci-snapshot-profile-card {
	background: linear-gradient(135deg, #ffffff 0%, #f9fcff 100%);
	border: 1px solid rgba(26, 58, 95, 0.1);
	border-radius: 20px;
	padding: 0;
	box-shadow: 0 10px 40px rgba(16, 42, 74, 0.08), 0 2px 12px rgba(16, 42, 74, 0.04);
	overflow: hidden;
}

.ci-snapshot-section {
	padding: 2rem 2.5rem;
	border-bottom: 1px solid rgba(26, 58, 95, 0.08);
}

.ci-snapshot-section:last-child {
	border-bottom: none;
}

.ci-snapshot-section-title {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1.5rem;
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	letter-spacing: -0.01em;
}

.ci-snapshot-icon {
	font-size: 1.8rem;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(26, 58, 95, 0.08) 100%);
}

.ci-snapshot-data-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.25rem;
	margin: 0;
}

.ci-snapshot-data-item {
	display: grid;
	gap: 0.4rem;
	padding: 1rem 1.25rem;
	border-radius: 12px;
	background: linear-gradient(135deg, #ffffff 0%, #fafcff 100%);
	border: 1px solid rgba(26, 58, 95, 0.08);
	box-shadow: 0 2px 8px rgba(16, 42, 74, 0.04);
	transition: all 0.25s ease;
}

.ci-snapshot-data-item:hover {
	box-shadow: 0 6px 20px rgba(16, 42, 74, 0.1);
	border-color: rgba(26, 58, 95, 0.12);
}

.ci-snapshot-data-item dt {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgba(26, 58, 95, 0.6);
	margin: 0;
}

.ci-snapshot-data-item dd {
	font-size: 1rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0;
	word-break: break-word;
}

/* ============================================
   Account & Program Details Section
   ============================================ */

.ci-account-program-container {
	display: grid;
	gap: 1.75rem;
	margin-top: 1.5rem;
}

.ci-info-card {
	background: linear-gradient(135deg, #ffffff 0%, #fafcff 100%);
	border: 1px solid rgba(26, 58, 95, 0.08);
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(16, 42, 74, 0.06);
	overflow: hidden;
	transition: all 0.3s ease;
}

.ci-info-card:hover {
	box-shadow: 0 8px 30px rgba(16, 42, 74, 0.12);
	border-color: rgba(26, 58, 95, 0.12);
}

.ci-info-card-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 1.5rem 1.75rem;
	background: linear-gradient(135deg, #1a3a5f 0%, #102a4a 100%);
	border-bottom: 3px solid rgba(212, 175, 55, 0.5);
}

.ci-info-icon {
	flex-shrink: 0;
	color: #d4af37;
}

.ci-info-card-header h3 {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 600;
	color: #ffffff;
	letter-spacing: -0.01em;
}

.ci-info-card-body {
	padding: 1.75rem;
}

.ci-info-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 1.25rem;
}

.ci-info-item {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding: 1.25rem;
	background: linear-gradient(135deg, #f8fbff 0%, #f0f6ff 100%);
	border: 1px solid rgba(26, 58, 95, 0.08);
	border-radius: 14px;
	box-shadow: 0 2px 10px rgba(16, 42, 74, 0.04);
	transition: all 0.3s ease;
}

.ci-info-item:hover {
	box-shadow: 0 6px 20px rgba(16, 42, 74, 0.1);
	border-color: rgba(26, 58, 95, 0.12);
	transform: translateY(-2px);
}

.ci-info-item-full {
	grid-column: 1 / -1;
}

.ci-info-label {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgba(26, 58, 95, 0.6);
}

.ci-info-value {
	font-size: 1rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	line-height: 1.5;
}

.ci-info-value-highlight {
	font-size: 1.1rem;
	font-weight: 600;
	background: linear-gradient(135deg, #1a3a5f 0%, #102a4a 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.ci-status-badge {
	display: inline-block;
	padding: 0.35rem 0.9rem;
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	border-radius: 20px;
	box-shadow: 0 2px 8px rgba(16, 42, 74, 0.08);
}

.ci-status-active {
	background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
	color: #ffffff;
}

.ci-profile-id {
	font-family: 'Courier New', Courier, monospace;
	font-size: 0.9rem;
	font-weight: 600;
	color: #1a3a5f;
	background: rgba(212, 175, 55, 0.1);
	padding: 0.25rem 0.5rem;
	border-radius: 6px;
	display: inline-block;
}

.ci-gpa-badge {
	display: inline-block;
	padding: 0.35rem 0.75rem;
	font-size: 1.1rem;
	font-weight: 600;
	background: linear-gradient(135deg, #d4af37 0%, #f0d98f 100%);
	color: #1a3a5f;
	border-radius: 10px;
	box-shadow: 0 3px 12px rgba(212, 175, 55, 0.3);
}

/* Quick Actions Card */
.ci-quick-actions-card .ci-info-card-header {
	background: linear-gradient(135deg, #d4af37 0%, #b8941f 100%);
	border-bottom: 3px solid rgba(26, 58, 95, 0.3);
}

.ci-quick-actions-card .ci-info-icon {
	color: #1a3a5f;
}

.ci-quick-actions-card .ci-info-card-header h3 {
	color: #1a3a5f;
}

.ci-quick-actions-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1rem;
}

.ci-quick-action-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	padding: 1.25rem 1.5rem;
	background: linear-gradient(135deg, #1a3a5f 0%, #102a4a 100%);
	color: #ffffff;
	text-decoration: none;
	border-radius: 14px;
	border: 2px solid transparent;
	box-shadow: 0 4px 15px rgba(16, 42, 74, 0.15);
	transition: all 0.3s ease;
	font-weight: 600;
	font-size: 0.95rem;
}

.ci-quick-action-btn:hover {
	background: linear-gradient(135deg, #d4af37 0%, #b8941f 100%);
	color: #1a3a5f;
	border-color: rgba(26, 58, 95, 0.2);
	box-shadow: 0 8px 25px rgba(212, 175, 55, 0.3);
	transform: translateY(-3px);
}

.ci-quick-action-btn svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

@media (max-width: 768px) {
	.ci-info-grid {
		grid-template-columns: 1fr;
	}
	
	.ci-quick-actions-grid {
		grid-template-columns: 1fr;
	}
	
	.ci-info-card-header {
		padding: 1.25rem 1.5rem;
	}
	
	.ci-info-card-body {
		padding: 1.5rem;
	}
}

.ci-snapshot-list {
	display: grid;
	gap: 1rem;
}

.ci-snapshot-list-item {
	padding: 1.25rem 1.5rem;
	border-radius: 14px;
	background: linear-gradient(135deg, #ffffff 0%, #fafcff 100%);
	border: 1px solid rgba(26, 58, 95, 0.08);
	box-shadow: 0 4px 12px rgba(16, 42, 74, 0.05);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ci-snapshot-list-item:hover {
	box-shadow: 0 8px 24px rgba(16, 42, 74, 0.1);
	border-color: rgba(26, 58, 95, 0.15);
	transform: translateX(4px);
}

.ci-snapshot-list-item h4 {
	margin: 0 0 0.75rem;
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
}

.ci-snapshot-list-item p {
	margin: 0 0 0.5rem;
	font-size: 0.9rem;
	color: var(--care-inf-text-color);
	line-height: 1.6;
}

.ci-snapshot-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.ci-snapshot-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.6rem 1rem;
	border-radius: 999px;
	background: linear-gradient(135deg, #e8f5ff 0%, #dceeff 100%);
	border: 1px solid rgba(26, 58, 95, 0.15);
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	box-shadow: 0 2px 6px rgba(16, 42, 74, 0.06);
}

.ci-status-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.ci-status-badge.ci-status-completed,
.ci-status-badge.ci-status-verified,
.ci-status-badge.ci-status-clear {
	background: #e6f8eb;
	color: #1f7a37;
	border: 1px solid rgba(31, 122, 55, 0.2);
}

.ci-status-badge.ci-status-active,
.ci-status-badge.ci-status-pending {
	background: #fff3e0;
	color: #b76e00;
	border: 1px solid rgba(183, 110, 0, 0.2);
}

.ci-status-badge.ci-status-planned,
.ci-status-badge.ci-status-draft {
	background: #e3f2fd;
	color: #0277bd;
	border: 1px solid rgba(2, 119, 189, 0.2);
}

.ci-snapshot-bio {
	padding: 1.5rem;
	border-radius: 12px;
	background: linear-gradient(135deg, #fafcff 0%, #f5f9ff 100%);
	border: 1px solid rgba(26, 58, 95, 0.08);
}

.ci-snapshot-bio p {
	margin: 0 0 1rem;
	font-size: 1rem;
	line-height: 1.8;
	color: var(--care-inf-text-color);
}

.ci-snapshot-bio p:last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.ci-snapshot-header {
		flex-direction: column;
		align-items: flex-start;
	}
	
	.ci-snapshot-section {
		padding: 1.5rem 1.25rem;
	}
	
	.ci-snapshot-data-grid {
		grid-template-columns: 1fr;
	}
	
	.ci-snapshot-actions {
		width: 100%;
	}
	
	.ci-snapshot-actions .btn {
		flex: 1;
		min-width: 0;
	}
}

.ci-rotation-active { border-color: rgba(15, 122, 137, 0.35); }
.ci-rotation-completed { border-color: rgba(40, 167, 69, 0.35); }
.ci-rotation-planned { border-color: rgba(140, 106, 20, 0.35); }

.ci-activity-log li {
	display: grid;
	gap: 0.2rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px dashed rgba(26, 58, 95, 0.16);
}

.ci-activity-log li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.ci-activity-log strong {
	font-size: 0.83rem;
	color: var(--care-inf-primary-dark);
}

.ci-activity-log span {
	font-size: 0.78rem;
	color: var(--care-inf-text-color);
}

.ci-activity-log small {
	font-size: 0.7rem;
	color: var(--care-inf-text-light);
}

.ci-support-panel {
	margin-top: 0.9rem;
	padding-top: 0.8rem;
	border-top: 1px solid rgba(26, 58, 95, 0.16);
}

.ci-support-panel h4 {
	margin: 0 0 0.35rem;
	font-size: 0.93rem;
	color: var(--care-inf-primary-dark);
}

.ci-support-panel p {
	margin: 0 0 0.7rem;
	font-size: 0.82rem;
	color: var(--care-inf-text-light);
}

.ci-support-actions {
	display: inline-flex;
	gap: 0.55rem;
	flex-wrap: wrap;
}

.ci-account-form {
	margin-top: 0.35rem;
}

.ci-account-form .ci-fields-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem 1rem;
}

.ci-credentialing-profile-topbar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.65rem;
	align-items: center;
	padding: 0.95rem 1rem;
	border: 1px solid rgba(26, 58, 95, 0.12);
	border-radius: 16px;
	background: linear-gradient(130deg, #ffffff 0%, #f7fbff 65%, #f4f8ff 100%);
	box-shadow: 0 8px 22px rgba(16, 42, 74, 0.06);
	margin: 0.85rem 0 1.1rem;
}

.ci-credentialing-profile-topbar__meta {
	display: flex;
	align-items: center;
	min-width: 0;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.ci-credentialing-profile-topbar__meta strong {
	color: var(--care-inf-primary-dark);
	font-size: 1rem;
	letter-spacing: -0.01em;
}

.ci-credentialing-profile-topbar__meta span {
	color: rgba(26, 58, 95, 0.72);
	font-size: 0.85rem;
}

.ci-credentialing-profile-topbar__meta .ci-credentialing-profile-topbar__pct {
	margin-left: auto;
	padding: 0.18rem 0.5rem;
	border-radius: 999px;
	background: rgba(167, 19, 47, 0.1);
	color: #7f1d1d;
	font-weight: 600;
	font-size: 0.76rem;
	letter-spacing: 0.02em;
}

.ci-credentialing-profile-topbar__progress {
	grid-column: 1 / -1;
	height: 8px;
	border-radius: 999px;
	background: rgba(26, 58, 95, 0.14);
	overflow: hidden;
}

.ci-credentialing-profile-topbar__progress > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #a7132f, #d7415d);
}

.ci-credentialing-profile-layout {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 1.1rem;
	align-items: start;
	min-width: 0;
	max-width: 100%;
}

.ci-credentialing-profile-layout > .ci-credentialing-profile-nav,
.ci-credentialing-profile-layout > .ci-account-form--credentialing {
	min-width: 0;
	max-width: 100%;
}

.ci-credentialing-profile-nav {
	position: sticky;
	top: 1rem;
	display: grid;
	gap: 0.46rem;
	padding: 0.8rem;
	border: 1px solid rgba(26, 58, 95, 0.11);
	border-radius: 16px;
	background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
	box-shadow: 0 10px 26px rgba(16, 42, 74, 0.07);
}

.ci-credentialing-profile-nav h4 {
	margin: 0 0 0.35rem;
	font-size: 0.74rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(26, 58, 95, 0.55);
}

.ci-credentialing-profile-nav a {
	display: block;
	border: 1px solid rgba(26, 58, 95, 0.08);
	border-radius: 11px;
	padding: 0.52rem 0.62rem;
	color: var(--care-inf-primary-dark);
	text-decoration: none;
	font-size: 0.83rem;
	font-weight: 600;
	line-height: 1.3;
	background: #fff;
	transition: background-color 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.ci-credentialing-profile-nav a:hover,
.ci-credentialing-profile-nav a:focus-visible {
	border-color: rgba(167, 19, 47, 0.35);
	background: rgba(167, 19, 47, 0.06);
	transform: translateY(-1px);
	outline: none;
}

.ci-credentialing-profile-nav .ci-credentialing-tab-link.is-active {
	border-color: rgba(167, 19, 47, 0.35);
	background: rgba(167, 19, 47, 0.1);
}

/* Credentialing tabs: display-only (no hover/click state changes) */
.ci-credentialing-profile-nav .ci-credentialing-tab-link {
	pointer-events: none;
	cursor: default;
	transform: none !important;
	transition: none;
}

.ci-credentialing-profile-nav .ci-credentialing-tab-link:hover,
.ci-credentialing-profile-nav .ci-credentialing-tab-link:focus-visible,
.ci-credentialing-profile-nav .ci-credentialing-tab-link.is-active {
	border-color: rgba(26, 58, 95, 0.14);
	background: #fff;
	color: inherit;
	transform: none;
	outline: none;
	box-shadow: none;
}

.ci-credentialing-profile-nav .ci-credentialing-tab-link.is-active {
	background: rgba(167, 19, 47, 0.08);
	border-color: rgba(167, 19, 47, 0.34);
	font-weight: 600;
}

.ci-credentialing-profile-shell {
	border: 1px solid rgba(26, 58, 95, 0.11);
	border-radius: 18px;
	box-shadow: 0 16px 34px rgba(16, 42, 74, 0.08);
	background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
	min-width: 0;
	max-width: 100%;
}

.ci-account-form--credentialing {
	border: 1px solid rgba(26, 58, 95, 0.09);
	border-radius: 16px;
	padding: 1.05rem;
	background: #fff;
}

.ci-account-form .ci-field {
	display: flex;
	flex-direction: column;
}

.ci-account-form .ci-field label {
	font-size: 0.77rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgba(26, 58, 95, 0.7);
	margin-bottom: 0.38rem;
}

.ci-account-form .ci-field input,
.ci-account-form .ci-field textarea,
.ci-account-form .ci-field select {
	width: 100%;
	border: 1px solid rgba(26, 58, 95, 0.16);
	background: #fff;
	color: #102a4a;
	border-radius: 11px;
	padding: 0.7rem 0.78rem;
	font-size: 0.93rem;
	font-family: inherit;
	transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.ci-account-form .ci-field textarea {
	resize: vertical;
	min-height: 88px;
}

.ci-account-form .ci-field input:focus,
.ci-account-form .ci-field textarea:focus,
.ci-account-form .ci-field select:focus {
	outline: none;
	border-color: rgba(167, 19, 47, 0.5);
	box-shadow: 0 0 0 3px rgba(167, 19, 47, 0.13);
}

.ci-account-form--credentialing .ci-credentialing-section {
	display: none;
	border: 1px solid rgba(26, 58, 95, 0.11);
	border-radius: 16px;
	background: linear-gradient(135deg, #ffffff 0%, #f9fcff 100%);
	padding: 1.05rem 1rem;
	margin-bottom: 1.05rem;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.ci-account-form--credentialing .ci-credentialing-section.is-active {
	display: block;
}

.ci-step-actions--credentialing {
	display: flex;
	gap: 0.6rem;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.ci-step-actions--credentialing .ci-credentialing-step-btn {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 100%;
	justify-content: center;
	padding-left: 0.75rem;
	padding-right: 0.75rem;
}

.ci-step-actions--credentialing .btn.btn-red {
	flex: 1 1 200px;
	min-width: 0;
	max-width: 100%;
}

.ci-step-actions--credentialing .ci-credentialing-step-btn[disabled] {
	opacity: 0.45;
	cursor: not-allowed;
}

.ci-credentialing-upload-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.8rem;
}

.ci-credentialing-upload-card {
	border: 1px solid rgba(26, 58, 95, 0.11);
	border-radius: 12px;
	padding: 0.72rem;
	background: #fff;
	display: grid;
	gap: 0.5rem;
}

.ci-credentialing-upload-card label {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
}

.ci-credentialing-upload-card .ci-credentialing-file-input {
	border: 1px dashed rgba(26, 58, 95, 0.32);
	border-radius: 10px;
	padding: 0.5rem;
	background: #fbfdff;
	font-size: 0.83rem;
	color: #1e293b;
}

.ci-credentialing-upload-filename {
	margin: 0;
	font-size: 0.78rem;
	color: rgba(30, 41, 59, 0.72);
	word-break: break-all;
}

.ci-credentialing-upload-actions {
	display: flex;
	gap: 0.55rem;
	align-items: center;
	flex-wrap: wrap;
}

.ci-credentialing-upload-actions a,
.ci-credentialing-upload-actions button {
	font-size: 0.76rem;
	font-weight: 600;
	border: 1px solid rgba(26, 58, 95, 0.18);
	border-radius: 9px;
	padding: 0.28rem 0.5rem;
	background: #fff;
	color: var(--care-inf-primary-dark);
	text-decoration: none;
	cursor: pointer;
}

.ci-credentialing-upload-actions .ci-credentialing-upload-view.is-disabled {
	opacity: 0.45;
	pointer-events: none;
}

.ci-credentialing-upload-card.is-uploading {
	opacity: 0.78;
}

.ci-credentialing-upload-card.is-uploaded {
	border-color: rgba(5, 150, 105, 0.35);
	background: linear-gradient(135deg, #ffffff 0%, #f2fbf7 100%);
}

.ci-credentialing-upload-card.is-upload-error {
	border-color: rgba(220, 38, 38, 0.35);
	background: linear-gradient(135deg, #ffffff 0%, #fff5f5 100%);
}

.ci-generated-packet-card {
	border: 1px solid rgba(26, 58, 95, 0.12);
	border-radius: 18px;
	background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}

.ci-generated-packet-output { display: block; }
.ci-generated-packet-card__head { margin-bottom: 0.8rem; }

.ci-generated-packet-premium {
	--gp-navy:#071b35;
	--gp-navy2:#0e2f5a;
	--gp-gold:#d6b45c;
	--gp-gold2:#f2d98a;
	--gp-cream:#fbf7ea;
	--gp-line:#e6e8ee;
	--gp-green:#1f8f5f;
	--gp-green-bg:#e9f8f0;
	--gp-yellow:#b7791f;
	--gp-yellow-bg:#fff6db;
	--gp-red:#b42318;
	--gp-red-bg:#feeceb;
	font-family: "Inter", "Segoe UI", Arial, sans-serif;
	border-radius: 24px;
	border: 1px solid rgba(214,180,92,.35);
	overflow: hidden;
	box-shadow: 0 24px 72px rgba(7,27,53,.14);
	background: #fff;
	font-size: 14px;
}

.ci-gp-topbar {
	background: linear-gradient(135deg,var(--gp-navy),#041021);
	color:#fff;
	padding: 1.6rem 1.8rem;
	display:flex;
	justify-content:space-between;
	gap:1.2rem;
	align-items:center;
}

.ci-gp-brand h2 { margin:0; font-size:2rem; letter-spacing: .01em; line-height:1.2; color:#fff; }
.ci-gp-brand p { margin:0.5rem 0 0; color:#d9e3f2; font-size:0.96rem; line-height:1.45; }
.ci-gp-seal { border:1px solid var(--gp-gold); color:var(--gp-gold2); border-radius:999px; padding:0.55rem 0.85rem; font-size:0.7rem; font-weight:600; letter-spacing:.12em; }

.ci-gp-hero { display:grid; grid-template-columns: 280px 1fr 260px; gap:1.25rem; padding:1.5rem 1.8rem; background:linear-gradient(180deg,#fff 0%,#fbfcff 100%); }
.ci-gp-photo-card { background:var(--gp-cream); border:1px solid #eadca8; border-radius:20px; padding:0.95rem; }
.ci-gp-headshot { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:14px; border:3px solid #fff; box-shadow:0 10px 24px rgba(7,27,53,.15); }
.ci-gp-headshot--placeholder { background:linear-gradient(135deg,#d8e0ec,#f7f2e5); }
.ci-gp-name { font-size:1.2rem; font-weight:900; color:var(--gp-navy); margin:0.8rem 0 0.2rem; }
.ci-gp-track { font-size:0.88rem; color:#667085; line-height: 1.45; }
.ci-gp-verified { margin-top:0.7rem; display:inline-flex; border:1px solid #eadca8; border-radius:999px; padding:0.42rem 0.65rem; font-size:0.74rem; font-weight:600; color:var(--gp-navy); background:#fff; }

.ci-gp-main-info h3 { margin:0; font-size:1.55rem; color:var(--gp-navy); line-height:1.25; }
.ci-gp-main-info p { margin:0.65rem 0 1.05rem; color:#475467; font-size:1rem; line-height:1.6; }
.ci-gp-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:0.75rem; }
.ci-gp-info-box { border:1px solid var(--gp-line); border-radius:14px; padding:0.7rem 0.78rem; }
.ci-gp-info-box .label { font-size:0.74rem; color:#667085; text-transform:uppercase; letter-spacing:.08em; font-weight:600; }
.ci-gp-info-box .value { margin-top:0.28rem; font-size:1rem; color:var(--gp-navy); font-weight:600; word-break:break-word; }

.ci-gp-score-card { background:linear-gradient(160deg,var(--gp-navy2),var(--gp-navy)); border-radius:20px; padding:1.1rem; color:#fff; }
.ci-gp-score-card .score-title { font-size:0.76rem; font-weight:600; letter-spacing:.1em; color:var(--gp-gold2); text-transform:uppercase; }
.ci-gp-score-card .score { font-size:2.7rem; font-weight:950; margin:0.35rem 0; }
.ci-gp-score-card .status { display:inline-block; background:var(--gp-green-bg); color:var(--gp-green); border-radius:999px; padding:0.3rem 0.56rem; font-weight:900; font-size:0.72rem; }
.ci-gp-score-card p { color:#d9e3f2; font-size:0.88rem; line-height:1.55; }
.ci-gp-score-card .actions { display:flex; gap:0.4rem; margin-top:0.5rem; }
.ci-gp-score-card .btn { border:0; border-radius:10px; padding:0.48rem 0.58rem; font-weight:900; font-size:0.73rem; cursor:pointer; }
.ci-gp-score-card .btn.primary { background:var(--gp-gold); color:#071b35; }
.ci-gp-score-card .btn.secondary { background:#fff; color:var(--gp-navy); }

/* Print / Save as PDF: Credentialing % pill + readiness tier — extra padding for legibility. */
@media print {
	.ci-generated-packet-premium .ci-gp-verified {
		margin-top: 0.45rem !important;
		padding: 0.38rem 0.85rem !important;
		font-size: 0.62rem !important;
		line-height: 1.35 !important;
		max-width: 100%;
		box-sizing: border-box;
	}
	.ci-generated-packet-premium .ci-gp-score-card .status {
		padding: 0.32rem 0.72rem !important;
		font-size: 0.58rem !important;
		line-height: 1.35 !important;
		font-weight: 800 !important;
		letter-spacing: 0.02em !important;
	}
}

.ci-gp-content { display:grid; grid-template-columns:1.2fr .95fr; gap:1.2rem; padding:0 1.8rem 1.4rem; align-items:start; }
.ci-gp-content > div,
.ci-gp-content > aside { align-self:start; min-width:0; }
.ci-gp-panel { background:#fff; border:1px solid var(--gp-line); border-radius:18px; padding:1.05rem; margin-bottom:0.95rem; }
.ci-gp-panel h3 { margin:0 0 0.75rem; font-size:1.12rem; color:var(--gp-navy); line-height:1.3; }
.ci-gp-panel-note { margin: -0.18rem 0 0.72rem; font-size:0.86rem; color:#667085; line-height:1.5; }
.ci-gp-clinical-row { display:grid; grid-template-columns:1.2fr .8fr .6fr .7fr; gap:0.48rem; align-items:center; padding:0.56rem 0; border-bottom:1px solid var(--gp-line); font-size:0.9rem; line-height:1.45; }
.ci-gp-clinical-row.header { color:#667085; font-size:0.69rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.ci-gp-badge { display:inline-block; border-radius:999px; padding:0.2rem 0.45rem; font-size:0.66rem; font-weight:900; }
.ci-gp-badge.green { background:var(--gp-green-bg); color:var(--gp-green); }
.ci-gp-badge.yellow { background:var(--gp-yellow-bg); color:var(--gp-yellow); }
.ci-gp-badge.red { background:var(--gp-red-bg); color:var(--gp-red); }
.ci-gp-competency-grid { display:grid; grid-template-columns:1fr 1fr; gap:0.6rem; }
.ci-gp-competency { border:1px solid var(--gp-line); border-radius:13px; padding:0.65rem; }
.ci-gp-comp-top { display:flex; justify-content:space-between; gap:0.45rem; align-items:center; }
.ci-gp-comp-name { font-weight:900; color:var(--gp-navy); font-size:0.86rem; }
.ci-gp-bar { height:7px; background:#edf0f5; border-radius:999px; margin-top:0.45rem; overflow:hidden; }
.ci-gp-fill { height:100%; border-radius:999px; background:var(--gp-green); }
.ci-gp-fill.yellow { background:var(--gp-yellow); }
.ci-gp-fill.red { background:var(--gp-red); }
.ci-gp-ai { background:linear-gradient(135deg,#fffdf4,#ffffff); border:1px solid #eadca8; }
.ci-gp-ai h3 span { color:var(--gp-gold); }
.ci-gp-ai p { color:#475467; line-height:1.62; margin:0; font-size:0.94rem; }

.ci-gp-checklist { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:0.5rem; }
.ci-gp-check { display:flex; justify-content:space-between; align-items:center; border:1px solid var(--gp-line); border-radius:10px; padding:0.58rem 0.62rem; font-size:0.86rem; line-height:1.4; gap:0.5rem; }
.ci-gp-check strong { color:var(--gp-navy); }
.ci-gp-check-groups { display:grid; gap:0.62rem; }
.ci-gp-check-group { border:1px solid var(--gp-line); border-radius:12px; padding:0.62rem; background:#fff; }
.ci-gp-check-group__head { display:flex; align-items:center; justify-content:space-between; gap:0.5rem; margin-bottom:0.5rem; padding-bottom:0.42rem; border-bottom:1px dashed rgba(26,58,95,0.16); }
.ci-gp-check-group__head h4 { margin:0; font-size:0.78rem; letter-spacing:0.07em; text-transform:uppercase; color:#475467; }
.ci-gp-check-group--green .ci-gp-check-group__head h4 { color:var(--gp-green); }
.ci-gp-check-group--yellow .ci-gp-check-group__head h4 { color:var(--gp-yellow); }
.ci-gp-check-group--red .ci-gp-check-group__head h4 { color:var(--gp-red); }
.ci-gp-sections { display:grid; gap:0.62rem; max-height:700px; overflow:auto; }
.ci-gp-sections--full { max-height:none; overflow:visible; grid-template-columns:1fr; gap:0.95rem; }
.ci-gp-panel--full { margin:0 1.8rem 1.2rem; }
.ci-gp-detailed-wrap { margin:0 0 1rem; }
.ci-gp-section { border:1px solid var(--gp-line); border-radius:16px; padding:0.88rem 0.9rem; background:#fff; }
.ci-gp-section h4 { margin:0 0 0.72rem; font-size:1.04rem; color:var(--gp-navy); display:block; padding-bottom:0.52rem; border-bottom:1px solid var(--gp-line); }
.ci-gp-section-badge {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:1.25rem;
	height:1.25rem;
	border-radius:999px;
	font-size:0.65rem;
	font-weight:900;
	color:#fff;
	background:#1f8f5f;
}
.ci-gp-section--a .ci-gp-section-badge { background:#0e2f5a; }
.ci-gp-section--b .ci-gp-section-badge { background:#1f8f5f; }
.ci-gp-section--c .ci-gp-section-badge { background:#b7791f; }
.ci-gp-section--d .ci-gp-section-badge { background:#2563eb; }
.ci-gp-section--e .ci-gp-section-badge { background:#7c3aed; }
.ci-gp-section--f .ci-gp-section-badge { background:#b42318; }
.ci-gp-section--g .ci-gp-section-badge { background:#0f766e; }

.ci-gp-section--a,
.ci-gp-section--b,
.ci-gp-section--c,
.ci-gp-section--d,
.ci-gp-section--e,
.ci-gp-section--f,
.ci-gp-section--g { border-left: 1px solid var(--gp-line); }
.ci-gp-row { display:grid; grid-template-columns:minmax(220px, 36%) minmax(0,1fr); gap:0.5rem; padding:0.42rem 0; border-top:1px solid rgba(26,58,95,0.08); }
.ci-gp-row:first-of-type { border-top:0; padding-top:0; }
/* Compliance Documents: compact rows, full list visible (no scroll box). */
.ci-gp-compliance-docs {
	display:flex;
	flex-direction:column;
	gap:0.32rem;
	padding:0;
}
.ci-gp-panel--compliance .ci-gp-section,
.ci-gp-panel--competency .ci-gp-section { padding:0.65rem 0.72rem; }
.ci-gp-panel--compliance .ci-gp-section > h4,
.ci-gp-panel--competency .ci-gp-section > h4 { margin-bottom:0.45rem; padding-bottom:0.38rem; }
.ci-gp-compliance-doc {
	border:1px solid rgba(26,58,95,0.12);
	border-radius:10px;
	padding:0.34rem 0.45rem;
	margin:0;
	background:#fafbfd;
}
.ci-gp-compliance-doc__bar {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:0.28rem 0.45rem;
	row-gap:0.2rem;
}
.ci-gp-compliance-doc__title {
	font-weight:900;
	color:var(--gp-navy);
	font-size:0.76rem;
	line-height:1.25;
	flex:1 1 9.5rem;
	min-width:0;
}
.ci-gp-compliance-doc__meta {
	font-size:0.66rem;
	line-height:1.3;
	font-weight:600;
	color:rgba(26,58,95,0.72);
	flex:1 1 7rem;
	min-width:0;
	word-break:break-word;
}
.ci-gp-compliance-doc__abbr {
	text-decoration:none;
	font-weight:900;
	color:rgba(26,58,95,0.45);
	cursor:help;
	border-bottom:0;
}
.ci-gp-compliance-doc__sep { color:rgba(26,58,95,0.35); font-weight:400; }
.ci-gp-compliance-doc__bar > .ci-gp-badge { flex:0 0 auto; font-size:0.58rem; padding:0.12rem 0.34rem; }
.ci-gp-compliance-doc__actions {
	flex:0 0 auto;
	margin-left:auto;
	display:inline-flex;
	align-items:center;
	gap:0.35rem;
	max-width:100%;
}
.ci-gp-compliance-doc__actions .ci-gp-doc-view { font-size:0.68rem !important; padding:0.26rem 0.48rem !important; }
.ci-gp-compliance-doc__nofile { font-size:0.68rem; font-weight:600; max-width:10rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ci-gp-doc-view {
	font-size:0.72rem !important;
	padding:0.32rem 0.55rem !important;
	font-weight:800 !important;
	border-radius:8px !important;
	border:1px solid var(--gp-line) !important;
	background:#fff !important;
	color:var(--gp-navy) !important;
	text-decoration:none !important;
	white-space:nowrap;
}
.ci-gp-doc-view:hover { border-color:var(--gp-navy) !important; background:var(--gp-cream) !important; }
.ci-gp-label { font-size:0.74rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:rgba(26,58,95,0.6); }
.ci-gp-value { font-size:0.93rem; line-height:1.5; color:#102a4a; word-break:break-word; font-weight:600; }
.ci-gp-value--empty { color:#98a2b3; font-style:italic; font-weight:600; }
.ci-gp-footer { padding:0.85rem 1.8rem; background:var(--gp-navy); color:rgba(255,255,255,.82); display:flex; justify-content:space-between; gap:0.5rem; font-size:0.67rem; letter-spacing:.1em; }

/* Share Link modal — clinical profile (social + copy). */
.ci-packet-share-modal {
	position:fixed;
	inset:0;
	z-index:100050;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:1rem;
	box-sizing:border-box;
}
.ci-packet-share-modal__backdrop {
	position:absolute;
	inset:0;
	background:rgba(7,27,53,0.55);
	backdrop-filter:blur(4px);
}
.ci-packet-share-modal__dialog {
	position:relative;
	width:100%;
	max-width:28rem;
	background:#fff;
	border-radius:18px;
	box-shadow:0 28px 80px rgba(7,27,53,0.28);
	border:1px solid rgba(26,58,95,0.12);
	padding:1.35rem 1.35rem 1.15rem;
	max-height:min(92vh, 34rem);
	overflow:auto;
}
.ci-packet-share-modal__close {
	position:absolute;
	top:0.65rem;
	right:0.65rem;
	width:2.25rem;
	height:2.25rem;
	border:0;
	border-radius:10px;
	background:rgba(26,58,95,0.06);
	color:var(--gp-navy);
	font-size:1.35rem;
	line-height:1;
	cursor:pointer;
	font-weight:600;
	display:flex;
	align-items:center;
	justify-content:center;
}
.ci-packet-share-modal__close:hover { background:rgba(26,58,95,0.12); }
.ci-packet-share-modal__title {
	margin:0 2rem 0.35rem 0;
	font-size:1.2rem;
	font-weight:900;
	color:var(--gp-navy);
	line-height:1.25;
	letter-spacing:-0.02em;
}
.ci-packet-share-modal__lead {
	margin:0 0 1rem;
	font-size:0.86rem;
	line-height:1.5;
	color:#64748b;
	font-weight:600;
}
.ci-packet-share-modal__url-row {
	display:flex;
	gap:0.45rem;
	margin-bottom:1.05rem;
	flex-wrap:wrap;
}
.ci-packet-share-modal__url {
	flex:1 1 12rem;
	min-width:0;
	border:1px solid var(--gp-line);
	border-radius:10px;
	padding:0.5rem 0.62rem;
	font-size:0.78rem;
	font-weight:600;
	color:#102a4a;
	background:#f8fafc;
}
.ci-packet-share-modal__copy { flex:0 0 auto; white-space:nowrap; }
.ci-packet-share-modal__social-label {
	margin:0 0 0.45rem;
	font-size:0.68rem;
	font-weight:900;
	letter-spacing:0.1em;
	text-transform:uppercase;
	color:#94a3b8;
}
.ci-packet-share-modal__social {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:0.45rem;
}
@media (min-width:480px) {
	.ci-packet-share-modal__social { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
.ci-packet-share-social {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:0.35rem;
	padding:0.55rem 0.5rem;
	border-radius:12px;
	font-size:0.78rem;
	font-weight:900;
	text-decoration:none !important;
	color:#fff !important;
	border:1px solid transparent;
	transition:transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
	min-height:2.65rem;
	box-sizing:border-box;
}
.ci-packet-share-social:hover {
	filter:brightness(1.06);
	box-shadow:0 6px 16px rgba(7,27,53,0.15);
	transform:translateY(-1px);
}
.ci-packet-share-social--fb { background:#1877f2; border-color:rgba(0,0,0,0.08); }
.ci-packet-share-social--tw { background:#0f1419; border-color:rgba(255,255,255,0.08); }
.ci-packet-share-social--li { background:#0a66c2; border-color:rgba(0,0,0,0.08); }
.ci-packet-share-social--wa { background:#25d366; border-color:rgba(0,0,0,0.08); }
.ci-packet-share-social--em {
	background:#f8fafc;
	color:#0f172a !important;
	border-color:var(--gp-line);
}
.ci-packet-share-social--em:hover { filter:none; background:#eef2f7; }
.ci-packet-share-modal__native {
	margin-top:0.65rem;
	width:100%;
	font-size:0.8rem !important;
}
.ci-packet-share-modal__settings {
	margin-top:0.75rem;
	width:100%;
	font-size:0.8rem !important;
}

/* Prevent horizontal overflow on student dashboard packet view. */
.ci-student-portal-dashboard,
.ci-student-portal-dashboard .ci-dashboard-shell,
.ci-student-portal-dashboard .ci-dashboard-content,
.ci-student-portal-dashboard #ci-section-generate-packet,
.ci-student-portal-dashboard .ci-generated-packet-card,
.ci-student-portal-dashboard .ci-generated-packet-output,
.ci-student-portal-dashboard .ci-generated-packet-section {
	max-width: 100%;
	min-width: 0;
}

.ci-student-portal-dashboard {
	overflow-x: hidden;
}

.ci-credentialing-upload-meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.55rem;
}

.ci-credentialing-upload-meta .ci-field label {
	font-size: 0.69rem;
	letter-spacing: 0.04em;
}

.ci-credentialing-upload-meta .ci-field input,
.ci-credentialing-upload-meta .ci-field select {
	padding: 0.5rem 0.58rem;
	font-size: 0.82rem;
	border-radius: 9px;
}

.ci-account-form--credentialing .ci-credentialing-section h4 {
	margin: 0 0 0.8rem;
	padding-bottom: 0.52rem;
	border-bottom: 1px solid rgba(26, 58, 95, 0.08);
	font-size: 1.03rem;
	letter-spacing: -0.01em;
	color: var(--care-inf-primary-dark);
}

.ci-account-form--credentialing .ci-credentialing-section .ci-muted {
	margin-bottom: 0.75rem;
}

@media (max-width: 900px) {
	.ci-credentialing-profile-layout {
		grid-template-columns: 1fr;
	}

	.ci-credentialing-profile-nav {
		position: static;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ci-account-form .ci-fields-grid {
		grid-template-columns: 1fr;
	}

	.ci-credentialing-upload-grid {
		grid-template-columns: 1fr;
	}

	.ci-credentialing-upload-meta {
		grid-template-columns: 1fr;
	}

	.ci-generated-packet-row {
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}

	.ci-generated-packet-premium .ci-gp-hero {
		grid-template-columns: 1fr;
	}

	.ci-generated-packet-premium .ci-gp-content {
		grid-template-columns: 1fr;
	}

	.ci-generated-packet-premium .ci-gp-info-grid,
	.ci-generated-packet-premium .ci-gp-competency-grid,
	.ci-generated-packet-premium .ci-gp-checklist {
		grid-template-columns: 1fr;
	}

	.ci-generated-packet-premium .ci-gp-footer,
	.ci-generated-packet-premium .ci-gp-topbar {
		flex-direction: column;
		align-items: flex-start;
	}

	.ci-generated-packet-premium .ci-gp-clinical-row,
	.ci-generated-packet-premium .ci-gp-row {
		grid-template-columns: 1fr;
	}

	.ci-generated-packet-premium {
		font-size: 13px;
	}

	.ci-gp-sections--full {
		grid-template-columns: 1fr;
	}

	.ci-gp-panel--full {
		margin: 0 1rem 1rem;
	}

	.ci-gp-detailed-wrap {
		margin: 0 1rem 1rem;
	}
}

@media print {
	@page {
		size: A4;
		margin: 8mm;
	}

	html, body {
		background: #fff !important;
	}

	body * {
		visibility: hidden !important;
	}

	#ci-section-generate-packet,
	#ci-section-generate-packet * {
		visibility: visible !important;
	}

	#ci-section-generate-packet {
		position: absolute !important;
		left: 0 !important;
		top: 0 !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.ci-generated-packet-card {
		border: 0 !important;
		box-shadow: none !important;
		background: #fff !important;
	}

	.ci-generated-packet-card__head {
		display: none !important;
	}

	.ci-generated-packet-premium {
		border: 1px solid #d4dbe6 !important;
		box-shadow: none !important;
		font-size: 14px !important;
	}

	.ci-generated-packet-premium .ci-gp-topbar,
	.ci-generated-packet-premium .ci-gp-score-card,
	.ci-generated-packet-premium .ci-gp-footer {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	.ci-generated-packet-premium,
	.ci-generated-packet-premium * {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	.ci-generated-packet-premium .ci-gp-panel,
	.ci-generated-packet-premium .ci-gp-section,
	.ci-generated-packet-premium .ci-gp-info-box,
	.ci-generated-packet-premium .ci-gp-competency {
		break-inside: avoid;
		page-break-inside: avoid;
	}

	.ci-generated-packet-premium .ci-gp-score-card .actions {
		display: none !important;
	}

	.ci-generated-packet-premium .ci-gp-sections {
		max-height: none !important;
		overflow: visible !important;
	}

	/* Keep print layout close to desktop even when responsive max-width rules match. */
	.ci-generated-packet-premium .ci-gp-hero {
		grid-template-columns: 230px 1fr 220px !important;
		gap: 0.9rem !important;
		padding: 1.15rem 1.2rem !important;
	}

	.ci-generated-packet-premium .ci-gp-content {
		grid-template-columns: 1.15fr 0.85fr !important;
		gap: 0.85rem !important;
		padding: 0 1.2rem 1rem !important;
	}

	.ci-generated-packet-premium .ci-gp-info-grid,
	.ci-generated-packet-premium .ci-gp-competency-grid,
	.ci-generated-packet-premium .ci-gp-checklist {
		grid-template-columns: 1fr 1fr !important;
	}

	.ci-generated-packet-premium .ci-gp-detailed-wrap,
	.ci-generated-packet-premium .ci-gp-panel--full {
		margin-left: 1.2rem !important;
		margin-right: 1.2rem !important;
	}
}

/* Dashboard account forms: add breathing room between fields. */
.ci-reviewer-account-form .ci-fields-grid,
.ci-coordinator-account-form .ci-fields-grid,
.ci-program-leadership-account-form .ci-fields-grid,
.ci-healthcare-org-account-form .ci-fields-grid {
	display: grid;
	gap: 0.75rem;
}

.ci-reviewer-account-form .ci-field,
.ci-coordinator-account-form .ci-field,
.ci-program-leadership-account-form .ci-field,
.ci-healthcare-org-account-form .ci-field {
	display: flex;
	flex-direction: column;
}

.ci-reviewer-account-form .ci-field label,
.ci-coordinator-account-form .ci-field label,
.ci-program-leadership-account-form .ci-field label,
.ci-healthcare-org-account-form .ci-field label {
	margin-bottom: 0.28rem;
}

.ci-reviewer-account-form .ci-step-actions,
.ci-coordinator-account-form .ci-step-actions,
.ci-program-leadership-account-form .ci-step-actions,
.ci-healthcare-org-account-form .ci-step-actions {
	margin-top: 0.9rem;
}

.ci-reviewer-account-form .ci-step-actions .btn.ci-btn-loading,
.ci-coordinator-account-form .ci-step-actions .btn.ci-btn-loading,
.ci-program-leadership-account-form .ci-step-actions .btn.ci-btn-loading,
.ci-healthcare-org-account-form .ci-step-actions .btn.ci-btn-loading,
.ci-account-form .ci-step-actions .btn.ci-btn-loading {
	opacity: 0.85;
	cursor: not-allowed;
}

.ci-account-form input[disabled] {
	background: #f0f4fa;
	color: #5a6c82;
	cursor: not-allowed;
}

.ci-support-form {
	margin-top: 0.8rem;
	padding-top: 0.85rem;
	border-top: 1px dashed rgba(26, 58, 95, 0.2);
}

.ci-field-full {
	grid-column: 1 / -1;
}

.ci-support-ticket-wrap {
	margin-top: 0.95rem;
	padding-top: 0.85rem;
	border-top: 1px dashed rgba(26, 58, 95, 0.2);
}

.ci-support-ticket-wrap h4 {
	margin: 0 0 0.6rem;
	font-size: 0.88rem;
	color: var(--care-inf-primary-dark);
}

.ci-support-ticket-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.5rem;
}

.ci-support-ticket-empty {
	font-size: 0.82rem;
	color: var(--care-inf-text-light);
}

.ci-support-ticket {
	padding: 0.6rem 0.68rem;
	border: 1px solid rgba(26, 58, 95, 0.16);
	border-radius: 10px;
	background: #ffffff;
}

.ci-support-ticket-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.22rem;
}

.ci-support-ticket-head strong {
	font-size: 0.82rem;
	color: var(--care-inf-primary-dark);
}

.ci-support-ticket-head span {
	font-size: 0.67rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--care-inf-primary);
}

.ci-support-ticket small {
	font-size: 0.72rem;
	color: var(--care-inf-text-light);
}

.ci-ticket-status-resolved {
	border-color: rgba(40, 167, 69, 0.3);
}

.ci-ticket-status-in_review {
	border-color: rgba(212, 175, 55, 0.34);
}

.ci-ticket-priority-urgent .ci-support-ticket-head span {
	color: #a32d2d;
}

.ci-ticket-overdue {
	border-color: rgba(163, 45, 45, 0.35);
}

.ci-ticket-escalated {
	border-color: rgba(15, 122, 137, 0.38);
	background: linear-gradient(180deg, #ffffff 0%, #f4fbfc 100%);
}

.ci-auth-wrap {
	padding: 2.4rem 0 2.6rem;
}

.ci-auth-wrap-single {
	max-width: 860px;
	margin: 0 auto;
	padding: 1.7rem 1rem;
	border-radius: 18px;
	border: 1px solid rgba(26, 58, 95, 0.14);
	background: linear-gradient(145deg, #f9fcff 0%, #eef5ff 52%, #fdf7ea 100%);
	box-shadow: 0 14px 28px rgba(16, 42, 74, 0.08);
}

.ci-auth-wrap-single .ci-auth-grid {
	grid-template-columns: minmax(0, 1fr);
}

.ci-auth-wrap-single .ci-auth-card {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 251, 255, 0.98) 100%);
}

.ci-auth-head {
	margin-bottom: 0.9rem;
}

.ci-auth-head h2 {
	margin: 0 0 0.35rem;
	font-size: clamp(1.55rem, 2.2vw, 2rem);
	color: var(--care-inf-primary-dark);
}

.ci-auth-head p {
	margin: 0;
	color: var(--care-inf-text-light);
	font-size: 0.95rem;
}

.ci-auth-switch {
	display: inline-flex;
	gap: 0.5rem;
	padding: 0.35rem;
	border: 1px solid rgba(26, 58, 95, 0.18);
	border-radius: 12px;
	background: #ffffff;
	margin: 0 0 1rem;
}

.ci-auth-switch a {
	padding: 0.5rem 0.85rem;
	border-radius: 9px;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--care-inf-primary-dark);
	text-decoration: none;
}

.ci-auth-switch a.active {
	background: rgba(26, 58, 95, 0.1);
}

.ci-auth-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.ci-auth-card {
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
	border: 1px solid rgba(26, 58, 95, 0.14);
	border-radius: 14px;
	padding: 1rem;
	box-shadow: 0 8px 18px rgba(16, 42, 74, 0.07);
}

.ci-auth-card h3 {
	margin: 0 0 0.72rem;
	font-size: 1.02rem;
	color: var(--care-inf-primary-dark);
}

.ci-auth-form .ci-fields-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin-bottom: 15px;
}

.ci-auth-form .ci-field {
	min-width: 0;
}

.ci-auth-form .ci-field label {
	display: block;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	margin-bottom: 0.3rem;
	color: var(--care-inf-primary-dark);
}

.ci-auth-form .ci-field input,
.ci-auth-form .ci-field textarea,
.ci-auth-form .ci-field select {
	width: 100%;
	min-height: 46px;
	padding: 0.56rem 0.65rem;
	border-radius: 8px;
	border: 1px solid rgba(26, 58, 95, 0.2);
	background: #ffffff;
	font-size: 0.86rem;
}

.ci-auth-form .ci-field textarea {
	min-height: 110px;
	resize: vertical;
}

.ci-auth-form .ci-field input:focus,
.ci-auth-form .ci-field textarea:focus,
.ci-auth-form .ci-field select:focus {
	outline: none;
	border-color: rgba(26, 58, 95, 0.45);
	box-shadow: 0 0 0 3px rgba(26, 58, 95, 0.12);
}

/* Password + eye toggle (student / nurse / teacher / program leadership auth) */
.ci-password-field {
	position: relative;
	display: block;
	width: 100%;
}

.ci-password-field > input[type="password"],
.ci-password-field > input[type="text"] {
	width: 100%;
	box-sizing: border-box;
	padding-right: 3rem;
}

/*
 * Override global.css `button` / `button:hover` (gradient, transform, shadow)
 * — must beat button:hover (0,1,1) with type + class selectors.
 */
.ci-auth-wrap button.ci-password-toggle,
.ci-registration-card button.ci-password-toggle,
.ci-password-field button.ci-password-toggle {
	position: absolute;
	right: 0.45rem;
	top: 0;
	bottom: 0;
	margin: auto 0;
	width: 2.65rem;
	height: 2.65rem;
	padding: 0;
	border: none;
	border-radius: 8px;
	background: transparent;
	box-shadow: none;
	color: var(--care-inf-primary-dark, #1a3a5f);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0.82;
	transform: none;
	transition: none;
	letter-spacing: normal;
	-webkit-appearance: none;
	appearance: none;
}

.ci-auth-wrap button.ci-password-toggle:hover,
.ci-auth-wrap button.ci-password-toggle:focus,
.ci-auth-wrap button.ci-password-toggle:focus-visible,
.ci-auth-wrap button.ci-password-toggle:active,
.ci-registration-card button.ci-password-toggle:hover,
.ci-registration-card button.ci-password-toggle:focus,
.ci-registration-card button.ci-password-toggle:focus-visible,
.ci-registration-card button.ci-password-toggle:active,
.ci-password-field button.ci-password-toggle:hover,
.ci-password-field button.ci-password-toggle:focus,
.ci-password-field button.ci-password-toggle:focus-visible,
.ci-password-field button.ci-password-toggle:active {
	background: transparent;
	color: var(--care-inf-primary-dark, #1a3a5f);
	border: none;
	box-shadow: none;
	outline: none;
	opacity: 0.82;
	transform: none;
	text-decoration: none;
}

.ci-password-toggle__icons {
	display: flex;
	align-items: center;
	justify-content: center;
}

.ci-password-toggle__eye {
	display: block;
}

.ci-password-toggle.is-visible .ci-password-toggle__eye--open {
	display: none;
}

.ci-password-toggle:not(.is-visible) .ci-password-toggle__eye--off {
	display: none;
}

.ci-registration-card .ci-form-group .ci-password-field > input[type="password"],
.ci-registration-card .ci-form-group .ci-password-field > input[type="text"] {
	padding-right: 3rem;
}

.ci-student-register-page .ci-auth-wrap-single {
	max-width: 1020px;
}

#ci-student-login-form .login-username,
#ci-student-login-form .login-password,
#ci-student-login-form .login-remember,
#ci-admin-login-form .login-username,
#ci-admin-login-form .login-password,
#ci-admin-login-form .login-remember {
	margin: 0 0 0.68rem;
}

#ci-student-login-form label,
#ci-admin-login-form label {
	display: block;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	margin-bottom: 0.3rem;
	color: var(--care-inf-primary-dark);
}

#ci-student-login-form input[type="text"],
#ci-student-login-form input[type="password"],
#ci-student-login-form input[type="email"],
#ci-admin-login-form input[type="text"],
#ci-admin-login-form input[type="password"],
#ci-admin-login-form input[type="email"] {
	width: 100%;
	padding: 0.56rem 0.65rem;
	border-radius: 8px;
	border: 1px solid rgba(26, 58, 95, 0.2);
	background: #ffffff;
	font-size: 0.86rem;
}

#ci-student-login-form .login-remember,
#ci-admin-login-form .login-remember {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

#ci-student-login-form .login-remember label,
#ci-admin-login-form .login-remember label {
	margin: 0;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0;
}

#ci-student-login-form .login-submit,
#ci-admin-login-form .login-submit {
	margin: 0;
}

/* =============================================
   CONTACT FORM STYLING - Professional Design
   ============================================= */

/* Compact Professional Hero */
.contact-page-hero {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-top: 0;
	height: auto;
	min-height: 400px;
	padding: 4rem 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--care-inf-primary) 0%, var(--care-inf-primary-dark) 100%);
	color: #ffffff;
	text-align: center;
	overflow: hidden;
}

.contact-page-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(26, 58, 95, 0.8) 0%, rgba(16, 42, 74, 0.9) 100%);
	z-index: 0;
}

.contact-page-hero .container {
	position: relative;
	z-index: 1;
}

.contact-hero-content {
	max-width: 700px;
	margin: 0 auto;
}

.contact-page-hero h1 {
	margin: 0 0 0.75rem;
	font-size: 2.5rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: #ffffff;
}

.contact-page-hero p {
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.92);
}

/* Main Contact Section */
.contact-main-section {
	padding: 4.5rem 0 5rem;
	background: transparent;
}

.contact-main-section .container {
	background: transparent;
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
}

.contact-main-section--editor .contact-page-editor {
	background: #ffffff;
	border-radius: 24px;
	padding: 2.5rem 2.75rem;
	box-shadow: 0 12px 48px rgba(16, 42, 74, 0.12);
}

.contact-main-section--editor .care-inf-cf7-wrap--after-content {
	margin-top: 2rem;
}

.contact-page-editor .care-inf-contact-columns {
	margin-bottom: 0;
}

.contact-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	align-items: stretch;
	width: 100%;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 12px 48px rgba(16, 42, 74, 0.15);
}

/* Contact Info Section */
.contact-info-section {
	padding: 3rem 2.5rem;
	background: linear-gradient(135deg, #1a3a5f 0%, #0d1f39 100%);
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.contact-info-section::before {
	content: '';
	position: absolute;
	top: -30%;
	right: -30%;
	width: 500px;
	height: 500px;
	background: radial-gradient(circle, rgba(212, 175, 55, 0.12) 0%, transparent 65%);
	pointer-events: none;
}

.contact-info-section::after {
	content: '';
	position: absolute;
	bottom: -20%;
	left: -20%;
	width: 400px;
	height: 400px;
	background: radial-gradient(circle, rgba(212, 175, 55, 0.08) 0%, transparent 70%);
	pointer-events: none;
}

.contact-info-section h2 {
	margin: 0 0 1.5rem;
	font-size: 2.2rem;
	font-weight: 600;
	letter-spacing: -0.03em;
	color: #ffffff;
	line-height: 1.15;
	position: relative;
	z-index: 1;
}

.contact-info-section h2::after {
	content: '';
	display: block;
	width: 80px;
	height: 4px;
	background: linear-gradient(90deg, #d4af37 0%, rgba(212, 175, 55, 0.4) 100%);
	margin-top: 1rem;
	border-radius: 2px;
}

/* Contact Cards */
.contact-card {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 0 0 1.5rem 0;
	margin-bottom: 1.5rem;
	background: transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 0;
	box-shadow: none;
	transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	z-index: 1;
}

.contact-card:last-child {
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: 0;
}

.contact-card:hover {
	background: transparent;
	border-color: rgba(212, 175, 55, 0.3);
	transform: translateX(0);
	box-shadow: none;
	padding-left: 0.5rem;
}

.contact-card-icon {
	font-size: 2rem;
	line-height: 1;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(212, 175, 55, 0.18);
	border-radius: 12px;
	flex-shrink: 0;
	border: 1px solid rgba(212, 175, 55, 0.25);
	transition: all 0.3s ease;
	color: #ffffff;
}

.contact-card-icon svg {
	width: 24px;
	height: 24px;
	stroke: currentColor;
}

.contact-card:hover .contact-card-icon {
	background: rgba(212, 175, 55, 0.25);
	border-color: rgba(212, 175, 55, 0.4);
	transform: scale(1.05);
}

.contact-card-content {
	flex: 1;
	min-width: 0;
}

.contact-card h3 {
	margin: 0 0 0.4rem;
	font-size: 1rem;
	font-weight: 600;
	color: #ffffff;
	letter-spacing: -0.01em;
}

.contact-card p {
	margin: 0 0 0.65rem;
	font-size: 0.88rem;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.5;
}

.contact-card-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: #d4af37;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.3s ease;
	font-size: 0.92rem;
	padding: 0;
	background: transparent;
	border-radius: 0;
	border: 0;
	border-bottom: 2px solid transparent;
}

.contact-card-link:hover {
	background: transparent;
	border-bottom-color: #d4af37;
	transform: translateX(0);
	color: #f0d98f;
}

.support-categories-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.support-categories-list li {
	margin: 0;
	padding: 0.4rem 0.75rem;
	position: relative;
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.9);
	background: rgba(212, 175, 55, 0.15);
	border: 1px solid rgba(212, 175, 55, 0.3);
	border-radius: 6px;
	font-weight: 600;
	transition: all 0.3s ease;
}

.support-categories-list li:hover {
	background: rgba(212, 175, 55, 0.25);
	border-color: rgba(212, 175, 55, 0.45);
	transform: translateY(-1px);
}

.support-categories-list li::before {
	content: '';
	display: none;
}

/* Contact Form Section */
.contact-form-section {
	padding: 3rem 2.5rem;
	background: linear-gradient(135deg, #fafcff 0%, #f5f9ff 100%);
	border: 0;
	border-radius: 0;
	box-shadow: none;
	position: static;
	top: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.contact-form-section h2 {
	margin: 0 0 0.75rem;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--care-inf-primary-dark);
	line-height: 1.2;
}

.contact-form-section > p {
	margin: 0 0 2rem;
	font-size: 0.95rem;
	color: rgba(26, 58, 95, 0.7);
	line-height: 1.6;
}

/* Contact Form 7 (any layout on Contact template) */
.contact-form-section .care-inf-cf7-wrap,
.page-contact .care-inf-cf7-wrap {
	margin-top: 0.5rem;
}

.contact-form-section .care-inf-cf7-admin-hint,
.contact-form-section .care-inf-cf7-missing,
.page-contact .care-inf-cf7-admin-hint,
.page-contact .care-inf-cf7-missing {
	margin: 0;
	padding: 1rem 1.1rem;
	border-radius: 10px;
	font-size: 0.95rem;
	line-height: 1.5;
}

.contact-form-section .care-inf-cf7-admin-hint,
.page-contact .care-inf-cf7-admin-hint {
	background: #fff8e6;
	border: 1px solid rgba(26, 58, 95, 0.15);
	color: var(--care-inf-primary-dark);
}

.contact-form-section .care-inf-cf7-missing,
.page-contact .care-inf-cf7-missing {
	background: #f9fbff;
	border: 1px solid rgba(26, 58, 95, 0.12);
	color: rgba(26, 58, 95, 0.85);
}

.page-contact .wpcf7-form p {
	margin: 0 0 1rem;
}

.page-contact .wpcf7-form label {
	display: block;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	letter-spacing: -0.01em;
	margin: 0 0 0.5rem;
}

.page-contact .wpcf7-form label .required {
	color: #e63946;
	font-weight: 600;
	margin-left: 0.15rem;
}

.page-contact .care-inf-cf7-grid .care-inf-cf7-row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 1rem;
	align-items: start;
	margin-bottom: 0.25rem;
}

.page-contact .care-inf-cf7-grid .care-inf-cf7-col {
	min-width: 0;
	margin-bottom: 0.75rem;
}

.page-contact .care-inf-cf7-grid .care-inf-cf7-col label {
	margin-bottom: 0.35rem;
}

.page-contact .care-inf-cf7-acceptance {
	margin: 0.5rem 0 1rem;
	font-size: 0.9rem;
	font-weight: 500;
	display: flex;
	line-height: 1.5;
}

.page-contact .care-inf-cf7-acceptance .wpcf7-form-control-wrap {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.page-contact .care-inf-cf7-acceptance .wpcf7-list-item,
.page-contact span.wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.5rem 0.75rem;
}

.page-contact .care-inf-cf7-acceptance label,
.page-contact span.wpcf7-form-control.wpcf7-acceptance label {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	flex-wrap: nowrap;
	gap: 0.5rem 0.65rem;
	font-weight: 500;
	cursor: pointer;
	margin-bottom: 0;
}

.page-contact .care-inf-cf7-acceptance .wpcf7-list-item-label,
.page-contact span.wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label {
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.45;
}

/* CF7: wpcf7-form-control is on a span wrapper for acceptance — do not treat it like a text field */
.page-contact span.wpcf7-form-control.wpcf7-acceptance {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.5rem 0.75rem;
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	max-width: 100%;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.45;
	color: var(--care-inf-text-color);
	box-sizing: border-box;
}

.page-contact .care-inf-cf7-acceptance input[type="checkbox"],
.page-contact span.wpcf7-form-control.wpcf7-acceptance input[type="checkbox"] {
	width: 1.125rem;
	height: 1.125rem;
	min-width: 1.125rem;
	padding: 0;
	margin: 0;
	flex-shrink: 0;
	border: 2px solid rgba(26, 58, 95, 0.35);
	border-radius: 4px;
	background: #fff;
	box-shadow: none;
	accent-color: var(--care-inf-primary, #1a3a5f);
}

.page-contact .care-inf-cf7-acceptance input[type="checkbox"]:focus,
.page-contact span.wpcf7-form-control.wpcf7-acceptance input[type="checkbox"]:focus {
	outline: none;
	box-shadow: 0 0 0 2px rgba(26, 58, 95, 0.12);
}

.page-contact .wpcf7-form-control-wrap {
	display: block;
}

/* Any CF7 acceptance row (even without .care-inf-cf7-acceptance on <p>) — block wrap was stacking checkbox + label */
.page-contact .wpcf7-form-control-wrap:has(> .wpcf7-form-control.wpcf7-acceptance),
.page-contact .wpcf7-form-control-wrap:has(.wpcf7-acceptance) {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem 0.75rem;
	width: 5%;
}

.contact-form-section .wpcf7-form-control-wrap:has(> .wpcf7-form-control.wpcf7-acceptance),
.contact-form-section .wpcf7-form-control-wrap:has(.wpcf7-acceptance) {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem 0.75rem;
	width: 5%;
}

.page-contact .wpcf7-form .wpcf7-form-control-wrap:has(.wpcf7-acceptance) label {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	flex-wrap: nowrap;
	gap: 0.5rem 0.65rem;
	font-weight: 500;
	cursor: pointer;
	margin-bottom: 0;
}

.page-contact input.wpcf7-form-control:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not(.wpcf7-submit),
.page-contact select.wpcf7-form-control,
.page-contact textarea.wpcf7-form-control {
	width: 100%;
	padding: 0.85rem 1.1rem;
	font-size: 0.95rem;
	border: 1px solid rgba(26, 58, 95, 0.15);
	border-radius: 10px;
	background: #ffffff;
	color: var(--care-inf-text-color);
	font-family: inherit;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-contact input.wpcf7-form-control:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not(.wpcf7-submit):focus,
.page-contact select.wpcf7-form-control:focus,
.page-contact textarea.wpcf7-form-control:focus {
	outline: none;
	border-color: var(--care-inf-primary);
	box-shadow: 0 0 0 3px rgba(26, 58, 95, 0.1);
}

.page-contact textarea.wpcf7-form-control {
	min-height: 120px;
	resize: vertical;
	line-height: 1.6;
}

.page-contact .wpcf7-submit {
	padding: 1.1rem 2rem;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	border-radius: 10px;
	background: linear-gradient(135deg, #1a3a5f 0%, #102a4a 100%);
	color: #ffffff;
	border: 0;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 6px 20px rgba(26, 58, 95, 0.25);
	width: 100%;
	text-align: center;
	margin-top: 0.25rem;
}

.page-contact .wpcf7-submit:hover {
	background: linear-gradient(135deg, #0d1f39 0%, #1a3a5f 100%);
	transform: translateY(-2px);
	box-shadow: 0 8px 28px rgba(26, 58, 95, 0.35);
}

.page-contact .wpcf7-response-output {
	margin: 1rem 0 0;
	border-radius: 8px;
	font-size: 0.9rem;
}

.form-row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}

.form-group {
	display: grid;
	gap: 0.5rem;
}

.form-group label {
	display: block;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	letter-spacing: -0.01em;
	margin: 0;
}

.form-group label .required {
	color: #e63946;
	font-weight: 600;
	margin-left: 0.2rem;
}

.form-group input,
.form-group select,
.form-group textarea {
	width: 100%;
	padding: 0.85rem 1.1rem;
	font-size: 0.95rem;
	border: 1px solid rgba(26, 58, 95, 0.15);
	border-radius: 10px;
	background: #ffffff;
	color: var(--care-inf-text-color);
	font-family: inherit;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-sizing: border-box;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
	color: rgba(26, 58, 95, 0.5);
}

.form-group input:hover,
.form-group select:hover,
.form-group textarea:hover {
	border-color: rgba(26, 58, 95, 0.35);
	background: #f9fbff;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
	outline: none;
	border-color: var(--care-inf-primary);
	box-shadow: 0 0 0 3px rgba(26, 58, 95, 0.1);
	background: #ffffff;
}

.form-group textarea {
	resize: vertical;
	min-height: 120px;
	line-height: 1.6;
}

.form-group select {
	cursor: pointer;
	padding-right: 2.5rem;
	background-image: linear-gradient(135deg, transparent 50%, var(--care-inf-primary) 50%), linear-gradient(45deg, var(--care-inf-primary) 50%, transparent 50%);
	background-position: right 0.8rem center, right 0.3rem center;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.form-group select:focus {
	background-image: linear-gradient(135deg, transparent 50%, var(--care-inf-accent) 50%), linear-gradient(45deg, var(--care-inf-accent) 50%, transparent 50%);
}

.checkbox-group {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-top: 0.5rem;
}

.checkbox-group input[type="checkbox"] {
	width: 22px;
	height: 22px;
	min-width: 22px;
	margin-top: 0;
	cursor: pointer;
	accent-color: var(--care-inf-accent);
}

.checkbox-group label {
	flex: 1;
	margin: 0;
	font-weight: 500;
	font-size: 0.9rem;
	line-height: 1.5;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.checkbox-group label .required {
	color: #e63946;
	font-weight: 600;
}

/* Submit Button */
.btn-submit {
	padding: 1.1rem 2rem;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	border-radius: 10px;
	background: linear-gradient(135deg, #1a3a5f 0%, #102a4a 100%);
	color: #ffffff;
	border: 0;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 6px 20px rgba(26, 58, 95, 0.25);
	width: 100%;
	text-align: center;
	margin-top: 0.5rem;
}

.btn-submit:hover {
	background: linear-gradient(135deg, #0d1f39 0%, #1a3a5f 100%);
	transform: translateY(-2px);
	box-shadow: 0 8px 28px rgba(26, 58, 95, 0.35);
}

.btn-submit:active {
	transform: translateY(0);
	box-shadow: 0 4px 14px rgba(26, 58, 95, 0.25);
}

.form-note {
	margin: 1rem 0 0;
	font-size: 0.85rem;
	color: var(--care-inf-text-light);
	text-align: center;
}

/* Responsive Design */
@media (max-width: 1024px) {
	.contact-wrapper {
		grid-template-columns: 1fr;
		border-radius: 20px;
	}

	.contact-form-section {
		position: static;
		top: auto;
	}

	.contact-page-hero h1 {
		font-size: 2rem;
	}

	.contact-page-hero p {
		font-size: 1rem;
	}
}

@media (max-width: 768px) {
	.contact-main-section {
		padding: 3rem 0 4rem;
	}

	.contact-page-hero {
		margin-top: 0;
		padding: 2.5rem 0;
		min-height: 400px;
	}

	.contact-page-hero h1 {
		font-size: 1.75rem;
	}

	.contact-page-hero p {
		font-size: 0.95rem;
	}

	.contact-info-section h2,
	.contact-form-section h2 {
		font-size: 1.5rem;
		margin-bottom: 1.25rem;
	}

	.contact-info-section,
	.contact-form-section {
		padding: 2rem 1.5rem;
	}

	.contact-main-section--editor .contact-page-editor {
		padding: 2rem 1.5rem;
		border-radius: 20px;
	}

	.form-row {
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}

	.page-contact .care-inf-cf7-grid .care-inf-cf7-row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.form-group {
		gap: 0.4rem;
	}

	.form-group label {
		font-size: 0.85rem;
	}

	.form-group input,
	.form-group select,
	.form-group textarea {
		padding: 0.75rem 0.9rem;
		font-size: 0.9rem;
	}

	.contact-card {
		padding-bottom: 1.25rem;
		margin-bottom: 1.25rem;
	}

	.contact-card h3 {
		font-size: 0.95rem;
	}

	.btn-submit {
		padding: 1rem 1.5rem;
		font-size: 0.95rem;
	}

	.contact-wrapper {
		border-radius: 16px;
	}
}

.ci-auth-links {
	margin: 0.7rem 0 0;
	font-size: 0.82rem;
}

.ci-auth-links a {
	color: var(--care-inf-primary);
	font-weight: 600;
	text-decoration: none;
}

.ci-auth-links-sep {
	margin: 0 0.4rem;
	opacity: 0.6;
}

/* Dynamic registration: role-based field groups (shown by JS) */
.ci-register-role-wrap { margin-bottom: 1rem; }
.ci-register-role-wrap select {
	width: 100%;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--care-inf-border, #e2e8f0);
	border-radius: 6px;
	font-size: 1rem;
}
.ci-register-approval-notice {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	line-height: 1.45;
}
.ci-register-for-student,
.ci-register-for-preceptor,
.ci-register-for-faculty {
	display: none;
}

.ci-auth-head-note {
	font-size: 0.9rem;
	opacity: 0.9;
	margin-top: 0.5rem;
}

.ci-dashboard-welcome {
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--care-inf-border, #e2e8f0);
}
.ci-dashboard-section-title {
	font-size: 1.25rem;
	margin-top: 1rem;
}
.ci-reviewer-dashboard .ci-dashboard-welcome h2 {
	margin-top: 0;
}

/* Role-specific colors & accents: Nurse vs Teacher */
.ci-dashboard-role-nurse {
	--ci-role-accent: #0d9488;
	--ci-role-accent-light: rgba(13, 148, 136, 0.15);
	--ci-role-accent-border: rgba(13, 148, 136, 0.35);
}
.ci-dashboard-role-teacher {
	--ci-role-accent: #b45309;
	--ci-role-accent-light: rgba(180, 83, 9, 0.15);
	--ci-role-accent-border: rgba(180, 83, 9, 0.35);
}

.ci-dashboard-role-nurse .ci-dashboard-hero {
	border-left: 4px solid var(--ci-role-accent);
}
.ci-dashboard-role-nurse .ci-hero-kicker {
	color: var(--ci-role-accent);
}
.ci-dashboard-role-nurse .ci-hero-chip {
	background: var(--ci-role-accent-light);
	border-color: var(--ci-role-accent-border);
}
.ci-dashboard-role-nurse .ci-hero-chip strong {
	color: var(--ci-role-accent);
}
.ci-dashboard-role-nurse .ci-reviewer-sidebar-info {
	border-left: 3px solid var(--ci-role-accent);
	background: linear-gradient(135deg, rgba(13, 148, 136, 0.06) 0%, #f8fbff 100%);
}
.ci-dashboard-role-nurse .ci-quick-action-icon {
	background: var(--ci-role-accent-light);
	color: var(--ci-role-accent);
}
.ci-dashboard-role-nurse .ci-resource-card-icon {
	background: var(--ci-role-accent-light);
	color: var(--ci-role-accent);
}
.ci-dashboard-role-nurse .ci-reviewer-tip-card {
	border-left-color: var(--ci-role-accent);
	background: linear-gradient(135deg, rgba(13, 148, 136, 0.08) 0%, #eef7ff 100%);
}
.ci-dashboard-role-nurse .ci-btn-view-profile {
	background: var(--ci-role-accent);
}
.ci-dashboard-role-nurse .ci-btn-view-profile:hover {
	background: #0f766e;
	box-shadow: 0 4px 12px rgba(13, 148, 136, 0.35);
}

.ci-dashboard-role-teacher .ci-dashboard-hero {
	border-left: 4px solid var(--ci-role-accent);
}
.ci-dashboard-role-teacher .ci-hero-kicker {
	color: var(--ci-role-accent);
}
.ci-dashboard-role-teacher .ci-hero-chip {
	background: var(--ci-role-accent-light);
	border-color: var(--ci-role-accent-border);
}
.ci-dashboard-role-teacher .ci-hero-chip strong {
	color: var(--ci-role-accent);
}
.ci-dashboard-role-teacher .ci-reviewer-sidebar-info {
	border-left: 3px solid var(--ci-role-accent);
	background: linear-gradient(135deg, rgba(180, 83, 9, 0.06) 0%, #fffbeb 100%);
}
.ci-dashboard-role-teacher .ci-quick-action-icon {
	background: var(--ci-role-accent-light);
	color: var(--ci-role-accent);
}
.ci-dashboard-role-teacher .ci-resource-card-icon {
	background: var(--ci-role-accent-light);
	color: var(--ci-role-accent);
}
.ci-dashboard-role-teacher .ci-reviewer-tip-card {
	border-left-color: var(--ci-role-accent);
	background: linear-gradient(135deg, rgba(180, 83, 9, 0.08) 0%, #fffbeb 100%);
}
.ci-dashboard-role-teacher .ci-btn-view-profile {
	background: var(--ci-role-accent);
}
.ci-dashboard-role-teacher .ci-btn-view-profile:hover {
	background: #92400e;
	box-shadow: 0 4px 12px rgba(180, 83, 9, 0.35);
}

/* Role icon next to page title: Nurse = medical cross, Teacher = book */
.ci-dashboard-role-nurse .ci-dashboard-page-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.ci-dashboard-role-nurse .ci-dashboard-page-title::before {
	content: "\2695";
	display: inline-block;
	font-size: 0.85em;
	color: var(--ci-role-accent);
	line-height: 1;
}
.ci-dashboard-role-teacher .ci-dashboard-page-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.ci-dashboard-role-teacher .ci-dashboard-page-title::before {
	content: "\270E";
	display: inline-block;
	font-size: 0.85em;
	color: var(--ci-role-accent);
	line-height: 1;
}

/* ========== Reviewer Dashboard Redesign ========== */
.ci-reviewer-redesign .ci-dashboard-shell {
	background: linear-gradient(160deg, #f1f5f9 0%, #e2e8f0 50%, #f8fafc 100%);
	padding: clamp(16px, 2vw, 24px);
	gap: clamp(16px, 2vw, 24px);
}

.ci-reviewer-redesign .ci-dashboard-top-header {
	padding: 1rem 1.5rem;
	border-radius: 16px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.8);
}

.ci-reviewer-redesign .ci-dashboard-page-subtitle {
	font-size: 0.85rem;
	margin-top: 0.2rem;
}

.ci-reviewer-redesign .ci-dashboard-sidebar {
	border-radius: 16px;
	padding: 1.25rem 1rem;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
}

.ci-reviewer-redesign .ci-dashboard-nav-link {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
	padding: 0.6rem 0.85rem;
	border-radius: 10px;
	margin-bottom: 2px;
	font-size: 0.9rem;
}

.ci-reviewer-redesign .ci-sidebar-quicklinks {
	padding-left: 0.85rem;
	padding-right: 0.85rem;
}

.ci-reviewer-redesign .ci-dashboard-nav-link:hover,
.ci-reviewer-redesign .ci-dashboard-nav-link.is-active {
	background: rgba(26, 58, 95, 0.06);
}

.ci-reviewer-redesign .ci-dashboard-hero {
	grid-template-columns: 1fr auto;
	min-height: auto;
	padding: 1.5rem 1.75rem;
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}
.ci-reviewer-redesign .ci-dashboard-hero-main h3 {
	font-size: 1.35rem;
	margin: 0 0 0.4rem;
}
.ci-reviewer-redesign .ci-dashboard-hero-main p {
	font-size: 0.95rem;
	line-height: 1.5;
	margin: 0 0 1rem;
	max-width: 52ch;
}
.ci-reviewer-redesign .ci-dashboard-hero-meta {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	align-self: center;
}
.ci-reviewer-redesign .ci-hero-chip {
	padding: 0.6rem 1rem;
	border-radius: 10px;
	min-width: 100px;
	text-align: center;
}
.ci-reviewer-redesign .ci-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}
.ci-reviewer-redesign .ci-hero-actions .btn {
	padding: 0.55rem 1.1rem;
	font-size: 0.9rem;
}

.ci-reviewer-redesign .ci-kpi-grid {
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 1rem;
	margin-top: 1rem;
}
.ci-reviewer-redesign .ci-kpi-card {
	min-height: 80px;
	padding: 1rem 1.25rem;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
.ci-reviewer-redesign .ci-kpi-card--dso-due {
	border-color: rgba(229, 57, 53, 0.28);
	box-shadow: 0 2px 12px rgba(229, 57, 53, 0.08);
}
.ci-kpi-foot {
	margin: 0.5rem 0 0;
	font-size: 0.82rem;
	line-height: 1.35;
}
.ci-kpi-foot a {
	font-weight: 600;
}
.ci-quick-action-card--dso {
	position: relative;
}
.ci-quick-action-card--dso .ci-quick-action-count {
	position: absolute;
	top: 0.45rem;
	right: 0.45rem;
	min-width: 1.45rem;
	height: 1.45rem;
	padding: 0 0.35rem;
	border-radius: 999px;
	background: #b71c1c;
	color: #fff;
	font-size: 0.72rem;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
.ci-reviewer-redesign .ci-kpi-card .ci-kpi-value,
.ci-reviewer-redesign .ci-kpi-card a.ci-kpi-value {
	font-size: 1.25rem;
}

/* Coordinator dashboard — six-step workflow guide */
.ci-co-workflow-card {
	margin-top: 1.5rem;
	padding: 1.25rem 1.5rem;
	border-radius: 14px;
	border: 1px solid rgba(26, 58, 95, 0.1);
	background: linear-gradient(145deg, #ffffff 0%, #f4f8fc 100%);
	box-shadow: 0 4px 18px rgba(16, 42, 74, 0.05);
	scroll-margin-top: 5.5rem;
}
.ci-co-workflow-title {
	margin: 0 0 0.35rem;
	font-size: 1.15rem;
	color: var(--care-inf-primary-dark);
}
.ci-co-workflow-intro {
	margin: 0 0 1rem;
	font-size: 0.9rem;
	line-height: 1.45;
}
.ci-co-workflow-steps {
	margin: 0;
	padding-left: 1.35rem;
	display: grid;
	gap: 0.85rem;
	font-size: 0.9rem;
	line-height: 1.5;
	color: rgba(26, 58, 95, 0.88);
}
.ci-co-workflow-steps li strong {
	display: block;
	margin-bottom: 0.2rem;
	color: var(--care-inf-primary-dark);
	font-size: 0.95rem;
}
.ci-co-workflow-steps .ci-dashboard-pane-link {
	display: inline-block;
	margin-top: 0.35rem;
	font-weight: 600;
}
.ci-pl-capabilities-overview.ci-co-workflow-card {
	margin-top: 0.75rem;
	margin-bottom: 1.75rem;
}
.ci-pl-cap-sep {
	display: inline-block;
	margin: 0 0.35rem;
	opacity: 0.55;
	font-weight: 400;
}

/* Program leadership: header shortcuts stay visible on narrow screens */
.ci-program-leadership-dashboard .ci-top-header-right {
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.75rem 1rem;
}
.ci-program-leadership-dashboard .ci-pl-header-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	max-width: 100%;
}
.ci-program-leadership-dashboard .ci-pl-header-btn {
	white-space: nowrap;
	padding: 0.35rem 0.7rem;
	font-size: 0.8125rem;
}
@media (max-width: 768px) {
	.ci-program-leadership-dashboard .ci-top-header-right {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
	}
	.ci-program-leadership-dashboard .ci-pl-header-actions {
		justify-content: flex-start;
	}
}

.ci-co-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
	margin: 1rem 0 0;
}
.ci-co-pagination-status {
	font-size: 0.9rem;
	color: rgba(26, 58, 95, 0.75);
	font-weight: 600;
}
.ci-co-snap-page-summary {
	margin: 0 0 0.75rem;
	font-size: 0.88rem;
}
.ci-co-snap-limit-note {
	margin-top: 0.75rem;
}

.ci-co-assignment-audit {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(26, 58, 95, 0.1);
}
.ci-co-assignment-audit-title {
	margin: 0 0 0.35rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark, #1a3a5f);
}
.ci-co-assignment-audit-desc {
	margin: 0 0 1rem;
	font-size: 0.88rem;
	line-height: 1.45;
	max-width: 48rem;
}
.ci-co-assignment-audit-table .ci-co-audit-detail {
	font-size: 0.82rem;
	line-height: 1.4;
	color: rgba(26, 58, 95, 0.85);
	max-width: 22rem;
	word-break: break-word;
}

/* Certification Course status (Teacher / Clinical Faculty-Preceptor dashboard) */
.ci-reviewer-course-status {
	margin-top: 1.5rem;
	padding: 1.25rem 0;
	border-top: 1px solid rgba(26, 58, 95, 0.08);
}
.ci-reviewer-course-status .ci-dashboard-section-desc {
	margin-bottom: 1rem;
	font-size: 0.9rem;
	color: rgba(26, 58, 95, 0.75);
}
.ci-course-status-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 1rem;
	margin-bottom: 1.25rem;
}
.ci-course-status-card {
	background: #fff;
	border-radius: 12px;
	padding: 1rem 1.25rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(26, 58, 95, 0.06);
}
.ci-course-status-label {
	display: block;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: rgba(26, 58, 95, 0.65);
	margin-bottom: 0.35rem;
}
.ci-course-status-value {
	display: block;
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
}
.ci-course-status-value.ci-status-paid,
.ci-course-status-value.ci-status-enrolled { color: #0d8050; }
.ci-course-status-value.ci-status-unpaid,
.ci-course-status-value.ci-status-no-access { color: #a94442; }
.ci-course-status-meta {
	display: block;
	font-size: 0.8rem;
	color: rgba(26, 58, 95, 0.6);
	margin-top: 0.25rem;
}
.ci-course-status-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}
.ci-course-status-actions .btn { margin: 0; }

.ci-cert-course-name {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0 0 1rem;
}
.ci-cert-progress-block {
	margin: 0 0 1.25rem;
	padding: 1rem 1.25rem;
	background: rgba(26, 58, 95, 0.04);
	border-radius: 12px;
	border: 1px solid rgba(26, 58, 95, 0.08);
}
.ci-cert-progress-heading {
	margin: 0 0 0.5rem;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: rgba(26, 58, 95, 0.65);
	font-weight: 600;
}
.ci-cert-progress-track {
	height: 8px;
	border-radius: 999px;
	background: rgba(26, 58, 95, 0.12);
	overflow: hidden;
	width: 100%;
	max-width: 420px;
}
.ci-cert-progress-track--lg {
	max-width: 100%;
	height: 10px;
}
.ci-cert-progress-fill {
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--care-inf-primary), var(--ci-role-accent, #c41e3a));
	transition: width 0.35s ease;
}
.ci-cert-progress-caption {
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
	color: rgba(26, 58, 95, 0.7);
}

/* Overview: certification summary (faculty) */
.ci-reviewer-overview-cert {
	margin: 1.25rem 0 1.5rem;
}
.ci-overview-cert-inner {
	background: #fff;
	border: 1px solid rgba(26, 58, 95, 0.1);
	border-radius: 16px;
	padding: 1.35rem 1.5rem;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}
.ci-overview-cert-top {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}
.ci-overview-cert-kicker {
	margin: 0 0 0.25rem;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(26, 58, 95, 0.55);
	font-weight: 600;
}
.ci-overview-cert-title {
	margin: 0;
	font-size: 1.25rem;
	color: var(--care-inf-primary-dark);
}
.ci-overview-cert-sub {
	margin: 0.35rem 0 0;
	font-size: 0.9rem;
	color: rgba(26, 58, 95, 0.72);
}
.ci-overview-cert-stats {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 0.75rem 1.25rem;
}
.ci-overview-cert-stats li {
	margin: 0;
	padding: 0.65rem 0.85rem;
	background: rgba(26, 58, 95, 0.04);
	border-radius: 10px;
}
.ci-ocs-label {
	display: block;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: rgba(26, 58, 95, 0.55);
	margin-bottom: 0.2rem;
}
.ci-ocs-val {
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--care-inf-primary-dark);
}
.ci-ocs-val.is-ok { color: #0d8050; }
.ci-ocs-val.is-warn { color: #a94442; }
.ci-ocs-progress-li {
	grid-column: 1 / -1;
}
.ci-ocs-meta {
	display: block;
	font-size: 0.78rem;
	color: rgba(26, 58, 95, 0.6);
	margin-top: 0.35rem;
}
.ci-overview-cert-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	align-items: center;
}

/* Sidebar nav: certification needs attention */
.ci-nav-item-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.12rem 0.45rem;
	font-size: 0.65rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-radius: 4px;
	background: #c62828;
	color: #fff;
	line-height: 1.2;
}
.ci-dashboard-nav-link.ci-nav-needs-attention:not(.is-active) {
	font-weight: 600;
}

/* Assigned profiles table */
.ci-table-type-badge {
	display: inline-block;
	padding: 0.2rem 0.5rem;
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	border-radius: 6px;
	background: rgba(26, 58, 95, 0.08);
	color: var(--care-inf-primary-dark);
}
.ci-table-type-badge.is-snapshot {
	background: rgba(196, 30, 58, 0.12);
	color: #8b1530;
}
.ci-table-mobile-hint {
	display: none;
	font-size: 0.8rem;
	color: rgba(26, 58, 95, 0.55);
	margin: 0 0 0.65rem;
}
@media (max-width: 782px) {
	.ci-table-mobile-hint {
		display: block;
	}
	.ci-reviewer-redesign .ci-table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

.ci-reviewer-redesign .ci-quick-actions-title {
	font-size: 1rem;
	margin-bottom: 0.75rem;
}
.ci-reviewer-redesign .ci-quick-actions-grid {
	grid-template-columns: repeat(4, 1fr);
	gap: 0.85rem;
}
.ci-reviewer-redesign .ci-quick-action-card {
	padding: 0.9rem 1rem;
	flex-direction: column;
	text-align: center;
}
.ci-reviewer-redesign .ci-quick-action-icon {
	width: 40px;
	height: 40px;
	margin: 0 auto;
}
.ci-reviewer-redesign .ci-quick-action-label {
	font-size: 0.8rem;
	line-height: 1.3;
}

.ci-reviewer-redesign .ci-reviewer-tip-card {
	padding: 1.25rem 1.5rem;
	border-radius: 14px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.ci-reviewer-redesign .ci-dashboard-section {
	margin-bottom: 2rem;
}
.ci-reviewer-redesign .ci-section-title {
	font-size: 1.2rem;
	margin-bottom: 0.35rem;
	padding-bottom: 0.35rem;
	border-bottom: 2px solid rgba(26, 58, 95, 0.1);
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}
.ci-reviewer-redesign .ci-section-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.6em;
	height: 1.6em;
	padding: 0 0.4em;
	font-size: 0.75rem;
	font-weight: 600;
	background: var(--care-inf-primary);
	color: #fff;
	border-radius: 999px;
}
.ci-dashboard-role-nurse .ci-reviewer-redesign .ci-section-badge {
	background: var(--ci-role-accent);
}
.ci-dashboard-role-teacher .ci-reviewer-redesign .ci-section-badge {
	background: var(--ci-role-accent);
}
.ci-reviewer-redesign .ci-table-wrap {
	border-radius: 14px;
	overflow-x: auto;
	overflow-y: visible;
	-webkit-overflow-scrolling: touch;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}
.ci-reviewer-redesign .ci-table {
	border-collapse: collapse;
}
.ci-reviewer-redesign .ci-table th {
	background: rgba(26, 58, 95, 0.06);
	padding: 0.85rem 1rem;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
}
.ci-reviewer-redesign .ci-table td {
	padding: 0.9rem 1rem;
	border-bottom: 1px solid rgba(26, 58, 95, 0.06);
}
.ci-reviewer-redesign .ci-table tbody tr:last-child td {
	border-bottom: none;
}

.ci-reviewer-redesign .ci-resource-cards {
	gap: 1.25rem;
}
.ci-reviewer-redesign .ci-resource-card {
	padding: 1.35rem;
	border-radius: 14px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
	min-height: 160px;
	display: flex;
	flex-direction: column;
}
.ci-reviewer-redesign .ci-resource-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.ci-reviewer-redesign .ci-resource-card-title {
	font-size: 1.05rem;
	margin-bottom: 0.35rem;
}
.ci-reviewer-redesign .ci-resource-card-desc {
	font-size: 0.88rem;
	flex: 1;
}

.ci-reviewer-redesign .ci-empty-state {
	border-radius: 14px;
	padding: 2rem 1.5rem;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}
.ci-reviewer-redesign .ci-reviewer-sidebar-info,
.ci-reviewer-redesign .ci-sidebar-quicklinks {
	border-radius: 10px;
}

@media (max-width: 1024px) {
	.ci-reviewer-redesign .ci-quick-actions-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.ci-reviewer-redesign .ci-dashboard-hero {
		grid-template-columns: 1fr;
	}
	.ci-reviewer-redesign .ci-dashboard-hero-meta {
		flex-direction: row;
		justify-content: flex-start;
	}
}
@media (max-width: 768px) {
	.ci-reviewer-redesign .ci-kpi-grid {
		grid-template-columns: 1fr;
	}
	.ci-reviewer-redesign .ci-quick-actions-grid {
		grid-template-columns: 1fr;
	}
	.ci-reviewer-redesign .ci-resource-cards {
		grid-template-columns: 1fr;
	}
}

.ci-reviewer-dashboard .ci-section-title,
.ci-portal-dashboard .ci-section-title {
	font-size: clamp(1.15rem, 2vw, 1.35rem);
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0 0 0.5rem;
}

.ci-dashboard-section-desc {
	color: rgba(26, 58, 95, 0.7);
	font-size: 0.95rem;
	margin: 0 0 1.25rem;
	line-height: 1.5;
}

.ci-empty-state {
	text-align: center;
	padding: 2.5rem 1.5rem;
	background: linear-gradient(135deg, #f8fbff 0%, #f0f6ff 100%);
	border: 1px dashed rgba(26, 58, 95, 0.15);
	border-radius: 16px;
}

.ci-empty-state-title {
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0 0 0.5rem;
	font-size: 1.1rem;
}

.ci-empty-state-desc {
	color: rgba(26, 58, 95, 0.65);
	margin: 0;
	font-size: 0.95rem;
}

/* Portal dashboards mobile hardening (<=767px):
 * Reviewer/nurse/teacher/coordinator/program-leadership/org-leader + student portal.
 * Prevents horizontal overflow; keeps profile + notification sheet aligned to shell.
 */
@media (max-width: 767px) {
	.ci-reviewer-dashboard.ci-reviewer-redesign,
	.ci-student-portal-dashboard {
		overflow-x: hidden;
	}
	.ci-reviewer-dashboard.ci-reviewer-redesign *,
	.ci-reviewer-dashboard.ci-reviewer-redesign *::before,
	.ci-reviewer-dashboard.ci-reviewer-redesign *::after,
	.ci-student-portal-dashboard *,
	.ci-student-portal-dashboard *::before,
	.ci-student-portal-dashboard *::after {
		box-sizing: border-box;
		min-width: 0;
	}
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-shell,
	.ci-student-portal-dashboard .ci-dashboard-shell {
		grid-template-columns: 1fr;
		gap: 0.85rem;
		padding: 10px;
	}
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-top-header,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-sidebar,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-content,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-section,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-card,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-pane-block,
	.ci-student-portal-dashboard .ci-dashboard-top-header,
	.ci-student-portal-dashboard .ci-dashboard-sidebar,
	.ci-student-portal-dashboard .ci-dashboard-content,
	.ci-student-portal-dashboard .ci-dashboard-section,
	.ci-student-portal-dashboard .ci-card,
	.ci-student-portal-dashboard .ci-pane-block {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	/* Full nav + quick links visible: no vertical clip on narrow phones/tablets */
	.ci-portal-dashboard .ci-dashboard-sidebar {
		overflow: visible;
		max-height: none;
		position: static;
		top: auto;
		padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
	}
	.admin-bar .ci-portal-dashboard .ci-dashboard-sidebar {
		max-height: none;
		top: auto;
	}
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-top-header-right,
	.ci-student-portal-dashboard .ci-top-header-right {
		justify-content: stretch;
	}
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-top-header,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-top-header-right,
	.ci-student-portal-dashboard .ci-dashboard-top-header,
	.ci-student-portal-dashboard .ci-top-header-right {
		gap: 0.65rem;
	}
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-user-profile-widget,
	.ci-student-portal-dashboard .ci-user-profile-widget {
		width: 100%;
		max-width: 100%;
		flex-wrap: nowrap;
		padding: 0.6rem 0.75rem;
		gap: 0.65rem;
		border-radius: 16px;
	}
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-user-info,
	.ci-student-portal-dashboard .ci-user-info {
		flex: 1 1 0%;
		min-width: 0;
		max-width: none;
	}
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-nav,
	.ci-student-portal-dashboard .ci-dashboard-nav {
		grid-template-columns: 1fr;
	}
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-nav-link,
	.ci-student-portal-dashboard .ci-dashboard-nav-link {
		white-space: normal;
	}
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-hero,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-hero-main,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-hero-meta,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-kpi-grid,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-kpi-card,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-credential-readiness-card,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-grid,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-grid-wide,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-resource-cards,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-resource-card,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-table-wrap,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-table,
	.ci-student-portal-dashboard .ci-dashboard-hero,
	.ci-student-portal-dashboard .ci-dashboard-hero-main,
	.ci-student-portal-dashboard .ci-dashboard-hero-meta,
	.ci-student-portal-dashboard .ci-overview-metrics-group,
	.ci-student-portal-dashboard .ci-readiness-two-col,
	.ci-student-portal-dashboard .ci-clinical-readiness-card,
	.ci-student-portal-dashboard .ci-overview-kpi-grid,
	.ci-student-portal-dashboard .ci-kpi-grid,
	.ci-student-portal-dashboard .ci-kpi-card,
	.ci-student-portal-dashboard .ci-credential-readiness-card,
	.ci-student-portal-dashboard .ci-dashboard-grid,
	.ci-student-portal-dashboard .ci-dashboard-grid-wide,
	.ci-student-portal-dashboard .ci-resource-cards,
	.ci-student-portal-dashboard .ci-resource-card,
	.ci-student-portal-dashboard .ci-table-wrap,
	.ci-student-portal-dashboard .ci-table {
		max-width: 100%;
	}
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-table-wrap,
	.ci-student-portal-dashboard .ci-table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-page-title,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-page-subtitle,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-user-name,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-user-email,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-kpi-value,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-resource-card-title,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-resource-card-desc,
	.ci-student-portal-dashboard .ci-dashboard-page-title,
	.ci-student-portal-dashboard .ci-dashboard-page-subtitle,
	.ci-student-portal-dashboard .ci-user-name,
	.ci-student-portal-dashboard .ci-user-email,
	.ci-student-portal-dashboard .ci-kpi-value,
	.ci-student-portal-dashboard .ci-resource-card-title,
	.ci-student-portal-dashboard .ci-resource-card-desc {
		overflow-wrap: anywhere;
		word-break: break-word;
	}
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-hero-actions .btn,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-dashboard-nav-link,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-kpi-card,
	.ci-student-portal-dashboard .ci-hero-actions .btn,
	.ci-student-portal-dashboard .ci-dashboard-nav-link,
	.ci-student-portal-dashboard .ci-kpi-card {
		overflow-wrap: anywhere;
	}
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-reviewer-sidebar-info,
	.ci-reviewer-dashboard.ci-reviewer-redesign .ci-sidebar-quicklinks,
	.ci-student-portal-dashboard .ci-reviewer-sidebar-info,
	.ci-student-portal-dashboard .ci-sidebar-quicklinks {
		overflow-x: hidden;
		overflow-y: visible;
		max-width: 100%;
	}
	.ci-portal-dashboard .ci-dashboard-nav {
		min-height: 0;
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}
}

/* Global 768px rule sets .ci-dashboard-nav to 2 columns; portals stay single-column through 768px. */
@media (max-width: 768px) {
	.ci-portal-dashboard .ci-dashboard-nav {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}
}

.ci-table-wrap {
	overflow-x: auto;
	border-radius: 12px;
	border: 1px solid rgba(26, 58, 95, 0.08);
	box-shadow: 0 2px 12px rgba(16, 42, 74, 0.06);
}

/* Nurse/Reviewer dashboard: sidebar info & quick links */
.ci-reviewer-sidebar-info {
	display: none !important;
	margin-top: 1.25rem;
	padding: 1rem;
	background: linear-gradient(135deg, #f8fbff 0%, #f0f6ff 100%);
	border: 1px solid rgba(26, 58, 95, 0.1);
	border-radius: 12px;
	font-size: 0.85rem;
}

.ci-reviewer-sidebar-info-title {
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0 0 0.5rem;
	font-size: 0.9rem;
}

.ci-reviewer-sidebar-info-row {
	margin: 0.35rem 0;
	color: rgba(26, 58, 95, 0.8);
}

.ci-reviewer-sidebar-info-row span {
	display: inline-block;
	min-width: 4rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
}

.ci-sidebar-quicklinks {
	margin-top: 1.25rem;
	padding-top: 1rem;
	padding-left: 1.1rem;
	padding-right: 1.1rem;
	border-top: 1px solid rgba(26, 58, 95, 0.1);
	box-sizing: border-box;
}

.ci-sidebar-quicklinks-title {
	font-weight: 600;
	font-size: 0.85rem;
	color: var(--care-inf-primary-dark);
	margin: 0 0 0.6rem;
}

.ci-sidebar-quicklink {
	display: block;
	padding: 0.4rem 0;
	font-size: 0.9rem;
	color: var(--care-inf-primary);
	text-decoration: none;
	transition: color 0.2s, padding-left 0.2s;
}

.ci-sidebar-quicklink:hover {
	color: var(--care-inf-primary-dark);
	padding-left: 4px;
}

/* Quick actions grid */
.ci-reviewer-quick-actions {
	margin-top: 1.5rem;
}

.ci-quick-actions-title {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0 0 1rem;
}

.ci-quick-actions-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 1rem;
}

.ci-quick-action-card {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.25rem;
	background: linear-gradient(135deg, #ffffff 0%, #fafcff 100%);
	border: 1px solid rgba(26, 58, 95, 0.1);
	border-radius: 14px;
	text-decoration: none;
	color: var(--care-inf-primary-dark);
	transition: box-shadow 0.25s, border-color 0.25s, transform 0.2s;
}

.ci-quick-action-card:hover {
	box-shadow: 0 8px 24px rgba(16, 42, 74, 0.12);
	border-color: rgba(26, 58, 95, 0.2);
	transform: translateY(-2px);
}

.ci-quick-action-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(212, 175, 55, 0.06) 100%);
	color: var(--care-inf-primary);
	flex-shrink: 0;
}

.ci-quick-action-card .ci-quick-action-icon svg {
	width: 22px;
	height: 22px;
}

.ci-quick-action-label {
	font-weight: 600;
	font-size: 0.95rem;
}

/* Getting started tip card */
.ci-reviewer-tip-card {
	margin-top: 1.5rem;
	padding: 1.5rem;
	background: linear-gradient(135deg, #eef7ff 0%, #e8f4ff 100%);
	border: 1px solid rgba(26, 58, 95, 0.12);
	border-radius: 16px;
	border-left: 4px solid var(--care-inf-primary);
}

.ci-reviewer-tip-title {
	font-weight: 600;
	font-size: 1.05rem;
	color: var(--care-inf-primary-dark);
	margin: 0 0 0.5rem;
}

.ci-reviewer-tip-desc {
	color: rgba(26, 58, 95, 0.8);
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
	line-height: 1.5;
}

.ci-reviewer-tip-link {
	font-weight: 600;
	color: var(--care-inf-primary);
	text-decoration: none;
	font-size: 0.95rem;
}

.ci-reviewer-tip-link:hover {
	text-decoration: underline;
}

/* Resource cards */
.ci-resource-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1.25rem;
	margin-top: 0.5rem;
}

.ci-resource-card {
	display: block;
	padding: 1.5rem;
	background: linear-gradient(135deg, #ffffff 0%, #fafcff 100%);
	border: 1px solid rgba(26, 58, 95, 0.1);
	border-radius: 16px;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.25s, border-color 0.25s, transform 0.2s;
}

.ci-resource-card:hover {
	box-shadow: 0 12px 32px rgba(16, 42, 74, 0.12);
	border-color: rgba(26, 58, 95, 0.18);
	transform: translateY(-2px);
}

.ci-resource-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.2) 0%, rgba(212, 175, 55, 0.08) 100%);
	color: var(--care-inf-primary);
	margin-bottom: 1rem;
}

.ci-resource-card-title {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0 0 0.4rem;
}

.ci-resource-card-desc {
	font-size: 0.9rem;
	color: rgba(26, 58, 95, 0.7);
	margin: 0;
	line-height: 1.45;
}

/* ─── Daily clinical sign-off — modern UI ───────────────────────────── */
.ci-dso-modern {
	--ci-dso-radius: 16px;
	--ci-dso-radius-sm: 12px;
	--ci-dso-shadow: 0 4px 24px rgba(16, 42, 74, 0.07);
	--ci-dso-shadow-hover: 0 8px 32px rgba(16, 42, 74, 0.1);
	--ci-dso-border: rgba(26, 58, 95, 0.1);
	--ci-dso-surface: linear-gradient(165deg, #ffffff 0%, #f5f8fc 100%);
	--ci-dso-accent: linear-gradient(135deg, #1a4a7a 0%, #0d2844 100%);
}

.ci-dso-hero {
	display: grid;
	grid-template-columns: 1fr minmax(120px, 22%);
	gap: 1.25rem;
	align-items: stretch;
	margin: 0 0 1.5rem;
	padding: 1.35rem 1.5rem;
	background: var(--ci-dso-surface);
	border: 1px solid var(--ci-dso-border);
	border-radius: var(--ci-dso-radius);
	box-shadow: var(--ci-dso-shadow);
	overflow: hidden;
	position: relative;
}

.ci-dso-hero--compact {
	grid-template-columns: 1fr minmax(72px, 16%);
	padding: 1.1rem 1.25rem;
	margin-bottom: 1rem;
}

.ci-dso-hero-text {
	position: relative;
	z-index: 1;
}

.ci-dso-hero-title {
	font-size: clamp(1.35rem, 2.5vw, 1.65rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--care-inf-primary-dark);
	margin: 0 0 0.4rem;
	line-height: 1.2;
}

.ci-dso-hero-desc {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
	color: rgba(26, 58, 95, 0.72);
	max-width: 52ch;
}

.ci-dso-hero-accent {
	border-radius: var(--ci-dso-radius-sm);
	background: var(--ci-dso-accent);
	opacity: 0.92;
	min-height: 72px;
	position: relative;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.ci-dso-hero-accent::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: radial-gradient(circle at 30% 20%, rgba(212, 175, 55, 0.35), transparent 55%);
	pointer-events: none;
}

.ci-dso-due-today-card {
	margin: 0 0 1.35rem;
	padding: 1.15rem 1.35rem;
	background: var(--ci-dso-surface, rgba(255, 255, 255, 0.96));
	border: 1px solid var(--ci-dso-border, rgba(26, 58, 95, 0.12));
	border-radius: var(--ci-dso-radius, 14px);
	box-shadow: var(--ci-dso-shadow, 0 6px 22px rgba(26, 58, 95, 0.06));
}

.ci-dso-due-today-head {
	margin-bottom: 0.85rem;
}

.ci-dso-due-today-title {
	margin: 0 0 0.35rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark, #1a3a5f);
}

.ci-dso-due-today-sub {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.45;
}

.ci-dso-due-today-allclear {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 600;
	color: #1b5e20;
}

.ci-dso-due-today-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.ci-dso-due-today-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem 1rem;
	padding: 0.65rem 0.85rem;
	border-radius: 10px;
	background: rgba(26, 58, 95, 0.04);
	border: 1px solid rgba(26, 58, 95, 0.08);
}

.ci-dso-due-today-item-main {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

.ci-dso-due-today-name {
	font-size: 0.95rem;
	color: var(--care-inf-primary-dark, #1a3a5f);
}

.ci-dso-due-today-record {
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: rgba(26, 58, 95, 0.55);
}

.ci-dso-due-today-quick {
	flex-shrink: 0;
}

.ci-dso-due-today-blocked {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.25rem;
	max-width: min(100%, 22rem);
	text-align: right;
}

.ci-dso-due-today-badge {
	display: inline-block;
	padding: 0.15rem 0.45rem;
	border-radius: 6px;
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	background: rgba(183, 28, 28, 0.1);
	color: #b71c1c;
}

.ci-daily-signoff-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
	gap: 1.35rem;
	align-items: start;
}

@media (max-width: 960px) {
	.ci-daily-signoff-layout {
		grid-template-columns: 1fr;
	}

	.ci-dso-hero {
		grid-template-columns: 1fr;
	}

	.ci-dso-hero-accent {
		min-height: 6px;
		order: -1;
	}
}

.ci-daily-signoff-form-card,
.ci-daily-signoff-history-card,
.ci-dso-student-history-card {
	background: var(--ci-dso-surface);
	border: 1px solid var(--ci-dso-border);
	border-radius: var(--ci-dso-radius);
	padding: 1.35rem 1.5rem;
	box-shadow: var(--ci-dso-shadow);
	transition: box-shadow 0.25s ease, border-color 0.2s ease;
}

.ci-daily-signoff-form-card:hover,
.ci-daily-signoff-history-card:hover {
	box-shadow: var(--ci-dso-shadow-hover);
	border-color: rgba(26, 58, 95, 0.14);
}

.ci-dso-card-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.35rem 1rem;
	margin-bottom: 1.15rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid rgba(26, 58, 95, 0.08);
}

.ci-dso-card-title {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0;
	letter-spacing: -0.01em;
}

.ci-dso-card-kicker {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(26, 58, 95, 0.45);
}

.ci-dso-empty {
	padding: 1.25rem 0 0.25rem;
}

.ci-dso-empty-title {
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	margin: 0 0 0.35rem;
}

.ci-dso-field {
	margin-bottom: 1.1rem;
}

.ci-dso-label {
	display: block;
	font-size: 0.82rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: rgba(26, 58, 95, 0.55);
	margin-bottom: 0.45rem;
}

.ci-dso-control,
.ci-dso-modern-form select.ci-dso-control,
.ci-dso-modern-form input.ci-dso-control[type="date"],
.ci-dso-modern-form input.ci-dso-control[type="text"] {
	width: 100%;
	max-width: 100%;
	padding: 0.65rem 0.85rem;
	font-size: 0.95rem;
	line-height: 1.4;
	color: var(--care-inf-primary-dark);
	background: #fff;
	border: 1.5px solid rgba(26, 58, 95, 0.14);
	border-radius: var(--ci-dso-radius-sm);
	box-shadow: 0 1px 2px rgba(16, 42, 74, 0.04);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ci-dso-control:hover {
	border-color: rgba(26, 58, 95, 0.22);
}

.ci-dso-control:focus {
	outline: none;
	border-color: var(--care-inf-primary);
	box-shadow: 0 0 0 3px rgba(26, 58, 95, 0.12);
}

textarea.ci-dso-control.ci-dso-textarea {
	min-height: 5.5rem;
	resize: vertical;
	font-family: inherit;
}

.ci-dso-status-fieldset {
	border: none;
	margin: 0 0 1.15rem;
	padding: 0;
}

.ci-dso-status-fieldset .ci-dso-label {
	margin-bottom: 0.65rem;
}

.ci-dso-status-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.65rem;
}

.ci-dso-yellow-col {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	flex: 1 1 160px;
	min-width: 140px;
}

.ci-dso-pill {
	position: relative;
	cursor: pointer;
	display: block;
	margin: 0;
	flex: 1 1 120px;
	min-width: 108px;
	max-width: 200px;
}

.ci-dso-pill > input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ci-dso-pill-face {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	min-height: 48px;
	padding: 0.55rem 0.85rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: rgba(26, 58, 95, 0.85);
	background: rgba(255, 255, 255, 0.85);
	border: 2px solid rgba(26, 58, 95, 0.1);
	border-radius: 14px;
	transition: transform 0.18s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.ci-dso-pill:hover .ci-dso-pill-face {
	border-color: rgba(26, 58, 95, 0.2);
	transform: translateY(-1px);
}

.ci-dso-pill input:focus-visible + .ci-dso-pill-face {
	outline: 2px solid var(--care-inf-primary);
	outline-offset: 2px;
}

.ci-dso-pill input:checked + .ci-dso-pill-face {
	background: #fff;
	border-color: var(--care-inf-primary);
	box-shadow: 0 6px 20px rgba(26, 58, 95, 0.12);
	color: var(--care-inf-primary-dark);
}

.ci-dso-pill--compact {
	flex: 1 1 auto;
	min-width: 0;
	max-width: none;
}

.ci-dso-pill--compact .ci-dso-pill-face {
	min-height: 42px;
	font-size: 0.82rem;
	font-weight: 600;
}

.ci-dso-pill-glyph {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
}

.ci-dso-pill-glyph--green {
	background: linear-gradient(145deg, #43a047, #2e7d32);
	box-shadow: 0 0 0 2px rgba(67, 160, 71, 0.25);
}

.ci-dso-pill-glyph--yellow {
	background: linear-gradient(145deg, #fbc02d, #f9a825);
	box-shadow: 0 0 0 2px rgba(251, 192, 45, 0.35);
}

.ci-dso-pill-glyph--red {
	background: linear-gradient(145deg, #e53935, #c62828);
	box-shadow: 0 0 0 2px rgba(229, 57, 53, 0.25);
}

.ci-dso-pill--green input:checked + .ci-dso-pill-face {
	border-color: #2e7d32;
	box-shadow: 0 6px 20px rgba(46, 125, 50, 0.15);
}

.ci-dso-pill--yellow input:checked + .ci-dso-pill-face {
	border-color: #f9a825;
	box-shadow: 0 6px 20px rgba(249, 168, 37, 0.18);
}

.ci-dso-pill--red input:checked + .ci-dso-pill-face {
	border-color: #c62828;
	box-shadow: 0 6px 20px rgba(198, 40, 40, 0.14);
}

.ci-dso-pill--amber .ci-dso-pill-face {
	background: rgba(255, 248, 225, 0.9);
	border-color: rgba(249, 168, 37, 0.35);
}

.ci-dso-pill--amber input:checked + .ci-dso-pill-face {
	background: #fff8e1;
	border-color: #f9a825;
}

.ci-dso-yellow-subs {
	margin: 0;
	padding: 0.65rem 0.75rem;
	background: rgba(249, 168, 37, 0.06);
	border: 1px dashed rgba(249, 168, 37, 0.45);
	border-radius: var(--ci-dso-radius-sm);
}

.ci-dso-yellow-label {
	margin: 0 0 0.5rem;
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgba(109, 76, 0, 0.85);
}

.ci-dso-yellow-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.ci-dso-signature-field {
	margin-top: 0.35rem;
}

.ci-dso-signature-label {
	display: block;
	font-size: 0.82rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: rgba(26, 58, 95, 0.55);
	margin-bottom: 0.35rem;
}

.ci-dso-signature-hint {
	font-size: 0.86rem;
	margin: 0 0 0.65rem;
	line-height: 1.45;
}

.ci-dso-signature-pad-wrap {
	border-radius: var(--ci-dso-radius-sm);
	background: #fff;
	overflow: hidden;
	max-width: 560px;
	border: 1.5px solid rgba(26, 58, 95, 0.12);
	box-shadow: inset 0 2px 8px rgba(16, 42, 74, 0.04);
}

.ci-dso-signature-pad {
	display: block;
	width: 100%;
	max-width: 560px;
	height: auto;
	aspect-ratio: 560 / 180;
	touch-action: none;
	cursor: crosshair;
	vertical-align: middle;
	background: linear-gradient(180deg, #fafbfd 0%, #ffffff 100%);
}

.ci-dso-btn-secondary {
	margin-top: 0.65rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
	background: #fff;
	border: 1.5px solid rgba(26, 58, 95, 0.18);
	border-radius: 10px;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.ci-dso-btn-secondary:hover {
	background: rgba(26, 58, 95, 0.04);
	border-color: rgba(26, 58, 95, 0.28);
}

.ci-dso-btn-secondary:active {
	transform: scale(0.98);
}

.ci-dso-confirm {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin: 1rem 0 0;
	cursor: pointer;
	font-size: 0.9rem;
	line-height: 1.45;
	color: rgba(26, 58, 95, 0.88);
}

.ci-dso-confirm input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ci-dso-confirm-ui {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	margin-top: 0.1rem;
	border-radius: 6px;
	border: 2px solid rgba(26, 58, 95, 0.22);
	background: #fff;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
	position: relative;
}

.ci-dso-confirm-ui::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 2px;
	width: 6px;
	height: 11px;
	border: solid #fff;
	border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg) scale(0);
	opacity: 0;
	transition: transform 0.15s ease, opacity 0.15s ease;
}

.ci-dso-confirm input:checked + .ci-dso-confirm-ui {
	background: var(--care-inf-primary);
	border-color: var(--care-inf-primary);
	box-shadow: 0 2px 8px rgba(26, 58, 95, 0.2);
}

.ci-dso-confirm input:checked + .ci-dso-confirm-ui::after {
	transform: rotate(45deg) scale(1);
	opacity: 1;
}

.ci-dso-confirm input:focus-visible + .ci-dso-confirm-ui {
	outline: 2px solid var(--care-inf-primary);
	outline-offset: 2px;
}

.ci-dso-actions {
	margin-top: 1.15rem;
}

.ci-dso-btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.5rem;
	min-height: 48px;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #fff;
	border: none;
	border-radius: 12px;
	cursor: pointer;
	background: linear-gradient(135deg, #c41e3a 0%, #9e1830 55%, #7a1225 100%);
	box-shadow: 0 4px 16px rgba(196, 30, 58, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.15);
	transition: transform 0.18s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.ci-dso-btn-primary:hover {
	filter: brightness(1.05);
	box-shadow: 0 6px 22px rgba(196, 30, 58, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.ci-dso-btn-primary:active {
	transform: translateY(1px);
}

.ci-dso-btn-primary:disabled {
	opacity: 0.65;
	cursor: not-allowed;
	transform: none;
}

.ci-dso-form-message {
	margin-top: 1rem;
	padding: 0.65rem 0.85rem;
	font-size: 0.9rem;
	font-weight: 500;
	border-radius: 10px;
	color: var(--care-inf-primary-dark);
	min-height: 0;
	border: 1px solid transparent;
}

.ci-dso-form-message.ci-dso-msg-success {
	background: rgba(46, 125, 50, 0.1);
	border-color: rgba(46, 125, 50, 0.22);
	color: #1b5e20;
}

.ci-dso-form-message.ci-dso-msg-error {
	background: rgba(198, 40, 40, 0.08);
	border-color: rgba(198, 40, 40, 0.22);
	color: #8b1a1a;
}

.ci-dso-history-filter-row {
	margin-bottom: 1rem;
	max-width: 100%;
}

.ci-dso-history-filter-row .ci-dso-control {
	max-width: 420px;
}

.ci-dso-table-shell {
	border-radius: var(--ci-dso-radius-sm);
	border: 1px solid rgba(26, 58, 95, 0.1);
	overflow: auto;
	background: #fff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.ci-dso-data-table {
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
}

.ci-dso-data-table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	background: linear-gradient(180deg, #f0f4f8 0%, #e8eef5 100%);
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgba(26, 58, 95, 0.55);
	padding: 0.75rem 0.85rem;
	border-bottom: 1px solid rgba(26, 58, 95, 0.1);
	white-space: nowrap;
}

.ci-dso-data-table tbody td {
	padding: 0.75rem 0.85rem;
	font-size: 0.88rem;
	line-height: 1.45;
	color: rgba(26, 58, 95, 0.9);
	border-bottom: 1px solid rgba(26, 58, 95, 0.06);
	vertical-align: top;
}

.ci-dso-data-table tbody tr:nth-child(even) {
	background: rgba(26, 58, 95, 0.02);
}

.ci-dso-data-table tbody tr:hover {
	background: rgba(26, 58, 95, 0.045);
}

.ci-dso-data-table tbody tr:last-child td {
	border-bottom: none;
}

.ci-dso-sig-display {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.4rem;
}

.ci-dso-signature-thumb {
	display: block;
	max-width: 200px;
	width: 100%;
	height: auto;
	border: 1px solid rgba(26, 58, 95, 0.12);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(16, 42, 74, 0.06);
}

.ci-signoff-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.28rem 0.65rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.ci-signoff-green {
	background: linear-gradient(135deg, rgba(67, 160, 71, 0.2), rgba(46, 125, 50, 0.12));
	color: #1b5e20;
	border: 1px solid rgba(46, 125, 50, 0.25);
}

.ci-signoff-yellow-monitor,
.ci-signoff-yellow-notify {
	background: linear-gradient(135deg, rgba(251, 192, 45, 0.22), rgba(249, 168, 37, 0.12));
	color: #6d4c00;
	border: 1px solid rgba(249, 168, 37, 0.35);
}

.ci-signoff-red {
	background: linear-gradient(135deg, rgba(229, 57, 53, 0.18), rgba(198, 40, 40, 0.1));
	color: #b71c1c;
	border: 1px solid rgba(198, 40, 40, 0.28);
}

/* Faculty: student concerns & alerts console */
.ci-fc-summary-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 1.25rem 0 1.5rem;
}

.ci-fc-sum-card {
	min-width: 140px;
	padding: 1rem 1.25rem;
	border-radius: 12px;
	background: rgba(26, 58, 95, 0.06);
	border: 1px solid rgba(26, 58, 95, 0.1);
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.ci-fc-sum-card.is-alert {
	background: rgba(229, 57, 53, 0.08);
	border-color: rgba(198, 40, 40, 0.22);
}

.ci-fc-sum-card.is-warn {
	background: rgba(251, 192, 45, 0.12);
	border-color: rgba(249, 168, 37, 0.28);
}

.ci-fc-sum-n {
	font-size: 1.75rem;
	font-weight: 600;
	line-height: 1.1;
	color: var(--care-inf-primary-dark, #1a3a5f);
}

.ci-fc-sum-l {
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: rgba(26, 58, 95, 0.65);
}

.ci-fc-case-lists {
	display: grid;
	/* min(100%,340px): narrow phones get one column without horizontal page overflow */
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: 1rem;
	margin: 1rem 0 1.25rem;
}

.ci-fc-case-list-card {
	min-width: 0;
	max-width: 100%;
	padding: 1rem 1rem 0.85rem;
	border-radius: 14px;
	border: 1px solid rgba(26, 58, 95, 0.12);
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 249, 252, 0.98) 100%);
	box-shadow: 0 8px 24px rgba(26, 58, 95, 0.05);
}

.ci-fc-case-list-card .ci-table {
	margin: 0;
}

.ci-fc-case-list-card .btn {
	padding: 0.32rem 0.7rem;
	font-size: 0.78rem;
}

/* Manage case status: open / unresolved case cards + faculty concerns tables on phones */
@media (max-width: 767px) {
	.ci-fc-summary-strip {
		gap: 0.55rem;
	}
	.ci-fc-sum-card {
		flex: 1 1 140px;
		min-width: min(140px, 42vw);
		max-width: 100%;
	}
	.ci-fc-case-lists {
		grid-template-columns: 1fr;
		gap: 0.85rem;
	}
	.ci-fc-case-list-card .ci-table-wrap {
		overflow-x: auto;
		overflow-y: visible;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		/* stable reserves a gutter and can look like uneven right “margin” on mobile */
		scrollbar-gutter: auto;
		max-width: 100%;
		width: 100%;
		margin: 0.35rem 0 0;
		padding: 0.15rem 0 0.5rem;
		box-sizing: border-box;
		border-radius: 10px;
		background: transparent;
	}
	/* Data tables: keep column width readable — scroll horizontally, do not squeeze text */
	.ci-fc-case-list-card .ci-table {
		width: max-content;
		min-width: max-content;
		max-width: none;
		table-layout: auto;
	}
	.ci-fc-case-list-card .ci-table th,
	.ci-fc-case-list-card .ci-table td {
		white-space: nowrap;
		word-break: normal;
		overflow-wrap: normal;
		padding: 0.65rem 0.8rem;
		font-size: 0.8rem;
		line-height: 1.4;
		vertical-align: middle;
	}
	.ci-fc-case-list-card .ci-table th {
		font-size: 0.72rem;
		letter-spacing: 0.04em;
	}
	.ci-pane-faculty-concerns .ci-table-wrap {
		overflow-x: auto;
		overflow-y: visible;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		scrollbar-gutter: auto;
		max-width: 100%;
		width: 100%;
		min-width: 0;
		margin: 0;
		padding: 0.15rem 0 0.5rem;
		box-sizing: border-box;
	}
	.ci-pane-faculty-concerns .ci-faculty-concerns-table {
		width: max-content;
		min-width: max-content;
		max-width: none;
		table-layout: auto;
	}
	.ci-pane-faculty-concerns .ci-faculty-concerns-table th,
	.ci-pane-faculty-concerns .ci-faculty-concerns-table td {
		white-space: nowrap;
		word-break: normal;
		overflow-wrap: normal;
		padding: 0.65rem 0.8rem;
		font-size: 0.8rem;
		line-height: 1.4;
		vertical-align: middle;
	}
	.ci-pane-faculty-concerns .ci-faculty-concerns-table th {
		font-size: 0.72rem;
		letter-spacing: 0.04em;
	}
}

.ci-faculty-concerns-table .ci-fc-case-id {
	font-family: ui-monospace, 'Cascadia Code', 'Segoe UI Mono', monospace;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: rgba(26, 58, 95, 0.85);
}

.ci-faculty-concerns-table .ci-fc-pattern-flag {
	display: inline-flex;
	padding: 0.2rem 0.55rem;
	border-radius: 6px;
	font-size: 0.72rem;
	font-weight: 600;
	background: rgba(249, 168, 37, 0.2);
	color: #6d4c00;
	border: 1px solid rgba(249, 168, 37, 0.35);
}

.ci-fc-case-pill {
	display: inline-block;
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	background: rgba(26, 58, 95, 0.08);
	color: var(--care-inf-primary-dark, #1a3a5f);
}

.ci-fc-case-escalated,
.ci-fc-case-open {
	background: rgba(229, 57, 53, 0.1);
	color: #b71c1c;
}

.ci-fc-case-under-review {
	background: rgba(255, 152, 0, 0.16);
	color: #bf360c;
}

.ci-fc-case-faculty-contacted {
	background: rgba(33, 150, 243, 0.14);
	color: #0d47a1;
}

.ci-fc-case-intervention-in-progress {
	background: rgba(103, 58, 183, 0.12);
	color: #4a148c;
}

.ci-fc-case-resolved {
	background: rgba(0, 137, 123, 0.12);
	color: #004d40;
}

.ci-fc-case-closed {
	background: rgba(67, 160, 71, 0.12);
	color: #1b5e20;
}

.ci-fc-case-none {
	background: rgba(26, 58, 95, 0.06);
	color: rgba(26, 58, 95, 0.55);
}

.ci-fc-manage {
	padding: 1rem 0 0.5rem;
}

.ci-fc-manage-intro {
	margin: 0 0 1rem;
	font-size: 0.9rem;
	color: rgba(26, 58, 95, 0.75);
	max-width: 52rem;
}

.ci-fc-manage--modern {
	padding: 1.25rem 1.35rem 1rem;
	margin-top: 0.25rem;
	border-radius: 16px;
	background: linear-gradient(165deg, rgba(255, 255, 255, 0.95) 0%, rgba(245, 248, 252, 0.98) 100%);
	border: 1px solid rgba(26, 58, 95, 0.1);
	box-shadow: 0 8px 28px rgba(26, 58, 95, 0.06);
}

.ci-fc-manage-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.25rem;
	align-items: start;
}

.ci-fc-manage-grid--modern {
	grid-template-columns: minmax(240px, 1fr) minmax(260px, 1.15fr) minmax(200px, 0.85fr);
	gap: 1.5rem;
}

@media (max-width: 1100px) {
	.ci-fc-manage-grid--modern {
		grid-template-columns: 1fr;
	}
}

.ci-fc-field-label {
	display: block;
	margin: 0.85rem 0 0.35rem;
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(26, 58, 95, 0.55);
}

.ci-fc-field-label:first-of-type,
.ci-fc-manage-col > .ci-fc-field-label:first-child {
	margin-top: 0;
}

.ci-fc-manage-col--workflow > .ci-fc-subhead + .ci-fc-field-label {
	margin-top: 0.35rem;
}

.ci-fc-input,
.ci-fc-resolution-input {
	font-size: 0.9rem;
	padding: 0.45rem 0.6rem;
	border-radius: 10px;
	border: 1px solid rgba(26, 58, 95, 0.18);
	background: #fff;
	color: var(--care-inf-primary-dark, #1a3a5f);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ci-fc-input:focus,
.ci-fc-resolution-input:focus,
.ci-fc-manage-col select:focus {
	outline: none;
	border-color: rgba(26, 58, 95, 0.45);
	box-shadow: 0 0 0 3px rgba(26, 58, 95, 0.12);
}

.ci-fc-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.85rem;
}

.ci-fc-subhead--quick {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px dashed rgba(26, 58, 95, 0.15);
}

.ci-fc-log-detail {
	margin-top: 0.25rem;
	font-size: 0.8rem;
	color: rgba(26, 58, 95, 0.82);
	line-height: 1.4;
}

.ci-fc-log-col .ci-fc-log-list {
	max-height: 320px;
	padding: 0.65rem 0.85rem;
	margin-left: 0;
	list-style: none;
	background: rgba(255, 255, 255, 0.65);
	border-radius: 12px;
	border: 1px solid rgba(26, 58, 95, 0.08);
}

.ci-fc-log-col .ci-fc-log-item {
	padding-bottom: 0.65rem;
	margin-bottom: 0.65rem;
	border-bottom: 1px solid rgba(26, 58, 95, 0.06);
}

.ci-fc-log-col .ci-fc-log-item:last-child {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

.ci-fc-subhead {
	margin: 0 0 0.5rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark, #1a3a5f);
}

.ci-fc-manage-col .ci-fc-case-status-select,
.ci-fc-note-input,
.ci-fc-manage-col .ci-fc-resolution-input,
.ci-fc-manage-col .ci-fc-input {
	width: 100%;
	max-width: 100%;
}

.ci-fc-log-list {
	margin: 0;
	padding-left: 1.1rem;
	font-size: 0.85rem;
	line-height: 1.45;
	max-height: 220px;
	overflow-y: auto;
}

.ci-fc-log-list li {
	margin-bottom: 0.5rem;
}

.ci-fc-msg {
	font-size: 0.85rem;
	margin-top: 0.5rem;
	min-height: 1.2em;
}

.ci-fc-msg-ok {
	color: #1b5e20;
}

.ci-fc-msg-err {
	color: #b71c1c;
}

.ci-faculty-concerns-table .ci-fc-toggle-manage {
	padding: 0.35rem 0.75rem;
	font-size: 0.8rem;
}

.ci-fc-academic-outreach-panel {
	margin: 0 0 1.5rem;
	padding: 1.25rem 1.35rem;
	border-radius: 14px;
	background: rgba(26, 58, 95, 0.05);
	border: 1px solid rgba(26, 58, 95, 0.12);
	scroll-margin-top: 6rem;
}

.ci-fc-academic-outreach-title {
	margin: 0 0 0.35rem;
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark, #1a3a5f);
}

.ci-fc-academic-type-fieldset {
	border: 0;
	margin: 1rem 0 0;
	padding: 0;
}

.ci-fc-academic-type-fieldset .ci-fc-subhead {
	padding: 0;
}

.ci-fc-radio-label {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0.5rem 1.25rem 0 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: rgba(26, 58, 95, 0.88);
	cursor: pointer;
}

.ci-fc-academic-quick-form .ci-fc-academic-submit {
	margin-top: 1rem;
}

.ci-fc-status-map-host > .ci-fc-subhead {
	margin-top: 1.15rem;
}

.ci-fc-status-map-host > .ci-fc-bind-student-case {
	margin-bottom: 0.25rem;
	max-width: 100%;
}

.ci-fc-academic-two-col {
	margin-top: 0.35rem;
}

/* Clinical faculty — “Manage case status” quick form */
.ci-fc-quick-case-form {
	margin-top: 0.35rem;
	padding: 1rem 1.15rem 1.1rem;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(26, 58, 95, 0.1);
	box-shadow: 0 2px 12px rgba(26, 58, 95, 0.04);
	display: flex;
	flex-direction: column;
	gap: 0;
}

.ci-fc-quick-case-form .ci-fc-field-group {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	min-width: 0;
}

.ci-fc-quick-case-form .ci-fc-field-group--student {
	margin-bottom: 0.15rem;
}

.ci-fc-quick-case-form .ci-fc-field-label {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgba(26, 58, 95, 0.55);
}

.ci-fc-quick-case-form .ci-fc-field-group--student .ci-fc-field-label {
	margin-top: 0.15rem;
}

.ci-fc-quick-case-control {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	font-size: 0.9rem;
	padding: 0.55rem 0.75rem;
	border-radius: 10px;
	border: 1px solid rgba(26, 58, 95, 0.18);
	background: #fff;
	color: var(--care-inf-primary-dark, #1a3a5f);
	line-height: 1.35;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ci-fc-quick-case-control:focus {
	outline: none;
	border-color: rgba(26, 58, 95, 0.45);
	box-shadow: 0 0 0 3px rgba(26, 58, 95, 0.12);
}

.ci-fc-quick-case-form textarea.ci-fc-quick-case-control {
	min-height: 6.5rem;
	resize: vertical;
}

.ci-fc-quick-case-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem 1.35rem;
	margin-top: 1rem;
	align-items: stretch;
}

@media (min-width: 720px) {
	.ci-fc-quick-case-grid {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	}
}

.ci-fc-quick-case-actions {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 1.15rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(26, 58, 95, 0.1);
}

.ci-fc-quick-case-actions .ci-fc-faculty-case-status-submit {
	margin-top: 0;
	min-width: 12rem;
}

.ci-fc-quick-case-form .ci-fc-case-status-action-msg {
	margin-top: 0.65rem;
}

.ci-daily-signoff-table .ci-signoff-badge {
	vertical-align: middle;
}

.ci-dso-modern--student .ci-dso-student-history-card {
	margin-top: 0;
}

@media (prefers-reduced-motion: reduce) {
	.ci-dso-pill .ci-dso-pill-face,
	.ci-dso-btn-primary,
	.ci-dso-btn-secondary {
		transition: none;
	}

	.ci-dso-pill:hover .ci-dso-pill-face {
		transform: none;
	}

	.ci-dso-btn-primary:active {
		transform: none;
	}
}

/* Reviewer table: view profile button */
.ci-reviewer-table tbody tr:hover {
	background: rgba(26, 58, 95, 0.03);
}

.ci-table-student-name {
	font-weight: 600;
	color: var(--care-inf-primary-dark);
}

.ci-btn-view-profile {
	display: inline-block;
	padding: 0.4rem 0.9rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: #fff;
	background: var(--care-inf-primary);
	border-radius: 8px;
	text-decoration: none;
	transition: background 0.2s, box-shadow 0.2s;
}

.ci-btn-view-profile:hover {
	background: var(--care-inf-primary-dark);
	box-shadow: 0 4px 12px rgba(26, 58, 95, 0.25);
}

@media (max-width: 768px) {
	.ci-quick-actions-grid {
		grid-template-columns: 1fr;
	}
	.ci-resource-cards {
		grid-template-columns: 1fr;
	}
}

.ci-auth-form {
	margin: 0;
}

.ci-auth-remember {
	display: inline-flex;
	align-items: center;
	gap: 0.42rem;
	margin: 0.3rem 0 0.2rem;
	font-size: 0.82rem;
	color: var(--care-inf-text-color);
}

.ci-auth-remember input {
	width: 16px;
	height: 16px;
	accent-color: var(--care-inf-primary);
}

.ci-auth-hp {
	position: absolute;
	left: -9999px;
	top: -9999px;
	opacity: 0;
	pointer-events: none;
}

.ci-repeater {
	display: grid;
	gap: 0.55rem;
}

.ci-repeater-list {
	display: grid;
	gap: 0.55rem;
}

.ci-repeater-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.5rem;
	align-items: center;
}

.ci-repeater-row .btn {
	min-height: 44px;
}
@media (max-width: 768px) {
	.contact-grid { grid-template-columns: 1fr; }
	.ci-dashboard-header { align-items: flex-start; }
	.ci-dashboard-shell {
		grid-template-columns: 1fr;
		padding: 12px;
		border-radius: 18px;
	}
	.ci-dashboard-sidebar {
		position: static;
		top: auto;
	}
	.ci-dashboard-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ci-dashboard-hero,
	.ci-kpi-grid,
	.ci-dashboard-grid,
	.ci-dashboard-grid-wide,
	.ci-auth-grid,
	.ci-fields-grid {
		grid-template-columns: 1fr;
	}
	.ci-card {
		padding: 0.9rem;
	}
	.ci-share-controls {
		grid-template-columns: 1fr;
	}
	.ci-dashboard-hero {
		padding: 1rem;
		border-radius: 14px;
	}
	.ci-dashboard-hero-main h3 {
		font-size: 1.5rem;
	}
	.ci-hero-actions {
		width: 100%;
	}
	.ci-hero-actions .btn {
		width: 100%;
		min-width: 0;
	}
	.ci-dashboard-hero-meta {
		grid-template-columns: 1fr;
	}
	.ci-support-actions,
	.ci-dash-actions,
	.ci-step-actions,
	.ci-share-actions {
		width: 100%;
	}
	.ci-support-actions .btn,
	.ci-dash-actions .btn,
	.ci-step-actions .btn,
	.ci-share-actions .btn {
		width: 100%;
		justify-content: center;
	}
	.page-hero-title { font-size: 1.5rem; }
	.page-hero { min-height: 420px; }
	.page-how-it-works .how-steps-grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	.page-how-it-works .how-steps .section-title {
		margin-bottom: 1.25rem !important;
	}
	.page-how-it-works .how-steps-lead {
		font-size: 0.95rem;
		line-height: 1.65;
	}
	.page-how-it-works .how-steps-grid .step-card:nth-child(2)::after {
		display: none;
	}
	.page-how-it-works .step-title {
		font-size: 1.45rem;
	}
	.page-how-it-works .step-foot {
		font-size: 0.74rem;
	}
	.page-how-it-works .how-steps .section-title,
	.page-how-it-works .how-roles .section-title,
	.page-how-it-works .components-title,
	.page-how-it-works .cta-heading {
		font-size: 30px;
		line-height: 1.2;
	}
	.page-how-it-works .how-roles {
		padding: 3.2rem 0 3rem;
	}
	.page-how-it-works .how-roles-head {
		margin-bottom: 1.35rem;
	}
	.page-how-it-works .how-roles-lead {
		font-size: 0.94rem;
		line-height: 1.65;
	}
	.page-how-it-works .how-roles-grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	.page-how-it-works .role-title {
		font-size: 1.34rem;
	}
	.page-how-it-works .how-role-card {
		padding: 1.2rem 1.1rem 1.1rem;
	}
	.page-how-it-works .how-role-card .btn {
		width: auto;
	}
	.page-how-it-works .cta-bar {
		min-height: 420px;
		padding: 3.4rem 0;
	}
	.page-how-it-works .how-components {
		padding: 3.35rem 0 3.05rem;
	}
	.page-how-it-works .how-components-head {
		margin-bottom: 1.35rem;
	}
	.page-how-it-works .components-title {
		margin-bottom: 0.62rem;
	}
	.page-how-it-works .how-components-lead {
		font-size: 0.94rem;
		line-height: 1.65;
	}
	.page-how-it-works .how-components-grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	.page-how-it-works .components-image {
		min-height: 260px;
	}
	.page-how-it-works .components-image-badge {
		left: 0.75rem;
		bottom: 0.75rem;
		font-size: 0.68rem;
		padding: 0.38rem 0.7rem;
		letter-spacing: 0.04em;
	}
	.page-how-it-works .components-content {
		padding: 1.1rem;
		border-radius: 18px;
	}
	.page-how-it-works .how-components-list {
		grid-template-columns: 1fr;
		gap: 0.62rem;
	}
	.page-how-it-works .how-components-list li {
		font-size: 0.92rem;
	}
	.page-how-it-works .components-note {
		font-size: 0.87rem;
		padding: 0.78rem 0.88rem;
	}
}

@media (max-width: 1100px) and (min-width: 769px) {
	.ci-dashboard-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ci-dashboard-grid-wide {
		grid-template-columns: 1fr;
	}
	.page-how-it-works .how-steps-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.page-how-it-works .how-steps-grid .step-card:nth-child(2)::after {
		display: none;
	}
	.page-how-it-works .how-roles-grid {
		gap: 1.2rem;
	}
	.page-how-it-works .cta-bar {
		min-height: 500px;
	}
	.page-how-it-works .how-components-grid {
		grid-template-columns: 1fr;
	}
	.page-how-it-works .components-image {
		min-height: 320px;
	}
}

/* ============================================
   Shared Profile View (Public)
   ============================================ */

.ci-shared-profile-wrapper {
	min-height: 100vh;
	background: linear-gradient(180deg, #f8fafcff 0%, #f0f4f8 100%);
	padding: 2rem 1rem;
}

.ci-shared-profile-page .site-header {
	background: linear-gradient(135deg, #102846 0%, #1a3a5f 100%);
	border-bottom-color: rgba(255, 255, 255, 0.16);
	box-shadow: 0 10px 26px rgba(8, 24, 43, 0.34);
}

.ci-shared-profile-page .site-header.sticky {
	background: linear-gradient(135deg, #102846 0%, #1a3a5f 100%);
}

.ci-shared-profile-page .site-header .logo-name,
.ci-shared-profile-page .site-header .nav-menu a,
.ci-shared-profile-page .site-header .menu-toggle {
	color: #ffffff;
}

.ci-shared-profile-page .site-header .menu-line {
	background: var(--care-inf-accent);
}

.ci-shared-profile-page .site-header .nav-menu a:hover,
.ci-shared-profile-page .site-header .nav-menu .current-menu-item > a {
	color: #fcd34d;
}

/* Keep dropdown links readable on shared-profile header (submenu has light background). */
.ci-shared-profile-page .site-header .nav-menu .sub-menu a {
	color: #1a3a5f;
}

.ci-shared-profile-page .site-header .nav-menu .sub-menu a:hover,
.ci-shared-profile-page .site-header .nav-menu .sub-menu .current-menu-item > a {
	color: #102846;
}

.ci-shared-profile-wrapper[data-watermark="1"] .ci-shared-profile-container::before {
	content: "CONFIDENTIAL";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-35deg);
	font-size: 6.5rem;
	font-weight: 900;
	color: rgba(26, 58, 95, 0.08);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	z-index: 1;
	pointer-events: none;
	white-space: nowrap;
}

.ci-shared-profile-wrapper[data-watermark="1"] .ci-shared-profile-container > * {
	position: relative;
	z-index: 2;
}

.ci-shared-profile-container {
	max-width: 1200px;
	margin: 0 auto;
	background: #ffffff;
	border-radius: 20px;
	box-shadow: 0 10px 40px rgba(16, 42, 74, 0.15);
	overflow: hidden;
	position: relative;
	z-index: 2;
}

.ci-shared-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 2rem 2.5rem;
	background: linear-gradient(135deg, #1a3a5f 0%, #102a4a 100%);
	border-bottom: 4px solid #d4af37;
}

.ci-shared-logo img {
	max-height: 107px;
	width: auto;
}

.ci-shared-logo h2 {
	margin: 0;
	color: #ffffff;
	font-size: 1.5rem;
	font-weight: 600;
}

.ci-shared-title {
	text-align: right;
}

.ci-shared-title h1 {
	margin: 0;
	font-size: 1.75rem;
	font-weight: 600;
	color: #ffffff;
	letter-spacing: -0.02em;
}

.ci-shared-title p {
	margin: 0.25rem 0 0;
	font-size: 0.95rem;
	color: #d4af37;
	font-weight: 600;
}

.ci-shared-profile-header {
	display: flex;
	align-items: center;
	gap: 2rem;
	padding: 2.5rem;
	background: linear-gradient(135deg, #f8fbff 0%, #f0f6ff 100%);
	border-bottom: 1px solid rgba(26, 58, 95, 0.1);
}

.ci-shared-photo {
	flex-shrink: 0;
}

.ci-profile-photo {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	object-fit: cover;
	border: 4px solid #d4af37;
	box-shadow: 0 8px 24px rgba(16, 42, 74, 0.2);
}

.ci-profile-placeholder {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: linear-gradient(135deg, #1a3a5f 0%, #102a4a 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 4px solid #d4af37;
	box-shadow: 0 8px 24px rgba(16, 42, 74, 0.2);
}

.ci-profile-placeholder svg {
	color: #d4af37;
}

.ci-shared-profile-info {
	flex: 1;
}

.ci-student-name {
	margin: 0 0 1rem;
	font-size: 2rem;
	font-weight: 600;
	color: #1a3a5f;
	letter-spacing: -0.02em;
}

.ci-student-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}

.ci-meta-item {
	font-size: 1rem;
	color: rgba(26, 58, 95, 0.8);
}

.ci-meta-item strong {
	color: #1a3a5f;
}

.ci-status-verified {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.4rem 0.9rem;
	background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
	color: #ffffff;
	border-radius: 20px;
	font-weight: 600;
	font-size: 0.9rem;
	box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3);
}

.ci-shared-content {
	padding: 2.5rem;
}

.ci-gpa-highlight {
	display: inline-block;
	padding: 0.25rem 0.65rem;
	background: linear-gradient(135deg, #d4af37 0%, #f0d98f 100%);
	color: #1a3a5f;
	border-radius: 8px;
	font-weight: 600;
	font-size: 1.1rem;
	box-shadow: 0 2px 8px rgba(212, 175, 55, 0.3);
}

.ci-shared-footer {
	padding: 2rem 2.5rem;
	background: linear-gradient(135deg, #f8fbff 0%, #f0f6ff 100%);
	border-top: 1px solid rgba(26, 58, 95, 0.1);
	text-align: center;
}

.ci-shared-footer p {
	margin: 0.5rem 0;
	color: rgba(26, 58, 95, 0.7);
	font-size: 0.9rem;
}

.ci-verification-date {
	font-weight: 600;
	color: #1a3a5f;
}

@media (max-width: 768px) {
	.ci-shared-header {
		flex-direction: column;
		text-align: center;
		padding: 1.5rem;
	}
	
	.ci-shared-title {
		text-align: center;
		margin-top: 1rem;
	}
	
	.ci-shared-profile-header {
		flex-direction: column;
		text-align: center;
		padding: 2rem 1.5rem;
	}
	
	.ci-student-meta {
		flex-direction: column;
		gap: 0.75rem;
	}
	
	.ci-shared-content {
		padding: 1.5rem;
	}
}

/* Snapshot Initiative Section */
.snapshot-initiative-section {
	padding: 5rem 1rem;
	background: linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%);
}

.snapshot-initiative-header {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 3rem;
}

.snapshot-kicker {
	font-size: 0.85rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--care-inf-accent);
	font-weight: 600;
	margin: 0 0 0.75rem;
}

.snapshot-initiative-header h2 {
	font-size: clamp(2rem, 3vw, 2.75rem);
	color: var(--care-inf-primary-dark);
	margin: 0 0 1rem;
}

.snapshot-initiative-header p {
	color: rgba(26, 58, 95, 0.75);
	font-size: 1.05rem;
	line-height: 1.7;
	margin: 0;
}

.snapshot-initiative-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem;
}

.snapshot-card {
	background: #ffffff;
	border-radius: 20px;
	padding: 2rem;
	box-shadow: 0 10px 30px rgba(16, 42, 74, 0.08);
	border: 1px solid rgba(26, 58, 95, 0.08);
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.snapshot-card h3 {
	margin: 0;
	font-size: 1.4rem;
	color: var(--care-inf-primary-dark);
}

.snapshot-card p {
	margin: 0;
	color: rgba(26, 58, 95, 0.75);
	line-height: 1.6;
}

.snapshot-card ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.6rem;
}

.snapshot-card ul li {
	position: relative;
	padding-left: 1.4rem;
	color: rgba(26, 58, 95, 0.85);
	font-weight: 600;
}

.snapshot-card ul li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: var(--care-inf-accent);
}

.snapshot-card .btn {
	align-self: flex-start;
}

.snapshot-card-countdown {
	background: linear-gradient(135deg, #102846 0%, #1a3a5f 100%);
	color: #ffffff;
	border-color: rgba(255, 255, 255, 0.15);
}

.snapshot-card-countdown h3,
.snapshot-card-countdown p,
.snapshot-card-countdown .countdown-meta {
	color: #ffffff;
}

.snapshot-countdown {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.snapshot-countdown .time-box {
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 14px;
	padding: 1rem 0.75rem;
	text-align: center;
}

.snapshot-countdown .value {
	display: block;
	font-size: 1.4rem;
	font-weight: 600;
}

.snapshot-countdown .label {
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.8;
}

.countdown-meta {
	font-size: 0.9rem;
	opacity: 0.8;
}

.snapshot-progress {
	display: grid;
	gap: 0.75rem;
}

.progress-count {
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark);
}

.progress-count .divider {
	margin: 0 0.35rem;
	opacity: 0.6;
}

.progress-bar {
	width: 100%;
	height: 10px;
	background: rgba(26, 58, 95, 0.12);
	border-radius: 999px;
	overflow: hidden;
}

.progress-fill {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, #d4af37 0%, #f0d98f 100%);
	border-radius: 999px;
	transition: width 0.8s ease;
}

.progress-note {
	font-size: 0.85rem;
	color: rgba(26, 58, 95, 0.7);
}

@media (max-width: 1024px) {
	.snapshot-initiative-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.snapshot-card-countdown {
		grid-column: span 2;
	}
}

@media (max-width: 768px) {
	   .snapshot-initiative-section {
		   padding: 3.5rem 0px;
	   }

	.snapshot-initiative-grid {
		grid-template-columns: 1fr;
	}

	.snapshot-card {
		padding: 1.75rem;
	}

	   .snapshot-countdown {
		   grid-template-columns: repeat(1, minmax(0, 1fr));
	   }

	   .snapshot-card-countdown {
		   grid-column: span 1;
	   }
}
@media (max-width: 768px) {
	.three-pillars-section {
		padding: 4rem 0rem !important;
		background: #f8fafc;
	}
}
@media (max-width: 768px) {
	.site-footer .footer-main .container,
	.site-footer .footer-bottom .container {
		width: 100%;
		max-width: 1300px;
		margin: 0 auto;
		padding: 0 20px !important;
		box-sizing: border-box;
	}
}
@media (max-width: 600px) {
	.premium-card-image {
		height: 549px;
	}
}
   .cards-grid-section .card-overlay .card-images img {
	   min-height: 220px;
	   height: 220px;
	   object-fit: cover;
   }
   @media (max-width: 768px) {
    .snapshot-initiative-section {
        padding: 3.5rem 0px;
    }
}

/* Student dashboard — expectations gate */
.ci-portal-dashboard .ci-dashboard-shell > .ci-expectations-ack--dashboard-only {
	grid-column: 1 / -1;
	width: 100%;
}

.ci-portal-dashboard .ci-expectations-ack--dashboard-only {
	max-width: 760px;
	margin: 2rem auto 3rem;
	padding: 0 1.25rem;
}

.ci-portal-dashboard .ci-expectations-ack--dashboard-only .ci-expectations-ack__inner {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 4px 24px rgba(26, 58, 95, 0.08);
	border: 1px solid rgba(26, 58, 95, 0.12);
	padding: 2rem 2.25rem;
}

.ci-portal-dashboard .ci-expectations-ack__title {
	font-size: 1.45rem;
	color: #1a3a5f;
	margin: 0 0 0.75rem;
}

.ci-portal-dashboard .ci-expectations-ack__lead,
.ci-portal-dashboard .ci-expectations-ack__meta {
	color: rgba(26, 58, 95, 0.72);
	font-size: 0.95rem;
	line-height: 1.55;
	margin: 0 0 1rem;
}

.ci-portal-dashboard .ci-expectations-ack__list {
	margin: 0 0 1.25rem 1.15rem;
	line-height: 1.55;
	color: #1e293b;
}

.ci-portal-dashboard .ci-expectations-ack__list li {
	margin-bottom: 0.45rem;
}

.ci-portal-dashboard .ci-expectations-ack__confirm {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	font-size: 0.95rem;
	margin: 1.1rem 0;
	cursor: pointer;
}

.ci-portal-dashboard .ci-expectations-ack__confirm input {
	margin-top: 0.2rem;
	flex-shrink: 0;
}

.ci-portal-dashboard .ci-expectations-ack__message {
	color: #b91c1c;
	font-size: 0.9rem;
	margin: 1rem 0 0;
	min-height: 1.25em;
}

/* Student dashboard — program placement + snapshot status history (single column: no orphan grid cell beside placement card). */
.ci-student-program-context {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.25rem;
	margin-top: 0;
	align-items: start;
}

.ci-student-assigned-card__title,
.ci-student-snapshot-history-card__title {
	font-size: 1.15rem;
	color: #1a3a5f;
	margin: 0 0 0.35rem;
}

.ci-student-assigned-card__lead {
	margin: 0 0 1rem;
	font-size: 0.9rem;
}

.ci-student-assigned-card__list {
	margin: 0;
}

.ci-student-assigned-card__row {
	display: grid;
	grid-template-columns: minmax(0, 34%) minmax(0, 1fr);
	gap: 0.75rem 1rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid rgba(26, 58, 95, 0.08);
}

.ci-student-assigned-card__row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.ci-student-assigned-card__row dt {
	margin: 0;
	font-size: 0.82rem;
	font-weight: 600;
	color: rgba(26, 58, 95, 0.65);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.ci-student-assigned-card__row dd {
	margin: 0;
	font-size: 0.95rem;
	color: #1e293b;
	line-height: 1.45;
}

.ci-student-assigned-card__meta {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.88rem;
	font-weight: 400;
	color: rgba(30, 41, 59, 0.75);
}

.ci-student-snapshot-history-table {
	font-size: 0.88rem;
}

.ci-student-snapshot-history-table th,
.ci-student-snapshot-history-table td {
	vertical-align: top;
}

.ci-student-snapshot-history-table td:last-child {
	color: rgba(30, 41, 59, 0.82);
}

@media (max-width: 600px) {
	.ci-student-assigned-card__row {
		grid-template-columns: 1fr;
	}
}

/* Header menu spacing and responsive polish */
.site-header .nav-menu {
	flex-wrap: nowrap;
	gap: 0.25rem 0.75rem;
}

.site-header .nav-menu > li > a {
	padding: 8px 14px;
	line-height: 1.2;
}

.site-header .nav-menu > li.menu-item-has-children > a {
	padding-right: 24px;
}

.site-header .nav-menu > li.menu-item-has-children::after {
	right: 8px;
}

@media (max-width: 1280px) {
	.site-header .nav-menu {
		gap: 0.25rem 0.45rem;
	}

	.site-header .nav-menu > li > a {
		padding: 7px 12px;
		font-size: 0.95rem;
	}
}

@media (max-width: 1024px) {
	.site-header .nav-menu {
		gap: 0.2rem 0.3rem;
	}
}

@media (max-width: 1100px) and (min-width: 769px) {
	.site-header .container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.site-header .header-inner {
		gap: 0.75rem;
	}

	.site-header .main-navigation {
		order: 3;
		flex: 0 0 auto;
		min-width: 0;
		justify-content: flex-end;
		position: static;
	}

	.site-header .header-actions {
		order: 2;
		margin-left: auto;
	}

	.site-header .menu-toggle {
		display: flex;
		padding: 10px 12px;
		margin-left: 0.5rem;
	}

	.site-header .nav-menu {
		display: none;
		flex-direction: column;
		width: auto;
		background: var(--care-inf-bg-color);
		border: 1px solid rgba(0, 0, 0, 0.1);
		position: absolute;
		top: calc(100% + 8px);
		left: 20px;
		right: 20px;
		z-index: 9999;
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
		padding: 8px 0;
		margin: 0;
		gap: 0;
		max-height: min(70vh, 560px);
		overflow-y: auto;
		border-radius: 12px;
	}

	.site-header .nav-menu.active {
		display: flex;
	}

	.site-header .nav-menu li {
		width: 100%;
	}

	.site-header .nav-menu > li.menu-item-has-children {
		position: relative;
	}

	.site-header .nav-menu > li > a {
		padding: 11px 16px;
		color: var(--care-inf-text-color);
		font-size: 0.95rem;
		border-bottom: 1px solid rgba(0, 0, 0, 0.06);
		padding-right: 52px;
	}

	.site-header .nav-menu > li:last-child > a {
		border-bottom: 0;
	}

	.site-header .nav-menu > li.menu-item-has-children::after {
		display: none;
	}

	.site-header .sub-menu-toggle {
		display: flex !important;
		position: absolute;
		right: 0;
		top: 0;
		bottom: auto;
		width: 52px;
		height: 48px;
		align-items: center;
		justify-content: center;
		border: none;
		background: none;
		z-index: 3;
	}

	.site-header .nav-menu .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		display: none;
		box-shadow: none;
		border: 0;
		border-radius: 0;
		padding: 0 0 0 12px;
		background: rgba(26, 58, 95, 0.03);
	}

	.site-header .nav-menu .sub-menu.open {
		display: block;
	}

	.site-header .nav-menu .sub-menu .sub-menu-toggle {
		display: none !important;
	}

	.site-header .header-actions .btn-primary,
	.site-header .header-actions .btn-signin {
		padding: 7px 12px;
		font-size: 0.8rem;
		white-space: nowrap;
	}
}

@media (max-width: 768px) {
	.site-header .header-inner {
		flex-wrap: nowrap;
	}

	.site-header .main-navigation {
		position: static;
		order: 3;
		width: auto !important;
		flex: 0 0 auto;
		margin-top: 0;
		justify-content: flex-end;
	}

	.site-header .nav-menu {
		position: absolute;
		top: calc(100% + 8px);
		left: 20px;
		right: 20px;
		width: auto !important;
		max-height: min(70vh, 560px);
	}

	.site-header .nav-menu > li > a {
		padding-right: 52px;
	}

	.site-header .sub-menu-toggle {
		height: 48px;
	}

	.site-header .container {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.site-header .header-actions .btn-primary {
		display: inline-flex !important;
		padding: 8px 12px;
		font-size: 0.78rem;
		white-space: nowrap;
	}

	.site-header .header-actions .btn-signin,
	.site-header .header-actions .btn-icon {
		display: none !important;
	}

	.site-header .nav-menu > li > a {
		padding: 10px 16px;
		padding-right: 52px;
	}

	/* Keep submenu toggle confined to parent row only (fixes long overlay strip) */
	.site-header .nav-menu > li.menu-item-has-children {
		position: relative;
	}

	.site-header .nav-menu > li.menu-item-has-children > .sub-menu-toggle {
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		bottom: auto !important;
		width: 52px;
		height: 48px !important;
		padding: 0;
		background: transparent;
		z-index: 3;
	}

	.site-header .nav-menu .sub-menu {
		padding-right: 0;
	}

	.site-header .nav-menu > li > a:hover,
	.site-header .nav-menu > li > a:focus,
	.site-header .nav-menu > li > a:active,
	.site-header .nav-menu > li.current-menu-item > a,
	.site-header .nav-menu > li.current_page_parent > a {
		padding-left: 20px;
	}
}

@media (max-width: 1100px) {
	/* Keep submenu toggle icon style identical on tablet and mobile */
	.site-header .nav-menu > li.menu-item-has-children > .sub-menu-toggle {
		display: flex !important;
		position: absolute;
		top: 0;
		right: 0;
		align-items: center;
		justify-content: center;
		width: 52px;
		height: 48px;
		padding: 0;
		border: none !important;
		border-radius: 0;
		background: transparent !important;
		box-shadow: none !important;
		outline: none !important;
		-webkit-appearance: none;
		appearance: none;
	}

	.site-header .nav-menu > li.menu-item-has-children > .sub-menu-toggle::after {
		content: '';
		width: 8px;
		height: 8px;
		border-right: 2px solid var(--care-inf-accent);
		border-bottom: 2px solid var(--care-inf-accent);
		transform: rotate(45deg);
		transition: transform 0.25s ease;
	}

	.site-header .nav-menu > li.menu-item-has-children > .sub-menu-toggle:focus,
	.site-header .nav-menu > li.menu-item-has-children > .sub-menu-toggle:focus-visible,
	.site-header .nav-menu > li.menu-item-has-children > .sub-menu-toggle:active {
		border: none !important;
		outline: none !important;
		box-shadow: none !important;
		background: transparent !important;
	}

	.site-header .nav-menu > li.menu-item-has-children.sub-open > .sub-menu-toggle::after {
		transform: rotate(-135deg);
	}
}