/* ============================================================
   SCH Block Feedback — public/css/sch-feedback.css
   Rajdhani font, SCH design tokens, full-width layout
   ============================================================ */

:root {
	--fb-navy:    #122B46;
	--fb-teal:    #227F77;
	--fb-teal-lt: rgba(34,127,119,.08);
	--fb-yellow:  #F5C842;
	--fb-border:  #e5e7eb;
	--fb-text:    #1e293b;
	--fb-muted:   #6b7280;
	--fb-radius:  12px;
}

/* ---- Base wrap ---- */
.sch-fb-wrap {
	font-family: 'Rajdhani', 'Segoe UI', sans-serif;
	color: var(--fb-text);
	width: 100%;
}

/* ---- Two-column layout ---- */
.sch-fb-layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 1.5rem;
	margin-top: 1.5rem;
	align-items: start;
}

/* ---- Sidebar ---- */
.sch-fb-sidebar {
	position: sticky;
	top: 80px;
}
.sch-fb-sidebar__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 14px;
	font-size: 13px;
	font-weight: 700;
	color: var(--fb-muted);
	letter-spacing: .06em;
	text-transform: uppercase;
}
.sch-fb-sidebar__count {
	background: var(--fb-border);
	color: var(--fb-muted);
	font-size: 12px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 20px;
}
.sch-fb-group-card {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border-radius: 10px;
	cursor: pointer;
	transition: background .15s;
	user-select: none;
}
.sch-fb-group-card:hover { background: var(--fb-teal-lt); }
.sch-fb-group-card--active {
	background: var(--fb-teal-lt);
	border-left: 3px solid var(--fb-teal);
}
.sch-fb-group-card--active .sch-fb-group-name { color: var(--fb-teal); }
.sch-fb-group-avatar {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	object-fit: cover;
	flex-shrink: 0;
}
.sch-fb-group-avatar-ph {
	width: 36px;
	height: 36px;
	border-radius: 8px;
	background: var(--fb-border);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	flex-shrink: 0;
}
.sch-fb-group-name {
	font-size: 15px;
	font-weight: 600;
	color: var(--fb-navy);
	flex: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.sch-fb-group-badge {
	background: var(--fb-teal);
	
	font-size: 12px;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: 20px;
	flex-shrink: 0;
}
.sch-glass-page:not(.sch-light) .sch-fb-group-badge { color: #fff; } /* dark-era ink, scoped */
.sch-fb-group-badge--zero {
	background: var(--fb-border);
	color: var(--fb-muted);
}

/* ---- Main panel ---- */
.sch-fb-main-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
}
.sch-fb-main-title {
	font-size: 21px;
	font-weight: 700;
	color: var(--fb-navy);
	margin: 0;
}
.sch-fb-group-empty {
	text-align: center;
	padding: 48px 24px;
	color: var(--fb-muted);
}

/* ---- Buttons ---- */
.sch-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: 'Rajdhani', sans-serif;
	font-weight: 600;
	font-size: 16px;
	padding: 10px 20px;
	border-radius: 8px;
	border: 1.5px solid transparent;
	cursor: pointer;
	transition: background .18s, box-shadow .18s, transform .12s;
	text-decoration: none;
	line-height: 1;
}
.sch-btn:active { transform: scale(.97); }
.sch-btn--teal {
	background: var(--fb-teal);
	color: #fff;                 /* HOUSE RULE: primary = solid teal + white ink */
	border-color: var(--fb-teal);
}
.sch-glass-page:not(.sch-light) .sch-btn--teal { color: #fff; } /* dark-era ink, scoped */
.sch-btn--teal:hover { background: #1a6b63; box-shadow: 0 2px 8px rgba(34,127,119,.3); }
.sch-btn--outline {
	background: #fff;            /* HOUSE RULE: ghost = white bg + teal ink */
	color: var(--fb-teal);
	border-color: var(--fb-teal);
}
.sch-btn--outline:hover { background: var(--fb-teal-lt); }
.sch-btn--xs { font-size: 13px; padding: 5px 12px; }

/* ---- Badges ---- */
.sch-badge {
	display: inline-block;
	font-family: 'Rajdhani', sans-serif;
	font-weight: 600;
	font-size: 13px;
	padding: 2px 10px;
	border-radius: 20px;
}
.sch-badge--gray  { background: #f3f4f6; color: #6b7280; }
.sch-badge--blue  { background: #dbeafe; color: #1d4ed8; }
.sch-badge--green { background: #dcfce7; color: #15803d; }
.sch-badge--red   { background: #fee2e2; color: #b91c1c; }

/* ---- Section title ---- */
.sch-fb-section-title {
	font-size: 21px;
	font-weight: 700;
	color: var(--fb-navy);
	margin: 0 0 16px;
	letter-spacing: .02em;
}

/* ---- Access restricted / login ---- */
.sch-fb-login,
.sch-fb-restricted {
	padding: 32px;
	text-align: center;
	font-size: 16px;
	color: var(--fb-muted);
}

/* ============================================================
   TUTOR MANAGEMENT HERO
   ============================================================ */
.sch-fb-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: var(--fb-navy);
	border-radius: var(--fb-radius);
	padding: 28px 32px;
	margin-bottom: 24px;
	position: relative;
	overflow: hidden;
}
.sch-fb-hero::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--fb-teal) 0%, var(--fb-yellow) 50%, var(--fb-teal) 100%);
}
.sch-fb-hero-title {
	font-size: 32px;
	font-weight: 700;
	
	margin: 0;
	letter-spacing: .04em;
}
.sch-glass-page:not(.sch-light) .sch-fb-hero-title { color: #fff; } /* dark-era ink, scoped */
.sch-fb-hero-sub {
	font-size: 16px;
	
	margin: 4px 0 0;
}
.sch-glass-page:not(.sch-light) .sch-fb-hero-sub { color: rgba(255,255,255,.65); } /* dark-era ink, scoped */

/* ---- Stats row ---- */
.sch-fb-stats-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
	margin-bottom: 24px;
}
.sch-fb-stat-card {
	background: #fff;
	border: .5px solid var(--fb-border);
	border-radius: var(--fb-radius);
	padding: 20px 24px;
	text-align: center;
}
.sch-fb-stat-num {
	font-size: 37px;
	font-weight: 700;
	color: var(--fb-navy);
	line-height: 1;
}
.sch-fb-stat-label {
	font-size: 14px;
	color: var(--fb-muted);
	margin-top: 4px;
	font-weight: 600;
}

/* ============================================================
   NEW SESSION PANEL
   ============================================================ */
.sch-fb-new-session-panel {
	background: #fff;
	border: .5px solid var(--fb-border);
	border-radius: var(--fb-radius);
	margin-bottom: 24px;
	overflow: hidden;
}
.sch-fb-panel-inner { padding: 24px 28px; }
.sch-fb-panel-title {
	font-size: 21px;
	font-weight: 700;
	color: var(--fb-navy);
	margin: 0 0 20px;
}
.sch-fb-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.sch-fb-field { display: flex; flex-direction: column; gap: 6px; }
.sch-fb-field--full { grid-column: 1 / -1; }
.sch-fb-field label {
	font-size: 14px;
	font-weight: 600;
	color: var(--fb-navy);
}
.sch-fb-input {
	font-family: 'Rajdhani', sans-serif;
	font-size: 15px;
	padding: 9px 12px;
	border: 1px solid var(--fb-border);
	border-radius: 8px;
	color: var(--fb-text);
	background: #fafafa;
	transition: border-color .2s;
	width: 100%;
	box-sizing: border-box;
}
.sch-fb-input:focus { outline: none; border-color: var(--fb-teal); background: #fff; }
.sch-fb-toggle-label {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	font-size: 15px;
	font-weight: 600;
}
.sch-fb-form-actions {
	display: flex;
	gap: 12px;
	justify-content: flex-end;
	margin-top: 24px;
}

/* ============================================================
   SESSIONS TABLE
   ============================================================ */
.sch-fb-sessions-section { margin-bottom: 32px; }

.sch-fb-table-wrap { overflow-x: auto; }
.sch-fb-table {
	width: 100%;
	border-collapse: collapse;
	font-family: 'Rajdhani', sans-serif;
}
.sch-fb-table th {
	text-align: left;
	font-size: 13px;
	font-weight: 700;
	color: var(--fb-muted);
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 10px 14px;
	border-bottom: 1.5px solid var(--fb-border);
	background: #f9fafb;
}
.sch-fb-table td {
	padding: 12px 14px;
	font-size: 15px;
	border-bottom: .5px solid var(--fb-border);
	vertical-align: middle;
}
.sch-fb-table tbody tr:hover > td { background: #f8fffe; }
.sch-fb-td-block { font-weight: 600; color: var(--fb-navy); }
.sch-fb-td-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.sch-fb-resp-count { font-weight: 700; color: var(--fb-teal); }
.sch-fb-no-sessions { color: var(--fb-muted); font-size: 16px; padding: 24px 0; }

/* ---- Expanded response panel ---- */
.sch-fb-expand-panel {
	padding: 20px 24px;
	background: #f9fafb;
	border-top: .5px solid var(--fb-border);
}
.sch-fb-tabs {
	display: flex;
	gap: 4px;
	margin-bottom: 16px;
	border-bottom: 1.5px solid var(--fb-border);
}
.sch-fb-tab {
	font-family: 'Rajdhani', sans-serif;
	font-weight: 700;
	font-size: 15px;
	padding: 8px 16px;
	background: transparent;
	border: none;
	border-bottom: 2.5px solid transparent;
	cursor: pointer;
	color: var(--fb-muted);
	transition: color .18s, border-color .18s;
	margin-bottom: -1.5px;
}
.sch-fb-tab:hover { color: var(--fb-navy); }
.sch-fb-tab--active { color: var(--fb-teal); border-bottom-color: var(--fb-teal); }
.sch-fb-tab-pane { display: none; }
.sch-fb-tab-pane--active { display: block; }

/* Individual response table */
.sch-fb-member-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	border-bottom: .5px solid var(--fb-border);
}
.sch-fb-member-avatar { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.sch-fb-member-name { font-weight: 600; font-size: 15px; flex: 1; }
.sch-fb-member-status { font-size: 13px; }
.sch-fb-member-status--yes { color: #15803d; }
.sch-fb-member-status--no  { color: var(--fb-muted); }
.sch-fb-resp-expand-btn { font-size: 13px; }

/* Answer detail */
.sch-fb-answer-block {
	background: #fff;
	border: .5px solid var(--fb-border);
	border-radius: 8px;
	padding: 14px 16px;
	margin-top: 8px;
}
.sch-fb-answer-q { font-size: 13px; font-weight: 700; color: var(--fb-muted); margin-bottom: 4px; }
.sch-fb-answer-a { font-size: 15px; color: var(--fb-text); }

/* ============================================================
   STUDENT FEEDBACK FORM
   ============================================================ */

/* Pending cards */
.sch-fb-pending-list { margin-bottom: 24px; }
.sch-fb-pending-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: #fff;
	border: .5px solid var(--fb-border);
	border-radius: var(--fb-radius);
	padding: 20px 24px;
	margin-bottom: 12px;
	transition: box-shadow .2s, border-color .2s;
}
.sch-fb-pending-card:hover { border-color: var(--fb-teal); box-shadow: 0 2px 12px rgba(34,127,119,.1); }
.sch-fb-pending-block { font-size: 21px; font-weight: 700; color: var(--fb-navy); }
.sch-fb-pending-meta { display: flex; gap: 12px; font-size: 14px; color: var(--fb-muted); margin-top: 4px; }
.sch-fb-pending-focus { font-size: 14px; color: var(--fb-muted); margin-top: 6px; font-style: italic; }

/* Multi-step form */
.sch-fb-form-wrap {
	max-width: 680px;
	margin: 0 auto;
}

.sch-fb-progress-bar-wrap {
	height: 5px;
	background: #e5e7eb;
	border-radius: 99px;
	overflow: hidden;
	margin-bottom: 12px;
}
.sch-fb-progress-bar {
	height: 100%;
	background: linear-gradient(90deg, var(--fb-teal), #34d399);
	border-radius: 99px;
	transition: width .35s cubic-bezier(.4,0,.2,1);
}
.sch-fb-step-label {
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	color: var(--fb-muted);
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-bottom: 24px;
}

.sch-fb-steps-viewport {
	overflow: hidden;
}
.sch-fb-steps-track {
	display: flex;
	transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.sch-fb-step {
	min-width: 100%;
	padding: 0 4px;
	box-sizing: border-box;
}

.sch-fb-step-q {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 20px;
}
.sch-fb-step-num {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	background: var(--fb-teal);
	
	border-radius: 50%;
	font-weight: 700;
	font-size: 18px;
	flex-shrink: 0;
	margin-top: 2px;
}
.sch-glass-page:not(.sch-light) .sch-fb-step-num { color: #fff; } /* dark-era ink, scoped */
.sch-fb-q-text {
	font-size: 21px;
	font-weight: 700;
	color: var(--fb-navy);
	line-height: 1.35;
	margin: 0;
}

.sch-fb-textarea {
	width: 100%;
	min-height: 140px;
	font-family: 'Rajdhani', sans-serif;
	font-size: 16px;
	padding: 12px 14px;
	border: 1.5px solid var(--fb-border);
	border-radius: 10px;
	resize: vertical;
	color: var(--fb-text);
	background: #fafafa;
	transition: border-color .2s;
	box-sizing: border-box;
}
.sch-fb-textarea:focus { outline: none; border-color: var(--fb-teal); background: #fff; }

.sch-fb-char-count {
	text-align: right;
	font-size: 13px;
	color: var(--fb-muted);
	margin-top: 6px;
}

.sch-fb-form-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 24px;
	gap: 12px;
}

/* ---- Success screen ---- */
.sch-fb-success {
	text-align: center;
	padding: 56px 24px;
}
.sch-fb-success-icon {
	width: 72px;
	height: 72px;
	background: var(--fb-teal);
	
	border-radius: 50%;
	font-size: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
}
.sch-glass-page:not(.sch-light) .sch-fb-success-icon { color: #fff; } /* dark-era ink, scoped */
.sch-fb-success h2 { font-size: 32px; font-weight: 700; color: var(--fb-navy); margin: 0 0 8px; }
.sch-fb-success p  { font-size: 16px; color: var(--fb-muted); }

/* ---- Empty state ---- */
.sch-fb-empty {
	text-align: center;
	padding: 64px 24px;
}
.sch-fb-empty-icon {
	width: 64px;
	height: 64px;
	background: #dcfce7;
	color: #15803d;
	border-radius: 50%;
	font-size: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
}
.sch-fb-empty h3 { font-size: 23px; font-weight: 700; color: var(--fb-navy); margin: 0 0 6px; }
.sch-fb-empty p  { color: var(--fb-muted); font-size: 16px; }

/* ---- Admin wrap ---- */
.sch-fb-admin-wrap .sch-fb-stats-row { max-width: 600px; }
.sch-fb-filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.sch-fb-filter-select {
	font-family: 'Rajdhani', sans-serif;
	font-size: 14px;
	padding: 6px 10px;
	border: 1px solid var(--fb-border);
	border-radius: 6px;
}
.sch-fb-admin-tabs {
	display: flex;
	gap: 4px;
	border-bottom: 1.5px solid var(--fb-border);
	margin-bottom: 16px;
}
.sch-fb-admin-responses {
	padding: 16px;
	background: #f9fafb;
	border-radius: 8px;
}
.sch-fb-resp-list { display: flex; flex-direction: column; gap: 12px; }
.sch-fb-resp-item {
	background: #fff;
	border: .5px solid var(--fb-border);
	border-radius: 8px;
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 14px;
}
.sch-fb-resp-date { font-size: 12px; color: var(--fb-muted); }

/* ---- Analytics ---- */
.sch-fb-bar-chart { display: flex; gap: 8px; align-items: flex-end; height: 120px; margin-top: 16px; }
.sch-fb-bar-col   { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.sch-fb-bar {
	width: 36px;
	background: var(--fb-teal);
	border-radius: 4px 4px 0 0;
	min-height: 4px;
	transition: height .3s;
}
.sch-fb-bar-label { font-size: 11px; color: var(--fb-muted); white-space: nowrap; }
.sch-fb-word-cloud { display: flex; flex-wrap: wrap; gap: 10px; padding: 16px 0; }
.sch-fb-word-tag {
	background: var(--fb-teal-lt);
	color: var(--fb-teal);
	padding: 4px 10px;
	border-radius: 20px;
	font-weight: 600;
}
.sch-fb-word-tag em { font-style: normal; color: var(--fb-muted); font-size: .85em; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
	.sch-fb-layout { grid-template-columns: 1fr; }
	.sch-fb-sidebar { position: static; }
}
@media (max-width: 768px) {
	.sch-fb-hero { flex-direction: column; align-items: flex-start; }
	.sch-fb-form-grid { grid-template-columns: 1fr; }
	.sch-fb-pending-card { flex-direction: column; align-items: flex-start; }
	.sch-fb-stats-row { grid-template-columns: 1fr 1fr; }
	.sch-fb-hero-title { font-size: 25px; }
	.sch-fb-q-text { font-size: 18px; }
	.sch-fb-main-header { flex-direction: column; align-items: flex-start; gap: 8px; }
}
@media (max-width: 480px) {
	.sch-fb-stats-row { grid-template-columns: 1fr; }
	.sch-fb-form-wrap { padding: 0; }
}

/* ============================================================
   GLASS DESIGN SYSTEM OVERRIDES — appended
   Applies dark glass treatment to all feedback UI
   ============================================================ */

/* (Removed dark-glass token override on the wrapper — light pages use the base light --fb-* tokens.) */

/* ── Hero card → glass page hero ─────────────────────────────────────── */
.sch-fb-hero {
	background:    rgba(10,18,32,0.85);
	backdrop-filter: blur(40px) saturate(160%);
	-webkit-backdrop-filter: blur(40px) saturate(160%);
	border:        1px solid rgba(255,255,255,0.07);
	box-shadow:    0 8px 32px rgba(0,0,0,0.35);
}
.sch-fb-hero-title {  }
.sch-glass-page:not(.sch-light) .sch-fb-hero-title { color: #fff; } /* dark-era ink, scoped */
.sch-fb-hero-sub   {  }
.sch-glass-page:not(.sch-light) .sch-fb-hero-sub { color: rgba(255,255,255,0.55); } /* dark-era ink, scoped */

/* ── Stat cards → glass ───────────────────────────────────────────────── */
.sch-fb-stat-card {
	background:  rgba(15,23,42,0.75);
	backdrop-filter: blur(20px) saturate(160%);
	-webkit-backdrop-filter: blur(20px) saturate(160%);
	border:      1px solid rgba(255,255,255,0.08);
	box-shadow:  0 4px 20px rgba(0,0,0,0.25);
}
.sch-fb-stat-num   {  }
.sch-glass-page:not(.sch-light) .sch-fb-stat-num { color: #5dcaa5; } /* dark-era ink, scoped */
.sch-fb-stat-label {  }
.sch-glass-page:not(.sch-light) .sch-fb-stat-label { color: rgba(255,255,255,0.45); } /* dark-era ink, scoped */

/* ── New session panel → glass card ──────────────────────────────────── */
.sch-fb-new-session-panel {
	background:  rgba(15,23,42,0.75);
	backdrop-filter: blur(20px) saturate(160%);
	-webkit-backdrop-filter: blur(20px) saturate(160%);
	border:      1px solid rgba(255,255,255,0.08);
	box-shadow:  0 4px 20px rgba(0,0,0,0.25);
}
.sch-fb-panel-title {  }
.sch-glass-page:not(.sch-light) .sch-fb-panel-title { color: rgba(255,255,255,0.9); } /* dark-era ink, scoped */
.sch-fb-field label {  }
.sch-glass-page:not(.sch-light) .sch-fb-field label { color: rgba(255,255,255,0.75); } /* dark-era ink, scoped */
.sch-fb-input {
	background:  rgba(255,255,255,0.07);
	border-color: rgba(255,255,255,0.12);
	
}
.sch-glass-page:not(.sch-light) .sch-fb-input { color: #fff; } /* dark-era ink, scoped */
.sch-fb-input:focus { background: rgba(255,255,255,0.1); border-color: #227F77; }

/* ── Sessions table → glass ───────────────────────────────────────────── */
.sch-fb-table th {
	background:    rgba(18,43,70,0.6);
	border-bottom: 1px solid rgba(255,255,255,0.1);
	
}
.sch-glass-page:not(.sch-light) /* ── Sessions table → glass ───────────────────────────────────────────── */ .sch-fb-table th { color: rgba(255,255,255,0.4); } /* dark-era ink, scoped */
.sch-fb-table td {
	border-bottom: 1px solid rgba(255,255,255,0.06);
	
}
.sch-glass-page:not(.sch-light) .sch-fb-table td { color: rgba(255,255,255,0.8); } /* dark-era ink, scoped */
.sch-fb-table tbody tr.sch-fb-session-row:hover > td { background: rgba(18,43,70,0.03); } /* neutral hover; detail rows never tint */
.sch-fb-td-block    {  }
.sch-glass-page:not(.sch-light) .sch-fb-td-block { color: rgba(255,255,255,0.9); } /* dark-era ink, scoped */
.sch-fb-resp-count  {  }
.sch-glass-page:not(.sch-light) .sch-fb-resp-count { color: #5dcaa5; } /* dark-era ink, scoped */
.sch-fb-no-sessions {  }
.sch-glass-page:not(.sch-light) .sch-fb-no-sessions { color: rgba(255,255,255,0.35); } /* dark-era ink, scoped */

/* ── Expand panel ─────────────────────────────────────────────────────── */
.sch-fb-expand-panel {
	background:  rgba(18,43,70,0.5);
	border-top:  1px solid rgba(255,255,255,0.07);
}
.sch-fb-tabs { border-bottom-color: rgba(255,255,255,0.1); }
.sch-fb-tab  {  }
.sch-glass-page:not(.sch-light) .sch-fb-tab { color: rgba(255,255,255,0.4); } /* dark-era ink, scoped */
.sch-fb-tab:hover    {  }
.sch-glass-page:not(.sch-light) .sch-fb-tab:hover { color: rgba(255,255,255,0.7); } /* dark-era ink, scoped */
.sch-fb-tab--active  {  border-bottom-color: #5dcaa5; }
.sch-glass-page:not(.sch-light) .sch-fb-tab--active { color: #5dcaa5; } /* dark-era ink, scoped */

/* Answer blocks */
.sch-fb-answer-block {
	background:  rgba(255,255,255,0.04);
	border-color: rgba(255,255,255,0.08);
}
.sch-fb-answer-q {  }
.sch-glass-page:not(.sch-light) .sch-fb-answer-q { color: rgba(255,255,255,0.4); } /* dark-era ink, scoped */
.sch-fb-answer-a {  }
.sch-glass-page:not(.sch-light) .sch-fb-answer-a { color: rgba(255,255,255,0.8); } /* dark-era ink, scoped */

/* ── Pending cards → glass ────────────────────────────────────────────── */
.sch-fb-pending-card {
	background:  rgba(15,23,42,0.75);
	backdrop-filter: blur(20px) saturate(160%);
	-webkit-backdrop-filter: blur(20px) saturate(160%);
	border:      1px solid rgba(255,255,255,0.08);
	box-shadow:  0 4px 20px rgba(0,0,0,0.2);
}
.sch-fb-pending-card:hover  { border-color: rgba(34,127,119,0.4); box-shadow: 0 4px 24px rgba(34,127,119,0.15); }
.sch-fb-pending-block       {  }
.sch-glass-page:not(.sch-light) .sch-fb-pending-block { color: rgba(255,255,255,0.9); } /* dark-era ink, scoped */
.sch-fb-pending-meta        {  }
.sch-glass-page:not(.sch-light) .sch-fb-pending-meta { color: rgba(255,255,255,0.4); } /* dark-era ink, scoped */
.sch-fb-pending-focus       {  }
.sch-glass-page:not(.sch-light) .sch-fb-pending-focus { color: rgba(255,255,255,0.35); } /* dark-era ink, scoped */

/* ── Feedback form card → glass ───────────────────────────────────────── */
.sch-fb-form-wrap {
	background:  rgba(15,23,42,0.75);
	backdrop-filter: blur(28px) saturate(160%);
	-webkit-backdrop-filter: blur(28px) saturate(160%);
	border:      1px solid rgba(255,255,255,0.08);
	border-radius: 20px;
	box-shadow:  0 8px 32px rgba(0,0,0,0.35);
	padding:     1.5rem;
	max-width:   680px;
}
.sch-fb-q-text        {  }
.sch-glass-page:not(.sch-light) .sch-fb-q-text { color: rgba(255,255,255,0.9); } /* dark-era ink, scoped */
.sch-fb-char-count    {  }
.sch-glass-page:not(.sch-light) .sch-fb-char-count { color: rgba(255,255,255,0.35); } /* dark-era ink, scoped */
.sch-fb-step-label    {  }
.sch-glass-page:not(.sch-light) .sch-fb-step-label { color: rgba(255,255,255,0.4); } /* dark-era ink, scoped */
.sch-fb-progress-bar-wrap { background: rgba(255,255,255,0.08); }
.sch-fb-textarea {
	background:   rgba(255,255,255,0.07);
	border-color: rgba(255,255,255,0.12);
	
}
.sch-glass-page:not(.sch-light) .sch-fb-textarea { color: #fff; } /* dark-era ink, scoped */
.sch-fb-textarea:focus { background: rgba(255,255,255,0.1); border-color: #227F77; }

/* ── Sidebar glass group cards ────────────────────────────────────────── */
.sch-fb-sidebar__header  {  }
.sch-glass-page:not(.sch-light) /* ── Sidebar glass group cards ────────────────────────────────────────── */ .sch-fb-sidebar__header { color: rgba(255,255,255,0.35); } /* dark-era ink, scoped */
.sch-fb-sidebar__count   { background: rgba(255,255,255,0.08);  }
.sch-glass-page:not(.sch-light) .sch-fb-sidebar__count { color: rgba(255,255,255,0.4); } /* dark-era ink, scoped */
.sch-fb-group-card:hover { background: rgba(34,127,119,0.12); }
.sch-fb-group-card--active { background: rgba(34,127,119,0.12); border-left-color: #227F77; }
.sch-fb-group-card--active .sch-fb-group-name {  }
.sch-glass-page:not(.sch-light) .sch-fb-group-card--active .sch-fb-group-name { color: #5dcaa5; } /* dark-era ink, scoped */
.sch-fb-group-avatar-ph  { background: rgba(255,255,255,0.08); }
.sch-fb-group-name       {  }
.sch-glass-page:not(.sch-light) .sch-fb-group-name { color: rgba(255,255,255,0.8); } /* dark-era ink, scoped */
.sch-fb-group-badge      { background: rgba(34,127,119,0.3);  }
.sch-glass-page:not(.sch-light) .sch-fb-group-badge { color: #5dcaa5; } /* dark-era ink, scoped */
.sch-fb-group-badge--zero { background: rgba(255,255,255,0.08);  }
.sch-glass-page:not(.sch-light) .sch-fb-group-badge--zero { color: rgba(255,255,255,0.3); } /* dark-era ink, scoped */
.sch-fb-main-title       {  }
.sch-glass-page:not(.sch-light) .sch-fb-main-title { color: rgba(255,255,255,0.9); } /* dark-era ink, scoped */
.sch-fb-group-empty      {  }
.sch-glass-page:not(.sch-light) .sch-fb-group-empty { color: rgba(255,255,255,0.35); } /* dark-era ink, scoped */

/* ── Section headings ─────────────────────────────────────────────────── */
.sch-fb-section-title {  }
.sch-glass-page:not(.sch-light) /* ── Section headings ─────────────────────────────────────────────────── */ .sch-fb-section-title { color: rgba(255,255,255,0.9); } /* dark-era ink, scoped */

/* ── Badges → glass variants ──────────────────────────────────────────── */
.sch-badge--gray  { background: rgba(255,255,255,0.08);  }
.sch-glass-page:not(.sch-light) /* ── Badges → glass variants ──────────────────────────────────────────── */ .sch-badge--gray { color: rgba(255,255,255,0.45); } /* dark-era ink, scoped */
.sch-badge--blue  { background: rgba(96,165,250,0.12);  }
.sch-glass-page:not(.sch-light) .sch-badge--blue { color: #93c5fd; } /* dark-era ink, scoped */
.sch-badge--green { background: rgba(34,127,119,0.15);  }
.sch-glass-page:not(.sch-light) .sch-badge--green { color: #5dcaa5; } /* dark-era ink, scoped */
.sch-badge--red   { background: rgba(239,68,68,0.12); color: #f87171; }

/* ── Buttons (glass tone) — DARK PAGES ONLY. These fills were left unscoped
   while their inks were scoped, so on a light page a translucent teal fill won
   with no matching ink: the invisible green-on-green button. ── */
.sch-glass-page:not(.sch-light) .sch-btn--teal   { background: rgba(34,127,119,0.3); border-color: rgba(34,127,119,0.5);  }
.sch-glass-page:not(.sch-light) /* ── Buttons (glass tone) ──────────────────────────────────────────────── */ .sch-btn--teal { color: #5dcaa5; } /* dark-era ink, scoped */
.sch-glass-page:not(.sch-light) .sch-btn--teal:hover { background: rgba(34,127,119,0.45); box-shadow: 0 4px 20px rgba(34,127,119,0.3); }
.sch-glass-page:not(.sch-light) .sch-btn--outline { border-color: rgba(34,127,119,0.4);  }
.sch-glass-page:not(.sch-light) .sch-btn--outline { color: #5dcaa5; } /* dark-era ink, scoped */
.sch-glass-page:not(.sch-light) .sch-btn--outline:hover { background: rgba(34,127,119,0.12); }

/* ── Success / empty screens ──────────────────────────────────────────── */
.sch-fb-success h2  {  }
.sch-glass-page:not(.sch-light) /* ── Success / empty screens ──────────────────────────────────────────── */ .sch-fb-success h2 { color: rgba(255,255,255,0.9); } /* dark-era ink, scoped */
.sch-fb-success p   {  }
.sch-glass-page:not(.sch-light) .sch-fb-success p { color: rgba(255,255,255,0.45); } /* dark-era ink, scoped */
.sch-fb-empty-icon  { background: rgba(34,127,119,0.2);  }
.sch-glass-page:not(.sch-light) .sch-fb-empty-icon { color: #5dcaa5; } /* dark-era ink, scoped */
.sch-fb-empty h3    {  }
.sch-glass-page:not(.sch-light) .sch-fb-empty h3 { color: rgba(255,255,255,0.9); } /* dark-era ink, scoped */
.sch-fb-empty p     {  }
.sch-glass-page:not(.sch-light) .sch-fb-empty p { color: rgba(255,255,255,0.4); } /* dark-era ink, scoped */

/* ── Member rows ──────────────────────────────────────────────────────── */
.sch-fb-member-row { border-bottom-color: rgba(255,255,255,0.07); }
.sch-fb-member-name {  }
.sch-glass-page:not(.sch-light) .sch-fb-member-name { color: rgba(255,255,255,0.85); } /* dark-era ink, scoped */

/* ── Analytics ────────────────────────────────────────────────────────── */
.sch-fb-bar-label {  }
.sch-glass-page:not(.sch-light) /* ── Analytics ────────────────────────────────────────────────────────── */ .sch-fb-bar-label { color: rgba(255,255,255,0.35); } /* dark-era ink, scoped */
.sch-fb-word-tag  { background: rgba(34,127,119,0.15);  }
.sch-glass-page:not(.sch-light) .sch-fb-word-tag { color: #5dcaa5; } /* dark-era ink, scoped */
.sch-fb-word-tag em {  }
.sch-glass-page:not(.sch-light) .sch-fb-word-tag em { color: rgba(255,255,255,0.35); } /* dark-era ink, scoped */

/* ── Admin responses ──────────────────────────────────────────────────── */
.sch-fb-admin-responses {
	background:  rgba(18,43,70,0.4);
	border-radius: 12px;
}
.sch-fb-resp-item {
	background:  rgba(15,23,42,0.6);
	border-color: rgba(255,255,255,0.07);
}
.sch-fb-resp-date {  }
.sch-glass-page:not(.sch-light) .sch-fb-resp-date { color: rgba(255,255,255,0.3); } /* dark-era ink, scoped */
.sch-fb-filter-select {
	background:  rgba(255,255,255,0.07);
	border-color: rgba(255,255,255,0.12);
	
}
.sch-glass-page:not(.sch-light) .sch-fb-filter-select { color: rgba(255,255,255,0.8); } /* dark-era ink, scoped */
.sch-fb-admin-tabs { border-bottom-color: rgba(255,255,255,0.1); }

/* ============================================================
   CRITICAL FIXES — group cards, sidebar, layout
   ============================================================ */

/* ── Layout: flex not grid so sidebar stays fixed ─────────────────────── */
.sch-fb-layout {
	display:      flex !important;
	gap:          1.5rem !important;
	width:        100% !important;
	padding:      0 2rem !important;
	align-items:  flex-start !important;
	box-sizing:   border-box !important;
}
.sch-fb-sidebar {
	width:        280px !important;
	flex-shrink:  0 !important;
	background:   rgba(18,30,50,0.82) !important;
	border:       1px solid rgba(255,255,255,0.10) !important;
	border-radius: 16px !important;
	padding:      1.25rem !important;
	height:       fit-content !important;
	position:     sticky !important;
	top:          80px !important;
}
.sch-fb-main {
	flex:         1 !important;
	min-width:    0 !important;
}

/* ── Group cards ──────────────────────────────────────────────────────── */
.sch-fb-group-card {
	display:       flex !important;
	align-items:   center !important;
	gap:           10px !important;
	padding:       10px 12px !important;
	border-radius: 10px !important;
	cursor:        pointer !important;
	border:        1px solid rgba(255,255,255,0.07) !important;
	margin-bottom: 6px !important;
	background:    rgba(255,255,255,0.04) !important;
	transition:    all 0.2s !important;
}
.sch-fb-group-card:hover {
	background:  rgba(255,255,255,0.08) !important;
	border-color: rgba(255,255,255,0.15) !important;
}
/* v2.1: the active group card is a WHITE card on the white sheet — hairline border,
   3px teal LEFT accent only. The old green wash (rgba teal background + teal name)
   tinted the entire expanded session/answers area and is DELETED. */
.sch-fb-group-card.sch-fb-group-card--active,
.sch-fb-group-card--active {
	background:  #ffffff !important;
	border-color: rgba(18,43,70,0.10) !important;
	border-left: 3px solid #227F77 !important;
}

/* Avatar */
.sch-fb-group-avatar     { width: 36px !important; height: 36px !important; border-radius: 8px !important; object-fit: cover !important; flex-shrink: 0 !important; }
.sch-fb-group-avatar img { width: 36px !important; height: 36px !important; border-radius: 8px !important; flex-shrink: 0 !important; }
.sch-fb-group-avatar-ph  { width: 36px !important; height: 36px !important; border-radius: 8px !important; background: rgba(255,255,255,0.08) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 16px !important; flex-shrink: 0 !important;  }
.sch-glass-page:not(.sch-light) .sch-fb-group-avatar-ph { color: rgba(255,255,255,0.6) !important; } /* dark-era ink, scoped */

/* Info column */
.sch-fb-group-info { flex: 1 !important; min-width: 0 !important; display: flex !important; flex-direction: column !important; gap: 2px !important; }
.sch-fb-group-name { font-size: 14px !important; font-weight: 600 !important;  white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.sch-glass-page:not(.sch-light) .sch-fb-group-name { color: rgba(255,255,255,0.85) !important; } /* dark-era ink, scoped */
.sch-fb-group-meta { font-size: 12px !important;  margin-top: 1px !important; }
.sch-glass-page:not(.sch-light) .sch-fb-group-meta { color: rgba(255,255,255,0.4) !important; } /* dark-era ink, scoped */

/* Count badge */
.sch-fb-group-badge,
.sch-fb-group-count { font-size: 12px !important;  flex-shrink: 0 !important; background: rgba(255,255,255,0.08) !important; padding: 2px 7px !important; border-radius: 10px !important; }
.sch-glass-page:not(.sch-light) /* Count badge */ .sch-fb-group-badge, .sch-glass-page:not(.sch-light) .sch-fb-group-count { color: rgba(255,255,255,0.35) !important; } /* dark-era ink, scoped */
.sch-fb-group-badge { background: rgba(34,127,119,0.3) !important;  }
.sch-glass-page:not(.sch-light) .sch-fb-group-badge { color: #5dcaa5 !important; } /* dark-era ink, scoped */

/* Sidebar header */
.sch-fb-sidebar__header {
	font-size:      12px !important;
	font-weight:    700 !important;
	text-transform: uppercase !important;
	letter-spacing: .08em !important;
	
	padding:        0 0 12px !important;
	margin-bottom:  8px !important;
	border-bottom:  1px solid rgba(255,255,255,0.08) !important;
	display:        flex !important;
	align-items:    center !important;
	justify-content: space-between !important;
}
.sch-glass-page:not(.sch-light) /* Sidebar header */ .sch-fb-sidebar__header { color: rgba(255,255,255,0.4) !important; } /* dark-era ink, scoped */
.sch-fb-sidebar__count {
	background:  rgba(255,255,255,0.08) !important;
	
	padding:     2px 8px !important;
	border-radius: 20px !important;
	font-size:   12px !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-sidebar__count { color: rgba(255,255,255,0.4) !important; } /* dark-era ink, scoped */

/* ============================================================
   FIX 2 + FIX 3 — New session form (#sch-fb-new-form)
   ============================================================ */

/* New Session modal → light liquid-glass. Scoped under .sch-glass-page.sch-light
   and built on the shared --l-* tokens so it matches the page's other light
   cards/fields/buttons. Replaces the legacy dark treatment that was overriding
   the page's existing light rules. Appearance only — no markup/logic change. */
.sch-glass-page.sch-light #sch-fb-new-form {
	background:         var(--l-glass) !important;
	backdrop-filter:    blur(18px) saturate(160%);
	-webkit-backdrop-filter: blur(18px) saturate(160%);
	border:             1px solid var(--l-line) !important;
	border-radius:      var(--fb-radius) !important;
	box-shadow:         var(--l-shadow) !important;
	overflow:           hidden !important;
	margin-bottom:      24px !important;
	transition:         opacity 0.3s ease, transform 0.3s ease !important;
}
/* Outer wrapper is the card; the inner is padding only (avoid a double card). */
.sch-glass-page.sch-light #sch-fb-new-form .sch-fb-panel-inner {
	background:  transparent !important;
	border:      0 !important;
	box-shadow:  none !important;
	padding:     24px 28px !important;
}
.sch-glass-page.sch-light #sch-fb-new-form .sch-fb-panel-title { color: var(--l-ink) !important; }

/* Labels: muted-navy uppercase — the same field-label style used across the page. */
.sch-glass-page.sch-light #sch-fb-new-form label,
.sch-glass-page.sch-light #sch-fb-new-form .sch-fb-field label {
	color:          var(--l-ink-soft) !important;
	font-size:      12px !important;
	font-weight:    600 !important;
	display:        block !important;
	margin-bottom:  6px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
}
/* Empty-state hint (shown when no catalogue licences) → muted navy, not white. */
.sch-glass-page.sch-light #sch-fb-new-form .sch-fb-field p { color: var(--l-ink-faint) !important; }

/* Fields: white field, hairline border, navy text, teal focus ring — same
   treatment as the other light feedback forms (Settings / student). */
.sch-glass-page.sch-light #sch-fb-new-form input[type="text"],
.sch-glass-page.sch-light #sch-fb-new-form input[type="date"],
.sch-glass-page.sch-light #sch-fb-new-form input[type="number"],
.sch-glass-page.sch-light #sch-fb-new-form textarea,
.sch-glass-page.sch-light #sch-fb-new-form select,
.sch-glass-page.sch-light #sch-fb-new-form .sch-fb-input {
	background:    var(--l-glass-solid) !important;
	border:        1px solid var(--l-line) !important;
	color:         var(--l-ink) !important;
	border-radius: 8px !important;
	padding:       10px 14px !important;
	font-size:     15px !important;
	font-family:   'Rajdhani', sans-serif !important;
	width:         100% !important;
	box-sizing:    border-box !important;
	transition:    border-color 0.2s, box-shadow 0.2s !important;
}
.sch-glass-page.sch-light #sch-fb-new-form input[type="text"]:focus,
.sch-glass-page.sch-light #sch-fb-new-form input[type="date"]:focus,
.sch-glass-page.sch-light #sch-fb-new-form textarea:focus,
.sch-glass-page.sch-light #sch-fb-new-form select:focus {
	outline:      none !important;
	border-color: var(--l-teal) !important;
	box-shadow:   0 0 0 3px rgba(34,127,119,0.15) !important;
}
.sch-glass-page.sch-light #sch-fb-new-form input::placeholder,
.sch-glass-page.sch-light #sch-fb-new-form textarea::placeholder { color: var(--l-ink-faint) !important; }
/* Date picker calendar icon: default (dark) on the light field. */
.sch-glass-page.sch-light #sch-fb-new-form input[type="date"]::-webkit-calendar-picker-indicator {
	filter: none;
	cursor: pointer;
}
.sch-glass-page.sch-light #sch-fb-new-form select option {
	background: #fff !important;
	color: var(--l-ink) !important;
}

/* Buttons: Create & Send = primary teal (like the table "View" button);
   Cancel / Save as Draft = ghost light-glass. */
.sch-glass-page.sch-light #sch-fb-new-form .sch-btn--teal {
	background:  var(--l-teal) !important;
	border:      1px solid var(--l-teal) !important;
	
	box-shadow:  0 6px 18px rgba(34,127,119,0.28) !important;
}
/* Buttons: Create & Send = primary teal (like the table "View" button); Cancel / Save as Draft = ghost light-glass. */ .sch-glass-page:not(.sch-light).sch-light #sch-fb-new-form .sch-btn--teal { color: #fff !important; } /* dark-era ink, scoped */
.sch-glass-page.sch-light #sch-fb-new-form .sch-btn--teal:hover {
	background:    var(--l-teal-dk) !important;
	border-color:  var(--l-teal-dk) !important;
	
}
.sch-glass-page:not(.sch-light).sch-light #sch-fb-new-form .sch-btn--teal:hover { color: #fff !important; } /* dark-era ink, scoped */
.sch-glass-page.sch-light #sch-fb-new-form .sch-btn--outline {
	background: var(--l-glass-solid) !important;
	border:     1px solid var(--l-line) !important;
	color:      var(--l-ink) !important;
}
.sch-glass-page.sch-light #sch-fb-new-form .sch-btn--outline:hover {
	background:    rgba(34,127,119,0.08) !important;
	border-color:  rgba(34,127,119,0.30) !important;
	color:         var(--l-teal-dk) !important;
}

/* ============================================================
   FIX 7 — Response panel dark styles
   ============================================================ */

.sch-glass-page:not(.sch-light) .sch-fb-response-panel {
	background:   rgba(18,30,50,0.88) !important;
	border:       1px solid rgba(255,255,255,0.09) !important;
	border-radius: 12px !important;
	padding:      1.25rem !important;
	
	margin-bottom: 10px !important;
}
.sch-glass-page:not(.sch-light) /* ============================================================ FIX 7 — Response panel dark styles ============================================================ */ .sch-fb-response-panel { color: rgba(255,255,255,0.8) !important; } /* dark-era ink, scoped */
.sch-fb-answer-label {
	
	font-size:      11px !important;
	font-weight:    700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.07em !important;
	margin-bottom:  4px !important;
	margin-top:     12px !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-answer-label { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-fb-answer-label:first-child { margin-top: 0 !important; }
.sch-fb-answer-text {
	
	font-size:   14px !important;
	line-height: 1.55 !important;
	white-space: pre-wrap !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-answer-text { color: rgba(255,255,255,0.75) !important; } /* dark-era ink, scoped */

/* Overview "By Block" — question heading */
.sch-fb-block-q-heading {
	font-size:      15px !important;
	font-weight:    700 !important;
	
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	margin:         18px 0 10px !important;
	padding-bottom: 6px !important;
	border-bottom:  1px solid rgba(255,255,255,0.07) !important;
}
.sch-glass-page:not(.sch-light) /* Overview "By Block" — question heading */ .sch-fb-block-q-heading { color: rgba(255,255,255,0.55) !important; } /* dark-era ink, scoped */
.sch-fb-block-q-heading:first-child { margin-top: 0 !important; }

/* Answer preview pill shown in "By Student" member row */
.sch-fb-answer-preview {
	
	font-size:     13px;
	font-style:    italic;
	flex:          1;
	white-space:   nowrap;
	overflow:      hidden;
	text-overflow: ellipsis;
	max-width:     260px;
	min-width:     0;
}
.sch-glass-page:not(.sch-light) /* Answer preview pill shown in "By Student" member row */ .sch-fb-answer-preview { color: rgba(255,255,255,0.42); } /* dark-era ink, scoped */

/* Expandable answer block for student detail */
.sch-fb-resp-detail {
	padding:       14px 16px;
	background:    rgba(18,30,50,0.6);
	border-radius: 10px;
	margin-top:    6px;
}
.sch-fb-resp-detail + .sch-fb-member-row {
	margin-top: 6px;
}

/* ============================================================
   FIX 1 — Main content area text visibility
   ============================================================ */

.sch-fb-main,
.sch-fb-main * {
	
}
.sch-glass-page:not(.sch-light) /* ============================================================ FIX 1 — Main content area text visibility ============================================================ */ .sch-fb-main, .sch-glass-page:not(.sch-light) .sch-fb-main * { color: rgba(255,255,255,0.85) !important; } /* dark-era ink, scoped */
.sch-fb-sessions-table {
	width: 100% !important;
	border-collapse: collapse !important;
}
.sch-fb-sessions-table th {
	background:     #EDF1F6 !important;
	color:          #122B46 !important; /* navy */
	font-family:    'Rajdhani', sans-serif !important;
	font-size:      11px !important;
	font-weight:    600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	padding:        10px 14px !important;
	text-align:     left !important;
	border-bottom:  1px solid rgba(18,43,70,0.12) !important;
}
.sch-fb-sessions-table td {
	padding:        12px 14px !important;
	border-bottom:  1px solid rgba(255,255,255,0.06) !important;
	
	font-size:      14px !important;
	vertical-align: middle !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-sessions-table td { color: rgba(255,255,255,0.8) !important; } /* dark-era ink, scoped */
.sch-fb-sessions-table tr:hover td {
	background: rgba(255,255,255,0.04) !important;
}
.sch-fb-empty-state {
	text-align: center !important;
	padding:    3rem !important;
	
	font-size:  15px !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-empty-state { color: rgba(255,255,255,0.35) !important; } /* dark-era ink, scoped */
.sch-fb-empty-state .sch-fb-empty-icon {
	font-size:     48px !important;
	margin-bottom: 1rem !important;
	opacity:       0.4 !important;
}

/* ============================================================
   FIX 4 — Response tabs and pre-rendered response panel
   ============================================================ */

.sch-fb-resp-tabs {
	display:        flex !important;
	gap:            6px !important;
	margin-bottom:  1rem !important;
	padding-bottom: 1rem !important;
	border-bottom:  1px solid rgba(255,255,255,0.08) !important;
}
.sch-fb-resp-tab {
	padding:     6px 14px !important;
	border-radius: 8px !important;
	font-size:   13px !important;
	font-weight: 500 !important;
	cursor:      pointer !important;
	border:      1px solid rgba(255,255,255,0.1) !important;
	background:  rgba(255,255,255,0.04) !important;
	
	font-family: 'Rajdhani', sans-serif !important;
	transition:  all 0.2s !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-resp-tab { color: rgba(255,255,255,0.5) !important; } /* dark-era ink, scoped */
.sch-fb-resp-tab.active,
.sch-fb-resp-tab:focus {
	background:   rgba(34,127,119,0.2) !important;
	border-color: rgba(34,127,119,0.4) !important;
	
}
.sch-glass-page:not(.sch-light) .sch-fb-resp-tab.active, .sch-glass-page:not(.sch-light) .sch-fb-resp-tab:focus { color: #5dcaa5 !important; } /* dark-era ink, scoped */
/* ---- FIX 1: Session rows — dark background, white text ---- */
.sch-fb-session-row td {
	background:   rgba(18,30,50,0.6) !important;
	
	border-bottom: 1px solid rgba(255,255,255,0.06) !important;
	padding:      12px 14px !important;
	font-size:    14px !important;
	font-family:  'Rajdhani', sans-serif !important;
}
.sch-glass-page:not(.sch-light) /* ---- FIX 1: Session rows — dark background, .sch-glass-page:not(.sch-light) white text ---- */ .sch-fb-session-row td { color: rgba(255,255,255,0.85) !important; } /* dark-era ink, scoped */
.sch-fb-session-row button {
	background:   rgba(34,127,119,0.2) !important;
	border:       1px solid rgba(34,127,119,0.4) !important;
	
	padding:      5px 12px !important;
	border-radius: 6px !important;
	font-size:    13px !important;
	cursor:       pointer !important;
	font-family:  'Rajdhani', sans-serif !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-session-row button { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-fb-session-row button:hover {
	background: rgba(34,127,119,0.35) !important;
}
/* Strip any white background inherited from theme */
.sch-fb-response-panel table,
.sch-fb-response-panel tr,
.sch-fb-response-panel th,
.sch-fb-response-panel td {
	background-color: transparent !important;
	
}
.sch-glass-page:not(.sch-light) /* Strip any white background inherited from theme */ .sch-fb-response-panel table, .sch-glass-page:not(.sch-light) .sch-fb-response-panel tr, .sch-glass-page:not(.sch-light) .sch-fb-response-panel th, .sch-glass-page:not(.sch-light) .sch-fb-response-panel td { color: rgba(255,255,255,0.8) !important; } /* dark-era ink, scoped */
/* v2.1: expanded answers = white card + hairline separators (dark overlay deleted). */
.sch-fb-answers-row td { background: #ffffff !important; border-bottom: 1px solid rgba(18,43,70,0.06) !important; }

.sch-badge-success {
	background:   rgba(34,127,119,0.2) !important;
	
	border:       1px solid rgba(34,127,119,0.3) !important;
	padding:      2px 8px !important;
	border-radius: 6px !important;
	font-size:    12px !important;
	white-space:  nowrap !important;
}
.sch-glass-page:not(.sch-light) .sch-badge-success { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-badge-pending {
	background:   rgba(241,196,15,0.1) !important;
	
	border:       1px solid rgba(241,196,15,0.2) !important;
	padding:      2px 8px !important;
	border-radius: 6px !important;
	font-size:    12px !important;
	white-space:  nowrap !important;
}
.sch-glass-page:not(.sch-light) .sch-badge-pending { color: #fcd34d !important; } /* dark-era ink, scoped */
.sch-avatar-xs {
	border-radius: 50% !important;
	margin-right:  6px !important;
	vertical-align: middle !important;
}
.sch-btn-xs {
	padding:     4px 10px !important;
	font-size:   12px !important;
	border-radius: 6px !important;
	cursor:      pointer !important;
	font-family: 'Rajdhani', sans-serif !important;
	font-weight: 500 !important;
}
.sch-btn-outline-teal {
	background:  transparent !important;
	border:      1px solid rgba(34,127,119,0.4) !important;
	
}
.sch-glass-page:not(.sch-light) .sch-btn-outline-teal { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-btn-outline-teal:hover { background: rgba(34,127,119,0.15) !important; }
.sch-fb-answers-detail {
	padding:       1rem !important;
	background:    rgba(0,0,0,0.2) !important;
	border-radius: 8px !important;
}
.sch-fb-qa-block         { margin-bottom: 12px !important; }
.sch-fb-block-question {
	margin-bottom:  1.5rem !important;
	padding-bottom: 1.5rem !important;
	border-bottom:  1px solid rgba(255,255,255,0.06) !important;
}
.sch-fb-block-response {
	display:     flex !important;
	align-items: flex-start !important;
	gap:         8px !important;
	padding:     8px 0 !important;
	border-bottom: 1px solid rgba(255,255,255,0.04) !important;
}
.sch-fb-resp-name {
	font-weight: 600 !important;
	
	min-width:   120px !important;
	flex-shrink: 0 !important;
	font-size:   13px !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-resp-name { color: rgba(255,255,255,0.7) !important; } /* dark-era ink, scoped */
.sch-fb-resp-answer {
	
	font-size:   13px !important;
	line-height: 1.5 !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-resp-answer { color: rgba(255,255,255,0.6) !important; } /* dark-era ink, scoped */
.sch-fb-block-header {
	display:         flex !important;
	justify-content: space-between !important;
	margin-bottom:   1rem !important;
	
	font-size:       14px !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-block-header { color: rgba(255,255,255,0.7) !important; } /* dark-era ink, scoped */
.sch-fb-preview {
	max-width:     200px !important;
	overflow:      hidden !important;
	text-overflow: ellipsis !important;
	white-space:   nowrap !important;
	
	font-size:     12px !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-preview { color: rgba(255,255,255,0.45) !important; } /* dark-era ink, scoped */

/* Response panel row in sessions table */
.sch-fb-resp-row > td {
	padding:    0 !important;
	background: rgba(10,18,32,0.6) !important;
}
.sch-fb-resp-row .sch-fb-response-panel {
	border-radius: 0 !important;
	border-left:   none !important;
	border-right:  none !important;
	margin-bottom: 0 !important;
}

/* ============================================================
   FIX 6 — Add Group button in sidebar
   ============================================================ */

.sch-fb-add-group-wrap { margin-top: 8px !important; }
.sch-fb-add-group-btn {
	width:        100% !important;
	padding:      8px !important;
	border-radius: 8px !important;
	border:       1px dashed rgba(34,127,119,0.4) !important;
	background:   transparent !important;
	
	font-size:    13px !important;
	cursor:       pointer !important;
	font-family:  'Rajdhani', sans-serif !important;
	transition:   all 0.2s !important;
	text-align:   center !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-add-group-btn { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-fb-add-group-btn:hover {
	background:   rgba(34,127,119,0.1) !important;
	border-color: rgba(34,127,119,0.6) !important;
}
.sch-fb-add-group-panel {
	margin-top:   8px !important;
	padding:      12px !important;
	background:   rgba(18,30,50,0.8) !important;
	border:       1px solid rgba(255,255,255,0.08) !important;
	border-radius: 8px !important;
	font-size:    13px !important;
	
	line-height:  1.5 !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-add-group-panel { color: rgba(255,255,255,0.6) !important; } /* dark-era ink, scoped */
.sch-fb-add-group-panel a {
	
	text-decoration: underline !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-add-group-panel a { color: #5dcaa5 !important; } /* dark-era ink, scoped */

/* ============================================================
   FIX 3 — Remove white borders / outlines from response panes
   ============================================================ */

/* Pane wrappers — no border, no shadow, no outline */
.sch-fb-resp-pane,
[id^="by-student-"],
[id^="by-block-"] {
	border:     none !important;
	outline:    none !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* Expand row cell that holds the response panel — no top-border gap */
.sch-fb-resp-row td {
	border-top: none !important;
	padding:    0 !important;
}

/* The response panel itself — flush with session row, no top divider */
.sch-fb-response-panel {
	border-top:    none !important;
	border-radius: 0 0 12px 12px !important;
	margin-top:    0 !important;
}

/* ============================================================
   FIX 4 — Remove white line under Actions buttons
   ============================================================ */

/* Expand row direct-child cell: zero padding, zero border */
.sch-fb-resp-row > td {
	padding: 0 !important;
	border:  none !important;
}

/* Panel sits flush — no extra margin, bottom radius only */
.sch-fb-response-panel {
	margin:        0 !important;
	border-radius: 0 0 16px 16px !important;
}

/* Kill any ::after pseudo-element borders added by themes */
.sch-fb-session-row::after,
.sch-fb-sessions-table tr::after,
.sch-fb-resp-row::after {
	display: none !important;
	content: none !important;
}

/* ============================================================
   FIX 1 — Student feedback form: visible text on dark glass
   ============================================================ */

.sch-fb-student-wrap,
.sch-fb-pending-card,
.sch-fb-form-wrap,
.sch-fb-step,
.sch-fb-step * {
	
}
.sch-glass-page:not(.sch-light) /* ============================================================ FIX 1 — Student feedback form: visible text on dark glass ============================================================ */ .sch-fb-student-wrap, .sch-glass-page:not(.sch-light) .sch-fb-pending-card, .sch-glass-page:not(.sch-light) .sch-fb-form-wrap, .sch-glass-page:not(.sch-light) .sch-fb-step, .sch-glass-page:not(.sch-light) .sch-fb-step * { color: rgba(255,255,255,0.85) !important; } /* dark-era ink, scoped */

.sch-fb-step-q p,
.sch-fb-step-question {
	font-size:     20px !important;
	font-weight:   600 !important;
	
	margin-bottom: 1rem !important;
	font-family:   'Rajdhani', sans-serif !important;
	line-height:   1.4 !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-step-q p, .sch-glass-page:not(.sch-light) .sch-fb-step-question { color: #fff !important; } /* dark-era ink, scoped */

.sch-fb-step textarea,
.sch-fb-textarea {
	background:  rgba(255,255,255,0.07) !important;
	border:      1px solid rgba(255,255,255,0.15) !important;
	border-radius: 10px !important;
	
	font-size:   15px !important;
	padding:     14px !important;
	width:       100% !important;
	min-height:  140px !important;
	font-family: 'Rajdhani', sans-serif !important;
	resize:      vertical !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-step textarea, .sch-glass-page:not(.sch-light) .sch-fb-textarea { color: #fff !important; } /* dark-era ink, scoped */
.sch-fb-step textarea::placeholder,
.sch-fb-textarea::placeholder {
	color: rgba(255,255,255,0.3) !important;
}
.sch-fb-step textarea:focus,
.sch-fb-textarea:focus {
	outline:    none !important;
	border-color: #227F77 !important;
	box-shadow: 0 0 12px rgba(34,127,119,0.3) !important;
}

.sch-fb-char-count {
	font-size:  12px !important;
	
	text-align: right !important;
	margin-top: 4px !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-char-count { color: rgba(255,255,255,0.35) !important; } /* dark-era ink, scoped */

.sch-fb-progress-bar-wrap {
	height:        4px !important;
	background:    rgba(255,255,255,0.1) !important;
	border-radius: 2px !important;
	margin-bottom: 2rem !important;
	overflow:      hidden !important;
}
.sch-fb-progress-bar {
	height:        100% !important;
	background:    linear-gradient(90deg, #227F77, #5dcaa5) !important;
	border-radius: 2px !important;
	transition:    width 0.4s ease !important;
	box-shadow:    0 0 8px rgba(34,127,119,0.5) !important;
}

.sch-fb-step-label {
	font-size:       12px !important;
	text-transform:  uppercase !important;
	letter-spacing:  0.1em !important;
	
	margin-bottom:   0.5rem !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-step-label { color: rgba(255,255,255,0.4) !important; } /* dark-era ink, scoped */

.sch-fb-form-nav {
	display:        flex !important;
	justify-content: space-between !important;
	align-items:    center !important;
	margin-top:     1.5rem !important;
}

/* Success screen */
.sch-fb-success {
	text-align: center !important;
	padding:    3rem 2rem !important;
}
.sch-fb-success-icon {
	width:         72px !important;
	height:        72px !important;
	background:    rgba(34,127,119,0.2) !important;
	border:        2px solid rgba(34,127,119,0.5) !important;
	border-radius: 50% !important;
	display:       flex !important;
	align-items:   center !important;
	justify-content: center !important;
	margin:        0 auto 1.5rem !important;
	font-size:     28px !important;
}
.sch-fb-success h2,
.sch-fb-success h3 {
	font-size:     24px !important;
	font-weight:   700 !important;
	
	font-family:   'Rajdhani', sans-serif !important;
	margin-bottom: 0.5rem !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-success h2, .sch-glass-page:not(.sch-light) .sch-fb-success h3 { color: #fff !important; } /* dark-era ink, scoped */
.sch-fb-success p {
	
	font-size:     15px !important;
	margin-bottom: 1.5rem !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-success p { color: rgba(255,255,255,0.55) !important; } /* dark-era ink, scoped */

/* Pending cards */
.sch-fb-pending-card {
	background:    rgba(18,30,50,0.8) !important;
	border:        1px solid rgba(255,255,255,0.1) !important;
	border-radius: 16px !important;
	padding:       1.5rem !important;
	margin-bottom: 12px !important;
}
.sch-fb-pending-block {
	font-size:   18px !important;
	font-weight: 600 !important;
	
	font-family: 'Rajdhani', sans-serif !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-pending-block { color: #fff !important; } /* dark-era ink, scoped */
.sch-fb-pending-meta {
	font-size:  13px !important;
	
	margin-top: 4px !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-pending-meta { color: rgba(255,255,255,0.45) !important; } /* dark-era ink, scoped */

/* ============================================================
   FIX 2 — Member filter in response panel
   ============================================================ */

.sch-fb-filter-row {
	margin-bottom: 1rem !important;
	display:       flex !important;
	align-items:   center !important;
	gap:           10px !important;
	padding:       0 16px !important;
}
.sch-fb-member-filter {
	background:    rgba(255,255,255,0.07) !important;
	border:        1px solid rgba(255,255,255,0.15) !important;
	border-radius: 8px !important;
	
	font-size:     14px !important;
	padding:       7px 12px !important;
	font-family:   'Rajdhani', sans-serif !important;
	min-width:     220px !important;
	cursor:        pointer !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-member-filter { color: rgba(255,255,255,0.8) !important; } /* dark-era ink, scoped */
.sch-fb-member-filter option {
	background: #1e293b !important;
	
}
.sch-glass-page:not(.sch-light) .sch-fb-member-filter option { color: #fff !important; } /* dark-era ink, scoped */

/* ============================================================
   FIX 3 — Text colour outside glass cards
   ============================================================ */

/* Stat values keep teal even outside glass */
.sch-fb-stat-val {  }
.sch-glass-page:not(.sch-light) /* ============================================================ FIX 3 — Text colour outside glass cards ============================================================ */ /* Stat values keep teal even outside glass */ .sch-fb-stat-val { color: #5dcaa5 !important; } /* dark-era ink, scoped */

/* Any direct child of the page wrapper that is NOT a glass
   card should not inherit white text */
.sch-fb-wrap > *:not(.sch-glass):not(.sch-page-hero):not(.sch-fb-layout) {
	color: #374151 !important;
}

/* Member rows */
.sch-fb-member-row td {
	border-bottom: 1px solid rgba(255,255,255,0.06) !important;
	text-decoration: none !important;
}

/* Answer detail rows */
.sch-fb-answers-tr td {
	border-top:    none !important;
	border-left:   none !important;
	border-right:  none !important;
	border-bottom: 1px solid rgba(255,255,255,0.1) !important;
}

/* ============================================================
   FIX 3 — Liquid glass student page
   ============================================================ */

/* Page wrapper — transparent, full-width, layout-only (chrome JS sizes it). */
.sch-fb-student-wrap {
	margin:     0 !important;
	padding:    0 !important;
	width:      100% !important;
	display:    block !important;
}

/* Pending card must be position:relative for the accent bar */
.sch-glass.sch-fb-pending-card {
	position: relative !important;
}

/* Start button hover */
.sch-fb-start-btn:hover {
	background:  rgba(34,127,119,0.5) !important;
	transform:   translateY(-1px) !important;
	box-shadow:  0 4px 16px rgba(34,127,119,0.3) !important;
}
.sch-fb-start-btn:active {
	transform: translateY(0) !important;
}

/* Step entry animation */
@keyframes sch-fade-up {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: translateY(0); }
}
.sch-fb-form-wrap .sch-fb-step {
	animation: sch-fade-up 0.3s ease both !important;
}

/* Step counter label */
.sch-fb-form-wrap .sch-fb-step-counter {
	font-size:      11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	
	margin-bottom:  6px !important;
}
.sch-glass-page:not(.sch-light) /* Step counter label */ .sch-fb-form-wrap .sch-fb-step-counter { color: rgba(255,255,255,0.35) !important; } /* dark-era ink, scoped */

/* Progress bar */
.sch-fb-form-wrap .sch-fb-progress-bar-wrap {
	height:        3px !important;
	background:    rgba(255,255,255,0.08) !important;
	border-radius: 2px !important;
	margin-bottom: 1.5rem !important;
	overflow:      hidden !important;
}
.sch-fb-form-wrap .sch-fb-progress-bar {
	height:     100% !important;
	background: linear-gradient(90deg, #227F77, #5dcaa5) !important;
	box-shadow: 0 0 8px rgba(34,127,119,0.5) !important;
	transition: width 0.4s ease !important;
	display:    block !important;
}

/* Question text */
.sch-fb-form-wrap .sch-fb-step-question {
	font-size:     20px !important;
	font-weight:   600 !important;
	
	font-family:   'Rajdhani', sans-serif !important;
	line-height:   1.4 !important;
	margin-bottom: 1.25rem !important;
}
.sch-glass-page:not(.sch-light) /* Question text */ .sch-fb-form-wrap .sch-fb-step-question { color: #fff !important; } /* dark-era ink, scoped */

/* Textarea */
.sch-fb-form-wrap textarea,
.sch-fb-form-wrap .sch-fb-step-textarea {
	background:    rgba(255,255,255,0.07) !important;
	border:        1px solid rgba(255,255,255,0.12) !important;
	border-radius: 10px !important;
	
	font-size:     15px !important;
	padding:       14px !important;
	width:         100% !important;
	min-height:    150px !important;
	font-family:   'Rajdhani', sans-serif !important;
	resize:        vertical !important;
	transition:    border-color 0.2s, box-shadow 0.2s !important;
	display:       block !important;
}
.sch-glass-page:not(.sch-light) /* Textarea */ .sch-fb-form-wrap textarea, .sch-glass-page:not(.sch-light) .sch-fb-form-wrap .sch-fb-step-textarea { color: #fff !important; } /* dark-era ink, scoped */
.sch-fb-form-wrap textarea:focus,
.sch-fb-form-wrap .sch-fb-step-textarea:focus {
	outline:      none !important;
	border-color: #227F77 !important;
	box-shadow:   0 0 16px rgba(34,127,119,0.3) !important;
}
.sch-fb-form-wrap textarea::placeholder,
.sch-fb-form-wrap .sch-fb-step-textarea::placeholder {
	color: rgba(255,255,255,0.25) !important;
}

/* Char count */
.sch-fb-form-wrap .sch-fb-char-count {
	font-size:  12px !important;
	
	text-align: right !important;
	margin-top: 6px !important;
}
.sch-glass-page:not(.sch-light) /* Char count */ .sch-fb-form-wrap .sch-fb-char-count { color: rgba(255,255,255,0.3) !important; } /* dark-era ink, scoped */

/* Nav row */
.sch-fb-form-wrap .sch-fb-nav-row {
	display:         flex !important;
	justify-content: space-between !important;
	align-items:     center !important;
	margin-top:      1.5rem !important;
	padding-top:     1rem !important;
	border-top:      1px solid rgba(255,255,255,0.07) !important;
}

/* Success screen */
.sch-fb-success {
	text-align: center !important;
	padding:    2.5rem !important;
}
.sch-fb-success-icon {
	width:           64px !important;
	height:          64px !important;
	background:      rgba(34,127,119,0.2) !important;
	border:          2px solid rgba(34,127,119,0.5) !important;
	border-radius:   50% !important;
	display:         flex !important;
	align-items:     center !important;
	justify-content: center !important;
	margin:          0 auto 1.25rem !important;
	font-size:       26px !important;
	
}
.sch-glass-page:not(.sch-light) .sch-fb-success-icon { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-fb-success h3 {
	font-size:     24px !important;
	font-weight:   700 !important;
	
	font-family:   'Rajdhani', sans-serif !important;
	margin-bottom: 6px !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-success h3 { color: #fff !important; } /* dark-era ink, scoped */
.sch-fb-success p {
	
	font-size:     15px !important;
	margin-bottom: 1.5rem !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-success p { color: rgba(255,255,255,0.5) !important; } /* dark-era ink, scoped */

/* ============================================================
   STUDENT PAGE — LIQUID GLASS REDESIGN
   Overrides all prior student-page rules
   ============================================================ */

/* Full-page dark canvas — consolidated (JS applies position:fixed) */

/* ── Animated blobs ─────────────────────────────────────── */
.sch-fb-bg {
	position:       fixed          !important;
	inset:          0              !important;
	z-index:        0              !important;
	pointer-events: none           !important;
	overflow:       hidden         !important;
}
.sch-fb-blob {
	position:      absolute;
	border-radius: 50%;
	filter:        blur(100px);
	animation:     schFbFloat 10s ease-in-out infinite;
}
.sch-fb-blob-1 {
	width: 600px; height: 600px;
	background: radial-gradient(circle, rgba(34,127,119,0.35), transparent 70%);
	top: -150px; left: -150px;
	animation-delay: 0s;
}
.sch-fb-blob-2 {
	width: 500px; height: 500px;
	background: radial-gradient(circle, rgba(18,43,70,0.6), transparent 70%);
	bottom: -100px; right: -100px;
	animation-delay: -4s;
}
.sch-fb-blob-3 {
	width: 400px; height: 400px;
	background: radial-gradient(circle, rgba(241,196,15,0.1), transparent 70%);
	top: 40%; left: 40%;
	animation-delay: -7s;
}
@keyframes schFbFloat {
	0%,100% { transform: translate(0,0); }
	33%     { transform: translate(20px,-30px); }
	66%     { transform: translate(-15px,20px); }
}

/* ── Hero — matches Feedback Management style ───────────── */
.sch-fb-hero {
	background:              rgba(10,18,40,0.85) !important;
	backdrop-filter:         blur(40px)          !important;
	-webkit-backdrop-filter: blur(40px)          !important;
	border-radius:           16px                !important;
	border:                  1px solid rgba(255,255,255,0.08) !important;
	padding:                 1.25rem 1.5rem      !important;
	margin:                  1rem 2rem 0 2rem    !important;
	position:                relative            !important;
	overflow:                hidden              !important;
	z-index:                 1                   !important;
	width:                   auto               !important;
}
.sch-fb-hero-accent {
	position:   absolute                                                                      !important;
	top:        0                                                                             !important;
	left:       0                                                                             !important;
	right:      0                                                                             !important;
	height:     2px                                                                           !important;
	background: linear-gradient(90deg, transparent, #227F77, #F1C40F, #227F77, transparent) !important;
}
.sch-fb-hero-icon {
	width:           40px                       !important;
	height:          40px                       !important;
	border-radius:   10px                       !important;
	background:      rgba(34,127,119,0.2)       !important;
	border:          1px solid rgba(34,127,119,0.4) !important;
	display:         flex                       !important;
	align-items:     center                     !important;
	justify-content: center                     !important;
	flex-shrink:     0                          !important;
}
.sch-fb-hero-title {
	font-size:      20px                      !important;
	font-weight:    700                       !important;
	
	font-family:    'Rajdhani', sans-serif    !important;
	letter-spacing: 0.3px                     !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-hero-title { color: #fff !important; } /* dark-era ink, scoped */
.sch-fb-hero-sub {
	font-size:   13px                        !important;
	
	margin-top:  2px                         !important;
	font-family: 'Rajdhani', sans-serif      !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-hero-sub { color: rgba(255,255,255,0.45) !important; } /* dark-era ink, scoped */

/* ── Content area ───────────────────────────────────────── */
.sch-fb-student-content {
	position:  relative              !important;
	z-index:   1                     !important;
	padding:   1.5rem 2rem 2rem      !important;
	max-width: 780px                 !important;
	margin:    0 auto                !important;
}

/* ── All done ───────────────────────────────────────────── */
.sch-fb-all-done {
	text-align:      center;
	padding:         4rem 2rem;
	background:      rgba(255,255,255,0.06);
	backdrop-filter: blur(24px);
	border:          1px solid rgba(255,255,255,0.1);
	border-radius:   20px;
	margin-top:      2rem;
}
.sch-fb-all-done-icon {
	width:           72px;
	height:          72px;
	border-radius:   50%;
	background:      rgba(34,127,119,0.2);
	border:          2px solid rgba(34,127,119,0.5);
	display:         flex;
	align-items:     center;
	justify-content: center;
	font-size:       28px;
	
	margin:          0 auto 1.25rem;
}
.sch-glass-page:not(.sch-light) .sch-fb-all-done-icon { color: #5dcaa5; } /* dark-era ink, scoped */
.sch-fb-all-done-title {
	font-size:     24px;
	font-weight:   700;
	
	font-family:   'Rajdhani', sans-serif;
	margin-bottom: 6px;
}
.sch-glass-page:not(.sch-light) .sch-fb-all-done-title { color: #fff; } /* dark-era ink, scoped */
.sch-fb-all-done-sub {
	font-size: 14px;
	
}
.sch-glass-page:not(.sch-light) .sch-fb-all-done-sub { color: rgba(255,255,255,0.4); } /* dark-era ink, scoped */

/* ── Pending card ───────────────────────────────────────── */
.sch-fb-student-wrap .sch-fb-pending-card {
	position:            relative !important;
	background:          rgba(255,255,255,0.06) !important;
	backdrop-filter:     blur(28px) saturate(160%) !important;
	-webkit-backdrop-filter: blur(28px) saturate(160%) !important;
	border:              1px solid rgba(255,255,255,0.12) !important;
	border-radius:       20px !important;
	overflow:            hidden !important;
	margin-bottom:       1.25rem !important;
	box-shadow:          0 8px 32px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.12) !important;
	/* reset any flex from older rules */
	display:             block !important;
}
.sch-fb-student-wrap .sch-fb-pending-card:hover {
	border-color: rgba(34,127,119,0.35) !important;
	box-shadow:   0 12px 40px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.15) !important;
}
.sch-fb-card-accent {
	position:   absolute;
	top: 0; left: 0; right: 0;
	height:     2px;
	background: linear-gradient(90deg, transparent, #227F77, #F1C40F, #227F77, transparent);
}

/* ── Pending info inside card ───────────────────────────── */
.sch-fb-student-wrap .sch-fb-pending-info {
	padding: 1.75rem !important;
}
.sch-fb-pending-top {
	display:         flex;
	align-items:     flex-start;
	justify-content: space-between;
	gap:             1.5rem;
}
.sch-fb-pending-left { flex: 1; }

.sch-fb-pending-badges {
	display:     flex;
	align-items: center;
	gap:         8px;
	margin-bottom: 10px;
}
.sch-fb-badge-label {
	font-size:      10px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	
	font-family:    'Rajdhani', sans-serif;
}
.sch-glass-page:not(.sch-light) .sch-fb-badge-label { color: rgba(255,255,255,0.35); } /* dark-era ink, scoped */
.sch-fb-badge-licence {
	font-size:     12px;
	padding:       2px 10px;
	border-radius: 20px;
	background:    rgba(34,127,119,0.2);
	
	border:        1px solid rgba(34,127,119,0.35);
	font-family:   'Rajdhani', sans-serif;
	font-weight:   500;
}
.sch-glass-page:not(.sch-light) .sch-fb-badge-licence { color: #5dcaa5; } /* dark-era ink, scoped */
.sch-fb-pending-title {
	font-size:      24px !important;
	font-weight:    700 !important;
	
	font-family:    'Rajdhani', sans-serif !important;
	margin-bottom:  6px !important;
	letter-spacing: 0.3px !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-pending-title { color: #fff !important; } /* dark-era ink, scoped */
.sch-fb-pending-focus {
	font-size:     14px;
	
	font-style:    italic;
	margin-bottom: 10px;
}
.sch-glass-page:not(.sch-light) .sch-fb-pending-focus { color: rgba(255,255,255,0.45); } /* dark-era ink, scoped */
.sch-fb-student-wrap .sch-fb-pending-meta {
	display:    flex !important;
	gap:        16px !important;
	flex-wrap:  wrap !important;
	margin-top: 0 !important;
}
.sch-fb-student-wrap .sch-fb-pending-meta span {
	font-size:   13px !important;
	
	font-family: 'Rajdhani', sans-serif !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-student-wrap .sch-fb-pending-meta span { color: rgba(255,255,255,0.4) !important; } /* dark-era ink, scoped */

/* ── Start button ───────────────────────────────────────── */
.sch-fb-student-wrap .sch-fb-start-btn {
	background:    rgba(34,127,119,0.25) !important;
	border:        1px solid rgba(34,127,119,0.5) !important;
	color:         #5dcaa5 !important;
	padding:       12px 22px !important;
	border-radius: 12px !important;
	font-size:     15px !important;
	font-weight:   600 !important;
	cursor:        pointer !important;
	font-family:   'Rajdhani', sans-serif !important;
	white-space:   nowrap !important;
	flex-shrink:   0 !important;
	transition:    all 0.2s !important;
	box-shadow:    0 0 20px rgba(34,127,119,0.15) !important;
}
.sch-fb-student-wrap .sch-fb-start-btn:hover {
	background: rgba(34,127,119,0.45) !important;
	transform:  translateY(-2px) !important;
	box-shadow: 0 6px 24px rgba(34,127,119,0.35) !important;
}
.sch-fb-student-wrap .sch-fb-start-btn:active {
	transform: scale(0.97) !important;
}

/* ── Form wrap ──────────────────────────────────────────── */
.sch-fb-student-wrap .sch-fb-form-wrap {
	padding:    0 1.75rem 1.75rem !important;
	border-top: 1px solid rgba(255,255,255,0.07) !important;
	margin-top: 0 !important;
}

/* Step animation */
.sch-fb-student-wrap .sch-fb-step {
	animation: sch-fade-up 0.35s cubic-bezier(0.4,0,0.2,1) both;
}
.sch-fb-student-wrap .sch-fb-step-counter {
	font-size:      11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	
	margin:         1.25rem 0 0.5rem !important;
	font-family:    'Rajdhani', sans-serif !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-student-wrap .sch-fb-step-counter { color: rgba(255,255,255,0.3) !important; } /* dark-era ink, scoped */
.sch-fb-student-wrap .sch-fb-progress-bar {
	height:        2px !important;
	background:    rgba(255,255,255,0.08) !important;
	border-radius: 1px !important;
	margin-bottom: 1.5rem !important;
	overflow:      hidden !important;
}
.sch-fb-student-wrap .sch-fb-progress-fill {
	height:     100% !important;
	background: linear-gradient(90deg, #227F77, #5dcaa5) !important;
	box-shadow: 0 0 10px rgba(34,127,119,0.6) !important;
	transition: width 0.4s ease !important;
}
.sch-fb-student-wrap .sch-fb-step-question {
	font-size:     22px !important;
	font-weight:   600 !important;
	
	font-family:   'Rajdhani', sans-serif !important;
	line-height:   1.4 !important;
	margin-bottom: 1.25rem !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-student-wrap .sch-fb-step-question { color: #fff !important; } /* dark-era ink, scoped */
.sch-fb-student-wrap .sch-fb-form-wrap textarea {
	background:    rgba(255,255,255,0.06) !important;
	border:        1px solid rgba(255,255,255,0.12) !important;
	border-radius: 12px !important;
	
	font-size:     15px !important;
	padding:       16px !important;
	width:         100% !important;
	min-height:    160px !important;
	font-family:   'Rajdhani', sans-serif !important;
	resize:        vertical !important;
	box-sizing:    border-box !important;
	transition:    border-color 0.2s, box-shadow 0.2s !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-student-wrap .sch-fb-form-wrap textarea { color: #fff !important; } /* dark-era ink, scoped */
.sch-fb-student-wrap .sch-fb-form-wrap textarea:focus {
	outline:    none !important;
	border-color: rgba(34,127,119,0.6) !important;
	box-shadow: 0 0 20px rgba(34,127,119,0.25) !important;
}
.sch-fb-student-wrap .sch-fb-form-wrap textarea::placeholder {
	color: rgba(255,255,255,0.2) !important;
}
.sch-fb-student-wrap .sch-fb-char-count {
	font-size:   12px !important;
	
	text-align:  right !important;
	margin-top:  6px !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-student-wrap .sch-fb-char-count { color: rgba(255,255,255,0.25) !important; } /* dark-era ink, scoped */
.sch-fb-student-wrap .sch-fb-nav-row {
	display:         flex !important;
	justify-content: space-between !important;
	align-items:     center !important;
	margin-top:      1.5rem !important;
	padding-top:     1rem !important;
	border-top:      1px solid rgba(255,255,255,0.06) !important;
}

/* Nav buttons */
.sch-fb-student-wrap .sch-fb-prev-btn,
.sch-fb-student-wrap .sch-fb-next-btn,
.sch-fb-student-wrap .sch-fb-submit-btn,
.sch-fb-student-wrap .sch-fb-do-submit {
	background:    rgba(34,127,119,0.25) !important;
	border:        1px solid rgba(34,127,119,0.45) !important;
	color:         #5dcaa5 !important;
	padding:       10px 22px !important;
	border-radius: 10px !important;
	font-size:     15px !important;
	font-weight:   600 !important;
	cursor:        pointer !important;
	font-family:   'Rajdhani', sans-serif !important;
	transition:    all 0.2s !important;
}
.sch-fb-student-wrap .sch-fb-prev-btn {
	background:   rgba(255,255,255,0.06) !important;
	border-color: rgba(255,255,255,0.12) !important;
	
}
.sch-glass-page:not(.sch-light) .sch-fb-student-wrap .sch-fb-prev-btn { color: rgba(255,255,255,0.5) !important; } /* dark-era ink, scoped */
.sch-fb-student-wrap .sch-fb-next-btn:hover,
.sch-fb-student-wrap .sch-fb-submit-btn:hover,
.sch-fb-student-wrap .sch-fb-do-submit:hover {
	background: rgba(34,127,119,0.4) !important;
	transform:  translateY(-1px) !important;
	box-shadow: 0 4px 16px rgba(34,127,119,0.3) !important;
}

/* ── Success screen ─────────────────────────────────────── */
.sch-fb-student-wrap .sch-fb-success {
	text-align: center !important;
	padding:    2.5rem 1.75rem !important;
}
.sch-fb-student-wrap .sch-fb-success-icon {
	width:           68px !important;
	height:          68px !important;
	border-radius:   50% !important;
	background:      rgba(34,127,119,0.2) !important;
	border:          2px solid rgba(34,127,119,0.5) !important;
	display:         flex !important;
	align-items:     center !important;
	justify-content: center !important;
	font-size:       28px !important;
	
	margin:          0 auto 1.25rem !important;
	box-shadow:      0 0 30px rgba(34,127,119,0.3) !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-student-wrap .sch-fb-success-icon { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-fb-student-wrap .sch-fb-success h3 {
	font-size:     26px !important;
	font-weight:   700 !important;
	
	font-family:   'Rajdhani', sans-serif !important;
	margin-bottom: 6px !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-student-wrap .sch-fb-success h3 { color: #fff !important; } /* dark-era ink, scoped */
.sch-fb-student-wrap .sch-fb-success p {
	
	font-size:     15px !important;
	margin-bottom: 1.5rem !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-student-wrap .sch-fb-success p { color: rgba(255,255,255,0.45) !important; } /* dark-era ink, scoped */

/* PDF download button on student success screen */
.sch-fb-pdf-student-btn {
	background:    rgba(18,43,70,0.5) !important;
	border:        1px solid rgba(96,165,250,0.4) !important;
	
	padding:       10px 24px !important;
	border-radius: 10px !important;
	font-size:     14px !important;
	font-weight:   600 !important;
	cursor:        pointer !important;
	font-family:   'Rajdhani', sans-serif !important;
	transition:    all 0.2s !important;
}
.sch-glass-page:not(.sch-light) /* PDF download button on student success screen */ .sch-fb-pdf-student-btn { color: #93c5fd !important; } /* dark-era ink, scoped */
.sch-fb-pdf-student-btn:hover {
	background: rgba(18,43,70,0.8) !important;
	transform:  translateY(-1px) !important;
	box-shadow: 0 4px 16px rgba(96,165,250,0.2) !important;
}

/* ── Mobile ─────────────────────────────────────────────── */
@media (max-width: 600px) {
	.sch-fb-student-content { padding: 1rem; }
	.sch-fb-pending-top     { flex-direction: column; gap: 1rem; }
	.sch-fb-student-wrap .sch-fb-start-btn { width: 100% !important; text-align: center !important; }
	.sch-fb-student-wrap .sch-fb-pending-info { padding: 1.25rem !important; }
	.sch-fb-pending-title   { font-size: 20px !important; }
}

/* ── BB content wrapper gap removal ────────────────────── */
body.page-template-default .site-content,
body.page .site-content,
body .site-content .bb-grid,
body .site-content > article,
body .site-content > .hentry {
	padding-top: 0 !important;
	margin-top:  0 !important;
}

/* ── Success screen action buttons ─────────────────────── */
.sch-fb-success-actions {
	display:         flex !important;
	flex-direction:  column !important;
	align-items:     center !important;
	gap:             10px !important;
	margin-top:      1.5rem !important;
}
.sch-fb-success-nav-btn {
	display:         inline-flex !important;
	align-items:     center !important;
	gap:             6px !important;
	padding:         10px 24px !important;
	border-radius:   10px !important;
	font-size:       14px !important;
	font-weight:     600 !important;
	font-family:     'Rajdhani', sans-serif !important;
	text-decoration: none !important;
	transition:      all 0.2s !important;
	cursor:          pointer !important;
}
.sch-fb-nav-dashboard {
	background: rgba(34,127,119,0.2) !important;
	border:     1px solid rgba(34,127,119,0.4) !important;
	
}
.sch-glass-page:not(.sch-light) .sch-fb-nav-dashboard { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-fb-nav-feedback {
	background: rgba(255,255,255,0.06) !important;
	border:     1px solid rgba(255,255,255,0.12) !important;
	
}
.sch-glass-page:not(.sch-light) .sch-fb-nav-feedback { color: rgba(255,255,255,0.6) !important; } /* dark-era ink, scoped */
.sch-fb-nav-dashboard:hover {
	background: rgba(34,127,119,0.35) !important;
	transform:  translateY(-1px) !important;
}
.sch-fb-nav-feedback:hover {
	background: rgba(255,255,255,0.1) !important;
	transform:  translateY(-1px) !important;
}

/* ── Student wrap top gap handled by JS position:fixed ──── */

/* ── Meta items with SVG icons ──────────────────────────── */
.sch-fb-meta-item {
	display:     inline-flex !important;
	align-items: center !important;
	gap:         5px !important;
	font-size:   13px !important;
	
	font-family: 'Rajdhani', sans-serif !important;
}
.sch-glass-page:not(.sch-light) /* ── Student wrap top gap handled by JS position:fixed ──── */ /* ── Meta items with SVG icons ──────────────────────────── */ .sch-fb-meta-item { color: rgba(255,255,255,0.4) !important; } /* dark-era ink, scoped */
.sch-fb-meta-item svg { flex-shrink: 0; }

/* ── All-done icon — SVG override ───────────────────────── */
.sch-fb-all-done-icon {
	width:           72px !important;
	height:          72px !important;
	border-radius:   50% !important;
	background:      rgba(34,127,119,0.15) !important;
	border:          1.5px solid rgba(34,127,119,0.4) !important;
	display:         flex !important;
	align-items:     center !important;
	justify-content: center !important;
	font-size:       inherit !important; /* remove old emoji sizing */
	
	margin:          0 auto 1.25rem !important;
}
.sch-glass-page:not(.sch-light) /* ── All-done icon — SVG override ───────────────────────── */ .sch-fb-all-done-icon { color: #5dcaa5 !important; } /* dark-era ink, scoped */

/* ── Success icon — SVG override ────────────────────────── */
.sch-fb-student-wrap .sch-fb-success-icon {
	width:           72px !important;
	height:          72px !important;
	border-radius:   50% !important;
	background:      rgba(34,127,119,0.15) !important;
	border:          1.5px solid rgba(34,127,119,0.4) !important;
	display:         flex !important;
	align-items:     center !important;
	justify-content: center !important;
	margin:          0 auto 1.5rem !important;
	box-shadow:      0 0 30px rgba(34,127,119,0.25) !important;
	font-size:       inherit !important; /* prevent text sizing on SVG container */
}

/* ============================================================
   PREMIUM LIQUID GLASS V3 — Feedback Management
   ============================================================ */

.sch-glass-page .lg-content {
  max-width: none !important;       /* full width — match all widgets */
  width: 100% !important;
  margin: 0 !important;
  padding: 1.5rem 2rem 2rem !important;  /* content gutter (card interiors keep their own padding) */
}

/* Guaranteed bottom breathing room below ALL CIS page content (calendar grid,
   cards, anything). On the wrapper ITSELF so the chrome JS ancestor-neutralizing
   loop (which starts at the wrapper's parent) never strips it; the JS uses
   box-sizing:border-box + min-height (not height), so this padding is never
   clipped and is always scrollable into view. Shared → consistent on every CIS page. */
.sch-glass-page.sch-light { padding-bottom: 3rem !important; }

/* Reusable narrow column for NON-hero content (e.g. Feedback Settings cards).
   Wrap only the cards in <div class="lg-content--narrow"> — never the hero.
   Sits inside .lg-content so it inherits the gutter; below the cap it goes
   fluid automatically (no fixed width on the cards). */
.sch-glass-page .lg-content--narrow {
  max-width: 1100px;   /* adjustable */
  margin-left: 0;      /* left-aligned to the hero's left content edge */
  margin-right: auto;
}

/* Centered variant — opt-in per page alongside --narrow (Settings stays left). */
.sch-glass-page .lg-content--centered {
  margin-left: auto;
  margin-right: auto;
}

/* Hero, stats and layout are direct children of lg-content — all the same full width */
.sch-glass-page .lg-hero,
.sch-glass-page .lg-stats,
.sch-glass-page .lg-layout {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* HERO */
.sch-glass-page .lg-hero {
  position: relative !important;
  background: linear-gradient(135deg, rgba(15,23,42,0.7) 0%, rgba(10,18,40,0.5) 100%) !important;
  backdrop-filter: blur(40px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(40px) saturate(180%) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 20px !important;
  padding: 1.5rem 1.75rem !important;
  margin-bottom: 1.5rem !important;
  overflow: hidden !important;
  box-shadow:
    0 1px 0 0 rgba(255,255,255,0.08) inset,
    0 -1px 0 0 rgba(0,0,0,0.2) inset,
    0 20px 40px -20px rgba(0,0,0,0.5) !important;
}
.sch-glass-page .lg-hero::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent 0%, #227F77 25%, #F1C40F 50%, #227F77 75%, transparent 100%);
}
.sch-glass-page .lg-hero::after {
  content: ''; position: absolute; top: 0; right: 0; width: 300px; height: 100%;
  background: radial-gradient(ellipse at right, rgba(34,127,119,0.15), transparent 70%);
  pointer-events: none;
}
.sch-glass-page .lg-hero-row { display: flex !important; align-items: center !important; gap: 1rem !important; position: relative; z-index: 1; }
.sch-glass-page .lg-hero-icon {
  width: 48px !important; height: 48px !important; border-radius: 14px !important; flex-shrink: 0 !important;
  background: linear-gradient(135deg, rgba(34,127,119,0.3), rgba(34,127,119,0.1)) !important;
  border: 1px solid rgba(34,127,119,0.4) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  box-shadow: 0 0 24px rgba(34,127,119,0.2), inset 0 1px 0 rgba(255,255,255,0.1) !important;
}
.sch-glass-page .lg-hero-title { font-size: 22px !important; font-weight: 700 !important;  letter-spacing: 0.3px !important; line-height: 1.2 !important; }
.sch-glass-page:not(.sch-light) .lg-hero-title { color: #fff !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-hero-sub { font-size: 13px !important;  margin-top: 3px !important; }
.sch-glass-page:not(.sch-light) .lg-hero-sub { color: rgba(255,255,255,0.5) !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-hero-meta { margin-left: auto !important; }
.sch-glass-page .lg-hero-chip {
  padding: 5px 12px !important; border-radius: 20px !important;
  background: rgba(34,127,119,0.15) !important; border: 1px solid rgba(34,127,119,0.3) !important;
  font-size: 11px !important; font-weight: 600 !important; 
  text-transform: uppercase !important; letter-spacing: 0.08em !important;
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
}
.sch-glass-page:not(.sch-light) .lg-hero-chip { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-hero-chip-dot {
  width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #5dcaa5 !important;
  box-shadow: 0 0 8px #5dcaa5 !important;
  animation: lgPulse 2s ease-in-out infinite;
}
@keyframes lgPulse { 0%,100% { opacity: 1 } 50% { opacity: 0.4 } }

/* STATS GRID */
.sch-glass-page .lg-stats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
  margin-bottom: 1.5rem !important;
}
.sch-glass-page .lg-stat {
  position: relative !important;
  background: linear-gradient(135deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 100%) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 16px !important;
  padding: 1rem 1.25rem !important;
  overflow: hidden !important;
  transition: all 0.3s !important;
}
.sch-glass-page .lg-stat:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(34,127,119,0.3) !important;
  box-shadow: 0 12px 32px -12px rgba(34,127,119,0.3) !important;
}
.sch-glass-page .lg-stat::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
}
.sch-glass-page .lg-stat-icon {
  width: 32px !important; height: 32px !important; border-radius: 10px !important;
  background: rgba(34,127,119,0.15) !important; border: 1px solid rgba(34,127,119,0.25) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  margin-bottom: 10px !important;
}
.sch-glass-page .lg-stat-val {
  font-size: 28px !important; font-weight: 700 !important; 
  line-height: 1 !important; font-feature-settings: 'tnum' !important;
}
.sch-glass-page:not(.sch-light) .lg-stat-val { color: #fff !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-stat-val-accent {
  background: linear-gradient(135deg, #5dcaa5 0%, #227F77 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.sch-glass-page .lg-stat-lbl {
  font-size: 11px !important; 
  margin-top: 6px !important; text-transform: uppercase !important; letter-spacing: 0.08em !important;
  font-weight: 600 !important;
}
.sch-glass-page:not(.sch-light) .lg-stat-lbl { color: rgba(255,255,255,0.4) !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-stat-delta {
  font-size: 11px !important;  margin-top: 4px !important;
}
.sch-glass-page:not(.sch-light) .lg-stat-delta { color: #5dcaa5 !important; } /* dark-era ink, scoped */

/* MAIN CARD */
.sch-glass-page .lg-card {
  position: relative !important;
  background: linear-gradient(180deg, rgba(15,23,42,0.6) 0%, rgba(10,18,40,0.4) 100%) !important;
  backdrop-filter: blur(24px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(140%) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 20px !important;
  padding: 1.5rem !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.06) inset, 0 24px 48px -24px rgba(0,0,0,0.4) !important;
}
.sch-glass-page .lg-card-header {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  margin-bottom: 1.25rem !important; padding-bottom: 1rem !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
.sch-glass-page .lg-card-title {
  font-size: 16px !important; font-weight: 600 !important; 
  display: flex !important; align-items: center !important; gap: 10px !important;
}
.sch-glass-page:not(.sch-light) .lg-card-title { color: #fff !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-card-title-dot {
  width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #5dcaa5 !important;
  box-shadow: 0 0 8px #5dcaa5 !important;
}

/* LAYOUT (sidebar + main) — both columns anchored to the same top line */
.sch-glass-page .lg-layout {
  display: grid !important;
  grid-template-columns: 320px 1fr !important;
  gap: 24px !important;
  align-items: start !important;          /* top-anchor both columns (FIX 3) */
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;                  /* kill legacy .sch-fb-layout padding:0 2rem (FIX 2) */
  box-sizing: border-box !important;
}
/* Let the grid tracks size the columns; remove the legacy sticky offset that
   pushed the sidebar down, and the fixed 280px width. (FIX 2 + FIX 3) */
.sch-glass-page .lg-layout .sch-fb-sidebar,
.sch-glass-page .lg-layout .sch-fb-main {
  width: auto !important;
  margin-top: 0 !important;
  padding-top: 1.25rem !important;        /* identical top so content starts on the same Y */
  align-self: start !important;
}
.sch-glass-page .lg-layout .sch-fb-sidebar {
  position: static !important;
  top: auto !important;
}

/* TABLE - NO ugly borders */
.sch-glass-page .lg-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
}
.sch-glass-page .lg-table thead tr {
  background: #EDF1F6 !important;
}
.sch-glass-page .lg-table th {
  font-family: 'Rajdhani', sans-serif !important;
  font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 0.1em !important;
  color: #122B46 !important; padding: 12px 14px !important; text-align: left !important; /* navy */
  font-weight: 600 !important;
  border-bottom: 1px solid rgba(18,43,70,0.12) !important;
  border-top: none !important; border-left: none !important; border-right: none !important;
  background: transparent !important;
}
.sch-glass-page .lg-table td {
  padding: 14px !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  border-top: none !important; border-left: none !important; border-right: none !important;
   font-size: 14px !important; vertical-align: middle !important;
  background: transparent !important;
}
.sch-glass-page:not(.sch-light) .lg-table td { color: rgba(255,255,255,0.8) !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-table tbody tr {
  transition: background 0.2s !important;
}
.sch-glass-page .lg-table tbody tr:hover td {
  background: rgba(255,255,255,0.02) !important;
}

/* Status badges */
.sch-glass-page .lg-status {
  padding: 3px 10px !important; border-radius: 20px !important;
  font-size: 11px !important; font-weight: 600 !important;
  display: inline-flex !important; align-items: center !important; gap: 5px !important;
  text-transform: uppercase !important; letter-spacing: 0.06em !important;
  background: rgba(255,255,255,0.06) !important; 
  border: 1px solid rgba(255,255,255,0.1) !important;
}
/* Status badges */ .sch-glass-page:not(.sch-light) .lg-status { color: rgba(255,255,255,0.6) !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-status-sent {
  background: rgba(34,127,119,0.15) !important; 
  border: 1px solid rgba(34,127,119,0.3) !important;
}
.sch-glass-page:not(.sch-light) .lg-status-sent { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-status-sent::before {
  content: ''; width: 5px; height: 5px; border-radius: 50%; background: #5dcaa5;
  box-shadow: 0 0 6px #5dcaa5;
}

/* Response progress bar */
.sch-glass-page .lg-resp {
  display: flex !important; align-items: center !important; gap: 8px !important;
}
.sch-glass-page .lg-resp-bar {
  width: 60px !important; height: 4px !important; border-radius: 2px !important;
  background: rgba(255,255,255,0.06) !important; overflow: hidden !important;
}
.sch-glass-page .lg-resp-bar-fill {
  height: 100% !important;
  background: linear-gradient(90deg, #227F77, #5dcaa5) !important;
  border-radius: 2px !important;
  box-shadow: 0 0 8px rgba(34,127,119,0.5) !important;
}
.sch-glass-page .lg-resp-text {
  font-size: 13px !important; 
  font-feature-settings: 'tnum' !important; font-weight: 500 !important;
}
.sch-glass-page:not(.sch-light) .lg-resp-text { color: rgba(255,255,255,0.7) !important; } /* dark-era ink, scoped */

/* Actions */
.sch-glass-page .lg-actions {
  display: flex !important; gap: 5px !important;
}
.sch-glass-page .lg-act-btn {
  padding: 5px 10px !important; border-radius: 7px !important;
  font-size: 11px !important; font-weight: 600 !important; cursor: pointer !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: rgba(255,255,255,0.03) !important;
   transition: all 0.2s !important;
  display: inline-flex !important; align-items: center !important; gap: 4px !important;
  font-family: 'Rajdhani', sans-serif !important;
}
.sch-glass-page:not(.sch-light) .lg-act-btn { color: rgba(255,255,255,0.6) !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-act-btn:hover {
  background: rgba(255,255,255,0.06) !important; 
  border-color: rgba(255,255,255,0.15) !important;
}
.sch-glass-page:not(.sch-light) .lg-act-btn:hover { color: #fff !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-act-btn-primary {
  background: rgba(34,127,119,0.15) !important;
  border-color: rgba(34,127,119,0.3) !important; color: #5dcaa5 !important;
}
.sch-glass-page .lg-act-btn-primary:hover {
  background: rgba(34,127,119,0.25) !important; color: #5dcaa5 !important;
}

/* Sidebar groups */
.sch-glass-page .lg-side-header {
  font-size: 10px !important; text-transform: uppercase !important; letter-spacing: 0.12em !important;
   padding: 0 12px 8px !important;
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  font-weight: 600 !important;
}
/* Sidebar groups */ .sch-glass-page:not(.sch-light) .lg-side-header { color: rgba(255,255,255,0.3) !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-side-count {
  font-size: 11px !important; 
  background: rgba(255,255,255,0.05) !important; padding: 2px 7px !important;
  border-radius: 10px !important; border: 1px solid rgba(255,255,255,0.06) !important;
}
.sch-glass-page:not(.sch-light) .lg-side-count { color: rgba(255,255,255,0.5) !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-group {
  position: relative !important; display: flex !important; align-items: center !important;
  gap: 10px !important; padding: 10px 12px !important; border-radius: 12px !important;
  background: rgba(255,255,255,0.03) !important; border: 1px solid rgba(255,255,255,0.05) !important;
  cursor: pointer !important; transition: all 0.2s !important; margin-bottom: 6px !important;
}
.sch-glass-page .lg-group:hover {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.1) !important;
}
.sch-glass-page .lg-group.sch-fb-group-card--active {
  background: linear-gradient(135deg, rgba(34,127,119,0.15), rgba(34,127,119,0.05)) !important;
  border-color: rgba(34,127,119,0.3) !important;
}
.sch-glass-page .lg-group.sch-fb-group-card--active::before {
  content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 3px; height: 60%; background: #5dcaa5;
  border-radius: 0 2px 2px 0; box-shadow: 0 0 8px #5dcaa5;
}
.sch-glass-page .lg-group-avatar {
  width: 32px !important; height: 32px !important; border-radius: 8px !important;
  background: rgba(255,255,255,0.06) !important; flex-shrink: 0 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
   overflow: hidden !important;
  font-size: 13px !important; font-weight: 600 !important;
}
.sch-glass-page:not(.sch-light) .lg-group-avatar { color: rgba(255,255,255,0.5) !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-group.sch-fb-group-card--active .lg-group-avatar {
  background: rgba(34,127,119,0.2) !important; 
}
.sch-glass-page:not(.sch-light) .lg-group.sch-fb-group-card--active .lg-group-avatar { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-group-avatar img {
  width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 8px !important;
}
.sch-glass-page .lg-group-name {
  font-size: 13px !important; font-weight: 500 !important; 
  overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important;
}
.sch-glass-page:not(.sch-light) .lg-group-name { color: rgba(255,255,255,0.85) !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-group-meta {
  font-size: 11px !important;  margin-top: 1px !important;
}
.sch-glass-page:not(.sch-light) .lg-group-meta { color: rgba(255,255,255,0.35) !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-group-info { flex: 1 !important; min-width: 0 !important; }
.sch-glass-page .lg-group-count {
  font-size: 11px !important;  font-weight: 600 !important;
}
.sch-glass-page:not(.sch-light) .lg-group-count { color: rgba(255,255,255,0.3) !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-add-group {
  margin-top: 8px !important; padding: 10px !important; border-radius: 10px !important;
  border: 1px dashed rgba(34,127,119,0.3) !important; background: transparent !important;
   font-size: 12px !important; font-weight: 600 !important;
  cursor: pointer !important; text-align: center !important; transition: all 0.2s !important;
  width: 100% !important; font-family: 'Rajdhani', sans-serif !important;
}
.sch-glass-page:not(.sch-light) .lg-add-group { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-glass-page .lg-add-group:hover {
  background: rgba(34,127,119,0.08) !important;
  border-color: rgba(34,127,119,0.5) !important;
}

/* New Session button */
/* PRIMARY BUTTON — house rule: SOLID teal fill + WHITE ink.
   Was: a translucent teal wash (alpha .2–.3) with #5dcaa5 (light green) ink —
   a dark-theme pairing. Over the light page that renders as green ink on a pale
   green fill, i.e. the invisible "+ New Feedback Session" button. Fixed in the
   BASE rule so the button is legible in every context, not only where the
   .sch-light layer happens to apply. */
.sch-glass-page .lg-btn-primary {
  background: #227F77 !important;
  border: 1px solid #227F77 !important;
  color: #fff !important;
  padding: 8px 16px !important;
  border-radius: 10px !important;
  font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important;
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  transition: all 0.2s !important;
  box-shadow: 0 0 16px rgba(34,127,119,0.15) !important;
  font-family: 'Rajdhani', sans-serif !important;
}
.sch-glass-page .lg-btn-primary:hover {
  background: #1b655f !important;
  border-color: #1b655f !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(34,127,119,0.3) !important;
}

/* Responsive */
@media (max-width: 900px) {
  .sch-glass-page .lg-layout { grid-template-columns: 1fr !important; }
  .sch-glass-page .lg-stats { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ============================================================
   V3 — kill BuddyBoss table borders / boxes (Issue 4)
   ============================================================ */
.sch-glass-page .lg-table,
.sch-glass-page .lg-table tr,
.sch-glass-page .lg-table td,
.sch-glass-page .lg-table th,
.sch-glass-page .lg-table tbody,
.sch-glass-page .lg-table thead {
  border: none !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  box-shadow: none !important;
}
.sch-glass-page .lg-table th {
  border-bottom: 1px solid rgba(18,43,70,0.12) !important;
}
.sch-glass-page .lg-table td {
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
}
.sch-glass-page .sch-fb-session-row td {
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}
/* The response expand row — no borders, no padding */
.sch-glass-page .sch-fb-resp-row td {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}
/* Kill any wrapper box around the table */
.sch-glass-page .lg-table-wrap,
.sch-glass-page .sch-fb-table-wrap,
.sch-glass-page #sch-fb-sessions-table {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ============================================================
   V3 — response panel = dark glass, no white borders (Issue 5)
   ============================================================ */
.sch-glass-page:not(.sch-light) .sch-fb-response-panel {
  background: rgba(10,18,40,0.5) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 14px !important;
  padding: 1rem 1.25rem !important;
  margin: 0 0 0.75rem !important;
  box-shadow: none !important;
}

/* ============================================================
   GLOBAL STUDENT FILTER (searchable) + STUDENT-CENTRIC VIEW
   Reuses existing glass tokens/colors only.
   ============================================================ */
.sch-glass-page .sch-fb-stu-filter-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0.25rem 0 1.25rem !important;
}
.sch-glass-page .sch-fb-stu-filter-label {
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  
  font-weight: 600 !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-filter-label { color: rgba(255,255,255,0.4) !important; } /* dark-era ink, scoped */
.sch-glass-page .sch-fb-stu-filter {
  position: relative !important;
  flex: 0 0 320px !important;
  max-width: 320px !important;
}
.sch-glass-page .sch-fb-stu-filter-input {
  width: 100% !important;
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 10px !important;
  
  font-size: 13px !important;
  font-family: 'Rajdhani', sans-serif !important;
  padding: 8px 30px 8px 12px !important;
  outline: none !important;
  box-sizing: border-box !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-filter-input { color: #fff !important; } /* dark-era ink, scoped */
.sch-glass-page .sch-fb-stu-filter-input:focus {
  border-color: rgba(34,127,119,0.5) !important;
  background: rgba(255,255,255,0.10) !important;
}
.sch-glass-page .sch-fb-stu-filter-clear {
  position: absolute !important;
  right: 8px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  border: none !important;
  
  font-size: 18px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0 4px !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-filter-clear { color: rgba(255,255,255,0.5) !important; } /* dark-era ink, scoped */
.sch-glass-page .sch-fb-stu-filter-clear:hover {  }
.sch-glass-page:not(.sch-light) .sch-fb-stu-filter-clear:hover { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-glass-page .sch-fb-stu-filter-list {
  position: absolute !important;
  z-index: 200 !important;
  top: calc(100% + 4px) !important;
  left: 0 !important; right: 0 !important;
  max-height: 260px !important;
  overflow-y: auto !important;
  background: rgba(10,18,40,0.97) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 40px -12px rgba(0,0,0,0.6) !important;
  padding: 4px !important;
}
.sch-glass-page .sch-fb-stu-opt {
  padding: 8px 12px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  
  cursor: pointer !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-opt { color: rgba(255,255,255,0.85) !important; } /* dark-era ink, scoped */
.sch-glass-page .sch-fb-stu-opt:hover {
  background: rgba(34,127,119,0.18) !important;
  
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-opt:hover { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-glass-page .sch-fb-stu-opt--empty {
  
  cursor: default !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-opt--empty { color: rgba(255,255,255,0.4) !important; } /* dark-era ink, scoped */
.sch-glass-page .sch-fb-stu-opt--empty:hover {
  background: transparent !important;
  
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-opt--empty:hover { color: rgba(255,255,255,0.4) !important; } /* dark-era ink, scoped */

/* Student-centric view */
.sch-glass-page .sch-fb-stu-head {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  padding-bottom: 1rem !important;
  margin-bottom: 1rem !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
.sch-glass-page .sch-fb-stu-name {
  font-size: 18px !important;
  font-weight: 700 !important;
  
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-name { color: #fff !important; } /* dark-era ink, scoped */
.sch-glass-page .sch-fb-stu-progress {
  font-size: 13px !important;
  font-weight: 600 !important;
  
  font-feature-settings: 'tnum' !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-progress { color: #5dcaa5 !important; } /* dark-era ink, scoped */
.sch-glass-page .sch-fb-stu-block {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 12px !important;
  margin-bottom: 10px !important;
  overflow: hidden !important;
}
.sch-glass-page .sch-fb-stu-block-row {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 12px 14px !important;
}
.sch-glass-page .sch-fb-stu-block-name {
  font-weight: 600 !important;
  
  font-size: 14px !important;
  flex: 0 0 220px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-block-name { color: #fff !important; } /* dark-era ink, scoped */
.sch-glass-page .sch-fb-stu-block-meta {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  
  font-size: 13px !important;
  overflow: hidden !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-block-meta { color: rgba(255,255,255,0.6) !important; } /* dark-era ink, scoped */
.sch-glass-page .sch-fb-stu-block-date {
  white-space: nowrap !important;
  
  font-feature-settings: 'tnum' !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-block-date { color: rgba(255,255,255,0.5) !important; } /* dark-era ink, scoped */
.sch-glass-page .sch-fb-stu-block-preview {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-block-preview { color: rgba(255,255,255,0.55) !important; } /* dark-era ink, scoped */
.sch-glass-page .sch-fb-stu-block-actions {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  gap: 5px !important;
  justify-content: flex-end !important;
}
.sch-glass-page .sch-fb-stu-pending {
  padding: 3px 10px !important;
  border-radius: 20px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  background: rgba(241,196,15,0.12) !important;
  
  border: 1px solid rgba(241,196,15,0.3) !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-pending { color: #f1c40f !important; } /* dark-era ink, scoped */
.sch-glass-page .sch-fb-stu-empty {
  padding: 1.5rem !important;
  text-align: center !important;
  
  font-size: 13px !important;
}
.sch-glass-page:not(.sch-light) .sch-fb-stu-empty { color: rgba(255,255,255,0.45) !important; } /* dark-era ink, scoped */
/* Student-view answer panel: collapsed by default, open via .is-open */
.sch-glass-page .sch-fb-stu-answers {
  display: none !important;
  padding: 0 14px 14px !important;
}
.sch-glass-page .sch-fb-stu-answers.is-open {
  display: block !important;
}

/* Empty-state "+" is now an interactive button (opens New Feedback Session) */
.sch-glass-page .sch-fb-empty-new {
  cursor: pointer !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}
.sch-glass-page .sch-fb-empty-new:hover {
  transform: scale(1.06) !important;
  box-shadow: 0 0 24px rgba(34,127,119,0.35) !important;
}

/* Session export mode menu (One PDF / Separate PDFs ZIP) */
.sch-glass-page .lg-actions { position: relative; }
.sch-glass-page .sch-fb-stu-head { position: relative !important; align-items: center !important; }
.sch-glass-page .sch-fb-export-all-btn { flex: 0 0 auto !important; white-space: nowrap !important; }
.sch-glass-page .sch-fb-export-menu {
  position: absolute !important; top: calc(100% + 6px) !important; right: 0 !important; z-index: 60 !important;
  display: flex !important; flex-direction: column !important; gap: 6px !important;
  min-width: 210px !important; padding: 8px !important;
  background: rgba(18,43,70,0.97) !important;
  border: 1px solid rgba(34,127,119,0.45) !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35) !important;
}
.sch-glass-page .sch-fb-export-menu .sch-fb-export-opt {
  width: 100% !important; justify-content: flex-start !important;
}

/* ============================================================
   LIGHT LIQUID GLASS THEME — opt-in via `.sch-light` on the page
   wrapper (alongside `.sch-glass-page`). Higher specificity than the
   shared dark rules (.sch-glass-page.sch-light beats .sch-glass-page),
   so the dark theme is untouched for pages that don't add `.sch-light`.
   Reusable: any glass page can adopt the light look by adding sch-light.
   Visual source of truth: design/feedback-management-light.html
   ============================================================ */
.sch-glass-page.sch-light {
  /* Light token set — reuse on other pages by adding `.sch-light`. */
  --l-bg:#F9F9F9;
  --l-ink:#122B46; --l-ink-soft:#5b6b7e; --l-ink-faint:#8a95a3;
  /* Spec-complete ink scale (STEP 1 token system) — soft/faint kept as legacy aliases. */
  --l-ink-60:rgba(18,43,70,.62); --l-ink-40:rgba(18,43,70,.42); --l-ink-25:rgba(18,43,70,.25);
  --l-teal:#227F77; --l-teal-2:#5dcaa5; --l-teal-dk:#1b655f; --l-yellow:#F1C40F;
  --l-glass:rgba(255,255,255,0.72); --l-glass-solid:#ffffff;
  --l-line:rgba(18,43,70,0.07); --l-line-soft:rgba(18,43,70,0.05);
  /* Shared table header — DESIGN CONTRACT v2 (docs/mockups/fa-portal-shell-v2.html):
     navy band, white 11px uppercase ink, hairline row borders. Change here → every
     CIS frontend table header changes at once (portal, feedback, dashboard). */
  --l-thead-bg:#122B46; --l-thead-ink:rgba(255,255,255,.92); --l-thead-line:rgba(255,255,255,0.16);
  --l-shadow:0 8px 30px rgba(18,43,70,0.06), 0 1px 2px rgba(18,43,70,0.04);
  --l-shadow-sm:0 2px 10px rgba(18,43,70,0.05);
  background: var(--l-bg) !important;
}
/* Repaint the page-level dark fills light. The shared dark theme sets BOTH
   html:has(.sch-glass-page) and body:has(.sch-glass-page) to #0a1628 — overriding
   body alone left the <html> element dark behind/around the fixed wrapper. */
html:has(.sch-glass-page.sch-light),
body:has(.sch-glass-page.sch-light) {
  background: var(--l-bg) !important;
  background-color: var(--l-bg) !important;
}

/* Background: flat light fill + two subtle fixed radial glows; no blobs */
.sch-glass-page.sch-light .sch-fb-bg {
  background:
    radial-gradient(620px 420px at 88% -6%, rgba(93,202,165,0.10), transparent 60%),
    radial-gradient(560px 460px at -4% 108%, rgba(18,43,70,0.05), transparent 60%) !important;
}
.sch-glass-page.sch-light .sch-fb-blob { display: none !important; }

/* Base text on light pages: INHERITANCE, not a universal repaint. The dark-era
   generic element rules in sch-glass.css are scoped :not(.sch-light), so plain
   inheritance from this container ink covers all normal text. Dark-background
   components (dock, navy theads, navy pills, primary buttons) own their ink via
   their OWN class rules — no exclusion chains needed. */
.sch-glass-page.sch-light { color: var(--l-ink); }
.sch-glass-page.sch-light h1,
.sch-glass-page.sch-light h2,
.sch-glass-page.sch-light h3,
.sch-glass-page.sch-light h4,
.sch-glass-page.sch-light strong { color: var(--l-ink) !important; }
/* Bare CONTENT links only (classless anchors in the content column) → teal. Links
   that carry a component class style themselves; no generic a-repaint, no :not chains.
   No !important: with the dark-era a-rule scoped away, normal cascade suffices. */
.sch-glass-page.sch-light .lg-content a:not([class]) { color: var(--l-teal); }
.sch-glass-page.sch-light .lg-content a:not([class]):hover { color: var(--l-teal-dk); }
.sch-glass-page.sch-light label { color: var(--l-ink-soft) !important; }

/* Hero */
.sch-glass-page.sch-light .lg-hero {
  background: var(--l-glass) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
  border: 1px solid var(--l-line) !important;
  box-shadow: var(--l-shadow) !important;
}
.sch-glass-page.sch-light .lg-hero::after {
  background: radial-gradient(ellipse at right, rgba(34,127,119,0.06), transparent 70%) !important;
}
.sch-glass-page.sch-light .lg-hero-icon {
  background: rgba(34,127,119,0.10) !important;
  border: 1px solid rgba(34,127,119,0.20) !important;
  box-shadow: none !important;
}
.sch-glass-page.sch-light .lg-hero-title { color: var(--l-ink) !important; }
.sch-glass-page.sch-light .lg-hero-sub { color: var(--l-ink-soft) !important; }
.sch-glass-page.sch-light .lg-hero-chip {
  background: rgba(34,127,119,0.10) !important;
  border: 1px solid rgba(34,127,119,0.25) !important;
  color: var(--l-teal-dk) !important;
}
.sch-glass-page.sch-light .lg-hero-chip-dot { background: var(--l-teal) !important; box-shadow: 0 0 8px rgba(34,127,119,0.5) !important; }

/* Stat cards */
.sch-glass-page.sch-light .lg-stat {
  background: var(--l-glass) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
  border: 1px solid var(--l-line) !important;
  box-shadow: var(--l-shadow) !important;
}
.sch-glass-page.sch-light .lg-stat:hover {
  border-color: rgba(34,127,119,0.25) !important;
  box-shadow: 0 14px 34px rgba(18,43,70,0.09) !important;
}
/* Top accent bar (teal→teal-2), inset like the mock */
.sch-glass-page.sch-light .lg-stat::before {
  left: 22px !important; right: 22px !important; height: 3px !important;
  border-radius: 0 0 3px 3px !important;
  background: linear-gradient(90deg, var(--l-teal), var(--l-teal-2)) !important;
}
.sch-glass-page.sch-light .lg-stat-icon {
  background: rgba(34,127,119,0.10) !important;
  border: 1px solid rgba(34,127,119,0.18) !important;
}
.sch-glass-page.sch-light .lg-stat-val { color: var(--l-ink) !important; }
/* keep teal→teal-2 gradient text for accent numbers */
.sch-glass-page.sch-light .lg-stat-val-accent {
  background: linear-gradient(120deg, var(--l-teal), var(--l-teal-2)) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.sch-glass-page.sch-light .lg-stat-lbl { color: var(--l-ink-faint) !important; }
.sch-glass-page.sch-light .lg-stat-delta { color: var(--l-teal-dk) !important; }

/* Cards / panels (main, sidebar, panel-inner) */
.sch-glass-page.sch-light .lg-card,
.sch-glass-page.sch-light .sch-fb-sidebar,
.sch-glass-page.sch-light .sch-fb-main,
.sch-glass-page.sch-light .sch-fb-panel-inner {
  background: var(--l-glass) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
  border: 1px solid var(--l-line) !important;
  box-shadow: var(--l-shadow) !important;
}
.sch-glass-page.sch-light .lg-card-header { border-bottom: 1px solid var(--l-line) !important; }
.sch-glass-page.sch-light .lg-card-title { color: var(--l-ink) !important; }
.sch-glass-page.sch-light .lg-card-title-dot { background: var(--l-teal) !important; box-shadow: 0 0 8px rgba(34,127,119,0.5) !important; }

/* Sessions table — dark SCH-navy header, white text (shared token; all CIS
   frontend tables share this rule → no per-page overrides). */
.sch-glass-page.sch-light .lg-table thead tr {
  background: var(--l-thead-bg) !important;
}
.sch-glass-page.sch-light .lg-table th { color: var(--l-thead-ink) !important; border-top: 1px solid var(--l-thead-line) !important; border-bottom: 1px solid var(--l-thead-line) !important; }
/* v2: last column right-aligned in BOTH thead and tbody (fixes the feedback
   sessions table where the Action header misaligned with its cells). */
.sch-glass-page.sch-light .lg-table th:last-child,
.sch-glass-page.sch-light .lg-table td:last-child,
.sch-glass-page.sch-light .sch-table th:last-child,
.sch-glass-page.sch-light .sch-table td:last-child,
.sch-glass-page.sch-light .sch-fb-sessions-table th:last-child,
.sch-glass-page.sch-light .sch-fb-sessions-table td:last-child { text-align: right !important; }
/* Sort indicators / links inside the header inherit the white ink. */
.sch-glass-page.sch-light .lg-table th a,
.sch-glass-page.sch-light .lg-table th .sch-sort,
.sch-glass-page.sch-light .lg-table th [class*="dashicons"] { color: var(--l-thead-ink) !important; }
.sch-glass-page.sch-light .lg-table td { color: var(--l-ink) !important; border-bottom: 1px solid var(--l-line-soft) !important; }
.sch-glass-page.sch-light .lg-table tbody tr:hover td { background: rgba(18,43,70,0.02) !important; }
/* Legacy session-row cells (kept transparent so the card shows through) */
.sch-glass-page.sch-light .sch-fb-session-row td {
  background: transparent !important;
  color: var(--l-ink) !important;
  border-bottom: 1px solid var(--l-line-soft) !important;
}
.sch-glass-page.sch-light .sch-fb-sessions-table th { background: var(--l-thead-bg) !important; color: var(--l-thead-ink) !important; border-bottom: 1px solid var(--l-thead-line) !important; }

/* Status pills */
.sch-glass-page.sch-light .lg-status {
  background: rgba(18,43,70,0.05) !important; color: var(--l-ink-soft) !important;
  border: 1px solid var(--l-line) !important;
}
.sch-glass-page.sch-light .lg-status-sent {
  background: rgba(34,127,119,0.12) !important; color: var(--l-teal-dk) !important;
  border: 1px solid rgba(34,127,119,0.25) !important;
}
.sch-glass-page.sch-light .lg-status-sent::before { background: var(--l-teal) !important; box-shadow: 0 0 6px rgba(34,127,119,0.6) !important; }

/* Response progress + count */
.sch-glass-page.sch-light .lg-resp-bar { background: rgba(18,43,70,0.08) !important; }
.sch-glass-page.sch-light .lg-resp-bar-fill {
  background: linear-gradient(90deg, var(--l-teal), var(--l-teal-2)) !important;
  box-shadow: none !important;
}
.sch-glass-page.sch-light .lg-resp-text {
  color: var(--l-teal-dk) !important;
  background: rgba(93,202,165,0.16) !important;
  border-radius: 10px !important; padding: 4px 9px !important; font-weight: 700 !important;
}

/* Buttons — primary (teal/white), secondary/ghost (white/teal) */
.sch-glass-page.sch-light .lg-btn-primary,
.sch-glass-page.sch-light .lg-act-btn-primary {
  background: var(--l-teal) !important;
  border: 1px solid var(--l-teal) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(34,127,119,0.28) !important;
}
.sch-glass-page.sch-light .lg-btn-primary:hover,
.sch-glass-page.sch-light .lg-act-btn-primary:hover {
  background: var(--l-teal-dk) !important; border-color: var(--l-teal-dk) !important; color: #fff !important;
}
.sch-glass-page.sch-light .lg-act-btn,
.sch-glass-page.sch-light .sch-fb-session-row button {
  background: var(--l-glass-solid) !important;
  border: 1px solid rgba(34,127,119,0.30) !important;
  color: var(--l-teal) !important;
  box-shadow: var(--l-shadow-sm) !important;
}
.sch-glass-page.sch-light .lg-act-btn:hover,
.sch-glass-page.sch-light .sch-fb-session-row button:hover {
  background: rgba(34,127,119,0.06) !important;
  border-color: rgba(34,127,119,0.40) !important;
  color: var(--l-teal-dk) !important;
}
/* Hero cross-link buttons (Feedback Settings ⇄ Management) carry BOTH
   .lg-act-btn and .lg-act-btn-primary; the generic .lg-act-btn rule above
   (later in source, equal specificity) was overriding the primary teal look.
   Re-assert teal fill + WHITE label here — the inline SVG icons use
   stroke="currentColor", so they render white with the label. Scoped to
   .lg-hero-meta so the small table action buttons keep their current style. */
.sch-glass-page.sch-light .lg-hero-meta .lg-act-btn-primary {
  background: var(--l-teal) !important;
  border: 1px solid var(--l-teal) !important;
  color: #fff !important;
}
.sch-glass-page.sch-light .lg-hero-meta .lg-act-btn-primary:hover {
  background: var(--l-teal-dk) !important;
  border-color: var(--l-teal-dk) !important;
  color: #fff !important;
}
.sch-glass-page.sch-light .lg-add-group {
  border: 1px dashed rgba(34,127,119,0.35) !important; color: var(--l-teal) !important; background: transparent !important;
}
.sch-glass-page.sch-light .lg-add-group:hover { background: rgba(34,127,119,0.06) !important; border-color: rgba(34,127,119,0.5) !important; }

/* Groups sidebar */
.sch-glass-page.sch-light .lg-side-header { color: var(--l-ink-faint) !important; }
.sch-glass-page.sch-light .lg-side-count {
  color: var(--l-ink-soft) !important; background: rgba(18,43,70,0.04) !important;
  border: 1px solid var(--l-line) !important;
}
.sch-glass-page.sch-light .lg-group {
  background: transparent !important; border: 1px solid transparent !important;
}
.sch-glass-page.sch-light .lg-group:hover { background: rgba(18,43,70,0.035) !important; border-color: transparent !important; }
.sch-glass-page.sch-light .lg-group.sch-fb-group-card--active {
  background: #ffffff !important; border: 1px solid rgba(18,43,70,0.10) !important;
  border-left: 3px solid #227F77 !important;  /* D1: active = accent, never a fill */
}
/* Reserve a small left gutter on every group so the active dot has its own
   column and never collides with the avatar/icon. */
.sch-glass-page.sch-light .lg-group { padding-left: 26px !important; }
.sch-glass-page.sch-light .lg-group.sch-fb-group-card--active::before {
  background: var(--l-teal) !important; box-shadow: 0 0 0 4px rgba(34,127,119,0.16) !important;
  width: 8px !important; height: 8px !important; border-radius: 50% !important;
  top: 50% !important; left: 9px !important; transform: translateY(-50%) !important;
}
.sch-glass-page.sch-light .lg-group-avatar { background: rgba(18,43,70,0.05) !important; color: var(--l-ink-soft) !important; }
.sch-glass-page.sch-light .lg-group.sch-fb-group-card--active .lg-group-avatar { background: rgba(18,43,70,0.05) !important; color: var(--l-teal-dk) !important; }
.sch-glass-page.sch-light .lg-group-name { color: var(--l-ink) !important; }
.sch-glass-page.sch-light .lg-group.sch-fb-group-card--active .lg-group-name { color: var(--l-teal-dk) !important; }
.sch-glass-page.sch-light .lg-group-meta { color: var(--l-ink-faint) !important; }
.sch-glass-page.sch-light .lg-group-count { color: var(--l-ink-faint) !important; }

/* Response panel + member table */
.sch-glass-page.sch-light .sch-fb-response-panel {
  background: #ffffff !important;  /* D1: the mint wash lived HERE (rgb(225,245,238)) — detail is WHITE */
  border: none !important;         /* FIX 2: the rounded frame is OWNED by .sch-fbr (border+radius+overflow:hidden);
                                      the panel's square top/bottom border painted the "grey corners" behind it */
  padding: 12px 14px !important;   /* breathing room so the rounded card floats clear of the row edges */
}

/* Student filter */
.sch-glass-page.sch-light .sch-fb-stu-filter-label { color: var(--l-ink-faint) !important; }
.sch-glass-page.sch-light .sch-fb-stu-filter-input {
  background: var(--l-glass-solid) !important;
  border: 1px solid var(--l-line) !important;
  color: var(--l-ink) !important;
  box-shadow: var(--l-shadow-sm) !important;
}
.sch-glass-page.sch-light .sch-fb-stu-filter-input:focus {
  border-color: rgba(34,127,119,0.5) !important; background: #fff !important;
}
.sch-glass-page.sch-light .sch-fb-stu-filter-input::placeholder { color: var(--l-ink-faint) !important; }
.sch-glass-page.sch-light .sch-fb-stu-filter-clear { color: var(--l-ink-faint) !important; }
.sch-glass-page.sch-light .sch-fb-stu-filter-clear:hover { color: var(--l-teal) !important; }
.sch-glass-page.sch-light .sch-fb-stu-filter-list {
  background: var(--l-glass-solid) !important;
  border: 1px solid var(--l-line) !important;
  box-shadow: 0 16px 40px -12px rgba(18,43,70,0.18) !important;
}
.sch-glass-page.sch-light .sch-fb-stu-opt { color: var(--l-ink) !important; }
.sch-glass-page.sch-light .sch-fb-stu-opt:hover { background: rgba(34,127,119,0.10) !important; color: var(--l-teal-dk) !important; }
.sch-glass-page.sch-light .sch-fb-stu-opt--empty,
.sch-glass-page.sch-light .sch-fb-stu-opt--empty:hover { color: var(--l-ink-faint) !important; background: transparent !important; }

/* Student-centric view */
.sch-glass-page.sch-light .sch-fb-stu-head { border-bottom: 1px solid var(--l-line) !important; }
.sch-glass-page.sch-light .sch-fb-stu-name { color: var(--l-ink) !important; }
.sch-glass-page.sch-light .sch-fb-stu-progress { color: var(--l-teal-dk) !important; }
.sch-glass-page.sch-light .sch-fb-stu-block {
  background: var(--l-glass-solid) !important;
  border: 1px solid var(--l-line-soft) !important;
  box-shadow: var(--l-shadow-sm) !important;
}
.sch-glass-page.sch-light .sch-fb-stu-block-name { color: var(--l-ink) !important; }
.sch-glass-page.sch-light .sch-fb-stu-block-meta { color: var(--l-ink-soft) !important; }
.sch-glass-page.sch-light .sch-fb-stu-block-date { color: var(--l-ink-faint) !important; }
.sch-glass-page.sch-light .sch-fb-stu-block-preview { color: var(--l-ink-soft) !important; }
.sch-glass-page.sch-light .sch-fb-stu-empty { color: var(--l-ink-faint) !important; }
.sch-glass-page.sch-light .sch-fb-stu-pending {
  background: rgba(241,196,15,0.16) !important; color: #9a7d09 !important;
  border: 1px solid rgba(241,196,15,0.4) !important;
}

/* Export popover */
.sch-glass-page.sch-light .sch-fb-export-menu {
  background: var(--l-glass-solid) !important;
  border: 1px solid var(--l-line) !important;
  box-shadow: 0 10px 30px rgba(18,43,70,0.15) !important;
}

/* Form inputs (New Session panel etc.) */
.sch-glass-page.sch-light input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.sch-glass-page.sch-light textarea,
.sch-glass-page.sch-light select {
  background: var(--l-glass-solid) !important;
  border: 1px solid var(--l-line) !important;
  color: var(--l-ink) !important;
}
.sch-glass-page.sch-light input::placeholder,
.sch-glass-page.sch-light textarea::placeholder { color: var(--l-ink-faint) !important; }
.sch-glass-page.sch-light select option { background: #fff !important; color: var(--l-ink) !important; }

/* Primary action buttons co-occur with .lg-act-btn — keep teal/white over the
   base ghost style regardless of source order (higher specificity). */
.sch-glass-page.sch-light .lg-act-btn.lg-act-btn-primary {
  background: var(--l-teal) !important;
  border: 1px solid var(--l-teal) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(34,127,119,0.28) !important;
}
.sch-glass-page.sch-light .lg-act-btn.lg-act-btn-primary:hover {
  background: var(--l-teal-dk) !important; border-color: var(--l-teal-dk) !important; color: #fff !important;
}
/* PART 3 (root, shared) — a filled-teal action button ALWAYS carries a WHITE label
   (both class variants; the earlier ghost .lg-act-btn rule could otherwise win on the
   base primary). Icons inherit via currentColor, so they render white too. */
.sch-glass-page.sch-light .lg-act-btn-primary,
.sch-glass-page.sch-light .lg-btn-primary,
.sch-glass-page.sch-light button.lg-act-btn-primary { color: #fff !important; }

/* ── wp-admin fragment classes rendered inside the portal by delegated BE handlers
   (CPD import mapping/preview/result, coach-detail actions). admin CSS is NOT loaded
   on the frontend, so bridge these to the light-glass look here. MARKUP/handlers are
   delegated unchanged — only presentation lives in this stylesheet. ── */
.sch-glass-page.sch-light .sch-table { width: 100% !important; border-collapse: separate !important; border-spacing: 0 !important; font-family: 'Rajdhani', sans-serif !important; }
.sch-glass-page.sch-light .sch-table-wrap { border: 1px solid var(--l-line, rgba(18,43,70,0.10)) !important; border-radius: 12px !important; overflow: auto !important; background: var(--l-glass-solid, #fff) !important; }
/* PART 4 (root, shared) — the report result table (and the CPD preview table) use the
   SHARED contract table-header tokens (light band, muted navy), matching the coach list. */
.sch-glass-page.sch-light .sch-table thead th {
  background: var(--l-thead-bg) !important; color: var(--l-thead-ink) !important;
  font-size: 11px !important; text-transform: uppercase !important; letter-spacing: 0.08em !important;
  font-weight: 600 !important; text-align: left !important; padding: 12px 14px !important;
  border: 0 !important; border-top: 1px solid var(--l-thead-line) !important; border-bottom: 1px solid var(--l-thead-line) !important;
}
.sch-glass-page.sch-light .sch-table td { padding: 10px 14px !important; border-bottom: 1px solid var(--l-line-soft, rgba(18,43,70,0.06)) !important; color: var(--l-ink) !important; font-size: 14px !important; }
.sch-glass-page.sch-light .sch-table__primary { font-weight: 700 !important; color: #227F77 !important; }
.sch-glass-page.sch-light .sch-field-hint { color: var(--l-ink-soft, #5b6b7e) !important; font-size: 13px !important; font-family: 'Rajdhani', sans-serif !important; }
.sch-glass-page.sch-light .sch-checkbox-label { display: inline-flex !important; align-items: center !important; gap: 6px !important; color: var(--l-ink, #122B46) !important; font-family: 'Rajdhani', sans-serif !important; font-size: 14px !important; }
.sch-glass-page.sch-light .sch-select,
.sch-glass-page.sch-light .sch-input { font-family: 'Rajdhani', sans-serif !important; font-size: 14px !important; color: var(--l-ink, #122B46) !important;
  background: var(--l-glass-solid, #fff) !important; border: 1px solid var(--l-line, rgba(18,43,70,0.18)) !important; border-radius: 8px !important; padding: 7px 10px !important; }
/* wp-admin buttons in delegated fragments → portal buttons (ghost default; teal fill +
   WHITE label for primary). Broken dashicon glyphs (no admin font on the frontend) hidden. */
.sch-glass-page.sch-light .sch-btn,
.sch-glass-page.sch-light .sch-action-link {
  display: inline-flex !important; align-items: center !important; gap: 5px !important; cursor: pointer !important;
  font-family: 'Rajdhani', sans-serif !important; font-size: 13px !important; font-weight: 600 !important;
  padding: 7px 14px !important; border-radius: 8px !important; border: 1px solid rgba(34,127,119,0.30) !important;
  background: var(--l-glass-solid, #fff) !important; color: var(--l-teal) !important; box-shadow: none !important;
}
.sch-glass-page.sch-light .sch-btn:hover,
.sch-glass-page.sch-light .sch-action-link:hover { background: rgba(34,127,119,0.06) !important; color: var(--l-teal-dk) !important; }
.sch-glass-page.sch-light .sch-btn--primary { background: var(--l-teal) !important; border-color: var(--l-teal) !important; color: #fff !important; }
.sch-glass-page.sch-light .sch-btn--primary:hover { background: var(--l-teal-dk) !important; border-color: var(--l-teal-dk) !important; color: #fff !important; }
.sch-glass-page.sch-light .sch-btn--sm { padding: 5px 12px !important; font-size: 12px !important; }
.sch-glass-page.sch-light .sch-btn .dashicons,
.sch-glass-page.sch-light .sch-action-link .dashicons,
.sch-glass-page.sch-light .sch-acc__chev { display: none !important; }

/* (.lg-content padding normalized to 0 — flush to edges on all CIS pages.) */

/* ============================================================
   LIGHT THEME — Student feedback page + Feedback Settings page.
   Same recipe as Feedback Management: scoped to .sch-glass-page.sch-light,
   reusing the --l-* tokens. Base ink comes from container inheritance
   already repaints text/inline-white to navy ink, so the rules below
   handle backgrounds, borders, accents, inputs and buttons.
   Page-level bg, html/body and blob layers are already handled above.
   ============================================================ */

/* ── Shared hero (student + settings use .sch-fb-hero) ─────── */
.sch-glass-page.sch-light .sch-fb-hero {
  background: var(--l-glass) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
  border: 1px solid var(--l-line) !important;
  box-shadow: var(--l-shadow) !important;
}
.sch-glass-page.sch-light .sch-fb-hero-icon {
  background: rgba(34,127,119,0.10) !important;
  border: 1px solid rgba(34,127,119,0.20) !important;
}
.sch-glass-page.sch-light .sch-fb-hero-title { color: var(--l-ink) !important; }
.sch-glass-page.sch-light .sch-fb-hero-sub { color: var(--l-ink-soft) !important; }

/* Bottom breathing room on the fixed scroll containers (like .lg-content) */
.sch-glass-page.sch-light .sch-fb-student-content,
.sch-glass-page.sch-light .sch-glass-page-content { padding-bottom: 76px !important; }

/* ============================================================
   STUDENT FEEDBACK PAGE
   ============================================================ */

/* "All caught up" card */
.sch-glass-page.sch-light .sch-fb-all-done {
  background: var(--l-glass) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  border: 1px solid var(--l-line) !important;
  box-shadow: var(--l-shadow) !important;
}
.sch-glass-page.sch-light .sch-fb-all-done-icon {
  background: rgba(34,127,119,0.12) !important;
  border: 1.5px solid rgba(34,127,119,0.35) !important;
  color: var(--l-teal-dk) !important;
}
.sch-glass-page.sch-light .sch-fb-all-done-sub { color: var(--l-ink-faint) !important; }

/* Pending block cards */
.sch-glass-page.sch-light .sch-fb-pending-card,
.sch-glass-page.sch-light .sch-glass.sch-fb-pending-card {
  background: var(--l-glass) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
  border: 1px solid var(--l-line) !important;
  box-shadow: var(--l-shadow) !important;
}
.sch-glass-page.sch-light .sch-fb-pending-card:hover {
  border-color: rgba(34,127,119,0.30) !important;
  box-shadow: 0 14px 34px rgba(18,43,70,0.10) !important;
}
.sch-glass-page.sch-light .sch-fb-badge-label { color: var(--l-ink-faint) !important; }
.sch-glass-page.sch-light .sch-fb-badge-licence {
  background: rgba(34,127,119,0.12) !important;
  color: var(--l-teal-dk) !important;
  border: 1px solid rgba(34,127,119,0.30) !important;
}
.sch-glass-page.sch-light .sch-fb-pending-focus { color: var(--l-ink-soft) !important; }
.sch-glass-page.sch-light .sch-fb-pending-meta span,
.sch-glass-page.sch-light .sch-fb-meta-item { color: var(--l-ink-faint) !important; }
/* Meta SVG icons ship with hardcoded white strokes (invisible on the light
   card) — recolor their stroke/fill presentation attributes to teal. */
.sch-glass-page.sch-light .sch-fb-meta-item svg path,
.sch-glass-page.sch-light .sch-fb-meta-item svg rect,
.sch-glass-page.sch-light .sch-fb-meta-item svg circle { stroke: #227F77 !important; }
.sch-glass-page.sch-light .sch-fb-meta-item svg circle[fill]:not([fill="none"]) { fill: #227F77 !important; }

/* Start button = primary teal/white */
.sch-glass-page.sch-light .sch-fb-start-btn,
.sch-glass-page.sch-light .sch-fb-student-wrap .sch-fb-start-btn {
  background: var(--l-teal) !important;
  border: 1px solid var(--l-teal) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(34,127,119,0.28) !important;
  /* sit at the bottom of the flex row, level with the meta row (was top-right) */
  align-self: flex-end !important;
}
.sch-glass-page.sch-light .sch-fb-start-btn:hover,
.sch-glass-page.sch-light .sch-fb-student-wrap .sch-fb-start-btn:hover {
  background: var(--l-teal-dk) !important; border-color: var(--l-teal-dk) !important; color: #fff !important;
}

/* Multi-step form + success panel — kill the dark navy fill/border/shadow so
   the form sits directly on the outer white card (only a subtle top divider). */
.sch-glass-page.sch-light .sch-fb-form-wrap,
.sch-glass-page.sch-light .sch-fb-student-wrap .sch-fb-form-wrap {
  background: transparent !important;
  border: none !important;
  border-top: 1px solid var(--l-line) !important;
  box-shadow: none !important;
}
.sch-glass-page.sch-light .sch-fb-step-counter,
.sch-glass-page.sch-light .sch-fb-step-label,
.sch-glass-page.sch-light .sch-fb-char-count { color: var(--l-ink-faint) !important; }
.sch-glass-page.sch-light .sch-fb-step-question,
.sch-glass-page.sch-light .sch-fb-step-q p,
.sch-glass-page.sch-light .sch-fb-q-text { color: var(--l-ink) !important; }
.sch-glass-page.sch-light .sch-fb-progress-bar-wrap,
.sch-glass-page.sch-light .sch-fb-student-wrap .sch-fb-progress-bar { background: rgba(18,43,70,0.08) !important; }
.sch-glass-page.sch-light .sch-fb-progress-bar,
.sch-glass-page.sch-light .sch-fb-student-wrap .sch-fb-progress-fill {
  background: linear-gradient(90deg, var(--l-teal), var(--l-teal-2)) !important;
  box-shadow: none !important;
}
.sch-glass-page.sch-light .sch-fb-nav-row,
.sch-glass-page.sch-light .sch-fb-form-nav { border-top: 1px solid var(--l-line) !important; }

/* Form textareas / inputs */
.sch-glass-page.sch-light .sch-fb-form-wrap textarea,
.sch-glass-page.sch-light .sch-fb-step textarea,
.sch-glass-page.sch-light .sch-fb-textarea,
.sch-glass-page.sch-light .sch-fb-step-textarea {
  background: var(--l-glass-solid) !important;
  border: 1px solid var(--l-line) !important;
  color: var(--l-ink) !important;
}
.sch-glass-page.sch-light .sch-fb-form-wrap textarea::placeholder,
.sch-glass-page.sch-light .sch-fb-step textarea::placeholder,
.sch-glass-page.sch-light .sch-fb-textarea::placeholder,
.sch-glass-page.sch-light .sch-fb-step-textarea::placeholder { color: var(--l-ink-faint) !important; }
.sch-glass-page.sch-light .sch-fb-form-wrap textarea:focus,
.sch-glass-page.sch-light .sch-fb-step textarea:focus,
.sch-glass-page.sch-light .sch-fb-textarea:focus,
.sch-glass-page.sch-light .sch-fb-step-textarea:focus {
  border-color: rgba(34,127,119,0.55) !important;
  box-shadow: 0 0 0 3px rgba(34,127,119,0.12) !important;
}

/* Nav buttons: next/submit = primary, prev = ghost */
.sch-glass-page.sch-light .sch-fb-next-btn,
.sch-glass-page.sch-light .sch-fb-submit-btn,
.sch-glass-page.sch-light .sch-fb-do-submit {
  background: var(--l-teal) !important;
  border: 1px solid var(--l-teal) !important;
  color: #fff !important;
}
.sch-glass-page.sch-light .sch-fb-next-btn:hover,
.sch-glass-page.sch-light .sch-fb-submit-btn:hover,
.sch-glass-page.sch-light .sch-fb-do-submit:hover {
  background: var(--l-teal-dk) !important; border-color: var(--l-teal-dk) !important; color: #fff !important;
}
.sch-glass-page.sch-light .sch-fb-prev-btn {
  background: var(--l-glass-solid) !important;
  border: 1px solid var(--l-line) !important;
  color: var(--l-ink-soft) !important;
}
/* The actual step nav buttons emitted by the JS carry the -step / do-submit
   classes (with .sch-btn--teal / .sch-btn--outline). Override those so Next /
   Submit are primary teal/white and Back is a white + teal-border ghost. */
.sch-glass-page.sch-light .sch-fb-next-step,
.sch-glass-page.sch-light .sch-fb-do-submit {
  background: var(--l-teal) !important;
  border: 1px solid var(--l-teal) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(34,127,119,0.28) !important;
}
.sch-glass-page.sch-light .sch-fb-next-step:hover,
.sch-glass-page.sch-light .sch-fb-do-submit:hover {
  background: var(--l-teal-dk) !important; border-color: var(--l-teal-dk) !important; color: #fff !important;
}
.sch-glass-page.sch-light .sch-fb-prev-step {
  background: var(--l-glass-solid) !important;
  border: 1px solid rgba(34,127,119,0.30) !important;
  color: var(--l-teal) !important;
}
.sch-glass-page.sch-light .sch-fb-prev-step:hover {
  background: rgba(34,127,119,0.06) !important; color: var(--l-teal-dk) !important;
}

/* Success screen */
.sch-glass-page.sch-light .sch-fb-success-icon,
.sch-glass-page.sch-light .sch-fb-student-wrap .sch-fb-success-icon {
  background: rgba(34,127,119,0.12) !important;
  border: 1.5px solid rgba(34,127,119,0.35) !important;
  color: var(--l-teal-dk) !important;
  box-shadow: none !important;
}
.sch-glass-page.sch-light .sch-fb-success p { color: var(--l-ink-soft) !important; }
.sch-glass-page.sch-light .sch-fb-nav-dashboard {
  background: rgba(34,127,119,0.12) !important;
  border: 1px solid rgba(34,127,119,0.30) !important;
  color: var(--l-teal-dk) !important;
}
.sch-glass-page.sch-light .sch-fb-nav-dashboard:hover { background: rgba(34,127,119,0.20) !important; }
.sch-glass-page.sch-light .sch-fb-nav-feedback,
.sch-glass-page.sch-light .sch-fb-pdf-student-btn {
  background: var(--l-glass-solid) !important;
  border: 1px solid var(--l-line) !important;
  color: var(--l-ink-soft) !important;
}
.sch-glass-page.sch-light .sch-fb-nav-feedback:hover,
.sch-glass-page.sch-light .sch-fb-pdf-student-btn:hover { background: rgba(18,43,70,0.04) !important; }

/* ============================================================
   FEEDBACK SETTINGS PAGE
   ============================================================ */

/* Frosted cards (.sch-glass used for the form + table panels) */
.sch-glass-page.sch-light .sch-glass {
  background: var(--l-glass) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
  border: 1px solid var(--l-line) !important;
  box-shadow: var(--l-shadow) !important;
  color: var(--l-ink) !important;
}
.sch-glass-page.sch-light .sch-glass h1,
.sch-glass-page.sch-light .sch-glass h2,
.sch-glass-page.sch-light .sch-glass h3,
.sch-glass-page.sch-light .sch-glass h4 { color: var(--l-ink) !important; }

/* Inputs */
.sch-glass-page.sch-light .sch-input-glass {
  background: var(--l-glass-solid) !important;
  border: 1px solid var(--l-line) !important;
  color: var(--l-ink) !important;
}
.sch-glass-page.sch-light .sch-input-glass::placeholder { color: var(--l-ink-faint) !important; }
.sch-glass-page.sch-light .sch-input-glass:focus {
  border-color: rgba(34,127,119,0.55) !important;
  box-shadow: 0 0 0 3px rgba(34,127,119,0.12) !important;
}

/* Glass buttons = ghost; Save Set = primary */
.sch-glass-page.sch-light .sch-btn-glass {
  background: var(--l-glass-solid) !important;
  border: 1px solid rgba(34,127,119,0.30) !important;
  color: var(--l-teal) !important;
  box-shadow: var(--l-shadow-sm) !important;
}
.sch-glass-page.sch-light .sch-btn-glass:hover {
  background: rgba(34,127,119,0.06) !important; color: var(--l-teal-dk) !important;
  box-shadow: var(--l-shadow-sm) !important;
}
.sch-glass-page.sch-light #sch-fe-save-qset-btn {
  background: var(--l-teal) !important;
  border: 1px solid var(--l-teal) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(34,127,119,0.28) !important;
}
.sch-glass-page.sch-light #sch-fe-save-qset-btn:hover { background: var(--l-teal-dk) !important; color: #fff !important; }

/* Existing-sets table — repaint inline dark borders + the edit pill */
.sch-glass-page.sch-light .sch-glass thead tr { background: var(--l-thead-bg) !important; border-bottom: 1px solid var(--l-thead-line) !important; }
.sch-glass-page.sch-light .sch-glass thead th { color: var(--l-thead-ink) !important; }
.sch-glass-page.sch-light .sch-fe-qset-row { border-bottom: 1px solid var(--l-line-soft) !important; }
.sch-glass-page.sch-light .sch-fe-edit-qset {
  background: rgba(34,127,119,0.10) !important;
  border: 1px solid rgba(34,127,119,0.30) !important;
  color: var(--l-teal-dk) !important;
}

/* ── Coach Education logo (student feedback flow) ──────────── */
/* Shown on each pending block card AND as a persistent form header that
   stays across every step + the success screen. Bare <img>, light theme. */
.sch-glass-page.sch-light .sch-fb-block-logo {
  height: 34px !important;
  width: auto !important;
  max-width: 200px !important;
  object-fit: contain !important;
  display: block !important;
}
.sch-glass-page.sch-light .sch-fb-pending-left .sch-fb-block-logo {
  margin: 0 0 14px !important;   /* top-left on the card, above the badges */
}
.sch-glass-page.sch-light .sch-fb-form-header {
  padding: 1.5rem 1.75rem 0 !important;
  text-align: center !important;
}
.sch-glass-page.sch-light .sch-fb-form-header .sch-fb-block-logo {
  margin: 0 auto !important;     /* centered in the persistent form header */
}

/* ── "My submitted feedbacks" section (student page) ───────────────────────
   Full content width below the (width-capped) pending area. Reuses the
   Feedback Management table styling (.lg-card / .lg-table / .lg-act-btn). */
.sch-glass-page.sch-light .sch-fb-submitted {
  position: relative;
  padding: 0 2rem 2.5rem;
  margin-top: 0.5rem;
}
.sch-glass-page.sch-light .sch-fb-submitted-head {
  position: relative;            /* anchor for the export popover */
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.9rem;
}
.sch-glass-page.sch-light .sch-fb-submitted-head .lg-card-title { font-size: 16px; }
.sch-glass-page.sch-light .sch-fb-submitted-count {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  color: var(--l-teal-dk);
  background: rgba(34,127,119,0.12);
}
.sch-glass-page.sch-light .sch-fb-submitted-empty {
  padding: 16px 18px;
  border: 1px dashed var(--l-line);
  border-radius: 12px;
  color: var(--l-ink-faint);
  font-size: 13px;
}
/* Column alignment — header row AND every data row share ONE identical grid
   template (same technique as the Feedback Management response table) so the
   columns line up. Overrides the global `.sch-fb-member-row { display:flex }`
   that otherwise bunched the data cells to the left. */
.sch-glass-page.sch-light .sch-fb-submitted .lg-table thead tr,
.sch-glass-page.sch-light .sch-fb-submitted .lg-table tr.sch-fb-member-row {
  display: grid !important;
  grid-template-columns: minmax(200px, 2.2fr) minmax(140px, 1.2fr) 150px auto;
  align-items: center !important;
  column-gap: 0 !important;
  width: 100% !important;
}
/* Cells become direct grid children */
.sch-glass-page.sch-light .sch-fb-submitted .lg-table thead th,
.sch-glass-page.sch-light .sch-fb-submitted .lg-table tr.sch-fb-member-row td {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
/* Actions column (4th) hugs the right edge in header and rows */
.sch-glass-page.sch-light .sch-fb-submitted .lg-table thead th:nth-child(4),
.sch-glass-page.sch-light .sch-fb-submitted .lg-table tr.sch-fb-member-row td:nth-child(4) {
  text-align: right !important;
  justify-self: end !important;
}
.sch-glass-page.sch-light .sch-fb-submitted .lg-table tr.sch-fb-member-row td:nth-child(4) .lg-actions {
  justify-content: flex-end !important;
}

/* Expandable Q&A rows — full-width block under the data row (collapsed by default) */
.sch-glass-page.sch-light .sch-fb-submitted .sch-fb-answers-tr { display: none; }
.sch-glass-page.sch-light .sch-fb-submitted .sch-fb-answers-tr.is-open { display: block !important; width: 100% !important; }
.sch-glass-page.sch-light .sch-fb-submitted .sch-fb-answers-tr.is-open td { display: block !important; width: 100% !important; }
/* Light surface — override the dark .sch-fb-answers-detail { background:rgba(0,0,0,.2) } */
.sch-glass-page.sch-light .sch-fb-submitted .sch-fb-answers-detail {
  background: #FAFBFB !important;   /* inset surface — NO teal tints in the detail (inventory decision) */
  border: 1px solid rgba(18,43,70,0.06) !important;
  border-radius: 10px !important;
  padding: 4px 16px !important;
}
.sch-glass-page.sch-light .sch-fb-submitted .sch-fb-answer-block {
  background: transparent !important;             /* no grey block fill */
  border: none !important;
  border-top: 1px solid var(--l-line-soft) !important;
  border-radius: 0 !important;
  margin-top: 0 !important;
  padding: 10px 0 !important;
}
.sch-glass-page.sch-light .sch-fb-submitted .sch-fb-answer-block:first-child { border-top: none !important; }
.sch-glass-page.sch-light .sch-fb-submitted .sch-fb-answer-q {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--l-teal-dk) !important;             /* question labels teal-dark */
  margin-bottom: 4px;
}
.sch-glass-page.sch-light .sch-fb-submitted .sch-fb-answer-a {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--l-ink);
}


/* ── Coach status / licence PILLS — frontend twins of the wp-admin .sch-badge
      classes (admin CSS is not loaded here). Values are COPIED from admin
      sch-admin.css (.sch-badge / --active / --expired / --navy) so a status /
      licence reads pixel-identical everywhere:
        base      font-size 11px · weight 600 · padding 3px 9px · radius 20px
                  · uppercase · letter-spacing 0.4px          (admin .sch-badge)
        active  → #e8f5f4 bg / #025B54 text / #227F77 border  (admin --active)
        expired → #fee2e2 bg / #991b1b text / #ef4444 border  (admin --expired)
        none    → #122B46 bg / #ffffff text / #122B46 border  (admin --navy)
      Keyed by status value (shared classes, not inline colours). Wrapping ok.
      `color` uses !important: the shared glass.css sets
      `.sch-glass-page table td { }
.sch-glass-page:not(.sch-light) /* ── Coach status / licence PILLS — frontend twins of the wp-admin .sch-badge classes (admin CSS is not loaded here). Values are COPIED from admin sch-admin.css (.sch-badge / --active / --expired / --navy) so a status / licence reads pixel-identical everywhere: base font-size 11px · weight 600 · padding 3px 9px · radius 20px · uppercase · letter-spacing 0.4px (admin .sch-badge) active → #e8f5f4 bg / #025B54 text / #227F77 border (admin --active) expired → #fee2e2 bg / #991b1b text / #ef4444 border (admin --expired) none → #122B46 bg / #ffffff text / #122B46 border (admin --navy) Keyed by status value (shared classes, not inline colours). Wrapping ok. `color` uses !important: the shared glass.css sets `.sch-glass-page:not(.sch-light) table td { color: rgba(255,255,255,.80) !important; } /* dark-era ink, scoped */`, which
      otherwise washes the pill label out (the invisible NONE label bug) — this is
      the minimal override that beats that pre-existing !important cell rule. */
.sch-glass-page.sch-light .sch-badge {
  display: inline-block; padding: 3px 9px; margin: 0 3px 3px 0;
  border-radius: 20px; font-family: 'Rajdhani', sans-serif; font-size: 11px;
  font-weight: 600; text-transform: uppercase; letter-spacing: 0.4px;
  line-height: 1.5; white-space: nowrap;
}
.sch-glass-page.sch-light .sch-badge--active   { background: #e8f5f4 !important; color: #025B54 !important; border: 1px solid #227F77 !important; }
.sch-glass-page.sch-light .sch-badge--expired  { background: #fee2e2 !important; color: #991b1b !important; border: 1px solid #ef4444 !important; }
.sch-glass-page.sch-light .sch-badge--navy     { background: #122B46 !important; color: #ffffff !important; border: 1px solid #122B46 !important; }
/* Twins of admin .sch-badge--role (soft navy chip: record kind, tags) and
   .sch-badge--note (subtle outline marker: e.g. "First acquired"). */
.sch-glass-page.sch-light .sch-badge--role     { background: rgba(18,43,70,0.08) !important; color: #122B46 !important; border: 1px solid rgba(18,43,70,0.18) !important; }
.sch-glass-page.sch-light .sch-badge--note     { background: transparent !important; color: #122B46 !important; border: 1px solid rgba(18,43,70,0.25) !important; font-size: 10px !important; padding: 2px 7px !important; opacity: .7; }


/* ── SHELL CONTROLS — theme-bleed neutralizer (v2.1) ─────────────────────────
   The site theme styles bare <button>/<a> elements (boxes, blue links). No CIS
   rule paints these; this layer (whose job is neutralizing the theme) re-declares
   the contract design for the shell's dock, sub-nav and .sch-sbtn controls. */
/* Sub-nav: text + 3px teal underline ONLY — never a box; active text NAVY (v2.1). */
.sch-glass-page.sch-light .sch-shell .sch-sub {
  background: transparent !important; border: 0 !important;
  border-bottom: 3px solid transparent !important; border-radius: 0 !important;
  box-shadow: none !important; padding: 2px 2px 14px !important;
  color: var(--l-ink-soft) !important;
}
.sch-glass-page.sch-light .sch-shell .sch-sub:hover { color: var(--l-ink) !important; }
.sch-glass-page.sch-light .sch-shell .sch-sub[aria-selected="true"] { color: var(--l-ink) !important; border-bottom-color: var(--l-teal) !important; }
/* Dock tabs on the navy band: inactive white .66, hover white veil; active WHITE tab,
   navy text + navy icon (v2.1 — no teal anywhere on the active tab). */
.sch-glass-page.sch-light .sch-shell .sch-mod {
  background: transparent !important; border: 0 !important; border-radius: 10px 10px 0 0 !important;
  box-shadow: none !important; color: rgba(255,255,255,.66) !important;
}
.sch-glass-page.sch-light .sch-shell .sch-mod:hover { background: rgba(255,255,255,.08) !important; color: #fff !important; }
.sch-glass-page.sch-light .sch-shell .sch-mod[aria-selected="true"],
.sch-glass-page.sch-light .sch-shell .sch-mod[aria-selected="true"] svg { background: transparent; color: var(--l-ink) !important; }
.sch-glass-page.sch-light .sch-shell .sch-mod[aria-selected="true"] { background: #ffffff !important; }
/* Inactive tab icons inherit the white .66 from the button (stroke="currentColor"). */
/* Portal buttons/links (.sch-sbtn variants) — kill the theme button box / link blue,
   re-declaring each variant's contract colours. */
.sch-glass-page.sch-light .sch-shell a.sch-sbtn,
.sch-glass-page.sch-light .sch-shell button.sch-sbtn {
  background: transparent; border: 1px solid transparent; box-shadow: none;
  text-decoration: none !important; border-radius: 9px;
}
.sch-glass-page.sch-light .sch-shell .sch-sbtn-primary { background: var(--l-teal) !important; border-color: var(--l-teal) !important; color: #fff !important; }
.sch-glass-page.sch-light .sch-shell .sch-sbtn-primary:hover { background: var(--l-teal-dk) !important; border-color: var(--l-teal-dk) !important; color: #fff !important; }
.sch-glass-page.sch-light .sch-shell .sch-sbtn-ghost { background: #fff !important; border-color: rgba(18,43,70,.25) !important; color: var(--l-ink) !important; }
.sch-glass-page.sch-light .sch-shell .sch-sbtn-ghost:hover { border-color: var(--l-teal) !important; color: var(--l-teal) !important; }
.sch-glass-page.sch-light .sch-shell .sch-sbtn-quiet { background: transparent !important; border-color: transparent !important; color: var(--l-ink-soft) !important; }
.sch-glass-page.sch-light .sch-shell .sch-sbtn-quiet:hover { color: var(--l-teal) !important; }
.sch-glass-page.sch-light .sch-shell .sch-sbtn-danger { color: #9b2d22 !important; }
.sch-glass-page.sch-light .sch-shell .sch-sbtn-danger:hover { color: #7f1d1d !important; }
/* Disclosure toggles: portal ink, never theme link blue. */
.sch-glass-page.sch-light .sch-shell details > summary { color: var(--l-ink) !important; }
.sch-glass-page.sch-light .sch-shell details > summary:hover { color: var(--l-teal) !important; }
/* Expanded response panel may exceed the portal sheet width — scroll, don't clip. */
.sch-glass-page.sch-light .sch-fb-response-panel { overflow-x: auto; }

/* ── STEP 2: controls inside NAVY theads are light-on-dark ── */
.sch-glass-page.sch-light .lg-table thead input[type="checkbox"],
.sch-glass-page.sch-light .sch-shell table thead input[type="checkbox"] { accent-color: #5dcaa5; }
.sch-glass-page.sch-light .lg-table thead th button,
.sch-glass-page.sch-light .lg-table thead th a { color: var(--l-thead-ink) !important; background: transparent; border: 0; }
/* ── STEP 5: portal checkbox accent (native checkboxes, e.g. "Generate IDs…") ── */
.sch-glass-page.sch-light .sch-shell input[type="checkbox"] { accent-color: #227F77; }
/* ── STEP 3: pill/badge ink guarantees (no pill relies on inheritance) ── */
.sch-glass-page.sch-light .sch-badge--count { background: #122B46 !important; color: #fff !important; }
.sch-glass-page.sch-light .sch-badge--deficit { background: #fee2e2 !important; color: #991b1b !important; border: 1px solid #ef4444 !important; }
.sch-glass-page.sch-light .sch-badge--inactive,
.sch-glass-page.sch-light .sch-badge--paused,
.sch-glass-page.sch-light .sch-badge--no { background: rgba(18,43,70,0.06) !important; color: var(--l-ink-soft) !important; border: 1px solid rgba(18,43,70,0.18) !important; }
.sch-glass-page.sch-light .sch-badge--pending,
.sch-glass-page.sch-light [class*="badge--pending"] { background: rgba(241,196,15,0.18) !important; color: #122B46 !important; border: 1px solid rgba(241,196,15,0.5) !important; }
.sch-glass-page.sch-light .sch-badge-success,
.sch-glass-page.sch-light [class*="badge--success"] { background: #e8f5f4 !important; color: #025B54 !important; border: 1px solid #227F77 !important; }
/* ── STEP 4: roles table header labels may wrap two lines ── */
.sch-glass-page.sch-light #sch-fap-roles .lg-table th { white-space: normal !important; line-height: 1.25 !important; }

/* ── .sch-sbtn on light pages OUTSIDE the portal shell (standalone feedback pages
   render the same tables) — same contract styles as the shell-scoped set. ── */
.sch-glass-page.sch-light .sch-sbtn {
  font-family: 'Rajdhani', system-ui, sans-serif; font-size: 14px; font-weight: 600;
  border-radius: 9px; padding: 10px 18px; cursor: pointer; display: inline-flex;
  align-items: center; gap: 8px; border: 1px solid transparent; text-decoration: none !important;
  background: transparent; box-shadow: none;
}
.sch-glass-page.sch-light .sch-sbtn-xs { padding: 4px 10px; font-size: 12px; border-radius: 7px; }
.sch-glass-page.sch-light .sch-sbtn-primary { background: var(--l-teal) !important; border-color: var(--l-teal) !important; color: #fff !important; }
.sch-glass-page.sch-light .sch-sbtn-primary:hover { background: var(--l-teal-dk) !important; border-color: var(--l-teal-dk) !important; color: #fff !important; }
.sch-glass-page.sch-light .sch-sbtn-ghost { background: #fff !important; border-color: rgba(18,43,70,.25) !important; color: var(--l-ink) !important; }
.sch-glass-page.sch-light .sch-sbtn-ghost:hover { border-color: var(--l-teal) !important; color: var(--l-teal) !important; }
.sch-glass-page.sch-light .sch-sbtn-quiet { background: transparent !important; border-color: transparent !important; color: var(--l-ink-soft) !important; }
.sch-glass-page.sch-light .sch-sbtn-quiet:hover { color: var(--l-teal) !important; }

/* ════════════════════════════════════════════════════════════════════════
   STUDENT-RESULTS GRID — clean rebuild (.sch-fbr). Fresh namespace: no legacy
   selector can reach it (old family deleted). ONE container grid; header and
   rows are display:contents groups → a single template BY CONSTRUCTION.
   No !important — nothing legacy targets these classes.
   ════════════════════════════════════════════════════════════════════════ */
.sch-glass-page .sch-fbr {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 130px 160px minmax(120px, 220px) max-content; /* FIX 1: student takes the free width; preview capped — actions hug the content */
  gap: 0; /* contiguity assurance. NOTE: the channel's ACTUAL root cause was legacy
             .sch-fb-preview{max-width:200px !important} riding the JS-hook class on
             cell 4 (capping the item below its track) — fixed in the renderer by
             moving that class to an inner span. */
  width: 100%;
  border: 1px solid rgba(18,43,70,0.10);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.sch-glass-page .sch-fbr-head,
.sch-glass-page .sch-fbr-row { display: contents; }
.sch-glass-page .sch-fbr-hcell {
  background: var(--l-thead-bg, #122B46);
  color: var(--l-thead-ink, rgba(255,255,255,.92));
  font: 700 11px/1.3 'Rajdhani', sans-serif;
  letter-spacing: .13em; text-transform: uppercase;
  padding: 12px;
  display: flex; align-items: center;
  white-space: nowrap;
}
.sch-glass-page .sch-fbr-cell {
  display: flex; align-items: center;
  padding: 10px 12px;
  min-height: 52px;
  min-width: 0;
  font-family: 'Rajdhani', sans-serif; font-size: 13px; color: var(--l-ink, #122B46);
  border-bottom: 1px solid rgba(18,43,70,0.06);
  background: transparent;
  gap: 4px;
  overflow: hidden;
}
/* Full-row hover: the row group tints ALL its cells uniformly. */
.sch-glass-page .sch-fbr-row:hover > .sch-fbr-cell { background: rgba(18,43,70,0.03); }
.sch-glass-page .sch-fbr-hcell--c, .sch-glass-page .sch-fbr-cell--c { justify-content: center; }
.sch-glass-page .sch-fbr-hcell--r, .sch-glass-page .sch-fbr-cell--r { justify-content: flex-end; }
/* Expanded answers: spans the whole grid; collapsed until JS toggles .is-open. */
.sch-glass-page .sch-fbr-full { grid-column: 1 / -1; display: none; }
.sch-glass-page .sch-fbr-full.is-open { display: block; }
.sch-glass-page .sch-fbr-detail {
  background: #FAFBFB;
  border-bottom: 1px solid rgba(18,43,70,0.06);
  padding: 12px 16px;
}

/* Student form failure surface — every submit failure (nonce, permission,
   validation, network) renders here instead of a silent no-op. Dark red ink on
   a light panel: readable on the dark form card, no light ink. */
.sch-fb-form-error {
	font-family: 'Rajdhani', system-ui, sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #991b1b;
	background: #fef2f2;
	border: 1px solid rgba(239, 68, 68, 0.45);
	border-radius: 8px;
	padding: 10px 14px;
	margin: 0 0 14px;
}
.sch-fb-form-error:empty { display: none; }

/* Inline pending spinner — CSS-only, sized to the label, inherits the button's
   ink (currentColor) so it works on every button variant in this namespace. */
.sch-fb-spin {
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 8px;
	vertical-align: -2px;
	box-sizing: border-box;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: sch-fb-spin 0.6s linear infinite;
}
@keyframes sch-fb-spin { to { transform: rotate(360deg); } }

/* Reduced motion: no rotation — static dots carry the same "working" signal. */
@media (prefers-reduced-motion: reduce) {
	.sch-fb-spin {
		animation: none;
		border: 0;
		width: auto;
		height: auto;
		border-radius: 0;
		vertical-align: baseline;
	}
	.sch-fb-spin::after { content: '\00B7\00B7\00B7'; letter-spacing: 1px; }
}

/* Form-level busy: the step area stops taking input while a request is in
   flight (cleared on success and on every failure path). */
.sch-fb-form-wrap.is-busy .sch-fb-step {
	pointer-events: none;
	opacity: 0.65;
	transition: opacity 0.15s ease;
}

/* Required-question enforcement: the message sits AT the field, red on a light
   panel (dark ink), matching the registration-validation pattern. */
.sch-fb-req-error {
	font-family: 'Rajdhani', system-ui, sans-serif;
	font-size: 13.5px;
	font-weight: 600;
	color: #991b1b;
	background: #fef2f2;
	border: 1px solid rgba(239, 68, 68, 0.45);
	border-radius: 8px;
	padding: 8px 12px;
	margin: 8px 0 0;
}
.sch-fb-req-error:empty { display: none; }
.sch-fb-step--invalid .sch-fb-step-textarea,
.sch-fb-step--invalid .sch-fb-step-date,
.sch-fb-step--invalid .sch-fb-step-member {
	border-color: #ef4444 !important;
	box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.18) !important;
}

/* ── Reopen / previous-submission modal (house chrome, dark inks) ───────── */
.sch-fb-modal { position: fixed; inset: 0; z-index: 100060; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(15,23,42,.55); }
.sch-fb-modal__card { width: 100%; max-width: 560px; max-height: 88vh; display: flex; flex-direction: column; background: #fff; border-radius: 12px; box-shadow: 0 18px 48px rgba(15,23,42,.28); font-family: 'Rajdhani', system-ui, sans-serif; color: #122B46; }
.sch-fb-modal__head { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid #e2e8f0; }
.sch-fb-modal__head h3 { flex: 1; margin: 0; font-size: 16px; }
.sch-fb-modal__x { width: 36px; height: 36px; font-size: 22px; line-height: 1; color: #334155; background: transparent; border: 0; border-radius: 8px; cursor: pointer; }
.sch-fb-modal__x:hover { background: #f1f5f9; }
.sch-fb-modal__body { padding: 16px 18px; overflow-y: auto; font-size: 14px; }
.sch-fb-modal__body textarea { width: 100%; box-sizing: border-box; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 8px; font-family: inherit; }
.sch-fb-modal__lbl { display: block; margin: 10px 0 4px; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #5b6b7e; }
.sch-fb-modal__opt { display: block; margin: 6px 0; font-size: 14px; }
.sch-fb-modal__foot { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 18px; border-top: 1px solid #e2e8f0; }
.sch-fb-prior__v { padding: 10px 0; border-bottom: 1px solid #eef2f6; }
.sch-fb-prior__h { font-weight: 700; }
.sch-fb-prior__a { margin: 3px 0; color: #334155; }
.sch-fb-prior__m { margin-top: 4px; font-size: 12.5px; color: #5b6b7e; }
.sch-fb-req-mark { color: #b91c1c; font-weight: 700; }

/* Reopened-form notice on the student card (dark ink on a light amber panel). */
.sch-fb-reopened-note { margin: 12px 16px 0; padding: 10px 14px; background: #fffbeb; border: 1px solid rgba(217,119,6,.45); border-radius: 8px; font-family: 'Rajdhani', system-ui, sans-serif; color: #7c2d12; }
.sch-fb-reopened-note__reason { margin-top: 4px; font-weight: 600; }
.sch-fb-reopened-note__meta { margin-top: 4px; font-size: 12.5px; color: #92400e; }
