/**
 * @package CARE-INF
 * Preceptor / faculty reviewer dashboard styles. See care_inf_enqueue_portal_styles().
 */

/* ========== 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;
}

.ci-reviewer-course-status--panel {
	margin-top: 0;
	padding: 0;
	border-top: none;
}

.ci-overview-cert-more {
	margin: 1rem 0 0;
	text-align: center;
}

/* NCP certification panel (faculty dashboard) */
.ci-ncp-cert-panel {
	display: grid;
	gap: 1.25rem;
}

.ci-ncp-cert-hero {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 1.5rem 2rem;
	align-items: start;
	padding: 1.5rem 1.75rem;
	border-radius: 18px;
	background: linear-gradient(135deg, #102846 0%, #1a3a5f 48%, #243f68 100%);
	color: #fff;
	box-shadow: 0 12px 40px rgba(16, 40, 70, 0.22);
}

.ci-ncp-cert-hero__main {
	min-width: 0;
}

.ci-ncp-cert-hero__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.55rem;
	min-width: 200px;
}

.ci-ncp-cert-hero__actions .btn {
	margin: 0;
	text-align: center;
	white-space: nowrap;
}

.ci-ncp-cert-badge {
	display: inline-block;
	margin-bottom: 0.65rem;
	padding: 0.28rem 0.7rem;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

.ci-ncp-cert-badge.is-setup {
	background: rgba(212, 175, 55, 0.28);
	color: #ffe9a8;
}

.ci-ncp-cert-badge.is-pending,
.ci-ncp-cert-badge.is-learning {
	background: rgba(59, 130, 246, 0.35);
	color: #dbeafe;
}

.ci-ncp-cert-badge.is-complete {
	background: rgba(16, 185, 129, 0.35);
	color: #d1fae5;
}

.ci-ncp-cert-badge.is-renewal {
	background: rgba(220, 38, 38, 0.35);
	color: #fecaca;
}

.ci-ncp-cert-kicker {
	margin: 0 0 0.35rem;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.82;
	font-weight: 600;
}

.ci-ncp-cert-headline {
	margin: 0 0 0.5rem;
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	font-weight: 600;
	line-height: 1.25;
	color: #fff;
	font-family: var(--font-heading, Cinzel, Georgia, serif);
}

.ci-ncp-cert-lead {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.55;
	opacity: 0.9;
	max-width: 42rem;
}

.ci-ncp-cert-course-name {
	margin: 0.85rem 0 0;
	font-size: 0.88rem;
	opacity: 0.88;
}

.ci-ncp-cert-course-name__label {
	display: inline-block;
	margin-right: 0.35rem;
	padding: 0.1rem 0.45rem;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.12);
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 600;
}

.ci-ncp-cert-metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.ci-ncp-metric-card {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
	padding: 1.1rem 1.15rem;
	background: #fff;
	border: 1px solid rgba(26, 58, 95, 0.1);
	border-radius: 14px;
	box-shadow: 0 4px 16px rgba(16, 40, 70, 0.06);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ci-ncp-metric-card.is-done {
	border-color: rgba(13, 128, 80, 0.35);
	background: linear-gradient(180deg, #fff 0%, #f4fbf7 100%);
}

.ci-ncp-metric-card.is-action {
	border-color: rgba(212, 175, 55, 0.45);
	box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.15);
}

.ci-ncp-metric-card.is-warn {
	border-color: rgba(196, 30, 58, 0.35);
	background: linear-gradient(180deg, #fff 0%, #fff8f8 100%);
}

.ci-ncp-metric-card__icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: rgba(26, 58, 95, 0.08);
	color: var(--care-inf-primary-dark, #1a3a5f);
}

.ci-ncp-metric-card.is-done .ci-ncp-metric-card__icon {
	background: rgba(13, 128, 80, 0.12);
	color: #0d8050;
}

.ci-ncp-metric-card.is-warn .ci-ncp-metric-card__icon {
	background: rgba(196, 30, 58, 0.1);
	color: #a94442;
}

.ci-ncp-metric-card__label {
	display: block;
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgba(26, 58, 95, 0.58);
	font-weight: 600;
	margin-bottom: 0.2rem;
}

.ci-ncp-metric-card__value {
	display: block;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark, #1a3a5f);
	line-height: 1.2;
}

.ci-ncp-metric-card__meta {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.78rem;
	line-height: 1.35;
	color: rgba(26, 58, 95, 0.62);
}

.ci-ncp-cert-progress {
	padding: 1rem 1.25rem;
	background: #fff;
	border: 1px solid rgba(26, 58, 95, 0.1);
	border-radius: 14px;
}

.ci-ncp-cert-progress__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 0.5rem;
}

.ci-ncp-cert-progress__label {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 600;
	color: rgba(26, 58, 95, 0.6);
}

.ci-ncp-cert-progress__pct {
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark, #1a3a5f);
}

.ci-ncp-cert-grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 1.25rem;
}

.ci-ncp-cert-card {
	background: #fff;
	border: 1px solid rgba(26, 58, 95, 0.1);
	border-radius: 16px;
	padding: 1.25rem 1.35rem;
	box-shadow: 0 4px 18px rgba(16, 40, 70, 0.05);
}

.ci-ncp-cert-card__title {
	margin: 0 0 1rem;
	font-size: 1rem;
	font-weight: 600;
	color: var(--care-inf-primary-dark, #1a3a5f);
}

.ci-ncp-cert-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.85rem;
}

