/* SCH Coach Dashboard */

/* ── Rajdhani font ──────────────────────────────────────────────────────── */
.sch-dashboard-wrap {
	font-family: 'Rajdhani', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.sch-d-name {
	font-family: 'Rajdhani', sans-serif;
	letter-spacing: 0.5px;
}
.sch-d-kpi__val,
.sch-d-licence-value {
	font-family: 'Rajdhani', sans-serif;
}
.sch-d-section__title,
.sch-d-widget__head {
	font-family: 'Rajdhani', sans-serif;
}

/* ── Full-width layout overrides ───────────────────────────────────────── */
.sch-dashboard-wrap {
	width: 100%;
	max-width: 100% !important;
	padding: 0 2rem;
	box-sizing: border-box;
}

body .entry-content,
body .site-content .container,
body .buddyboss-theme .bb-grid,
body #buddypress,
body .buddypress-wrap {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* ── Chips with logos ────────────────────────────────────────────────── */
.sch-d-chip__logo {
	width: 18px;
	height: 18px;
	object-fit: contain;
	vertical-align: middle;
	margin-right: 4px;
	flex-shrink: 0;
}

.sch-d-chip__logo-ph {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	font-size: 15px;
	line-height: 1;
	vertical-align: middle;
	margin-right: 4px;
}

/* ============================================================
   Tokens
   ============================================================ */
.sch-dashboard {
	--sch-primary:       #227F77;
	--sch-dark:          #025B54;
	--sch-navy:          #122B46;
	--sch-yellow:        #F1C40F;
	--sch-white:         #ffffff;
	--sch-bg:            #f8f9fa;
	--sch-border:        #e5e7eb;
	--sch-border-soft:   rgba(0,0,0,.06);
	--sch-text:          #1f2937;
	--sch-text-secondary:#6b7280;
	--sch-primary-light: #e8f5f4;
	--sch-radius:        12px;

	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	color: var(--sch-text);
	line-height: 1.5;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 16px 48px;
}

.sch-dashboard *,
.sch-dashboard *::before,
.sch-dashboard *::after {
	box-sizing: border-box;
}

/* ============================================================
   Hero — dark navy three-section card
   ============================================================ */
.sch-d-hero {
	display: flex;
	align-items: center;
	gap: 2rem;
	background: #122B46;
	border-radius: 16px;
	padding: 2rem;
	margin-bottom: 1.5rem;
	position: relative;
	overflow: hidden;
}

.sch-d-hero::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, #227F77, #F1C40F, #227F77);
}

/* Section A — User Identity */
.sch-d-hero__a {
	display: flex;
	align-items: center;
	gap: 18px;
	flex: 1;
	min-width: 0;
}

.sch-d-avatar {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	border: 2px solid #227F77;
}

.sch-d-hero__identity {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.sch-d-name {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.5px;
	
	margin: 0;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.sch-glass-page:not(.sch-light) .sch-d-name { color: #ffffff; } /* dark-era ink, scoped */

.sch-d-account-type {
	font-size: 15px;
	
	margin: 0;
}
.sch-glass-page:not(.sch-light) .sch-d-account-type { color: rgba(255, 255, 255, 0.55); } /* dark-era ink, scoped */

/* Section B — Association Logos */
.sch-d-hero__b {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.sch-d-hero__logos {
	display: flex;
	align-items: center;
	gap: 16px;
}

.sch-d-logo-box {
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-sizing: border-box;
}

.sch-d-logo-box--fa {
	width: 72px;
	height: 72px;
	border-radius: 12px;
	padding: 8px;
}

.sch-d-logo-box--conf {
	width: 56px;
	height: 56px;
	border-radius: 10px;
	padding: 6px;
}

.sch-d-logo-box img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.sch-d-logo-initials {
	font-family: 'Rajdhani', sans-serif;
	font-weight: 700;
	font-size: 21px;
	color: #122B46;
}

.sch-d-logo-divider {
	width: 1px;
	height: 48px;
	background: rgba(255, 255, 255, 0.15);
}

.sch-d-hero__logo-names {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	text-align: center;
}

.sch-d-fa-name-full {
	font-size: 15px;
	
	line-height: 1.3;
}
.sch-glass-page:not(.sch-light) .sch-d-fa-name-full { color: rgba(255, 255, 255, 0.75); } /* dark-era ink, scoped */

.sch-d-conf-name {
	font-size: 13px;
	
}
.sch-glass-page:not(.sch-light) .sch-d-conf-name { color: rgba(255, 255, 255, 0.45); } /* dark-era ink, scoped */

/* Section C — Licence Info */
.sch-d-hero__c {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex-shrink: 0;
	text-align: right;
	min-width: 160px;
}

.sch-d-hero__label {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	
}
.sch-glass-page:not(.sch-light) .sch-d-hero__label { color: rgba(255, 255, 255, 0.4); } /* dark-era ink, scoped */

.sch-d-hero__label--obnova {
	margin-top: 12px;
}

.sch-d-licence-value {
	font-size: 25px;
	font-weight: 700;
	
	line-height: 1.2;
}
.sch-glass-page:not(.sch-light) .sch-d-licence-value { color: #F1C40F; } /* dark-era ink, scoped */

.sch-d-renewal-date {
	font-size: 17px;
	
	line-height: 1.3;
}
.sch-glass-page:not(.sch-light) .sch-d-renewal-date { color: #ffffff; } /* dark-era ink, scoped */

.sch-d-mem-chip {
	display: inline-block;
	margin-top: 8px;
	align-self: flex-end;
	padding: 3px 10px;
	border-radius: 20px;
	background: rgba(34, 197, 94, 0.2);
	border: 1px solid rgba(34, 197, 94, 0.4);
	
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
}
.sch-glass-page:not(.sch-light) .sch-d-mem-chip { color: #4ade80; } /* dark-era ink, scoped */

.sch-d-muted {
	
	font-size: 16px;
	font-weight: 400;
}
.sch-glass-page:not(.sch-light) .sch-d-muted { color: rgba(255, 255, 255, 0.35); } /* dark-era ink, scoped */

/* ============================================================
   KPI row
   ============================================================ */
.sch-d-kpi-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	padding: 1.25rem 0;
	border-bottom: .5px solid var(--sch-border);
	margin-bottom: 1.5rem;
}

.sch-d-kpi {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0 1.5rem;
	border-right: .5px solid var(--sch-border);
}

.sch-d-kpi:first-child {
	padding-left: 0;
}

.sch-d-kpi:last-child {
	border-right: none;
}

.sch-d-kpi__val {
	font-size: 37px;
	font-weight: 700;
	color: var(--sch-navy);
	line-height: 1;
}

.sch-d-kpi__label {
	font-size: 15px;
	font-weight: 500;
	color: var(--sch-text);
	margin-top: 4px;
}

.sch-d-kpi__sub {
	font-size: 13px;
	color: var(--sch-text-secondary);
	margin-top: 1px;
}

/* ============================================================
   Two-column body
   ============================================================ */
.sch-d-body {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 2rem;
	align-items: start;
}

/* ============================================================
   Sections — main column
   ============================================================ */
.sch-d-section {
	margin-bottom: 2rem;
}

.sch-d-section__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1rem;
}

.sch-d-section__title {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--sch-text-secondary);
}

/* ============================================================
   Links
   ============================================================ */
.sch-d-link {
	font-size: 15px;
	color: var(--sch-text-secondary);
	text-decoration: none;
}

.sch-d-link:hover {
	color: var(--sch-text);
}

.sch-d-link--teal {
	color: var(--sch-primary);
	font-weight: 500;
}

.sch-d-link--teal:hover {
	color: var(--sch-dark);
}

/* ============================================================
   Course list
   ============================================================ */
.sch-d-course-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sch-d-course-item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 0;
	border-bottom: .5px solid var(--sch-border);
}

.sch-d-course-item:last-child {
	border-bottom: none;
}

.sch-d-course-num {
	font-size: 14px;
	font-weight: 700;
	color: var(--sch-text-secondary);
	width: 22px;
	flex-shrink: 0;
	font-variant-numeric: tabular-nums;
}

.sch-d-course-body {
	flex: 1;
	min-width: 0;
}

.sch-d-course-title {
	font-size: 16px;
	font-weight: 500;
	color: var(--sch-text);
	text-decoration: none;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sch-d-course-title:hover {
	color: var(--sch-primary);
}

.sch-d-course-meta {
	font-size: 13px;
	color: var(--sch-text-secondary);
	display: block;
	margin-top: 1px;
}

.sch-d-progress {
	height: 2px;
	background: var(--sch-border);
	border-radius: 1px;
	overflow: hidden;
	margin-top: 6px;
}

.sch-d-progress__fill {
	height: 100%;
	background: var(--sch-primary);
	width: 0;
	border-radius: 1px;
	transition: width .7s ease;
}

.sch-d-course-pct {
	font-size: 14px;
	font-weight: 600;
	color: var(--sch-primary);
	width: 36px;
	flex-shrink: 0;
	text-align: right;
}

/* ============================================================
   Empty state
   ============================================================ */
.sch-d-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 28px 0;
	font-size: 15px;
	color: var(--sch-text-secondary);
	text-align: center;
}

.sch-d-empty-state__icon {
	font-size: 32px;
}

/* ============================================================
   Session list (Trace AI / Mentoring)
   ============================================================ */
.sch-d-session-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sch-d-session-item {
	display: flex;
	align-items: center;
	gap: 12px;
}

.sch-d-session-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
}

.sch-d-session-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.sch-d-session-title {
	font-size: 16px;
	font-weight: 500;
	color: var(--sch-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sch-d-session-meta {
	font-size: 13px;
	color: var(--sch-text-secondary);
}

/* Locked card (Trace AI locked state) */
.sch-d-locked-card {
	display: flex;
	align-items: center;
	gap: 14px;
	border: .5px dashed var(--sch-border);
	border-radius: var(--sch-radius);
	padding: 16px;
}

.sch-d-locked-card__icon {
	font-size: 25px;
	flex-shrink: 0;
}

.sch-d-locked-card__title {
	font-size: 16px;
	font-weight: 600;
	color: var(--sch-navy);
	display: block;
}

.sch-d-locked-card__sub {
	font-size: 14px;
	color: var(--sch-text-secondary);
}

/* ============================================================
   Muted helper
   ============================================================ */
.sch-d-muted {
	color: var(--sch-text-secondary);
	font-size: 15px;
	margin: 0;
}

/* ============================================================
   Sidebar widgets
   ============================================================ */
.sch-d-sidebar {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sch-d-widget {
	background: var(--sch-white);
	border: .5px solid var(--sch-border);
	border-radius: var(--sch-radius);
	overflow: hidden;
}

.sch-d-widget__head {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--sch-text-secondary);
	padding: 12px 16px;
	border-bottom: .5px solid var(--sch-border);
}

.sch-d-widget__body {
	padding: 1.25rem;
}

/* Memberships */
.sch-d-mem-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.sch-d-mem-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 15px;
}

.sch-d-mem-name {
	font-weight: 600;
	color: var(--sch-text);
	display: block;
}

.sch-d-mem-expires {
	font-size: 13px;
	color: var(--sch-text-secondary);
	display: block;
}

.sch-d-badge {
	font-size: 13px;
	font-weight: 600;
	padding: 2px 9px;
	border-radius: 20px;
	white-space: nowrap;
}

.sch-d-badge--active {
	background: #d1fae5;
	color: #065f46;
}

/* Groups */
.sch-d-group-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.sch-d-group-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 15px;
}

.sch-d-group-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
}

.sch-d-group-name {
	flex: 1;
	color: var(--sch-text);
	text-decoration: none;
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sch-d-group-name:hover {
	color: var(--sch-primary);
}

.sch-d-group-count {
	font-size: 13px;
	color: var(--sch-text-secondary);
	flex-shrink: 0;
}

/* FA Space widget */
.sch-d-fa-header {
	background: var(--sch-navy);
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
}

.sch-d-fa-logo {
	width: 26px;
	height: 26px;
	object-fit: contain;
	border-radius: 4px;
	flex-shrink: 0;
}

.sch-d-fa-logo-ph {
	font-size: 21px;
	flex-shrink: 0;
}

.sch-d-fa-name {
	font-size: 15px;
	font-weight: 600;
	color: var(--sch-white);
}

.sch-d-post-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sch-d-post-item {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.sch-d-post-title {
	font-size: 15px;
	font-weight: 500;
	color: var(--sch-text);
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.sch-d-post-title:hover {
	color: var(--sch-primary);
}

.sch-d-post-date {
	font-size: 13px;
	color: var(--sch-text-secondary);
}

/* Recommended widget */
.sch-d-widget--recommended {
	border-left: 3px solid var(--sch-primary);
}

.sch-d-widget--recommended .sch-d-widget__head {
	color: var(--sch-primary);
}

.sch-d-rec-title {
	font-size: 16px;
	font-weight: 500;
	color: var(--sch-navy);
	text-decoration: none;
	display: block;
	margin-bottom: 10px;
	line-height: 1.4;
}

.sch-d-rec-title:hover {
	color: var(--sch-primary);
}

.sch-d-rec-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.sch-d-pill {
	font-size: 13px;
	font-weight: 500;
	padding: 3px 8px;
	border-radius: 20px;
}

.sch-d-pill--teal {
	background: var(--sch-primary-light);
	color: var(--sch-dark);
}

.sch-d-pill--navy {
	background: var(--sch-navy);
	color: var(--sch-white);
}

/* Locked widget */
.sch-d-widget--locked {
	border: .5px dashed var(--sch-border);
	opacity: 0.55;
}

.sch-d-widget--locked .sch-d-widget__head {
	display: flex;
	align-items: center;
	gap: 6px;
}

.sch-d-lock-icon {
	font-size: 15px;
}

/* ============================================================
   Login prompt
   ============================================================ */
.sch-d-login-prompt {
	text-align: center;
	padding: 60px 20px;
	color: var(--sch-text-secondary);
}

.sch-d-login-prompt p { margin-bottom: 16px; }

.sch-d-btn {
	display: inline-flex;
	align-items: center;
	padding: 9px 20px;
	border-radius: 8px;
	background: var(--sch-primary);
	color: var(--sch-white);
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	border: none;
	cursor: pointer;
}

.sch-d-btn:hover {
	background: var(--sch-dark);
	color: var(--sch-white);
}

/* ============================================================
   Responsive — 768px: single column; KPI row 2×2
   ============================================================ */
@media (max-width: 768px) {
	.sch-d-hero {
		flex-direction: column;
		gap: 16px;
		padding: 1.5rem;
	}

	.sch-d-hero__a {
		width: 100%;
	}

	.sch-d-hero__c {
		text-align: left;
		width: 100%;
	}

	.sch-d-mem-chip {
		align-self: flex-start;
	}

	.sch-d-kpi-row {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 1rem;
	}

	.sch-d-kpi:nth-child(2) {
		border-right: none;
	}

	.sch-d-kpi:nth-child(3) {
		padding-left: 0;
		border-right: .5px solid var(--sch-border);
	}

	.sch-d-kpi:last-child {
		padding-left: 1.5rem;
	}

	.sch-d-body {
		grid-template-columns: 1fr;
	}

	.sch-d-name {
		font-size: 25px;
	}
}

@media (max-width: 480px) {
	.sch-d-avatar {
		width: 52px;
		height: 52px;
	}

	.sch-d-name {
		font-size: 23px;
	}

	.sch-d-kpi__val {
		font-size: 30px;
	}
}

/* ── Global animation additions ────────────────────────────────────────── */

/* Loading skeleton */
.sch-skeleton {
	background: linear-gradient(90deg, #f1f5f9 25%, #e8f0f0 50%, #f1f5f9 75%);
	background-size: 200% 100%;
	animation: skeletonShimmer 1.5s infinite;
	border-radius: 6px;
}
@keyframes skeletonShimmer {
	0%   { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

/* Panel enter / exit */
.sch-panel-enter { animation: panelEnter .3s cubic-bezier(.4,0,.2,1) both; }
.sch-panel-exit  { animation: panelExit  .15s ease both; }
@keyframes panelEnter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes panelExit  { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(-4px); } }

/* Card hover lift */
.sch-card-lift { transition: transform .2s cubic-bezier(.4,0,.2,1), box-shadow .2s ease; }
.sch-card-lift:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.08); }

/* Button press */
.sch-btn:active { transform: scale(.97); }

/* Ripple */
.sch-ripple {
	position: absolute;
	border-radius: 50%;
	background: rgba(255,255,255,.3);
	transform: scale(0);
	animation: ripple .5s linear;
	pointer-events: none;
}
@keyframes ripple { to { transform: scale(4); opacity: 0; } }

/* KPI card entry */
.sch-d-kpi { transition: opacity .4s ease, transform .4s cubic-bezier(.4,0,.2,1); }

/* ============================================================
   LIGHT LIQUID GLASS — CIS standard. Authoritative repaint of
   EVERY dashboard component, scoped to .sch-glass-page.sch-light
   with !important where a base / sch-glass.css rule would win.
   ============================================================ */

/* Wrapper + page stay light (sch-glass.css forces #0a1628 !important) */
.sch-glass-page.sch-light.sch-dashboard-wrap { background: transparent !important; }

/* Token overrides → light */
.sch-glass-page.sch-light .sch-dashboard {
	--sch-text:           #122B46;
	--sch-text-secondary: #5b6b7d;
	--sch-bg:             transparent;
	--sch-border:         rgba(18,43,70,0.10);
	--sch-border-soft:    rgba(18,43,70,0.07);
	--sch-white:          rgba(255,255,255,0.72);
	--sch-primary-light:  rgba(34,127,119,0.10);
	--sch-navy:           #122B46;
	font-family: 'Rajdhani', system-ui, sans-serif;
	color: #122B46;
	/* Full width — .lg-content provides the gutter (no 1100px centering). */
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Shared frosted-card surface for every dashboard card */
.sch-glass-page.sch-light .sch-d-section,
.sch-glass-page.sch-light .sch-d-kpi-row,
.sch-glass-page.sch-light .sch-d-widget,
.sch-glass-page.sch-light .sch-d-infocard {
	background: rgba(255,255,255,0.72) !important;
	backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
	border: 1px solid rgba(18,43,70,0.10) !important;
	border-radius: 16px;
	box-shadow: 0 1px 2px rgba(18,43,70,0.04), 0 8px 30px rgba(18,43,70,0.07);
}

/* Education / Trace / Mentoring panels become padded cards with a teal top accent */
.sch-glass-page.sch-light .sch-d-section { position:relative; padding:18px 20px; overflow:hidden; margin-bottom:1.5rem; }
.sch-glass-page.sch-light .sch-d-section::before { content:""; position:absolute; left:0; top:0; height:3px; width:100%; background:linear-gradient(90deg,#227F77,#5dcaa5); }

/* Info cards (avatar / licence / renewal) */
.sch-glass-page.sch-light .sch-d-infocards { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:14px; margin:18px 0 6px; }
.sch-glass-page.sch-light .sch-d-infocard { position:relative; padding:16px 18px; overflow:hidden; }
.sch-glass-page.sch-light .sch-d-infocard::before { content:""; position:absolute; left:0; top:0; height:3px; width:100%; background:linear-gradient(90deg,#227F77,#5dcaa5); }
.sch-glass-page.sch-light .sch-d-infocard--id { display:flex; align-items:center; gap:12px; }
.sch-glass-page.sch-light .sch-d-infocard__avatar { width:48px; height:48px; border-radius:50%; object-fit:cover; flex:0 0 48px; }
.sch-glass-page.sch-light .sch-d-infocard__name { font-size:17px; font-weight:700; color:#122B46 !important; line-height:1.15; }
.sch-glass-page.sch-light .sch-d-infocard__sub  { font-size:13px; font-weight:600; color:#5b6b7d !important; margin-top:2px; }
.sch-glass-page.sch-light .sch-d-infocard__label { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#90a0b0 !important; }
.sch-glass-page.sch-light .sch-d-infocard__value { font-size:18px; font-weight:700; margin-top:4px;
	background:linear-gradient(120deg,#227F77,#5dcaa5); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }

/* Hero entity logos */
.sch-glass-page.sch-light .sch-d-herologos { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.sch-glass-page.sch-light .sch-d-herologo  { height:30px; width:auto; max-width:110px; object-fit:contain; }
.sch-glass-page.sch-light .sch-d-herochip  { display:inline-flex; align-items:center; height:28px; padding:0 12px; border-radius:999px;
	background:rgba(34,127,119,0.08); border:1px solid rgba(34,127,119,0.2); font-size:13px; font-weight:700; color:#227F77 !important; }

/* KPI strip */
.sch-glass-page.sch-light .sch-d-kpi-row { padding:1rem 0; }
.sch-glass-page.sch-light .sch-d-kpi { border-right-color:rgba(18,43,70,0.08) !important; }
.sch-glass-page.sch-light .sch-d-kpi__val {
	background:linear-gradient(120deg,#227F77,#5dcaa5); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.sch-glass-page.sch-light .sch-d-kpi__label { color:#122B46 !important; }
.sch-glass-page.sch-light .sch-d-kpi__sub   { color:#90a0b0 !important; }

/* Section titles / widget heads */
.sch-glass-page.sch-light .sch-d-section__title,
.sch-glass-page.sch-light .sch-d-widget__head { color:#90a0b0 !important; }
.sch-glass-page.sch-light .sch-d-widget__head { background:transparent !important; border-bottom:1px solid rgba(18,43,70,0.07) !important; }
.sch-glass-page.sch-light .sch-d-widget--recommended { border-left:2px solid #227F77 !important; }
.sch-glass-page.sch-light .sch-d-widget--recommended .sch-d-widget__head { color:#227F77 !important; }
.sch-glass-page.sch-light .sch-d-widget--locked { border:1px dashed rgba(18,43,70,0.18) !important; opacity:.6; }
.sch-glass-page.sch-light .sch-d-fa-header { background:rgba(34,127,119,0.06) !important; border-bottom:1px solid rgba(18,43,70,0.07) !important; }
.sch-glass-page.sch-light .sch-d-fa-name { color:#122B46 !important; }
.sch-glass-page.sch-light .sch-d-logo-box { background:#fff !important; border:1px solid rgba(18,43,70,0.10) !important; box-shadow:0 2px 8px rgba(18,43,70,0.06); }
.sch-glass-page.sch-light .sch-d-logo-initials { color:#227F77 !important; }

/* Course list */
.sch-glass-page.sch-light .sch-d-course-item  { color:#122B46 !important; border-bottom:1px solid rgba(18,43,70,0.07) !important; }
.sch-glass-page.sch-light .sch-d-course-title { color:#122B46 !important; }
.sch-glass-page.sch-light .sch-d-course-title:hover { color:#227F77 !important; }
.sch-glass-page.sch-light .sch-d-course-meta  { color:#5b6b7d !important; }
.sch-glass-page.sch-light .sch-d-course-num   { color:#90a0b0 !important; }
.sch-glass-page.sch-light .sch-d-course-pct   { color:#227F77 !important; }
.sch-glass-page.sch-light .sch-d-progress     { background:rgba(18,43,70,0.08) !important; }

/* Sessions */
.sch-glass-page.sch-light .sch-d-session-title { color:#122B46 !important; }
.sch-glass-page.sch-light .sch-d-session-meta  { color:#5b6b7d !important; }

/* Locked card (Trace AI) */
.sch-glass-page.sch-light .sch-d-locked-card { border-color:rgba(18,43,70,0.12) !important; background:rgba(18,43,70,0.03) !important; opacity:.75; }
.sch-glass-page.sch-light .sch-d-locked-card__title { color:#122B46 !important; }
.sch-glass-page.sch-light .sch-d-locked-card__sub   { color:#5b6b7d !important; }

/* Memberships / groups / posts / recommended */
.sch-glass-page.sch-light .sch-d-mem-name    { color:#122B46 !important; }
.sch-glass-page.sch-light .sch-d-mem-expires { color:#90a0b0 !important; }
.sch-glass-page.sch-light .sch-d-badge--active { background:rgba(34,127,119,0.12) !important; color:#1b655f !important; }
.sch-glass-page.sch-light .sch-d-group-name       { color:#122B46 !important; }
.sch-glass-page.sch-light .sch-d-group-name:hover { color:#227F77 !important; }
.sch-glass-page.sch-light .sch-d-group-count      { color:#90a0b0 !important; }
.sch-glass-page.sch-light .sch-d-post-title       { color:#122B46 !important; }
.sch-glass-page.sch-light .sch-d-post-title:hover { color:#227F77 !important; }
.sch-glass-page.sch-light .sch-d-post-date        { color:#90a0b0 !important; }
.sch-glass-page.sch-light .sch-d-rec-title        { color:#122B46 !important; }
.sch-glass-page.sch-light .sch-d-rec-title:hover  { color:#227F77 !important; }
.sch-glass-page.sch-light .sch-d-pill--teal { background:rgba(34,127,119,0.12) !important; color:#1b655f !important; }
.sch-glass-page.sch-light .sch-d-pill--navy { background:rgba(18,43,70,0.08) !important; color:#122B46 !important; border:1px solid rgba(18,43,70,0.12) !important; }

/* Links */
.sch-glass-page.sch-light .sch-d-link       { color:#5b6b7d !important; }
.sch-glass-page.sch-light .sch-d-link:hover { color:#122B46 !important; }
.sch-glass-page.sch-light .sch-d-link--teal { color:#227F77 !important; }
.sch-glass-page.sch-light .sch-d-link--teal:hover { color:#1b655f !important; }

/* Chips / muted / empty */
.sch-glass-page.sch-light .sch-d-mem-chip { background:rgba(34,127,119,0.12) !important; border-color:rgba(34,127,119,0.3) !important; color:#1b655f !important; }
.sch-glass-page.sch-light .sch-d-muted { color:#90a0b0 !important; }
.sch-glass-page.sch-light .sch-d-empty-state { color:#5b6b7d !important; }

/* Old (now-unused) hero — neutralise its navy fill defensively */
.sch-glass-page.sch-light .sch-d-hero { background: transparent !important; }


/* === Guaranteed light dashboard === */
.sch-glass-page.sch-light .sch-dashboard,
.sch-glass-page.sch-light .sch-dashboard * {
  background-color: transparent !important;
  background-image: none !important;
  color: #122B46 !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.sch-glass-page.sch-light .sch-dashboard .lg-card,
.sch-glass-page.sch-light .sch-dashboard .lg-stat,
.sch-glass-page.sch-light .sch-dashboard .sch-d-infocard,
.sch-glass-page.sch-light .sch-dashboard .sch-d-section {
  background-color: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(18,43,70,.10) !important;
  box-shadow: 0 1px 2px rgba(18,43,70,.04), 0 8px 30px rgba(18,43,70,.07) !important;
}
.sch-glass-page.sch-light .sch-dashboard .lg-stat-icon,
.sch-glass-page.sch-light .sch-dashboard .sch-d-stat-icon,
.sch-glass-page.sch-light .sch-dashboard .sch-d-fa-header {
  background-color: rgba(34,127,119,.10) !important;
}
.sch-glass-page.sch-light .sch-dashboard .lg-stat-val,
.sch-glass-page.sch-light .sch-dashboard .lg-stat-val-accent {
  color: #227F77 !important;
  -webkit-text-fill-color: #227F77 !important;
}
.sch-glass-page.sch-light .sch-dashboard .sch-d-course-pct,
.sch-glass-page.sch-light .sch-dashboard .sch-d-link--teal,
.sch-glass-page.sch-light .sch-dashboard a { color: #227F77 !important; }
.sch-glass-page.sch-light .sch-dashboard .lg-stat-label,
.sch-glass-page.sch-light .sch-dashboard .sch-d-section-title,
.sch-glass-page.sch-light .sch-dashboard .sch-d-course-meta,
.sch-glass-page.sch-light .sch-dashboard .lg-muted { color: #90a0b0 !important; }
.sch-glass-page.sch-light .sch-dashboard .sch-d-progress { background-color: rgba(18,43,70,.08) !important; }
.sch-glass-page.sch-light .sch-dashboard .sch-d-progress > * { background-color: #227F77 !important; }

/* (Removed per-page .lg-hero card dup — shared sch-feedback.css defines the light .lg-hero.) */

/* FA Space card — plain like the other sidebar cards (no teal header bar, no box behind the name) */
.sch-glass-page.sch-light .sch-dashboard .sch-d-fa-header{ background:transparent !important; border:0 !important; padding:0 0 8px 0 !important; }
.sch-glass-page.sch-light .sch-dashboard .sch-d-fa-name,
.sch-glass-page.sch-light .sch-dashboard .sch-d-fa-header span{ background:transparent !important; color:#122B46 !important; }

/* ════════════════════════════════════════════════════════════════════════
   MY DASHBOARD v2 — design contract docs/mockups/my-dashboard-v1.html (+v1.1).
   Fresh .schd2- namespace; the old dashboard markup is gone. Tokens from the
   shared --l-* system where available.
   ════════════════════════════════════════════════════════════════════════ */
.schd2 .schd2-logos{display:flex;align-items:center;gap:14px}
.schd2 .schd2-logo{height:40px;width:auto;max-width:130px;object-fit:contain;display:block} /* FLAT: no chips/frames */
.schd2 .schd2-ava{display:block;width:52px;height:52px;border-radius:50%;background:#ccd7e0 center/cover no-repeat;border:2px solid #fff;box-shadow:0 0 0 1px rgba(18,43,70,.10)}

.schd2 .schd2-strip{background:#122B46;border-radius:14px;box-shadow:0 1px 2px rgba(18,43,70,.04),0 12px 32px -12px rgba(18,43,70,.16);
  margin-top:16px;display:flex;align-items:center;gap:14px;padding:14px 20px;flex-wrap:wrap}
.schd2 .schd2-strip-tag{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.schd2 .schd2-strip-name{font-size:16px;font-weight:700;color:#fff}
.schd2 .schd2-strip-links{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.schd2 .schd2-fa-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:9px;font-size:14px;font-weight:600;
  background:rgba(255,255,255,.10);color:#fff !important;text-decoration:none;border:1px solid rgba(255,255,255,.16)}
.schd2 .schd2-fa-btn:hover{background:rgba(255,255,255,.18)}
.schd2 .schd2-fa-btn--primary{background:#227F77;border-color:transparent}

.schd2 .schd2-grid{display:grid;grid-template-columns:1fr 340px;gap:16px;margin-top:16px}
@media(max-width:1000px){.schd2 .schd2-grid{grid-template-columns:1fr}}
.schd2 .schd2-col{display:flex;flex-direction:column;gap:16px;min-width:0}

.schd2 .schd2-card{background:#fff;border:1px solid rgba(18,43,70,.10);border-radius:14px;overflow:hidden;
  box-shadow:0 1px 2px rgba(18,43,70,.04),0 12px 32px -12px rgba(18,43,70,.16)}
.schd2 .schd2-card::before{content:"";display:block;height:3px;background:linear-gradient(90deg,#227F77,#5dcaa5 55%,#F1C40F)}
.schd2 .schd2-card-h{display:flex;align-items:center;gap:10px;padding:16px 20px 0}
.schd2 .schd2-card-h h3{margin:0;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--l-ink-40,rgba(18,43,70,.42))}
.schd2 .schd2-card-h .schd2-lnk{margin-left:auto}
.schd2 .schd2-card-b{padding:14px 20px 18px}
.schd2 .schd2-lnk{font-size:14px;font-weight:600;color:#227F77 !important;text-decoration:none}
.schd2 .schd2-lnk:hover{text-decoration:underline}

.schd2 .schd2-lic{border:1px solid rgba(18,43,70,.10);border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.schd2 .schd2-lic + .schd2-lic{margin-top:10px}
.schd2 .schd2-lic-nm{font-size:19px;font-weight:700;color:var(--l-ink,#122B46)}
.schd2 .schd2-lic-meta{font-size:14px;color:var(--l-ink-60,rgba(18,43,70,.62));font-weight:600;font-variant-numeric:tabular-nums}
.schd2 .schd2-lic-renew{margin-left:auto;display:flex;align-items:center}
/* Mini-calendar nav (client-side month paging) + linked event-day cells. */
.schd2 .schd2-calnav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px}
.schd2 .schd2-calnav-label{font-size:14px;font-weight:700;color:var(--l-ink,#122B46)}
.schd2 .schd2-calnav-btn{width:26px;height:26px;border-radius:8px;border:1px solid rgba(18,43,70,.18);background:#fff;color:var(--l-ink,#122B46);font-size:15px;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.schd2 .schd2-calnav-btn:hover:not([disabled]){border-color:#227F77;color:#227F77}
.schd2 .schd2-calnav-btn:focus-visible{outline:2px solid #227F77;outline-offset:1px}
.schd2 .schd2-calnav-btn[disabled]{opacity:.35;cursor:default}
.schd2 a.schd2-mini-d--link{text-decoration:none;cursor:pointer}
.schd2 a.schd2-mini-d--link:not(.schd2-mini-d--today){color:var(--l-ink,#122B46)}
.schd2 a.schd2-mini-d--link:hover,.schd2 a.schd2-mini-d--link:focus-visible{outline:2px solid #227F77;outline-offset:-1px;border-radius:6px}
@media (prefers-reduced-motion:no-preference){
  .schd2 .schd2-anim{animation:schd2fade .18s ease}
  @keyframes schd2fade{from{opacity:.35}to{opacity:1}}
}
/* Admin preview: SAMPLE badge above a card whose gate failed for this account. */
.schd2 .schd2-samplebadge{margin:0 0 6px;padding:5px 10px;border:1px solid rgba(241,196,15,.55);border-radius:8px;background:rgba(241,196,15,.14);color:#7a5b00;font-size:12px;font-weight:700}
/* Hero: the USER'S NAME is the page's real subject — dominant line (20px/700 navy);
   "My Dashboard" stays the structural H1 above it, visually quieter. The base
   hero rules (sch-feedback.css:2422-2424) carry !important at (0,2,0), so these
   overrides need (0,3,0) + !important to win the computed chain. */
.sch-glass-page.schd2 .lg-hero-sub{font-size:20px !important;font-weight:700 !important;color:var(--l-ink,#122B46) !important;margin-top:2px !important}
.sch-glass-page.schd2 .lg-hero-title{font-size:13px !important;font-weight:600 !important;letter-spacing:.08em !important;text-transform:uppercase;color:var(--l-ink-60,rgba(18,43,70,.62)) !important}
.schd2 .schd2-pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.schd2 .schd2-pill--ok{background:rgba(93,202,165,.16);border:1px solid rgba(34,127,119,.28);color:#12665F}
.schd2 .schd2-pill--muted{background:rgba(18,43,70,.06);border:1px solid rgba(18,43,70,.18);color:var(--l-ink-60,rgba(18,43,70,.62))}

.schd2 .schd2-cpd-row{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid rgba(18,43,70,.06)}
.schd2 .schd2-cpd-row:last-of-type{border-bottom:0}
.schd2 .schd2-cpd-nm{font-size:15px;font-weight:700;min-width:170px;color:var(--l-ink,#122B46)}
.schd2 .schd2-bar{flex:1;height:8px;border-radius:99px;background:#EEF2F3;overflow:hidden}
.schd2 .schd2-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#227F77,#5dcaa5)}
.schd2 .schd2-cpd-val{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;min-width:88px;text-align:right;color:var(--l-ink,#122B46)}
.schd2 .schd2-note{font-size:13px;color:var(--l-ink-40,rgba(18,43,70,.42));font-weight:600;margin:10px 0 0}

.schd2 .schd2-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid rgba(18,43,70,.06)}
.schd2 .schd2-row:last-child{border-bottom:0}
.schd2 .schd2-row-t{font-size:15px;font-weight:600;color:var(--l-ink,#122B46) !important;text-decoration:none}
a.schd2-row-t:hover{color:#227F77 !important}
.schd2 .schd2-row-sub{font-size:13px;color:var(--l-ink-60,rgba(18,43,70,.62));font-weight:600}
.schd2 .schd2-row-right{margin-left:auto;font-size:14px;font-weight:700;color:#227F77;font-variant-numeric:tabular-nums;white-space:nowrap}
.schd2 .schd2-date-chip{min-width:52px;text-align:center;border:1px solid rgba(18,43,70,.10);border-radius:8px;padding:5px 6px;flex:none}
.schd2 .schd2-date-chip b{display:block;font-size:17px;line-height:1;color:var(--l-ink,#122B46)}
.schd2 .schd2-date-chip span{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--l-ink-40,rgba(18,43,70,.42))}

.schd2 .schd2-hook{border:1px dashed rgba(34,127,119,.45);background:rgba(93,202,165,.06);border-radius:10px;padding:16px 18px}
.schd2 .schd2-hook h4{margin:0 0 6px;font-size:17px;font-weight:700;color:var(--l-ink,#122B46)}
.schd2 .schd2-hook p{margin:0 0 12px;font-size:14.5px;color:var(--l-ink-60,rgba(18,43,70,.62));font-weight:500}
.schd2 .schd2-hook ol{margin:0 0 14px;padding-left:20px;font-size:14px;font-weight:600;color:var(--l-ink,#122B46)}
.schd2 .schd2-hook ol li{margin:4px 0}
.schd2 .schd2-btn{display:inline-flex;align-items:center;font-size:13.5px;font-weight:600;border-radius:8px;padding:8px 14px;cursor:pointer;
  border:1px solid rgba(18,43,70,.25);background:#fff;color:var(--l-ink,#122B46) !important;text-decoration:none}
.schd2 .schd2-btn--primary{background:#227F77;border-color:transparent;color:#fff !important}
.schd2 .schd2-btn--primary:hover{background:#1c6e67}

.schd2 .schd2-side-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(18,43,70,.06);font-size:14.5px;font-weight:600;flex-wrap:wrap}
.schd2 .schd2-side-item:last-child{border-bottom:0}
.schd2 .schd2-side-n{margin-left:auto;font-weight:700;color:#227F77;white-space:nowrap}
.schd2 .schd2-empty{font-size:14px;color:var(--l-ink-40,rgba(18,43,70,.42));font-weight:600;padding:6px 0}

.schd2 .schd2-mini{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin:2px 0 12px}
.schd2 .schd2-mini-d{position:relative;text-align:center;font-size:12px;font-weight:600;color:var(--l-ink-60,rgba(18,43,70,.62));padding:4px 0;border-radius:6px}
.schd2 .schd2-mini-d--today{background:#122B46;color:#fff}
.schd2 .schd2-mini-d--dot::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:1px;width:4px;height:4px;border-radius:50%;background:#227F77}
.schd2 .schd2-mini-d--today.schd2-mini-d--dot::after{background:#5dcaa5}
.schd2 .schd2-mini-d--pad{visibility:hidden}

/* ── Progressive Coach zone — COMPACT STRIP. Scoped constraints on the
   third-party output (course-blocks promo / countdown / wpgb grid) — no edits
   to those plugins; the grid collapses behind a native <details>. Dark inks. */
.schd2-prog-row {
	display: flex;
	align-items: center;
	gap: 20px;
	max-height: 200px;
	overflow: hidden;
}
.schd2-prog-promo {
	flex: 0 0 auto;
	max-width: 280px;
	overflow: hidden;
}
.schd2-prog-promo img { max-width: 100%; height: auto; display: block; border-radius: 10px; }
.schd2-prog-mid { flex: 1 1 auto; min-width: 0; }
.schd2-prog-eyebrow {
	font-family: 'Rajdhani', system-ui, sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #227F77;
}
/* Compact countdown: scale the third-party internals down (best-effort scoped
   descendant rules — numbers ~24px, tightened rhythm). */
.schd2-prog-count { flex: 0 0 auto; max-width: 300px; font-size: 13px; overflow: hidden; }
.schd2-prog-count h1, .schd2-prog-count h2, .schd2-prog-count h3, .schd2-prog-count h4 { font-size: 16px; margin: 0 0 4px; }
.schd2-prog-count b, .schd2-prog-count strong, .schd2-prog-count [class*="num"] { font-size: 24px; line-height: 1.1; }
.schd2-prog-count p, .schd2-prog-count div { margin: 2px 0; padding: 2px 0; }
.schd2-prog-count img { max-width: 100%; height: auto; }
/* Collapsed grid: quiet toggle; grid safety inside. */
/* Grid: EXPANDED in place (the <details> toggle is gone). */
.schd2-prog-gridwrap { margin-top: 12px; max-width: 100%; }
.schd2-prog-gridwrap img { max-width: 100%; height: auto; }
.schd2-prog-standalone { overflow-x: auto; }
.schd2-prog-standalone img { max-width: 100%; height: auto; }
@media (max-width: 700px) {
	.schd2-prog-row { flex-direction: column; align-items: stretch; max-height: none; }
	.schd2-prog-promo { max-width: 100%; }
	.schd2-prog-count { max-width: 100%; }
}

/* ══════════════════════════════════════════════════════════════════════════
   PROGRESSIVE COACH — SIDEBAR WIDGET (right column, under profile completion).
   The zone moved out of the full-width main column, so the strip layout no
   longer applies: one narrow stack, promo thumbnail contained on top, compact
   countdown beneath, grid behind the toggle. Third-party output is constrained
   in WIDTH/HEIGHT only — none of their internals are restyled.
   ══════════════════════════════════════════════════════════════════════════ */
/* PART C — ONE consistent gap between the pieces (countdown · grid · promo),
   instead of per-piece margins that drift apart. overflow:visible so the promo
   card's own border-radius and box-shadow are not clipped by our container. */
.schd2 .schd2-prog--card { display: flex; flex-direction: column; gap: 18px; overflow: visible; }
/* The promo is a rendered CARD from sch-course-blocks (eyebrow, heading,
   benefits, CTA) — NOT an image. Clamping it to a 140px cropped thumbnail, as
   the first sidebar pass did, mangled it. Width-constrain only. */
.schd2 .schd2-prog--card .schd2-prog-promo {
	max-width: 100%;
	width: 100%;
	margin: 0;
	overflow-wrap: anywhere;
}
.schd2 .schd2-prog--card .schd2-prog-promo img { display: block; width: 100%; height: auto; border-radius: 10px; }
/* PART D — PARITY. This line used to read `padding: 0`, which stripped the
   card's own 30px/32px padding: that is what made it look cramped and misframed
   next to the Progressive page. The plugin's box is now left alone; the ONLY
   property we override is max-width (460px → 100%, i.e. narrower) and its outer
   margin, whose job the card's gap has taken over. */
.schd2 .schd2-prog .schd2-prog-promo .schcb,
.schd2 .schd2-prog .schd2-prog-promo .schcb-promo {
	max-width: 100%;
	margin: 0;
	box-sizing: border-box;   /* 30px/32px padding stays INSIDE the 100% width */
}
/* Countdown, compact: the big numerals stay readable in a 340px column. */
.schd2 .schd2-prog--card .schd2-prog-count {
	max-width: 100%;
	font-size: 12.5px;
	padding: 0;
	overflow: hidden;
}
.schd2 .schd2-prog--card .schd2-prog-count h1,
.schd2 .schd2-prog--card .schd2-prog-count h2,
.schd2 .schd2-prog--card .schd2-prog-count h3,
.schd2 .schd2-prog--card .schd2-prog-count h4 { font-size: 14px; margin: 0 0 3px; }
.schd2 .schd2-prog--card .schd2-prog-count b,
.schd2 .schd2-prog--card .schd2-prog-count strong,
.schd2 .schd2-prog--card .schd2-prog-count [class*="num"] { font-size: 22px; line-height: 1.05; }
.schd2 .schd2-prog--card .schd2-prog-count p,
.schd2 .schd2-prog--card .schd2-prog-count div { margin: 1px 0; padding: 1px 0; }
/* The grid is far wider than a sidebar: it stays behind the toggle and scrolls
   inside its own box rather than pushing the column open. */
.schd2 .schd2-prog--card .schd2-prog-gridwrap { max-width: 100%; }
/* Our card's side padding + the promo's own 32px would leave ~236px of content
   in a 340px column. Per the rule "reduce ours, not theirs", the progressive
   card runs tighter than the other sidebar cards. */
.schd2 .schd2-prog-card .schd2-card-b { padding: 12px 12px 14px; }

/* ── COACH ID (top of My Licences) — quotable, selectable, not a copy button ── */
.schd2 .schd2-coachid {
	display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
	margin: 0 0 12px; padding: 0 0 12px;
	border-bottom: 1px solid rgba(18,43,70,.08);
}
.schd2 .schd2-coachid-l {
	font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--l-ink-40, rgba(18,43,70,.42));
}
.schd2 .schd2-coachid-v {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 15px; font-weight: 700; letter-spacing: .06em;
	color: var(--l-ink, #122B46);
	background: rgba(18,43,70,.05);
	border: 1px solid rgba(18,43,70,.14);
	border-radius: 8px; padding: 4px 10px;
	-webkit-user-select: all; user-select: all;   /* one click selects the whole ID */
}

/* ── MY LICENCES — the dashboard's primary identity element ── */
.schd2 .schd2-lic--primary { padding: 16px 18px; border-color: rgba(18,43,70,.16); }
.schd2 .schd2-lic--primary .schd2-lic-nm { font-size: 18px; font-weight: 700; color: var(--l-ink, #122B46); }
.schd2 .schd2-lic--primary .schd2-lic-meta { font-size: 14.5px; color: var(--l-ink, #122B46); opacity: .78; }
/* The renewal hint sat at whisper weight next to the date — it is the action. */
.schd2 .schd2-lic--primary .sch-selfsrv-hint { font-size: 13px; font-weight: 700; }

/* ── FEEDBACK ZONE ── */
.schd2 .schd2-fb-lead { margin: 0 0 6px; font-size: 14px; font-weight: 700; color: var(--l-ink, #122B46); }
.schd2 .schd2-row--reopened { background: rgba(241,196,15,.07); border-left: 3px solid #E0A800; padding-left: 10px; border-radius: 0 8px 8px 0; }
.schd2 .schd2-fb-reason { margin-top: 4px; font-size: 12.5px; font-weight: 600; color: #7A5B00; }
.schd2 .schd2-pill--warn { background: rgba(241,196,15,.20); border: 1px solid rgba(224,168,0,.45); color: #7A5B00; margin-left: 6px; }
.schd2 .schd2-fb-more { margin: 8px 0 0; font-size: 13px; font-weight: 700; color: #227F77; }
.schd2 .schd2-fb-done { margin: 0; font-size: 14px; font-weight: 600; color: var(--l-ink-60, rgba(18,43,70,.62)); }
.schd2 .schd2-fb-done-when { color: var(--l-ink-40, rgba(18,43,70,.42)); font-weight: 600; }

/* ── RENEWAL REQUIREMENTS ── */
.schd2 .schd2-ren-row { padding: 10px 0; border-bottom: 1px solid rgba(18,43,70,.06); }
.schd2 .schd2-ren-row:last-of-type { border-bottom: 0; }
.schd2 .schd2-ren-req { font-size: 15px; font-weight: 700; color: var(--l-ink, #122B46); }
.schd2 .schd2-ren-have { margin-top: 3px; font-size: 13.5px; font-weight: 600; color: var(--l-ink-60, rgba(18,43,70,.62)); font-variant-numeric: tabular-nums; }
.schd2 .schd2-ren-gap { color: #991B1B; font-weight: 700; }
.schd2 .schd2-ren-ok { color: #12665F; font-weight: 700; }
.schd2 .schd2-ren-note { margin-top: 5px; font-size: 12.5px; font-weight: 600; color: var(--l-ink-40, rgba(18,43,70,.42)); }
.schd2 .schd2-ren-lead { margin: 10px 0 8px; font-size: 14px; font-weight: 700; color: var(--l-ink, #122B46); }
.schd2 .schd2-ren-declare { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.schd2 .schd2-ren-sel {
	flex: 1 1 200px; min-width: 0;
	font-size: 14px; font-weight: 600; color: var(--l-ink, #122B46);
	background: #fff; border: 1px solid rgba(18,43,70,.22); border-radius: 8px; padding: 8px 10px;
}
.schd2 .schd2-ren-msg { margin: 8px 0 0; font-size: 13px; font-weight: 600; color: var(--l-ink-60, rgba(18,43,70,.62)); min-height: 1em; }
.schd2 .schd2-ren-msg.is-error { color: #991B1B; }

/* ── Registration-licence mapping (renewal card) ── */
.schd2 .schd2-ren-from {
	margin: 8px 0 2px;
	font-size: 13px; font-weight: 600;
	color: var(--l-ink-60, rgba(18,43,70,.62));
}
/* "Change" — a quiet native disclosure, so the picker costs no JS and survives
   the card body being replaced by the endpoint. */
.schd2 .schd2-ren-more { margin-top: 6px; }
.schd2 .schd2-ren-more summary {
	cursor: pointer; list-style: none;
	display: inline-block;
	font-size: 13px; font-weight: 700; color: #227F77;
}
.schd2 .schd2-ren-more summary::-webkit-details-marker { display: none; }
.schd2 .schd2-ren-more summary:hover { text-decoration: underline; }
.schd2 .schd2-ren-more[open] summary { margin-bottom: 8px; }

/* ── Progressive widget: ADMIN-ONLY diagnostic notice ──
   Deliberately loud and unlike the rest of the card language: it is a build
   problem, not content, and only administrators ever see it. */
.schd2 .schd2-prog-warn {
	margin-top: 10px; padding: 9px 11px;
	border: 1px dashed rgba(153,27,27,.45); border-radius: 8px;
	background: rgba(153,27,27,.05);
	font-size: 12px; line-height: 1.45; color: #7A1F1F;
}
.schd2 .schd2-prog-warn b { display: block; margin-bottom: 4px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.schd2 .schd2-prog-warn-l { font-weight: 700; }
.schd2 .schd2-prog-warn-d { margin-top: 3px; font-weight: 600; opacity: .85; word-break: break-word; }
.schd2 .schd2-prog-warn-d code { font-family: ui-monospace, Menlo, Consolas, monospace; background: rgba(153,27,27,.10); padding: 1px 5px; border-radius: 4px; }

/* ══════════════════════════════════════════════════════════════════════════
   PROGRESSIVE WIDGET — LAYOUT, ORDER AND SIZING.

   EVERY rule below is scoped under .schd2-prog (the widget container). The same
   shortcodes rendered on the Progressive page, or anywhere else on the site,
   never match these selectors and keep their own styling untouched.

   The source plugins are NOT modified. Where the countdown exposes CSS custom
   properties we simply redefine them on our container and let its own rules
   consume the new values — no specificity fight, no !important.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── GRID CONTAINER ──
   Width only. The grid's own sizing is fixed at the SETTINGS level (see
   progressive_grid_html()); nothing here tries to out-specify its JavaScript. */
.schd2 .schd2-prog .schd2-prog-gridwrap {
	width: 100%;
	max-width: 100%;
	margin: 0;                 /* rhythm comes from the card gap, not here */
	overflow: visible;
	max-height: none;
}
/* The width !importants that used to live here are GONE. They were added blind
   and never worked: WP Grid Builder lays out with JavaScript (layout.js writes
   inline width/transform per .wpgb-card), and the column COUNT comes from the
   VIEWPORT, not this container — so no stylesheet could win, and forcing widths
   onto absolutely-positioned cards risks overlapping them. The real fix is the
   wp_grid_builder/grid/settings filter in progressive_grid_html().
   What remains is only what is safe and additive. */
.schd2 .schd2-prog .schd2-prog-gridwrap { box-sizing: border-box; }
.schd2 .schd2-prog .schd2-prog-gridwrap img { height: auto; max-width: 100%; }

/* PROMO WRAPPER — no padding of its own: the 18px rhythm comes from the card's
   gap (PART C) and the inner breathing room from the plugin's own padding.
   Competing paddings were what squeezed it. overflow:visible so the card's
   border, radius and shadow survive. Applies to BOTH variants — the member
   two-button card and the sales benefits+CTA card share this outer box. */
.schd2 .schd2-prog .schd2-prog-promo {
	padding: 0;
	overflow: visible;
	width: 100%;
	max-width: 100%;
}

/* ── STEP 4: COUNTDOWN COMPACT ──
   Sizes come from the source's own custom properties (--sch-digit-size 48px,
   --sch-unit-size 11px, --sch-title-size 20px, --sch-date-size 14px): we
   redefine them on our container, so the plugin's unchanged rules produce the
   compact values. Structure that is NOT a variable (wrap, gaps, min-width,
   padding) is overridden by scoped selectors at (0,4,0) against the source's
   (0,1,0) — comfortably ahead without !important. */
.schd2 .schd2-prog .schd2-prog-count {
	--sch-digit-size: 24px;
	--sch-unit-size: 9px;
	--sch-title-size: 13px;
	--sch-date-size: 11px;
	--sch-btn-size: 13px;
	width: 100%;
	max-width: 100%;
	font-size: 12.5px;
}
.schd2 .schd2-prog .schd2-prog-count .sch-countdown-wrap { max-width: 100%; margin: 0; }
.schd2 .schd2-prog .schd2-prog-count .sch-countdown-inner { padding: 10px 10px; max-width: 100%; border-radius: 10px; }
.schd2 .schd2-prog .schd2-prog-count .sch-countdown-title {
	margin: 0 0 4px;
	line-height: 1.2;
	display: -webkit-box;
	-webkit-line-clamp: 2;             /* event title capped at two lines */
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* All four units on ONE row. display/justify-content are set INLINE by the
   source markup and are already what we want; flex-wrap and gap are not, so
   these apply cleanly. */
.schd2 .schd2-prog .schd2-prog-count .sch-countdown-digits {
	flex-wrap: nowrap;
	gap: 2px;
	margin: 0 0 4px;
	align-items: flex-end;
}
.schd2 .schd2-prog .schd2-prog-count .sch-segment { min-width: 0; flex: 1 1 0; }
.schd2 .schd2-prog .schd2-prog-count .sch-digit { font-size: 24px; line-height: 1; }
.schd2 .schd2-prog .schd2-prog-count .sch-unit { font-size: 9px; letter-spacing: .06em; margin-top: 1px; }
/* Separators are what force the wrap in a 340px column — hidden, not shrunk. */
.schd2 .schd2-prog .schd2-prog-count .sch-colon { display: none; }
.schd2 .schd2-prog .schd2-prog-count .sch-countdown-date { font-size: 11px; margin: 0 0 4px; line-height: 1.3; }
.schd2 .schd2-prog .schd2-prog-count .sch-live-indicator { margin-bottom: 4px; gap: 6px; }
.schd2 .schd2-prog .schd2-prog-count .sch-live-text { font-size: 12px; }
.schd2 .schd2-prog .schd2-prog-count .sch-pulse-dot { width: 8px; height: 8px; }
.schd2 .schd2-prog .schd2-prog-count .sch-join-btn { padding: 6px 14px; margin-top: 0; border-radius: 8px; }
