/**
 * @package CARE-INF
 * Portal cards, forms, and shared components. See care_inf_enqueue_portal_styles().
 */
/* ============================================
   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;
}