.ci-ncp-cert-steps li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.85rem;
	align-items: start;
	padding: 0.85rem 1rem;
	border-radius: 12px;
	border: 1px solid rgba(26, 58, 95, 0.08);
	background: rgba(26, 58, 95, 0.02);
}

.ci-ncp-cert-steps li.is-complete {
	border-color: rgba(13, 128, 80, 0.25);
	background: rgba(13, 128, 80, 0.05);
}

.ci-ncp-cert-steps li.is-current {
	border-color: rgba(212, 175, 55, 0.45);
	background: rgba(212, 175, 55, 0.08);
}

.ci-ncp-cert-steps li.is-warn {
	border-color: rgba(196, 30, 58, 0.35);
	background: rgba(196, 30, 58, 0.06);
}

.ci-ncp-cert-step__num {
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 0.8rem;
	font-weight: 600;
	background: rgba(26, 58, 95, 0.1);
	color: var(--care-inf-primary-dark, #1a3a5f);
}

.ci-ncp-cert-steps li.is-complete .ci-ncp-cert-step__num {
	background: #0d8050;
	color: #fff;
}

.ci-ncp-cert-steps li.is-current .ci-ncp-cert-step__num {
	background: var(--care-inf-accent, #d4af37);
	color: #1a3a5f;
}

.ci-ncp-cert-steps li strong {
	display: block;
	margin-bottom: 0.2rem;
	font-size: 0.92rem;
	color: var(--care-inf-primary-dark, #1a3a5f);
}

.ci-ncp-cert-steps li p {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: rgba(26, 58, 95, 0.68);
}

.ci-ncp-cert-includes {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: grid;
	gap: 0.55rem;
}

.ci-ncp-cert-includes li {
	position: relative;
	padding-left: 1.35rem;
	font-size: 0.88rem;
	line-height: 1.45;
	color: rgba(26, 58, 95, 0.78);
}

.ci-ncp-cert-includes li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--care-inf-accent, #d4af37);
}

.ci-ncp-cert-pricing {
	margin-top: 0.5rem;
	padding-top: 1rem;
	border-top: 1px dashed rgba(26, 58, 95, 0.15);
}

.ci-ncp-cert-pricing__row {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.35rem 0;
	font-size: 0.88rem;
	color: rgba(26, 58, 95, 0.78);
}

.ci-ncp-cert-pricing__row--total {
	margin-top: 0.35rem;
	padding-top: 0.5rem;
	border-top: 1px solid rgba(26, 58, 95, 0.1);
	font-weight: 600;
	color: var(--care-inf-primary-dark, #1a3a5f);
}

.ci-ncp-cert-pricing__note {
	margin: 0.65rem 0 0;
	font-size: 0.78rem;
	line-height: 1.4;
	color: rgba(26, 58, 95, 0.58);
}

.ci-ncp-cert-panel--compact .ci-ncp-cert-hero {
	grid-template-columns: 1fr;
}

.ci-ncp-cert-panel--compact .ci-ncp-cert-hero__actions {
	flex-direction: row;
	flex-wrap: wrap;
	min-width: 0;
}

.ci-ncp-cert-panel--compact .ci-ncp-cert-metrics {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ci-ncp-cert-panel--compact .ci-ncp-cert-grid {
	display: none;
}

@media (max-width: 1100px) {
	.ci-ncp-cert-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ci-ncp-cert-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.ci-ncp-cert-hero {
		grid-template-columns: 1fr;
		padding: 1.15rem;
	}
	.ci-ncp-cert-hero__actions {
		width: 100%;
	}
	.ci-ncp-cert-metrics {
		grid-template-columns: 1fr;
	}
}

/* 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;
	}
}

/* Traffic light competency form (preceptor dashboard) */
.ci-pane-traffic-light .ci-tlc-hero-actions {
	margin: 0.85rem 0 0;
}
.ci-pane-traffic-light .ci-tlc-aacn-btn.btn.btn-red {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.65rem 1.35rem;
	min-height: 44px;
	font-size: 0.95rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--care-inf-bg-color, #0d2844);
	background: linear-gradient(135deg, var(--care-inf-accent, #d4af37) 0%, var(--care-inf-accent-dark, #b8941f) 100%);
	border: 2px solid rgba(212, 175, 55, 0.35);
	border-radius: 8px;
	box-shadow: 0 6px 18px rgba(212, 175, 55, 0.28);
	transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, color 0.3s ease;
}

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

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

.ci-pane-traffic-light .ci-tlc-aacn-btn.btn.btn-red:focus-visible {
	outline: 3px solid rgba(45, 90, 142, 0.35);
	outline-offset: 2px;
}
.ci-pane-traffic-light .ci-tlc-form-card {
	margin-top: 1rem;
}
.ci-tlc-domain {
	border: 1px solid var(--ci-dso-border, rgba(26, 58, 95, 0.1));
	border-radius: var(--ci-dso-radius-sm, 12px);
	padding: 0.85rem 1rem;
	margin-bottom: 0.75rem;
	background: #fff;
}
.ci-tlc-domain-row {
	display: grid;
	grid-template-columns: minmax(120px, 160px) 1fr;
	gap: 0.75rem 1rem;
	align-items: end;
}
@media (max-width: 640px) {
	.ci-tlc-domain-row {
		grid-template-columns: 1fr;
	}
}
.ci-tlc-status-row {
	flex-wrap: wrap;
}
.ci-tl-competency-preview-grid {
	margin-top: 0.65rem;
	pointer-events: none;
}
.ci-tl-competency-readonly .ci-muted {
	margin-bottom: 0.35rem;
}
