/**
 * Charta Learning Center 1.0.4
 * Refined learner dashboard, responsive assignments and negative point states.
 */
:root {
	--clc-blue: #1769d2;
	--clc-blue-dark: #0b3470;
	--clc-navy: #071a32;
	--clc-text: #17283d;
	--clc-muted: #66788d;
	--clc-line: #dfe8f2;
	--clc-soft: #f4f8fc;
	--clc-success: #17814c;
	--clc-danger: #c23a43;
	--clc-warning: #a96c00;
	--clc-radius: 18px;
	--clc-shadow: 0 14px 38px rgba(20, 52, 86, .08);
}

.clc-center,
.clc-login-required {
	box-sizing: border-box;
	font-family: inherit;
	color: var(--clc-text);
}

.clc-center *,
.clc-login-required * {
	box-sizing: border-box;
}

.clc-center {
	width: min(100%, 1180px);
	margin: 0 auto;
	padding: clamp(12px, 2vw, 24px) 0 42px;
}

.clc-center a {
	transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.clc-center-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	overflow: hidden;
	min-height: 210px;
	padding: clamp(26px, 4vw, 42px);
	border: 1px solid rgba(111, 168, 238, .24);
	border-radius: 24px;
	background:
		radial-gradient(circle at 84% 18%, rgba(77, 143, 255, .30), transparent 28%),
		radial-gradient(circle at 18% 100%, rgba(51, 201, 190, .18), transparent 34%),
		linear-gradient(135deg, #07172d 0%, #0a3269 58%, #145ca7 100%);
	box-shadow: 0 22px 55px rgba(7, 31, 62, .20);
	color: #fff;
}

.clc-center-hero::before,
.clc-center-hero::after {
	position: absolute;
	content: "";
	pointer-events: none;
}

.clc-center-hero::before {
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
	background-size: 34px 34px;
	mask-image: linear-gradient(90deg, rgba(0,0,0,.78), transparent 88%);
}

.clc-center-hero::after {
	right: -80px;
	bottom: -110px;
	width: 310px;
	height: 310px;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 50%;
	box-shadow: 0 0 0 38px rgba(255,255,255,.035), 0 0 0 82px rgba(255,255,255,.025);
}

.clc-profile-block,
.clc-hero-side {
	position: relative;
	z-index: 1;
}

.clc-profile-block {
	display: flex;
	align-items: center;
	gap: 20px;
	min-width: 0;
}

.clc-profile-avatar {
	position: relative;
	flex: 0 0 92px;
}

.clc-profile-avatar img {
	display: block;
	width: 92px;
	height: 92px;
	border: 4px solid rgba(255,255,255,.90);
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 12px 28px rgba(0,0,0,.22);
}

.clc-profile-avatar span {
	position: absolute;
	right: 4px;
	bottom: 5px;
	width: 18px;
	height: 18px;
	border: 3px solid #0d3970;
	border-radius: 50%;
	background: #31d18b;
}

.clc-profile-copy {
	min-width: 0;
}

.clc-eyebrow {
	display: block;
	margin-bottom: 6px;
	color: #8dc2ff;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .16em;
}

.clc-center-hero h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(25px, 3.1vw, 38px);
	line-height: 1.22;
	letter-spacing: -.025em;
}

.clc-profile-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 13px;
}

.clc-profile-meta span {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 5px 10px;
	border: 1px solid rgba(255,255,255,.17);
	border-radius: 999px;
	background: rgba(255,255,255,.09);
	color: rgba(255,255,255,.88);
	font-size: 12px;
	font-weight: 700;
}

.clc-profile-meta span:first-child {
	background: rgba(75, 160, 255, .22);
	color: #e8f4ff;
}

.clc-hero-side {
	display: flex;
	align-items: stretch;
	gap: 12px;
	flex: 0 0 auto;
}

.clc-balance-card {
	min-width: 145px;
	padding: 16px 18px;
	border: 1px solid rgba(255,255,255,.17);
	border-radius: 16px;
	background: rgba(4, 20, 43, .34);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
	backdrop-filter: blur(12px);
}

.clc-balance-card span,
.clc-balance-card small {
	display: block;
	color: rgba(255,255,255,.68);
	font-size: 11px;
}

.clc-balance-card strong {
	display: block;
	margin: 4px 0;
	color: #fff;
	font-size: 32px;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.clc-balance-card.is-negative {
	border-color: rgba(255, 154, 162, .52);
	background: rgba(121, 19, 34, .34);
}

.clc-balance-card.is-negative strong {
	color: #ffb4ba;
}

.clc-hero-actions {
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-direction: column;
	gap: 8px;
}

.clc-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 17px;
	border: 1px solid transparent;
	border-radius: 10px;
	background: linear-gradient(135deg, #1769d2, #0e56b1);
	box-shadow: 0 8px 20px rgba(23,105,210,.22);
	color: #fff !important;
	font-weight: 780;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
}

.clc-button:hover {
	transform: translateY(-1px);
	filter: brightness(1.05);
}

.clc-button.is-light {
	border-color: rgba(255,255,255,.33);
	background: rgba(255,255,255,.93);
	box-shadow: none;
	color: #0c3974 !important;
	white-space: nowrap;
}

.clc-button.is-light:hover {
	background: #fff;
	box-shadow: 0 8px 22px rgba(0,0,0,.12);
}

.clc-summary-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 13px;
	margin: 17px 0;
}

.clc-summary-card {
	display: flex;
	align-items: center;
	gap: 13px;
	min-width: 0;
	padding: 16px;
	border: 1px solid var(--clc-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(22, 51, 80, .055);
	color: inherit !important;
	text-decoration: none !important;
}

.clc-summary-card:hover {
	border-color: #aac9ec;
	box-shadow: 0 13px 30px rgba(22, 51, 80, .10);
	transform: translateY(-2px);
}

.clc-summary-card.is-primary {
	border-color: #c7ddf8;
	background: linear-gradient(145deg, #f2f8ff, #fff);
}

.clc-summary-card.is-success {
	border-color: #cfeada;
	background: linear-gradient(145deg, #f3fcf7, #fff);
}

.clc-summary-card.is-danger {
	border-color: #f1c9cd;
	background: linear-gradient(145deg, #fff4f5, #fff);
}

.clc-summary-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border-radius: 13px;
	background: #edf4fd;
	color: #1b61ae;
	font-size: 17px;
	font-weight: 900;
}

.clc-summary-card.is-primary .clc-summary-icon {
	background: #ddebff;
	color: #0d5ab8;
}

.clc-summary-card.is-success .clc-summary-icon {
	background: #def6e8;
	color: #147447;
}

.clc-summary-card.is-danger .clc-summary-icon {
	background: #ffe2e5;
	color: #b72f3b;
}

.clc-summary-card > div {
	min-width: 0;
}

.clc-summary-card small,
.clc-summary-card em {
	display: block;
	font-style: normal;
}

.clc-summary-card small {
	color: #66798d;
	font-size: 11px;
	font-weight: 750;
}

.clc-summary-card strong {
	display: block;
	margin: 1px 0 2px;
	color: #173b63;
	font-size: 24px;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

.clc-summary-card.is-danger strong {
	color: var(--clc-danger);
}

.clc-summary-card em {
	overflow: hidden;
	color: #7e8da0;
	font-size: 10px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.clc-tabs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 7px;
	margin-bottom: 21px;
	padding: 7px;
	border: 1px solid var(--clc-line);
	border-radius: 16px;
	background: #f1f6fb;
}

.clc-tabs a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 10px 14px;
	border-radius: 11px;
	color: #52677e;
	font-size: 14px;
	font-weight: 750;
	text-decoration: none !important;
}

.clc-tabs a:hover {
	background: rgba(255,255,255,.65);
	color: var(--clc-blue);
}

.clc-tabs a.is-active {
	background: #fff;
	box-shadow: 0 5px 17px rgba(22, 51, 80, .09);
	color: var(--clc-blue-dark);
}

.clc-tabs em {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 23px;
	height: 23px;
	padding: 0 6px;
	border-radius: 999px;
	background: #e3edf8;
	color: #42688f;
	font-size: 11px;
	font-style: normal;
	font-variant-numeric: tabular-nums;
}

.clc-tabs a.is-active em {
	background: #e5f0ff;
	color: #0b5abc;
}

.clc-tabs em.is-balance {
	min-width: auto;
	padding: 0 8px;
}

.clc-tabs em.is-negative {
	background: #ffe2e5;
	color: #b62f3a;
}

.clc-tab-content {
	min-height: 280px;
}

.clc-section {
	margin: 0 0 30px;
}

.clc-section-title {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 22px;
	margin: 6px 0 17px;
}

.clc-section-title > div > span {
	display: block;
	color: var(--clc-blue);
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .15em;
}

.clc-section-title h2 {
	margin: 4px 0 0;
	color: #172b43;
	font-size: clamp(23px, 2.4vw, 29px);
	line-height: 1.2;
}

.clc-section-title p {
	max-width: 510px;
	margin: 0;
	color: var(--clc-muted);
	font-size: 13px;
	line-height: 1.65;
	text-align: right;
}

.clc-policy-banner,
.clc-deadline-warning {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 15px;
	padding: 13px 16px;
	border: 1px solid #f0d59e;
	border-radius: 13px;
	background: linear-gradient(90deg, #fff9e9, #fffdf8);
	color: #6f531d;
}

.clc-policy-banner > span {
	flex: 0 0 auto;
	padding: 5px 9px;
	border-radius: 999px;
	background: #f4d887;
	color: #684b0b;
	font-size: 11px;
	font-weight: 850;
}

.clc-policy-banner p,
.clc-deadline-warning p {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
}

.clc-deadline-warning {
	align-items: flex-start;
	flex-direction: column;
	gap: 3px;
}

.clc-deadline-warning.is-overdue {
	border-color: #efc2c7;
	background: #fff1f2;
	color: #8e2932;
}

.clc-assignment-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.clc-assignment-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	min-height: 250px;
	padding: 20px;
	border: 1px solid var(--clc-line);
	border-radius: var(--clc-radius);
	background: #fff;
	box-shadow: 0 10px 30px rgba(25, 53, 83, .055);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.clc-assignment-card::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: #dce8f5;
	content: "";
}

.clc-assignment-card.is-pending::before,
.clc-assignment-card.is-revision::before {
	background: linear-gradient(90deg, #1769d2, #52a3ff);
}

.clc-assignment-card.is-submitted::before,
.clc-assignment-card.is-reviewing::before {
	background: #7764d8;
}

.clc-assignment-card.is-passed::before,
.clc-assignment-card.is-excellent::before {
	background: #24a565;
}

.clc-assignment-card.is-missed::before,
.clc-assignment-card.is-penalized::before,
.clc-assignment-card.is-failed::before {
	background: #d14a55;
}

.clc-assignment-card:hover {
	border-color: #adcbed;
	box-shadow: 0 18px 42px rgba(25, 53, 83, .105);
	transform: translateY(-3px);
}

.clc-assignment-card.is-penalized,
.clc-assignment-card.is-missed {
	background: linear-gradient(145deg, #fff7f7, #fff 54%);
}

.clc-assignment-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	color: #2865a1;
	font-size: 11px;
	font-weight: 800;
}

.clc-assignment-meta > span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.clc-assignment-meta em,
.clc-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 25px;
	padding: 4px 9px;
	border-radius: 999px;
	background: #edf3f8;
	color: #52667b;
	font-size: 11px;
	font-style: normal;
	font-weight: 800;
}

.clc-assignment-meta em.is-pending,
.clc-status.is-pending,
.clc-status.is-submitted {
	background: #e6f0ff;
	color: #105ab9;
}

.clc-assignment-meta em.is-revision,
.clc-status.is-revision {
	background: #fff0cf;
	color: #966000;
}

.clc-assignment-meta em.is-passed,
.clc-assignment-meta em.is-excellent,
.clc-status.is-passed,
.clc-status.is-excellent {
	background: #e1f7e9;
	color: #177244;
}

.clc-assignment-meta em.is-submitted,
.clc-assignment-meta em.is-reviewing,
.clc-status.is-reviewing {
	background: #ece8ff;
	color: #5f4eb6;
}

.clc-assignment-meta em.is-missed,
.clc-assignment-meta em.is-penalized,
.clc-status.is-missed,
.clc-status.is-penalized,
.clc-status.is-failed {
	background: #ffe3e5;
	color: #b42e39;
}

.clc-assignment-card h3 {
	margin: 17px 0 8px;
	color: #172b42;
	font-size: 20px;
	line-height: 1.35;
}

.clc-assignment-card > p {
	margin: 0;
	color: var(--clc-muted);
	font-size: 13px;
	line-height: 1.75;
}

.clc-assignment-rewards {
	display: flex;
	align-items: center;
	gap: 7px;
	flex-wrap: wrap;
	margin-top: 15px;
}

.clc-assignment-rewards span {
	padding: 5px 8px;
	border-radius: 8px;
	background: #eaf7ef;
	color: #1b7548;
	font-size: 11px;
	font-weight: 800;
}

.clc-assignment-rewards span.is-penalty {
	background: #fff0f1;
	color: #b33640;
}

.clc-assignment-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 17px;
	border-top: 1px solid #edf1f5;
	color: #78899c;
	font-size: 12px;
}

.clc-assignment-bottom a,
.clc-table-link,
.clc-back {
	color: var(--clc-blue) !important;
	font-weight: 800;
	text-decoration: none !important;
}

.clc-empty,
.clc-login-required {
	text-align: center;
}

.clc-empty {
	grid-column: 1 / -1;
	padding: 42px 24px;
	border: 1px dashed #bfd0e2;
	border-radius: 17px;
	background: linear-gradient(145deg, #f8fbfe, #fff);
}

.clc-empty-icon,
.clc-login-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	margin-bottom: 12px;
	border-radius: 16px;
	background: #e5f0fd;
	color: #1763b7;
	font-size: 20px;
	font-weight: 900;
}

.clc-empty h3,
.clc-login-required h2 {
	margin: 0 0 7px;
}

.clc-empty p,
.clc-login-required p {
	margin: 0 0 18px;
	color: var(--clc-muted);
}

.clc-login-required {
	max-width: 720px;
	margin: 45px auto;
	padding: 48px 30px;
	border: 1px solid var(--clc-line);
	border-radius: 22px;
	background: linear-gradient(145deg, #f4f9ff, #fff);
	box-shadow: var(--clc-shadow);
}

.clc-notice {
	margin: 15px 0;
	padding: 12px 15px;
	border-radius: 11px;
	font-size: 13px;
}

.clc-notice.is-success {
	border: 1px solid #bfe7ce;
	background: #eaf8ef;
	color: #176d3d;
}

.clc-notice.is-error {
	border: 1px solid #efc5c8;
	background: #fff0f1;
	color: #a52a35;
}

.clc-assignment-detail {
	padding-top: 8px;
}

.clc-detail-head {
	position: relative;
	overflow: hidden;
	margin-bottom: 16px;
	padding: clamp(22px, 3vw, 32px);
	border: 1px solid #d7e4f2;
	border-radius: 21px;
	background: linear-gradient(135deg, #f1f7ff, #f9fbfe 58%, #eef6ff);
}

.clc-detail-course {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.clc-detail-course > span {
	color: var(--clc-blue);
	font-size: 12px;
	font-weight: 850;
}

.clc-detail-head h1 {
	margin: 8px 0 16px;
	font-size: clamp(26px, 3vw, 36px);
	line-height: 1.25;
}

.clc-detail-head > div:last-child {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.clc-detail-head > div:last-child em {
	padding: 6px 10px;
	border: 1px solid #dae6f1;
	border-radius: 999px;
	background: #fff;
	color: #5b6f83;
	font-size: 11px;
	font-style: normal;
}

.clc-detail-head > div:last-child em.is-penalty {
	border-color: #f2c8cc;
	background: #fff1f2;
	color: #b3313b;
}

.clc-detail-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(320px, .8fr);
	gap: 17px;
	align-items: start;
}

.clc-detail-content,
.clc-submit-card,
.clc-result-card {
	padding: 22px;
	border: 1px solid var(--clc-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(26, 48, 86, .05);
}

.clc-detail-content {
	min-height: 300px;
	font-size: 15px;
	line-height: 1.85;
}

.clc-detail-content h2,
.clc-submit-card h2 {
	margin-top: 0;
}

.clc-submit-card {
	margin-top: 13px;
}

.clc-submit-card p {
	margin: 0 0 15px;
}

.clc-submit-card label {
	display: block;
	margin-bottom: 7px;
	color: #273d55;
}

.clc-submit-card textarea,
.clc-submit-card input[type="url"],
.clc-submit-card input[type="file"] {
	width: 100%;
	padding: 11px;
	border: 1px solid #cad7e4;
	border-radius: 10px;
	background: #fff;
	font: inherit;
}

.clc-submit-card textarea:focus,
.clc-submit-card input:focus {
	border-color: #6aa2e4;
	box-shadow: 0 0 0 3px rgba(48, 124, 216, .11);
	outline: none;
}

.clc-submit-card small {
	display: block;
	margin-top: 6px;
	color: #748499;
}

.clc-result-card {
	border-color: rgba(80, 142, 220, .35);
	background:
		radial-gradient(circle at 90% 5%, rgba(91, 164, 255, .34), transparent 28%),
		linear-gradient(145deg, #07142d, #103b7f);
	color: #fff;
}

.clc-result-card > span {
	font-size: 11px;
	opacity: .72;
}

.clc-result-card > strong {
	display: block;
	margin: 6px 0;
	font-size: 34px;
	line-height: 1.1;
}

.clc-result-card p {
	margin: 0;
	color: #d8e8ff;
}

.clc-result-card blockquote {
	margin: 16px 0 0;
	padding-left: 13px;
	border-left: 3px solid #63a0ff;
	color: #eef5ff;
}

.clc-table-wrap {
	overflow: hidden;
	border: 1px solid var(--clc-line);
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 9px 28px rgba(23, 51, 80, .05);
}

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

.clc-table th,
.clc-table td {
	padding: 14px 16px;
	border-bottom: 1px solid #e8eef4;
	text-align: left;
	vertical-align: middle;
}

.clc-table th {
	background: #f5f8fb;
	color: #64768a;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .02em;
}

.clc-table tr:last-child td {
	border-bottom: 0;
}

.clc-table tbody tr:hover td {
	background: #fbfdff;
}

.clc-late-mark {
	display: inline-block;
	margin-left: 7px;
	padding: 2px 6px;
	border-radius: 6px;
	background: #fff0f1;
	color: #b33540;
	font-size: 10px;
	font-weight: 800;
}

.clc-score-list {
	display: grid;
	gap: 13px;
}

.clc-score-list article {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 22px;
	padding: 19px 20px;
	border: 1px solid var(--clc-line);
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 9px 28px rgba(23, 51, 80, .05);
}

.clc-score-list article:hover {
	border-color: #b9d2ed;
}

.clc-score-list article > div > span {
	color: var(--clc-blue);
	font-size: 11px;
	font-weight: 850;
}

.clc-score-list h3 {
	margin: 5px 0;
	font-size: 18px;
}

.clc-score-list p {
	margin: 7px 0;
	color: var(--clc-muted);
	line-height: 1.65;
}

.clc-score-list small {
	color: #7b8a9c;
}

.clc-score-number {
	min-width: 118px;
	text-align: right;
}

.clc-score-number strong {
	display: block;
	color: #173d67;
	font-size: 36px;
	line-height: 1;
}

.clc-score-number span,
.clc-score-number em {
	display: block;
	color: #738397;
	font-style: normal;
}

.clc-score-number em {
	margin-top: 8px;
	color: var(--clc-success);
	font-weight: 850;
}

.clc-points-overview {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 14px;
}

.clc-points-overview article {
	padding: 17px 19px;
	border: 1px solid var(--clc-line);
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(22, 51, 80, .045);
}

.clc-points-overview span {
	display: block;
	color: #748498;
	font-size: 11px;
	font-weight: 750;
}

.clc-points-overview strong {
	display: block;
	margin-top: 4px;
	color: #153d69;
	font-size: 26px;
	font-variant-numeric: tabular-nums;
}

.clc-points-overview strong.is-positive,
.clc-plus {
	color: var(--clc-success);
}

.clc-points-overview strong.is-negative,
.clc-minus {
	color: var(--clc-danger);
}

.clc-leaderboard-section {
	margin-top: 31px;
}

.clc-my-rank {
	display: grid;
	grid-template-columns: auto auto 1fr;
	align-items: center;
	gap: 18px;
	margin-bottom: 14px;
	padding: 18px 22px;
	border-radius: 17px;
	background: linear-gradient(135deg, #07142d, #123f87);
	box-shadow: 0 14px 34px rgba(7,20,45,.14);
	color: #fff;
}

.clc-my-rank.is-negative {
	background: linear-gradient(135deg, #4c1019, #8e2632);
}

.clc-my-rank > div {
	min-width: 105px;
}

.clc-my-rank span {
	display: block;
	color: rgba(255,255,255,.68);
	font-size: 11px;
	letter-spacing: .08em;
}

.clc-my-rank strong {
	display: block;
	color: #fff;
	font-size: 24px;
	line-height: 1.2;
}

.clc-my-rank p {
	margin: 0;
	color: rgba(255,255,255,.84);
	text-align: right;
}

.clc-my-rank p strong {
	display: inline;
	color: #ffd979;
	font-size: inherit;
}

.clc-leaderboard {
	overflow: hidden;
	border: 1px solid var(--clc-line);
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(26,48,86,.05);
}

.clc-leaderboard-head,
.clc-leaderboard-row {
	display: grid;
	grid-template-columns: 86px minmax(220px,1fr) 150px 130px;
	align-items: center;
	gap: 12px;
}

.clc-leaderboard-head {
	padding: 11px 18px;
	background: #f4f7fb;
	color: #6a7a8c;
	font-size: 11px;
	font-weight: 850;
}

.clc-leaderboard-row {
	min-height: 74px;
	padding: 11px 18px;
	border-top: 1px solid #e8edf3;
}

.clc-leaderboard-row:hover {
	background: #f8fbff;
}

.clc-leaderboard-row.is-me {
	background: #edf5ff;
	box-shadow: inset 4px 0 0 var(--clc-blue);
}

.clc-leaderboard-row.is-negative .clc-rank-points strong {
	color: var(--clc-danger);
}

.clc-rank-number {
	font-size: 24px;
	text-align: center;
}

.clc-rank-number strong {
	color: #53677d;
	font-size: 17px;
}

.clc-rank-learner {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.clc-rank-learner img {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border: 2px solid #e0e9f3;
	border-radius: 50%;
	object-fit: cover;
}

.clc-rank-learner > div {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
}

.clc-rank-learner strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.clc-rank-learner em {
	padding: 2px 7px;
	border-radius: 999px;
	background: var(--clc-blue);
	color: #fff;
	font-size: 10px;
	font-style: normal;
	font-weight: 850;
}

.clc-rank-level {
	display: inline-flex;
	padding: 5px 9px;
	border-radius: 999px;
	background: #eef3f8;
	color: #52657b;
	font-size: 11px;
	font-weight: 750;
}

.clc-rank-points {
	text-align: right;
}

.clc-rank-points strong {
	color: #0c3470;
	font-size: 20px;
	font-variant-numeric: tabular-nums;
}

.clc-rank-points span {
	margin-left: 4px;
	color: #78889a;
	font-size: 11px;
}

.clc-leaderboard-row.rank-1 {
	background: linear-gradient(90deg,#fffaf0,#fff);
}

.clc-leaderboard-row.rank-2 {
	background: linear-gradient(90deg,#f6f8fb,#fff);
}

.clc-leaderboard-row.rank-3 {
	background: linear-gradient(90deg,#fff7f1,#fff);
}

.clc-leaderboard-row.is-me.rank-1,
.clc-leaderboard-row.is-me.rank-2,
.clc-leaderboard-row.is-me.rank-3 {
	box-shadow: inset 4px 0 0 var(--clc-blue);
}

.clc-rank-pagination {
	display: flex;
	justify-content: center;
	gap: 6px;
	flex-wrap: wrap;
	margin-top: 15px;
}

.clc-rank-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border: 1px solid var(--clc-line);
	border-radius: 9px;
	background: #fff;
	color: #52657b;
	text-decoration: none;
}

.clc-rank-pagination .page-numbers.current {
	border-color: var(--clc-blue);
	background: var(--clc-blue);
	color: #fff;
}

@media (max-width: 1020px) {
	.clc-center-hero {
		align-items: flex-start;
	}
	.clc-hero-side {
		flex-direction: column;
	}
	.clc-summary-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.clc-center {
		padding-inline: 4px;
	}
	.clc-center-hero {
		flex-direction: column;
	}
	.clc-hero-side {
		width: 100%;
		flex-direction: row;
	}
	.clc-balance-card {
		flex: 1 1 auto;
	}
	.clc-hero-actions {
		flex: 1 1 auto;
	}
	.clc-assignment-grid,
	.clc-detail-grid {
		grid-template-columns: 1fr;
	}
	.clc-section-title {
		align-items: flex-start;
		flex-direction: column;
	}
	.clc-section-title p {
		text-align: left;
	}
}

@media (max-width: 760px) {
	.clc-tabs {
		display: flex;
		overflow-x: auto;
		scrollbar-width: none;
	}
	.clc-tabs::-webkit-scrollbar {
		display: none;
	}
	.clc-tabs a {
		flex: 0 0 auto;
		min-width: 125px;
	}
	.clc-table-wrap {
		overflow: visible;
		border: 0;
		background: transparent;
		box-shadow: none;
	}
	.clc-table,
	.clc-table tbody,
	.clc-table tr,
	.clc-table td {
		display: block;
		width: 100%;
	}
	.clc-table thead {
		display: none;
	}
	.clc-table tr {
		margin-bottom: 12px;
		padding: 13px 15px;
		border: 1px solid var(--clc-line);
		border-radius: 14px;
		background: #fff;
		box-shadow: 0 7px 22px rgba(23, 51, 80, .045);
	}
	.clc-table td {
		display: grid;
		grid-template-columns: 92px minmax(0, 1fr);
		gap: 10px;
		padding: 7px 0;
		border: 0;
	}
	.clc-table td::before {
		content: attr(data-label);
		color: #78889a;
		font-size: 11px;
		font-weight: 800;
	}
	.clc-table td[colspan] {
		display: block;
	}
	.clc-table td[colspan]::before {
		display: none;
	}
	.clc-my-rank {
		grid-template-columns: 1fr 1fr;
	}
	.clc-my-rank p {
		grid-column: 1 / -1;
		text-align: left;
	}
	.clc-leaderboard-head {
		display: none;
	}
	.clc-leaderboard-row {
		grid-template-columns: 48px minmax(0,1fr) auto;
		padding: 12px 14px;
	}
	.clc-leaderboard-row > div:nth-child(3) {
		display: none;
	}
	.clc-rank-number {
		text-align: left;
	}
	.clc-rank-points {
		grid-column: 3;
		text-align: right;
	}
	.clc-rank-learner img {
		width: 44px;
		height: 44px;
		flex-basis: 44px;
	}
}

@media (max-width: 620px) {
	.clc-center-hero {
		padding: 22px 19px;
		border-radius: 19px;
	}
	.clc-profile-block {
		align-items: flex-start;
		gap: 14px;
	}
	.clc-profile-avatar,
	.clc-profile-avatar img {
		width: 72px;
		height: 72px;
		flex-basis: 72px;
	}
	.clc-profile-avatar span {
		right: 1px;
		bottom: 2px;
	}
	.clc-center-hero h1 {
		font-size: 23px;
	}
	.clc-profile-meta span:last-child {
		display: none;
	}
	.clc-hero-side {
		flex-direction: column;
	}
	.clc-hero-actions {
		flex-direction: row;
	}
	.clc-hero-actions .clc-button {
		flex: 1 1 auto;
		padding-inline: 10px;
		font-size: 12px;
	}
	.clc-summary-grid {
		grid-template-columns: 1fr 1fr;
		gap: 9px;
	}
	.clc-summary-card {
		align-items: flex-start;
		padding: 13px;
	}
	.clc-summary-icon {
		width: 34px;
		height: 34px;
		flex-basis: 34px;
		border-radius: 10px;
		font-size: 14px;
	}
	.clc-summary-card strong {
		font-size: 21px;
	}
	.clc-summary-card em {
		display: none;
	}
	.clc-policy-banner {
		align-items: flex-start;
		flex-direction: column;
	}
	.clc-assignment-card {
		min-height: 225px;
		padding: 18px;
	}
	.clc-detail-head {
		padding: 19px;
	}
	.clc-detail-head h1 {
		font-size: 24px;
	}
	.clc-score-list article {
		grid-template-columns: 1fr;
	}
	.clc-score-number {
		display: flex;
		align-items: baseline;
		gap: 6px;
		min-width: 0;
		text-align: left;
	}
	.clc-score-number strong,
	.clc-score-number span,
	.clc-score-number em {
		display: inline;
	}
	.clc-points-overview {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 430px) {
	.clc-center {
		padding-inline: 0;
	}
	.clc-center-hero {
		border-radius: 16px;
	}
	.clc-profile-avatar,
	.clc-profile-avatar img {
		width: 62px;
		height: 62px;
		flex-basis: 62px;
	}
	.clc-eyebrow {
		font-size: 9px;
	}
	.clc-center-hero h1 {
		font-size: 20px;
	}
	.clc-summary-card {
		gap: 8px;
	}
	.clc-summary-card small {
		font-size: 10px;
	}
	.clc-tabs a {
		min-width: 112px;
		padding-inline: 10px;
	}
	.clc-assignment-meta {
		align-items: flex-start;
		flex-direction: column;
	}
	.clc-assignment-bottom {
		align-items: flex-start;
		flex-direction: column;
	}
	.clc-my-rank {
		gap: 12px;
		padding: 16px;
	}
	.clc-my-rank strong {
		font-size: 21px;
	}
	.clc-leaderboard-row {
		grid-template-columns: 38px minmax(0,1fr) auto;
		gap: 8px;
	}
	.clc-rank-number {
		font-size: 21px;
	}
	.clc-rank-points strong {
		font-size: 17px;
	}
	.clc-rank-points span {
		display: block;
		margin: 0;
	}
	.clc-rank-learner {
		gap: 8px;
	}
	.clc-rank-learner img {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
	}
}

/* Charta Learning Center 1.0.4: messages, teacher feedback and encouragement. */
.clc-message-center{position:relative;margin:18px 0;padding:20px;border:1px solid #dbe7f4;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#fff);box-shadow:0 12px 32px rgba(26,63,101,.07);overflow:hidden}.clc-message-center.has-unread{border-color:#a9c9ef;background:linear-gradient(135deg,#eef7ff,#fff 65%)}.clc-message-center:before{content:"";position:absolute;right:-60px;top:-80px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(46,132,255,.15),transparent 68%);pointer-events:none}.clc-message-center__head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.clc-message-center__head span{display:block;color:#3977bb;font-size:10px;font-weight:900;letter-spacing:.16em}.clc-message-center__head h2{display:flex;align-items:center;gap:8px;margin:4px 0 0;font-size:20px}.clc-message-center__head h2 b{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px}.clc-message-center__head>a{position:relative;color:#1769c2;font-size:12px;font-weight:800;text-decoration:none}.clc-message-center__head em{position:relative;color:#77879a;font-size:12px;font-style:normal}.clc-message-list{position:relative;display:grid;gap:9px}.clc-message-list article{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:12px 14px;border:1px solid #e3ebf4;border-radius:13px;background:rgba(255,255,255,.88)}.clc-message-list article.is-unread{border-color:#b8d6f5;background:#fff;box-shadow:inset 4px 0 0 #2784e8}.clc-message-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#e9f4ff;color:#1769c2;font-weight:900}.clc-message-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.clc-message-title strong{color:#173b61}.clc-message-title span{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#e7f8ee;color:#148144;font-size:12px;font-weight:900}.clc-message-list p{margin:4px 0;color:#526b83;font-size:13px}.clc-message-list small{color:#8795a5}.clc-message-center.is-empty>p{margin:0;color:#718297}
.clc-my-work-list{display:grid;gap:16px}.clc-my-work-card{position:relative;padding:20px;border:1px solid #dfe8f1;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(20,52,84,.06);overflow:hidden}.clc-my-work-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#7ca9d5}.clc-my-work-card.is-passed:before{background:#34a864}.clc-my-work-card.is-excellent:before{background:linear-gradient(#f4c542,#f08f36)}.clc-my-work-card.is-revision:before{background:#ed9c2b}.clc-my-work-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.clc-my-work-card header span{display:block;color:#7890a8;font-size:11px;font-weight:800}.clc-my-work-card h3{margin:5px 0 0;font-size:19px;color:#173b61}.clc-my-work-meta{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0;color:#73869a;font-size:12px}.clc-teacher-feedback{display:grid;grid-template-columns:120px 1fr;gap:14px;margin-top:14px;padding:15px;border:1px solid #dce9f5;border-radius:14px;background:#f7fbff}.clc-feedback-score{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #dbe6f0}.clc-feedback-score strong{color:#1769c2;font-size:32px;line-height:1}.clc-feedback-score span{margin-top:5px;color:#77889a;font-size:12px}.clc-feedback-score em{margin-top:8px;color:#168044;font-size:12px;font-style:normal;font-weight:900}.clc-teacher-feedback blockquote{margin:0;padding:0;border:0}.clc-teacher-feedback blockquote b{display:block;margin-bottom:7px;color:#274b6f}.clc-teacher-feedback blockquote p{margin:0;color:#4f657b;line-height:1.75}.clc-awaiting-review{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px;border-radius:14px;background:#f7f9fc;color:#536a80}.clc-awaiting-review>span{font-size:25px}.clc-awaiting-review strong{display:block;color:#294a6b}.clc-awaiting-review p{margin:3px 0 0;font-size:12px}.clc-my-work-card footer{display:flex;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid #edf1f5}
.clc-result-card blockquote b{display:block;margin-bottom:6px;font-size:12px;letter-spacing:.06em}.clc-encouragement{position:relative;margin-top:14px;padding:12px 14px;border:1px solid #ccebd7;border-radius:13px;background:linear-gradient(135deg,#effcf4,#fff);color:#1b7742;text-align:center;overflow:hidden}.clc-encouragement.is-excellent{border-color:#f1d68b;background:linear-gradient(135deg,#fff7d9,#fff);color:#9a6500}.clc-cheer-burst{position:absolute;inset:0;pointer-events:none}.clc-cheer-burst i{position:absolute;left:50%;top:55%;font-size:20px;font-style:normal;opacity:0;transform:translate(-50%,-50%) scale(.3)}.clc-encouragement.is-playing .clc-cheer-burst i{animation:clc-cheer-fly 2.8s ease-out forwards}.clc-cheer-burst i:nth-child(1){--x:-125px;--y:-65px}.clc-cheer-burst i:nth-child(2){--x:-82px;--y:-95px;animation-delay:.08s!important}.clc-cheer-burst i:nth-child(3){--x:-35px;--y:-75px;animation-delay:.16s!important}.clc-cheer-burst i:nth-child(4){--x:20px;--y:-100px;animation-delay:.24s!important}.clc-cheer-burst i:nth-child(5){--x:65px;--y:-72px;animation-delay:.32s!important}.clc-cheer-burst i:nth-child(6){--x:112px;--y:-94px;animation-delay:.4s!important}.clc-cheer-burst i:nth-child(7){--x:-102px;--y:-115px;animation-delay:.48s!important}.clc-cheer-burst i:nth-child(8){--x:96px;--y:-125px;animation-delay:.56s!important}@keyframes clc-cheer-fly{0%{opacity:0;transform:translate(-50%,-30%) scale(.25) rotate(0)}18%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1.2) rotate(22deg)}}
.clc-media-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.clc-media-item{margin:0;border:1px solid #dfe7ef;border-radius:14px;background:#fff;overflow:hidden}.clc-media-item button{display:block;width:100%;padding:0;border:0;background:#eff4f9;cursor:zoom-in}.clc-media-item img,.clc-media-item video{display:block;width:100%;height:auto;max-height:460px;object-fit:contain;background:#0d1722}.clc-media-item.is-image img{aspect-ratio:4/3;object-fit:cover}.clc-media-item figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px}.clc-media-item figcaption strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.clc-media-item figcaption a{flex:0 0 auto;color:#1769c2;font-size:11px;font-weight:800;text-decoration:none}.clc-lightbox{position:fixed;z-index:100000;inset:0;display:none;align-items:center;justify-content:center;padding:34px;background:rgba(4,12,22,.92)}.clc-lightbox.is-open{display:flex}.clc-lightbox__stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.clc-lightbox__stage img{max-width:96vw;max-height:92vh;object-fit:contain;border-radius:10px;box-shadow:0 25px 80px rgba(0,0,0,.4)}.clc-lightbox__close{position:absolute;right:22px;top:18px;width:44px;height:44px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:30px;line-height:1;cursor:pointer}.clc-lightbox-open{overflow:hidden}
@media(max-width:720px){.clc-message-center{padding:16px}.clc-message-center__head{align-items:flex-start}.clc-message-title{align-items:flex-start;flex-direction:column;gap:5px}.clc-teacher-feedback{grid-template-columns:1fr}.clc-feedback-score{align-items:flex-start;border-right:0;border-bottom:1px solid #dbe6f0;padding-bottom:12px}.clc-feedback-score{flex-direction:row;justify-content:flex-start;gap:7px}.clc-feedback-score em{margin:0 0 0 auto}.clc-media-gallery{grid-template-columns:1fr}.clc-my-work-card header{flex-direction:column}.clc-lightbox{padding:16px}.clc-lightbox__close{right:10px;top:10px}}
@media(prefers-reduced-motion:reduce){.clc-cheer-burst i{animation:none!important}.clc-encouragement{scroll-behavior:auto}}

/* ========================================================================
 * Charta Learning Center 1.0.5 — tablet and phone refinement
 * ===================================================================== */
@media (max-width: 1024px) {
	.clc-center {
		width: 100%;
		padding-right: 0;
		padding-left: 0;
	}

	.clc-center-hero {
		gap: 20px;
		padding: 28px;
	}

	.clc-summary-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.clc-detail-grid {
		grid-template-columns: 1fr;
	}

	.clc-result-card {
		position: static;
	}
}

@media (max-width: 820px) {
	.clc-center-hero {
		align-items: flex-start;
		flex-direction: column;
		min-height: 0;
	}

	.clc-profile-block,
	.clc-hero-side {
		width: 100%;
	}

	.clc-hero-side {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.clc-balance-card {
		min-width: 0;
	}

	.clc-hero-actions {
		min-width: 145px;
	}

	.clc-assignment-grid,
	.clc-media-gallery {
		grid-template-columns: 1fr;
	}

	.clc-table-wrap {
		margin-right: -4px;
		margin-left: -4px;
		padding-bottom: 6px;
	}

	.clc-table {
		min-width: 720px;
	}

	.clc-leaderboard-head,
	.clc-leaderboard-row {
		grid-template-columns: 58px minmax(190px, 1fr) 110px;
	}
}

@media (max-width: 700px) {
	.clc-center-hero {
		padding: 22px;
		border-radius: 19px;
	}

	.clc-profile-block {
		align-items: center;
		gap: 14px;
	}

	.clc-profile-avatar,
	.clc-profile-avatar img {
		width: 74px;
		height: 74px;
		flex-basis: 74px;
	}

	.clc-center-hero h1 {
		font-size: clamp(22px, 6.4vw, 29px);
	}

	.clc-hero-side {
		grid-template-columns: 1fr;
	}

	.clc-hero-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		min-width: 0;
	}

	.clc-summary-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.clc-summary-card {
		align-items: flex-start;
		min-height: 126px;
		padding: 14px;
	}

	.clc-summary-icon {
		flex-basis: 36px;
		width: 36px;
		height: 36px;
	}

	.clc-tabs {
		display: flex;
		justify-content: flex-start;
		overflow-x: auto;
		gap: 7px;
		padding: 7px;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}

	.clc-tabs a {
		flex: 0 0 auto;
		min-width: max-content;
		padding: 10px 13px;
		scroll-snap-align: start;
	}

	.clc-policy-banner,
	.clc-assignment-bottom,
	.clc-detail-course,
	.clc-message-center__head,
	.clc-my-work-card header,
	.clc-score-list article,
	.clc-points-overview {
		align-items: flex-start;
		flex-direction: column;
	}

	.clc-assignment-bottom a,
	.clc-button,
	.clc-submit-card button,
	.clc-hero-actions .clc-button {
		width: 100%;
		box-sizing: border-box;
	}

	.clc-assignment-card,
	.clc-detail-content,
	.clc-submit-card,
	.clc-result-card,
	.clc-my-work-card,
	.clc-message-center,
	.clc-leaderboard-section {
		padding: 16px;
		border-radius: 15px;
	}

	.clc-teacher-feedback {
		grid-template-columns: 1fr;
	}

	.clc-feedback-score {
		align-items: flex-start;
		flex-direction: row;
		justify-content: flex-start;
		gap: 8px;
		padding-bottom: 12px;
		border-right: 0;
		border-bottom: 1px solid #dbe6f0;
	}

	.clc-feedback-score em {
		margin: 0 0 0 auto;
	}

	.clc-leaderboard {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.clc-leaderboard-head,
	.clc-leaderboard-row {
		min-width: 560px;
	}

	.clc-lightbox {
		padding: 14px;
	}

	.clc-lightbox__close {
		top: 10px;
		right: 10px;
	}
}

@media (max-width: 520px) {
	.clc-center {
		padding-top: 4px;
		padding-bottom: 28px;
	}

	.clc-center-hero {
		padding: 18px;
	}

	.clc-profile-block {
		align-items: flex-start;
	}

	.clc-profile-avatar,
	.clc-profile-avatar img {
		width: 64px;
		height: 64px;
		flex-basis: 64px;
	}

	.clc-profile-meta span:nth-child(n+2) {
		display: none;
	}

	.clc-hero-actions {
		grid-template-columns: 1fr;
	}

	.clc-summary-grid {
		grid-template-columns: 1fr;
	}

	.clc-summary-card {
		min-height: 0;
	}

	.clc-assignment-card h3,
	.clc-my-work-card h3 {
		font-size: 18px;
	}

	.clc-assignment-meta,
	.clc-assignment-bottom,
	.clc-my-work-meta {
		gap: 8px;
	}

	.clc-detail-head {
		padding: 18px;
	}

	.clc-detail-head h1 {
		font-size: 24px;
	}

	.clc-submit-card input[type="file"] {
		font-size: 12px;
	}

	.clc-message-list article {
		grid-template-columns: 32px 1fr;
		gap: 9px;
		padding: 11px;
	}

	.clc-message-icon {
		width: 32px;
		height: 32px;
		border-radius: 9px;
	}

	.clc-message-title {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.clc-login-required {
		margin: 20px auto;
		padding: 30px 18px;
	}
}

@media (hover: none) {
	.clc-summary-card:hover,
	.clc-assignment-card:hover,
	.clc-score-list article:hover,
	.clc-leaderboard-row:hover {
		transform: none;
	}
}

/* 1.1.0: class labels, scoring breakdown and version history */
.clc-version-history{margin-top:26px}.clc-version-timeline{position:relative;display:grid;gap:14px;padding-left:8px}.clc-version-timeline:before{content:"";position:absolute;left:23px;top:14px;bottom:14px;width:2px;background:linear-gradient(#3b82f6,#8b5cf6)}.clc-version-timeline article{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px}.clc-version-dot{position:relative;z-index:2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#1d4ed8;color:#fff;font-weight:800;box-shadow:0 0 0 5px #eff6ff}.clc-version-timeline article>div{padding:15px 17px;border:1px solid #dce7f3;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}.clc-version-timeline header{display:flex;justify-content:space-between;gap:10px;align-items:center}.clc-version-timeline header em{font-style:normal;color:#64748b;font-size:13px}.clc-version-review{display:grid;gap:7px;margin-top:10px;padding:11px 13px;border-radius:11px;background:#f4f9ff}.clc-version-review span{color:#475569}.clc-version-pending{display:inline-block;margin-top:8px;color:#64748b}.clc-rubric-breakdown{display:grid;gap:7px;margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(239,246,255,.8);border:1px solid #dbeafe}.clc-rubric-breakdown h4{margin:0 0 2px;font-size:14px}.clc-rubric-breakdown>div{display:flex;justify-content:space-between;gap:12px;padding-top:6px;border-top:1px dashed #bfdbfe}.clc-rubric-breakdown strong{white-space:nowrap}.clc-message-list article:has(.clc-message-icon){transition:transform .2s ease,box-shadow .2s ease}.clc-message-list article:hover{transform:translateY(-2px)}
@media(max-width:640px){.clc-version-timeline{padding-left:0}.clc-version-timeline:before{left:15px}.clc-version-timeline article{grid-template-columns:30px minmax(0,1fr);gap:9px}.clc-version-dot{width:30px;height:30px}.clc-version-timeline header{align-items:flex-start;flex-direction:column}.clc-rubric-breakdown>div{font-size:13px}}

/* 1.1.0 — class membership chips in the learning-center hero */
.clc-profile-classes{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}
.clc-profile-classes strong{font-size:12px;letter-spacing:.04em;color:rgba(255,255,255,.7);font-weight:600}
.clc-profile-classes span{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.09);color:#fff;font-size:12px;line-height:1.2;backdrop-filter:blur(8px)}
@media (max-width:640px){.clc-profile-classes{justify-content:center}.clc-profile-classes strong{width:100%;text-align:center}.clc-profile-classes span{font-size:11px}}

/* ==============================================================
 * Charta Learning Center 1.2.0 — task-first comfortable interface
 * ============================================================== */
.clc-learning-app{
	--clc-surface:#fff;
	--clc-page:#f4f7fb;
	--clc-primary:#2468c9;
	--clc-primary-dark:#174d9a;
	--clc-ink:#1e2f43;
	--clc-subtle:#718096;
	width:min(100%,1240px);
	padding:18px 0 56px;
}
.clc-app-header{
	display:flex;align-items:center;justify-content:space-between;gap:24px;
	margin-bottom:16px;padding:22px 24px;border:1px solid #e2e9f2;border-radius:20px;
	background:linear-gradient(135deg,#fff 0%,#f7faff 100%);box-shadow:0 10px 34px rgba(34,65,102,.07)
}
.clc-app-profile{display:flex;align-items:center;gap:15px;min-width:0}.clc-app-header .clc-profile-avatar{flex:0 0 auto}.clc-app-header .clc-profile-avatar img{width:72px;height:72px;border:4px solid #fff;box-shadow:0 6px 20px rgba(27,71,122,.16)}
.clc-app-kicker{margin:0 0 4px;color:var(--clc-primary);font-size:12px;font-weight:850;letter-spacing:.08em}.clc-app-header h1{margin:0;color:#1b3048;font-size:clamp(21px,2.1vw,30px);line-height:1.2}.clc-app-header .clc-profile-meta{margin-top:8px}.clc-app-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.clc-points-pill{display:flex;align-items:center;gap:10px;min-height:46px;padding:8px 13px;border:1px solid #dce7f5;border-radius:13px;background:#f5f9ff;text-decoration:none!important}.clc-points-pill span{color:#667990;font-size:12px}.clc-points-pill strong{color:#1859ac;font-size:20px}.clc-points-pill.is-negative{border-color:#ffd5d9;background:#fff3f4}.clc-points-pill.is-negative strong{color:#b72f3b}.clc-icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:1px solid #dce4ed;border-radius:12px;background:#fff;color:#334d68!important;font-size:13px;font-weight:750;text-decoration:none!important}.clc-icon-button:hover{border-color:#9abce4;background:#f5f9ff}.clc-icon-button.is-teacher{border-color:#d8d1f0;background:#f7f4ff;color:#5b47a4!important}
.clc-app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}.clc-app-sidebar{position:sticky;top:18px;padding:13px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(31,55,86,.06)}.clc-app-nav{display:grid;gap:5px}.clc-app-nav a{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:7px 9px;border-radius:11px;color:#4b6076!important;font-size:14px;font-weight:750;text-decoration:none!important}.clc-app-nav a:hover{background:#f3f7fc}.clc-app-nav a.is-active{background:linear-gradient(135deg,#2468c9,#1c58ae);color:#fff!important;box-shadow:0 8px 20px rgba(36,104,201,.22)}.clc-nav-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:#edf4fc;color:#2565b5;font-size:12px;font-weight:900}.clc-app-nav a.is-active .clc-nav-icon{background:rgba(255,255,255,.18);color:#fff}.clc-app-nav em{min-width:24px;padding:2px 6px;border-radius:999px;background:#e9f1fb;color:#2861a4;font-size:11px;font-style:normal;text-align:center}.clc-app-nav a.is-active em{background:rgba(255,255,255,.18);color:#fff}.clc-app-nav em.is-negative{background:#fee2e2;color:#b4232c}.clc-sidebar-help{margin-top:14px;padding:14px;border-radius:13px;background:#f7f9fc;color:#65778b}.clc-sidebar-help strong{display:block;margin-bottom:8px;color:#354a61;font-size:13px}.clc-sidebar-help ol{margin:0;padding-left:18px;font-size:12px;line-height:1.85}.clc-app-workspace{min-width:0}.clc-app-workspace>.clc-notice{margin-top:0}.clc-mobile-nav{display:none}
.clc-home-dashboard{display:grid;gap:16px}.clc-home-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.clc-home-heading span,.clc-panel-title span{display:block;color:#3471bd;font-size:11px;font-weight:850;letter-spacing:.08em}.clc-home-heading h2,.clc-panel-title h3{margin:3px 0 0;color:#1e334a}.clc-home-heading h2{font-size:25px}.clc-home-heading p{max-width:430px;margin:0;color:#738397;font-size:13px;line-height:1.65;text-align:right}
.clc-focus-task{overflow:hidden;border:1px solid #d7e4f4;border-radius:18px;background:linear-gradient(135deg,#edf5ff,#fff);box-shadow:0 12px 30px rgba(38,91,156,.08)}.clc-focus-task__label{display:inline-flex;margin:16px 18px 0;padding:5px 10px;border-radius:999px;background:#dcecff;color:#1b5cae;font-size:11px;font-weight:850}.clc-focus-task__body{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px 21px}.clc-focus-task__body>div{min-width:0}.clc-focus-task__body span{color:#4f7aae;font-size:12px;font-weight:750}.clc-focus-task__body h3{margin:4px 0 7px;color:#173b64;font-size:23px}.clc-focus-task__body p{margin:0;color:#687b90;line-height:1.65}.clc-focus-task .clc-button{flex:0 0 auto;min-width:130px}.clc-focus-task.is-revision{border-color:#f1d19c;background:linear-gradient(135deg,#fff7e9,#fff)}.clc-focus-task.is-revision .clc-focus-task__label{background:#ffebc7;color:#9a5e00}.clc-focus-task.is-complete{border-color:#d8eadf;background:linear-gradient(135deg,#effaf3,#fff)}.clc-focus-task.is-complete .clc-focus-task__label{background:#dff4e6;color:#147447}
.clc-home-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.clc-home-panel{padding:20px;border:1px solid #e1e8f0;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(28,58,92,.055)}.clc-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.clc-panel-title h3{font-size:18px}.clc-panel-title>a{color:#2a68b5;font-size:12px;font-weight:750;text-decoration:none}.clc-process-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.clc-process-list li{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:9px 10px;border-radius:11px;background:#f7f9fc}.clc-process-list b{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:#e5effb;color:#2163b2}.clc-process-list strong,.clc-process-list span{display:block}.clc-process-list strong{color:#2a3e55;font-size:13px}.clc-process-list span{margin-top:2px;color:#7b8999;font-size:11px}.clc-home-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.clc-home-stats a{padding:15px;border:1px solid #e3e9f0;border-radius:13px;background:#fafcff;text-align:center;text-decoration:none!important}.clc-home-stats strong,.clc-home-stats span{display:block}.clc-home-stats strong{color:#1b5dab;font-size:25px}.clc-home-stats span{margin-top:3px;color:#75869a;font-size:11px}.clc-home-stats a.is-negative strong{color:#bd3340}.clc-recent-list{display:grid;gap:8px}.clc-recent-list>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;border:1px solid #e5ebf2;border-radius:12px;color:inherit!important;text-decoration:none!important}.clc-recent-list>a:hover{border-color:#bdd2eb;background:#f8fbff}.clc-recent-list strong,.clc-recent-list small{display:block}.clc-recent-list strong{color:#2b3f56;font-size:13px}.clc-recent-list small{margin-top:3px;color:#7b8999;font-size:11px}.clc-recent-list em{color:#2d69b2;font-size:12px;font-style:normal;font-weight:750}.clc-recent-status{min-width:66px;padding:5px 7px;border-radius:8px;background:#edf3fa;color:#496681;font-size:10px;font-weight:850;text-align:center}.clc-recent-status.is-passed,.clc-recent-status.is-excellent{background:#e3f5e9;color:#197249}.clc-recent-status.is-revision{background:#fff0d8;color:#9b6105}
.clc-task-toolbar{display:flex;gap:7px;overflow:auto;margin:12px 0 16px;padding-bottom:3px}.clc-task-toolbar button{flex:0 0 auto;padding:8px 13px;border:1px solid #dce5ef;border-radius:999px;background:#fff;color:#607489;font-size:12px;font-weight:750;cursor:pointer}.clc-task-toolbar button:hover,.clc-task-toolbar button.is-active{border-color:#2868b7;background:#2868b7;color:#fff}.clc-assignment-card[hidden]{display:none!important}
.clc-detail-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 15px}.clc-detail-steps span{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e2e8ef;border-radius:11px;background:#fff;color:#77879a;font-size:12px;font-weight:750}.clc-detail-steps b{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:8px;background:#edf2f7;color:#58708a}.clc-detail-steps span.is-current{border-color:#bcd2ef;background:#f2f7ff;color:#235fa8}.clc-detail-steps span.is-current b{background:#2868bd;color:#fff}.clc-detail-steps span.is-done{border-color:#cce8d5;background:#f2fbf5;color:#227247}.clc-detail-steps span.is-done b{background:#2d8b58;color:#fff}.clc-submit-card{position:sticky;top:18px}.clc-form-step{margin:0 0 16px}.clc-form-step>label:first-child{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:9px;margin-bottom:8px}.clc-form-step>label:first-child span{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:9px;background:#e8f1fc;color:#2863aa;font-weight:850}.clc-form-step>label:first-child strong,.clc-form-step>label:first-child small{display:block}.clc-form-step>label:first-child small{color:#8491a0;font-size:11px;font-weight:400}.clc-upload-zone{display:flex!important;align-items:center;justify-content:center;flex-direction:column;min-height:130px;padding:18px;border:2px dashed #c7d5e5;border-radius:14px;background:#f8fbff;cursor:pointer;text-align:center}.clc-upload-zone:hover,.clc-upload-zone.is-dragover{border-color:#3d7bc4;background:#eef6ff}.clc-upload-zone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.clc-upload-zone b{color:#2f64a5}.clc-upload-zone small{margin-top:4px;color:#8795a5}.clc-file-preview{display:grid;gap:6px;margin-top:8px}.clc-file-preview span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:9px;background:#f2f5f8;color:#52667c;font-size:11px}.clc-file-preview b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clc-submit-confirm{padding-top:14px;border-top:1px solid #e6ebf1}.clc-submit-confirm p{margin:0 0 10px;color:#6f7f91;font-size:11px}.clc-submit-confirm .clc-button{width:100%}
@media(max-width:980px){.clc-app-shell{grid-template-columns:1fr}.clc-app-sidebar{position:static;padding:8px}.clc-sidebar-help{display:none}.clc-app-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.clc-app-nav a{grid-template-columns:1fr;justify-items:center;gap:4px;padding:7px 4px;text-align:center;font-size:11px}.clc-app-nav em{position:absolute;transform:translate(17px,-16px)}.clc-nav-icon{width:30px;height:30px}.clc-home-grid{grid-template-columns:1fr}.clc-submit-card{position:static}}
@media(max-width:700px){.clc-learning-app{padding-top:8px;padding-bottom:82px}.clc-app-header{align-items:flex-start;flex-direction:column;padding:17px;border-radius:16px}.clc-app-header .clc-profile-avatar img{width:58px;height:58px}.clc-app-header h1{font-size:21px}.clc-app-header-actions{width:100%;justify-content:stretch}.clc-points-pill{flex:1}.clc-icon-button{flex:1}.clc-app-sidebar{display:none}.clc-mobile-nav{position:fixed;z-index:9999;left:0;right:0;bottom:0;display:block;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid #dfe6ee;background:rgba(255,255,255,.96);box-shadow:0 -8px 26px rgba(30,52,78,.11);backdrop-filter:blur(12px)}.clc-mobile-nav__inner{display:grid;grid-template-columns:repeat(5,1fr)}.clc-mobile-nav a{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-height:50px;border-radius:10px;color:#6d7e90!important;font-size:10px;font-weight:750;text-decoration:none!important}.clc-mobile-nav a.is-active{background:#edf4ff;color:#1e61b2!important}.clc-mobile-nav .clc-nav-icon{width:27px;height:27px;font-size:10px}.clc-mobile-nav em{position:absolute;top:2px;right:10%;min-width:18px;padding:1px 4px;border-radius:999px;background:#d83a45;color:#fff;font-size:9px;font-style:normal;text-align:center}.clc-home-heading{align-items:flex-start;flex-direction:column}.clc-home-heading p{text-align:left}.clc-focus-task__body{align-items:stretch;flex-direction:column}.clc-focus-task .clc-button{width:100%}.clc-home-panel{padding:16px}.clc-detail-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-detail-grid{grid-template-columns:1fr}.clc-recent-list>a{grid-template-columns:auto minmax(0,1fr)}.clc-recent-list em{display:none}}
@media(max-width:430px){.clc-app-header-actions{display:grid;grid-template-columns:1fr 1fr}.clc-points-pill{grid-column:1/-1}.clc-home-stats{grid-template-columns:repeat(2,1fr)}.clc-detail-steps span{font-size:10px}.clc-detail-steps b{width:22px;height:22px}.clc-home-heading h2{font-size:21px}}

/* ==============================================================
 * Charta Learning Center 1.3.0 — calm, task-first teaching UX
 * ============================================================== */
:root{
	--clc-blue:#2563eb;
	--clc-blue-dark:#173b77;
	--clc-navy:#172033;
	--clc-text:#253247;
	--clc-muted:#718096;
	--clc-line:#e4e9f0;
	--clc-soft:#f6f8fb;
	--clc-success:#23835b;
	--clc-warning:#d37b19;
	--clc-danger:#c94b56;
	--clc-purple:#7056b8;
	--clc-radius:16px;
	--clc-shadow:0 12px 32px rgba(29,44,70,.07);
}
.clc-center{max-width:1240px;color:var(--clc-text)}
.clc-app-header,.clc-workspace-header{border:1px solid #dfe6ef;background:linear-gradient(135deg,#fff 0%,#f7f9fc 100%);box-shadow:0 12px 34px rgba(31,47,73,.07);color:var(--clc-text)}
.clc-app-header:before,.clc-app-header:after{display:none!important}
.clc-app-kicker,.clc-workspace-identity span,.clc-section-heading span,.clc-surface-head span,.clc-home-heading span,.clc-panel-title>div>span{color:var(--clc-blue);letter-spacing:.08em}
.clc-app-header h1,.clc-workspace-header h1{color:var(--clc-navy)}
.clc-app-header .clc-profile-meta span{border-color:#d8e3f1;background:#eef4fc;color:#3d5d84}
.clc-app-header .clc-profile-meta span:first-child{background:#e9f1ff;color:#1f5bb7}
.clc-profile-avatar img{border-color:#fff;box-shadow:0 6px 18px rgba(35,54,82,.14)}
.clc-points-pill{border:1px solid #d5e1f0;background:#fff;color:#2c4566;box-shadow:none}
.clc-points-pill strong{color:var(--clc-blue)}
.clc-icon-button{border:1px solid #dce5ef;background:#fff;color:#3b516d}
.clc-icon-button:hover{border-color:#a8c1e4;background:#f6f9fd;color:#1f5db4}
.clc-app-shell{grid-template-columns:210px minmax(0,1fr);gap:22px}
.clc-app-sidebar{top:24px}
.clc-app-nav{padding:8px;border:1px solid var(--clc-line);border-radius:16px;background:#fff;box-shadow:var(--clc-shadow)}
.clc-app-nav a{min-height:46px;border-radius:11px;color:#607086}
.clc-app-nav a:hover{background:#f5f8fc;color:#284f86}
.clc-app-nav a.is-active{background:#edf4ff;color:#1e5db7;box-shadow:none}
.clc-app-nav em{background:#f0f3f7;color:#5f6f82}
.clc-app-nav a.is-active em{background:#2563eb;color:#fff}
.clc-sidebar-help{border:1px solid #e7ebf1;background:#fbfcfd;color:#68778b}
.clc-sidebar-help strong{color:#36465c}
.clc-focus-task{border:1px solid #d8e4f2;background:linear-gradient(135deg,#f5f9ff,#fff);box-shadow:var(--clc-shadow)}
.clc-focus-task.is-revision{border-color:#f1d5bd;background:linear-gradient(135deg,#fff8f1,#fff)}
.clc-focus-task.is-complete{border-color:#d6eadf;background:linear-gradient(135deg,#f4fbf7,#fff)}
.clc-focus-task__label{background:#e8f1ff;color:#1e5db4}
.clc-focus-task.is-revision .clc-focus-task__label{background:#fff0e2;color:#ae6117}
.clc-action-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.clc-action-summary a{display:flex;align-items:center;justify-content:space-between;min-height:82px;padding:17px 19px;border:1px solid var(--clc-line);border-radius:15px;background:#fff;color:var(--clc-text);text-decoration:none;box-shadow:0 6px 18px rgba(35,52,77,.045)}
.clc-action-summary a:hover{border-color:#b6cae6;transform:translateY(-1px)}
.clc-action-summary strong{font-size:28px;color:var(--clc-blue)}
.clc-action-summary span{font-size:13px;font-weight:750;color:#627187}
.clc-action-summary .is-revision strong{color:var(--clc-warning)}
.clc-home-grid.is-simple{grid-template-columns:repeat(2,minmax(0,1fr))}
.clc-home-panel,.clc-surface-card{border:1px solid var(--clc-line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(30,45,68,.045)}
.clc-latest-message,.clc-latest-feedback{display:block;padding:16px;border:1px solid #e7ebf1;border-radius:13px;background:#fafbfd;color:inherit;text-decoration:none}
.clc-latest-message.is-unread{border-color:#bfd4f0;background:#f5f9ff}
.clc-latest-message strong,.clc-latest-feedback strong{display:block;color:#28384f}
.clc-latest-message p,.clc-latest-feedback p{margin:8px 0;color:#66758a}
.clc-latest-message span,.clc-latest-feedback span{font-size:12px;color:#7b8797}
.clc-latest-feedback{position:relative;padding-right:76px}
.clc-latest-feedback em{position:absolute;right:16px;top:16px;font-size:22px;font-style:normal;font-weight:850;color:var(--clc-blue)}
.clc-assignment-card{border:1px solid var(--clc-line);box-shadow:0 7px 22px rgba(28,43,65,.045)}
.clc-assignment-card:hover{border-color:#b6cbe8;box-shadow:0 12px 28px rgba(28,43,65,.075)}
.clc-assignment-card.is-revision{border-color:#efcfad;background:#fffaf5}
.clc-assignment-card.is-pending{border-color:#cbdcf1;background:#fbfdff}
.clc-task-toolbar{border:1px solid var(--clc-line);background:#fff}
.clc-task-toolbar button{color:#66758a}
.clc-task-toolbar button.is-active{background:#edf4ff;color:#1e5db4}
.clc-message-center.is-standalone{margin:0}
.clc-message-center{border:1px solid var(--clc-line);background:#fff;box-shadow:var(--clc-shadow)}
.clc-message-list article{border-color:#e9edf2;background:#fff}
.clc-message-list article.is-unread{border-color:#bfd4ee;background:#f7faff}
.clc-message-list article footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.clc-message-list article footer a{font-size:12px;font-weight:750;color:var(--clc-blue);text-decoration:none}
.clc-message-title span.is-negative{background:#fff0f1;color:var(--clc-danger)}
.clc-growth-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:6px;border:1px solid var(--clc-line);border-radius:13px;background:#fff}
.clc-growth-tabs a{padding:10px 15px;border-radius:9px;color:#65758a;font-weight:750;text-decoration:none}
.clc-growth-tabs a.is-active{background:#edf4ff;color:#1f5db7}
.clc-profile-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:18px}
.clc-profile-layout>.clc-surface-card{padding:22px}
.clc-profile-layout form{display:grid;gap:16px}
.clc-profile-layout label{display:grid;gap:7px;color:#405169;font-weight:720}
.clc-profile-layout input[type=text],.clc-profile-layout input[type=password],.clc-profile-layout input[type=file]{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d9e1ea;border-radius:10px;background:#fff}
.clc-profile-editor{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:18px;padding-bottom:18px;border-bottom:1px solid #e8ecf1}
.clc-profile-editor img{width:112px;height:112px;border-radius:50%;object-fit:cover;box-shadow:0 6px 20px rgba(30,45,70,.12)}
.clc-profile-links{display:grid;gap:10px}
.clc-profile-links a{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:15px;border:1px solid var(--clc-line);border-radius:14px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 6px 18px rgba(29,44,66,.04)}
.clc-profile-links a:hover{border-color:#b8cde8;background:#f8fbff}
.clc-profile-links b{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#edf4ff;color:#1f5db7}
.clc-profile-links strong,.clc-profile-links span{display:block}.clc-profile-links span{margin-top:3px;color:#758397;font-size:12px}

/* Front-end teacher workspace */
.clc-teacher-front{max-width:1320px;padding-bottom:76px}
.clc-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border-radius:18px}
.clc-workspace-identity{display:flex;align-items:center;gap:15px;min-width:0}
.clc-workspace-identity img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.clc-workspace-identity h1{margin:3px 0;font-size:clamp(22px,2.4vw,31px);line-height:1.2}.clc-workspace-identity p{margin:0;color:#6f7f92}
.clc-workspace-actions{display:flex;gap:8px;flex-wrap:wrap}.clc-workspace-actions a{padding:9px 12px;border:1px solid #dce4ed;border-radius:9px;background:#fff;color:#4b617d;text-decoration:none;font-weight:700}
.clc-workspace-nav{display:flex;gap:7px;margin:14px 0 20px;padding:7px;border:1px solid var(--clc-line);border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(30,45,68,.045)}
.clc-workspace-nav a{display:flex;align-items:center;gap:8px;padding:11px 16px;border-radius:10px;color:#647489;text-decoration:none;font-weight:760}.clc-workspace-nav a.is-active{background:#edf4ff;color:#1f5db7}.clc-workspace-nav em{display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eef1f5;color:#667589;font-size:11px;font-style:normal}.clc-workspace-nav a.is-active em{background:#2563eb;color:#fff}
.clc-teacher-primary-task{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border:1px solid #d9e5f3;border-radius:17px;background:linear-gradient(135deg,#f4f8ff,#fff);box-shadow:var(--clc-shadow)}
.clc-teacher-primary-task span{color:var(--clc-blue);font-size:11px;font-weight:850;letter-spacing:.08em}.clc-teacher-primary-task h2{margin:5px 0;color:#23334b}.clc-teacher-primary-task p{margin:0;color:#6d7d91}
.clc-teacher-kpis,.clc-data-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0}
.clc-teacher-kpis>a,.clc-teacher-kpis>div,.clc-data-summary>a,.clc-data-summary>div{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border:1px solid var(--clc-line);border-radius:14px;background:#fff;color:inherit;text-decoration:none}.clc-teacher-kpis strong,.clc-data-summary strong{font-size:26px;color:var(--clc-blue)}.clc-teacher-kpis span,.clc-data-summary span{font-size:12px;font-weight:760;color:#69788b}
.clc-teacher-home-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.clc-surface-card{padding:19px}.clc-surface-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.clc-surface-head h3{margin:3px 0 0;color:#2b3a50}.clc-surface-head>a{color:var(--clc-blue);font-size:12px;font-weight:750;text-decoration:none}.clc-surface-head>em{font-style:normal;color:#728095}
.clc-teacher-queue,.clc-front-review-list{display:grid;gap:8px}.clc-teacher-queue>a,.clc-front-review-list>a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px;border:1px solid #e7ebf0;border-radius:11px;color:inherit;text-decoration:none}.clc-front-review-list>a{grid-template-columns:28px 44px minmax(0,1fr) auto}.clc-teacher-queue>a:hover,.clc-front-review-list>a:hover{border-color:#b9cde7;background:#f8fbff}.clc-teacher-queue img,.clc-front-review-list img{width:42px;height:42px;border-radius:50%;object-fit:cover}.clc-teacher-queue strong,.clc-teacher-queue span,.clc-front-review-list strong,.clc-front-review-list span{display:block}.clc-teacher-queue span,.clc-front-review-list span{margin-top:3px;color:#7a8797;font-size:11px}.clc-teacher-queue em,.clc-front-review-list em{color:var(--clc-blue);font-size:12px;font-style:normal;font-weight:760}.clc-front-review-list>b{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:#edf3fb;color:#39689f}
.clc-teacher-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.clc-teacher-shortcuts a{padding:14px;border:1px solid #e5eaf0;border-radius:12px;background:#fbfcfd;color:inherit;text-decoration:none}.clc-teacher-shortcuts a:hover{border-color:#b9cde7;background:#f7faff}.clc-teacher-shortcuts b{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-bottom:8px;border-radius:9px;background:#edf4ff;color:#1e5db7}.clc-teacher-shortcuts strong,.clc-teacher-shortcuts span{display:block}.clc-teacher-shortcuts span{margin-top:3px;color:#778598;font-size:11px}
.clc-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px}.clc-section-heading h2{margin:4px 0;color:#26364d}.clc-section-heading p{margin:0;color:#718095}
.clc-publish-wizard>form{border:1px solid var(--clc-line);border-radius:18px;background:#fff;box-shadow:var(--clc-shadow);overflow:hidden}.clc-wizard-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:10px;border-bottom:1px solid #e8ecf1;background:#f8fafc}.clc-wizard-progress button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:0;border-radius:10px;background:transparent;color:#7a8796;font-weight:750;cursor:pointer}.clc-wizard-progress button b{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:8px;background:#e9edf2;color:#68778b}.clc-wizard-progress button.is-active{background:#edf4ff;color:#1d5db5}.clc-wizard-progress button.is-active b{background:#2563eb;color:#fff}.clc-wizard-progress button.is-complete b{background:#dff2e8;color:#237b54}
.clc-wizard-step{padding:24px}.clc-wizard-card{max-width:900px;margin:0 auto}.clc-wizard-card>h3{margin:0;color:#27374e}.clc-wizard-card>p{margin:6px 0 20px;color:#728095}.clc-wizard-card label{display:grid;gap:7px;margin-bottom:16px;color:#405169;font-weight:730}.clc-wizard-card input[type=text],.clc-wizard-card input[type=number],.clc-wizard-card input[type=datetime-local],.clc-wizard-card select,.clc-wizard-card textarea,.clc-front-review-form input,.clc-front-review-form select,.clc-front-review-form textarea{width:100%;padding:10px 12px;border:1px solid #d9e1ea;border-radius:10px;background:#fff;color:#29394f}.clc-wizard-card textarea{min-height:190px}.clc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.clc-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.clc-check-grid label,.clc-choice-cards label{display:flex;align-items:center;gap:9px;margin:0;padding:12px;border:1px solid #e2e7ed;border-radius:11px;background:#fbfcfd}.clc-choice-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.clc-choice-cards strong,.clc-choice-cards small{display:block}.clc-choice-cards small{margin-top:3px;color:#7c8998}.clc-inline-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important}.clc-publish-confirm{margin-top:18px;padding:16px;border:1px solid #d5e4f5;border-radius:13px;background:#f6f9fe}.clc-publish-confirm p{color:#68788d}.clc-publish-confirm>div{display:flex;gap:9px;flex-wrap:wrap}.clc-wizard-actions{display:flex;justify-content:space-between;padding:14px 24px;border-top:1px solid #e8ecf1;background:#fafbfd}
.clc-review-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.clc-review-selector>a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;border:1px solid var(--clc-line);border-radius:13px;background:#fff;color:inherit;text-decoration:none}.clc-review-selector>a:hover,.clc-review-selector>a.is-active{border-color:#a9c3e5;background:#f5f9ff}.clc-review-selector strong,.clc-review-selector span{display:block}.clc-review-selector span{margin-top:4px;color:#7a8796;font-size:11px}.clc-review-selector em{font-style:normal;font-weight:780;color:var(--clc-blue)}
.clc-review-context{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.clc-review-context a{color:var(--clc-blue);text-decoration:none}.clc-review-context span{color:#718095;font-size:12px}.clc-review-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:16px;align-items:start}.clc-front-work>header{display:flex;align-items:center;gap:12px;padding-bottom:15px;border-bottom:1px solid #e9edf2}.clc-front-work>header img{width:58px;height:58px;border-radius:50%;object-fit:cover}.clc-front-work>header h2{margin:2px 0}.clc-front-work>header p,.clc-front-work>header span{margin:0;color:#758397;font-size:12px}.clc-front-work>header>em{margin-left:auto;padding:5px 9px;border-radius:999px;background:#f1f4f7;color:#68778a;font-size:11px;font-style:normal}.clc-review-content-block{padding:17px 0;border-bottom:1px solid #eaedf1}.clc-review-content-block:last-child{border-bottom:0}.clc-review-content-block h3{margin:0 0 10px}.clc-front-review-form{position:sticky;top:24px}.clc-front-review-form>div>h2{margin:4px 0 15px}.clc-front-review-form form>section{margin-bottom:13px;padding:14px;border:1px solid #e5e9ef;border-radius:12px;background:#fbfcfd}.clc-front-review-form form>section h3{margin:0 0 10px}.clc-score-field{display:flex;align-items:center;justify-content:space-between;gap:12px}.clc-score-field span{display:flex;align-items:center;gap:6px}.clc-score-field input{width:110px}.clc-front-review-actions{display:grid;gap:8px}.clc-front-review-actions .clc-button{width:100%}
.clc-data-table-wrap{overflow:auto}.clc-data-table-wrap table{width:100%;border-collapse:collapse}.clc-data-table-wrap th,.clc-data-table-wrap td{padding:12px;border-bottom:1px solid #e8ecf1;text-align:left;white-space:nowrap}.clc-data-table-wrap th{color:#68778a;font-size:11px}.clc-data-table-wrap a{color:var(--clc-blue);text-decoration:none;font-weight:730}
.clc-teacher-mobile-nav{display:none}

@media(max-width:1000px){.clc-app-shell{grid-template-columns:180px minmax(0,1fr)}.clc-home-grid.is-simple,.clc-teacher-home-grid,.clc-review-layout,.clc-profile-layout{grid-template-columns:1fr}.clc-front-review-form{position:static}.clc-teacher-kpis,.clc-data-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-choice-cards{grid-template-columns:1fr}.clc-review-selector{grid-template-columns:1fr}}
@media(max-width:760px){.clc-app-header,.clc-workspace-header{align-items:flex-start;flex-direction:column;padding:18px}.clc-app-header-actions,.clc-workspace-actions{width:100%}.clc-app-header-actions>a,.clc-workspace-actions>a{flex:1}.clc-app-shell{display:block}.clc-app-sidebar{display:none}.clc-action-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.clc-action-summary a{align-items:flex-start;flex-direction:column;min-height:76px;padding:13px}.clc-home-grid.is-simple{grid-template-columns:1fr}.clc-form-grid,.clc-check-grid{grid-template-columns:1fr}.clc-wizard-progress span{display:none}.clc-wizard-step{padding:18px}.clc-wizard-actions{padding:12px 18px}.clc-teacher-mobile-nav{position:fixed;z-index:999;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));left:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:6px;border:1px solid #dfe5ed;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 12px 30px rgba(25,40,64,.16);backdrop-filter:blur(12px)}.clc-teacher-mobile-nav a{position:relative;padding:10px 5px;border-radius:10px;color:#6d7c8f;text-align:center;text-decoration:none;font-size:12px;font-weight:760}.clc-teacher-mobile-nav a.is-active{background:#edf4ff;color:#1e5db4}.clc-teacher-mobile-nav em{position:absolute;right:7px;top:2px;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#e34f5d;color:#fff;font-size:10px;font-style:normal}.clc-workspace-nav{display:none}.clc-teacher-front{padding-bottom:92px}.clc-teacher-primary-task{align-items:flex-start;flex-direction:column}.clc-teacher-primary-task .clc-button{width:100%}.clc-review-context{align-items:flex-start;flex-direction:column}.clc-profile-editor{grid-template-columns:80px minmax(0,1fr)}.clc-profile-editor img{width:80px;height:80px}}
@media(max-width:520px){.clc-app-profile{align-items:flex-start}.clc-app-header .clc-profile-avatar{flex-basis:58px}.clc-app-header .clc-profile-avatar img{width:58px;height:58px}.clc-app-header h1{font-size:21px}.clc-action-summary{gap:8px}.clc-action-summary strong{font-size:23px}.clc-teacher-kpis,.clc-data-summary{grid-template-columns:1fr 1fr}.clc-teacher-shortcuts{grid-template-columns:1fr}.clc-wizard-progress button{padding:5px}.clc-wizard-progress button b{width:30px;height:30px}.clc-front-review-list>a{grid-template-columns:26px 40px minmax(0,1fr)}.clc-front-review-list>a>em{display:none}.clc-score-field{align-items:flex-start;flex-direction:column}.clc-score-field span,.clc-score-field input{width:100%}}


/* ==============================================================
 * Charta Learning Center 1.4.0 — wide, calm and operational
 * ============================================================== */
.clc-center,
.clc-learning-app,
.clc-teacher-front{
	width:min(100%,1480px);
}
.clc-learning-app{padding-top:22px}
.clc-app-header{padding:26px 30px;border-radius:24px}
.clc-app-shell{grid-template-columns:246px minmax(0,1fr);gap:24px}
.clc-app-sidebar{padding:15px;border-radius:20px}
.clc-app-workspace{min-height:640px}
.clc-workspace-header{padding:28px 32px;border-radius:24px 24px 0 0}
.clc-workspace-nav{padding-inline:24px}
.clc-workspace-body{padding:26px 30px 48px}
.clc-teacher-home-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:20px}
.clc-review-layout{grid-template-columns:minmax(0,1.62fr) minmax(390px,.68fr);gap:22px}
.clc-front-review-form{position:sticky;top:18px;align-self:start}
.clc-surface-card,.clc-home-panel{border-radius:20px}
.clc-action-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}

.clc-deadline-board{padding:20px 22px;border:1px solid #e0e8f1;border-radius:20px;background:#fff;box-shadow:0 9px 28px rgba(30,57,89,.055)}
.clc-deadline-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.clc-deadline-list>a{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:13px 14px;border:1px solid #e4eaf1;border-radius:14px;background:#fbfcfe;color:#354a61!important;text-decoration:none!important}
.clc-deadline-list>a:hover{transform:translateY(-1px);border-color:#a9c5e7;background:#f7fbff;box-shadow:0 8px 20px rgba(32,73,121,.07)}
.clc-deadline-list>a>b{display:block;width:8px;height:42px;border-radius:999px;background:#6ea0db}
.clc-deadline-list>a strong,.clc-deadline-list>a span{display:block}.clc-deadline-list>a strong{font-size:14px}.clc-deadline-list>a span{margin-top:4px;color:#748497;font-size:12px}.clc-deadline-list>a em{color:#2865ab;font-size:12px;font-style:normal;font-weight:800;white-space:nowrap}
.clc-deadline-list>a.is-urgent{border-color:#f1d2a1;background:#fffaf1}.clc-deadline-list>a.is-urgent>b{background:#dc8a22}.clc-deadline-list>a.is-overdue{border-color:#efc1c6;background:#fff6f7}.clc-deadline-list>a.is-overdue>b{background:#c84b58}.clc-deadline-list>a.is-revision{border-color:#f0cba0;background:#fff8ee}.clc-deadline-list>a.is-revision>b{background:#d27219}.clc-deadline-list>a.is-soon>b{background:#8f7cc5}

.clc-teaching-health{margin-top:20px;padding:20px 22px;border:1px solid #e0e8f1;border-radius:20px;background:#fff;box-shadow:0 9px 28px rgba(30,57,89,.05)}
.clc-teaching-health>.clc-surface-head{margin-bottom:14px}.clc-teaching-health>.clc-surface-head small{color:#8793a0}
.clc-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.clc-health-grid>a{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:11px;padding:14px;border:1px solid #e4eaf1;border-radius:14px;background:#fafcfe;color:#354a61!important;text-decoration:none!important}
.clc-health-grid>a>b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e8f1fb;color:#2764a9;font-size:18px}
.clc-health-grid>a strong,.clc-health-grid>a span{display:block}.clc-health-grid>a strong{font-size:13px}.clc-health-grid>a span{margin-top:3px;color:#758496;font-size:11px;line-height:1.45}.clc-health-grid>a.has-risk{border-color:#efc2c7;background:#fff7f8}.clc-health-grid>a.has-risk>b{background:#fee2e5;color:#b73542}.clc-health-grid>a.has-warning{border-color:#f1d4a5;background:#fffaf1}.clc-health-grid>a.has-warning>b{background:#fff0d6;color:#b96a0d}.clc-health-grid>a.has-note{border-color:#d8d2ee;background:#faf8ff}.clc-health-grid>a.has-note>b{background:#eeeafb;color:#6553a6}.clc-health-grid>a.is-good>b{background:#e7f6ed;color:#237a4c}
.clc-review-autosave{margin:12px 0 0;padding:10px 12px;border:1px dashed #c7d8ea;border-radius:11px;background:#f6faff;color:#65778b;font-size:11px;line-height:1.55}

@media (min-width:1600px){
	.clc-center,.clc-learning-app,.clc-teacher-front{width:min(100%,1540px)}
	.clc-app-shell{grid-template-columns:260px minmax(0,1fr);gap:28px}
	.clc-workspace-body{padding-inline:36px}
}
@media (max-width:1180px){
	.clc-center,.clc-learning-app,.clc-teacher-front{width:100%}
	.clc-app-shell{grid-template-columns:215px minmax(0,1fr);gap:16px}
	.clc-teacher-home-grid{grid-template-columns:1fr}
	.clc-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.clc-review-layout{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr)}
}
@media (max-width:900px){
	.clc-app-shell{grid-template-columns:1fr}.clc-app-sidebar{position:static}
	.clc-review-layout{grid-template-columns:1fr}.clc-front-review-form{position:static}
	.clc-deadline-list{grid-template-columns:1fr}
}
@media (max-width:680px){
	.clc-app-header,.clc-workspace-header{padding:20px}
	.clc-workspace-body{padding:18px 14px 88px}
	.clc-action-summary,.clc-health-grid{grid-template-columns:1fr}
	.clc-deadline-board,.clc-teaching-health{padding:16px}
	.clc-deadline-list>a{grid-template-columns:8px minmax(0,1fr)}.clc-deadline-list>a em{grid-column:2}
}

/* ==============================================================
 * Charta Learning Center 1.5.0 — fuller canvas and roomy workspace
 * ============================================================== */
.clc-center,
.clc-learning-app,
.clc-teacher-front{
	width:min(100%,1600px);
}
.clc-learning-app{padding-top:18px;padding-inline:0}
.clc-app-header{padding:28px 34px}
.clc-app-shell{grid-template-columns:258px minmax(0,1fr);gap:28px}
.clc-app-sidebar{padding:16px;border-radius:22px}
.clc-app-workspace{min-height:700px}
.clc-workspace-header{padding:30px 34px;border-radius:24px 24px 0 0}
.clc-workspace-body{padding:28px 34px 54px}
.clc-home-grid,.clc-home-grid.is-simple{grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr);gap:20px}
.clc-home-panel,.clc-surface-card{padding:22px;border-radius:22px}
.clc-deadline-board,.clc-teaching-health{padding:22px 24px;border-radius:22px}
.clc-review-layout{grid-template-columns:minmax(0,1.7fr) minmax(410px,.7fr);gap:24px}
.clc-front-review-form>div,.clc-front-review-form form>section{border-radius:14px}
@media (min-width:1700px){
	.clc-center,.clc-learning-app,.clc-teacher-front{width:min(100%,1660px)}
	.clc-app-shell{grid-template-columns:270px minmax(0,1fr);gap:30px}
}
@media (max-width:1280px){
	.clc-center,.clc-learning-app,.clc-teacher-front{width:100%}
	.clc-app-shell{grid-template-columns:220px minmax(0,1fr);gap:18px}
	.clc-home-grid,.clc-home-grid.is-simple{grid-template-columns:1fr}
}
@media (max-width:760px){
	.clc-app-header,.clc-workspace-header{padding:20px}
	.clc-workspace-body{padding:18px 0 92px}
}

/* ==============================================================
 * Charta Learning Center 1.6.0 — daily check-in and dual honor rail
 * ============================================================== */
.clc-app-shell{
	grid-template-columns:232px minmax(0,1fr) 320px;
	gap:24px;
}
.clc-app-rail{
	position:sticky;
	top:18px;
	display:grid;
	gap:16px;
	align-self:start;
	min-width:0;
}
.clc-rail-card{
	padding:18px;
	border:1px solid #dde6f0;
	border-radius:20px;
	background:linear-gradient(145deg,#fff 0%,#f9fbfe 100%);
	box-shadow:0 10px 30px rgba(26,48,75,.065);
}
.clc-rail-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.clc-rail-card-head span{display:block;color:#2b67b2;font-size:10px;font-weight:850;letter-spacing:.11em}
.clc-rail-card-head h3{margin:4px 0 0;color:#1f3249;font-size:18px}
.clc-rail-card-head>b{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#edf3fa;color:#55708d;font-size:10px;font-weight:800}
.clc-rail-card-head>b.is-done{background:#e4f5e9;color:#1f7a4c}
.clc-rail-checkin{position:relative;overflow:hidden;background:radial-gradient(circle at 100% 0%,rgba(37,99,235,.11),transparent 34%),linear-gradient(145deg,#fff,#f4f8ff)}
.clc-rail-checkin:before{content:"";position:absolute;right:-28px;top:-38px;width:105px;height:105px;border:18px solid rgba(37,99,235,.055);border-radius:50%;pointer-events:none}
.clc-rail-checkin-stats{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}
.clc-rail-checkin-stats>div{padding:10px 6px;border:1px solid #e4ebf4;border-radius:12px;background:rgba(255,255,255,.78);text-align:center}
.clc-rail-checkin-stats strong,.clc-rail-checkin-stats span{display:block}.clc-rail-checkin-stats strong{color:#1f5fae;font-size:19px;font-variant-numeric:tabular-nums}.clc-rail-checkin-stats span{margin-top:2px;color:#7b8999;font-size:10px}
.clc-rail-checkin .charta-checkin-form{margin:0}.clc-rail-checkin .charta-checkin-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;border:0;border-radius:12px;background:linear-gradient(135deg,#2563eb,#1c55b0);color:#fff;font:inherit;font-size:13px;font-weight:850;cursor:pointer;box-shadow:0 8px 18px rgba(37,99,235,.22)}
.clc-rail-checkin .charta-checkin-button:hover{transform:translateY(-1px)}.clc-rail-checkin .charta-checkin-button.is-done{background:#e8f4ec;color:#23764b;box-shadow:none;cursor:default}
.clc-rail-checkin>p{margin:10px 0 0;color:#748397;font-size:10px;line-height:1.6;text-align:center}
.clc-rail-ranking{padding-bottom:14px}
.clc-rail-rank-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:12px;padding:4px;border-radius:12px;background:#eff3f8}
.clc-rail-rank-tabs button{min-height:35px;border:0;border-radius:9px;background:transparent;color:#697a8e;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.clc-rail-rank-tabs button.is-active{background:#fff;color:#215fae;box-shadow:0 4px 12px rgba(31,59,94,.08)}
.clc-rail-rank-panel[hidden]{display:none!important}
.clc-rail-champion{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:9px;padding:13px 11px;border:1px solid #f0deb1;border-radius:15px;background:linear-gradient(135deg,#fffaf0,#fff);overflow:hidden}
.clc-rail-champion:after{content:"";position:absolute;right:-22px;bottom:-35px;width:85px;height:85px;border-radius:50%;background:rgba(240,184,55,.09)}
.clc-rail-champion.is-me{box-shadow:inset 0 0 0 2px rgba(37,99,235,.28)}
.clc-rail-champion img{width:58px;height:58px;border:3px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 5px 15px rgba(80,61,24,.13)}
.clc-rail-crown{position:absolute;z-index:2;left:47px;top:3px;color:#d99b16;font-size:17px;transform:rotate(12deg)}
.clc-rail-champion strong,.clc-rail-champion span{display:block}.clc-rail-champion strong{overflow:hidden;color:#293a50;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.clc-rail-champion span{margin-top:3px;color:#9a7940;font-size:10px}.clc-rail-champion em{z-index:1;color:#b8790c;font-size:19px;font-style:normal;font-weight:900;text-align:right}.clc-rail-champion em small{display:block;color:#a58c64;font-size:9px;font-weight:650}
.clc-rail-rank-list{display:grid;gap:5px}.clc-rail-rank-row{display:grid;grid-template-columns:24px 38px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;border:1px solid transparent;border-radius:11px;background:#f8fafc}.clc-rail-rank-row:hover{border-color:#d4e1f0;background:#f4f8fd}.clc-rail-rank-row.is-me{border-color:#b9d0ed;background:#f1f7ff}.clc-rail-rank-row.is-negative em{color:#c34b57}.clc-rail-rank-row>b{display:flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:8px;background:#e9eff6;color:#54708d;font-size:10px}.clc-rail-rank-row img{width:38px;height:38px;border-radius:50%;object-fit:cover}.clc-rail-rank-row strong,.clc-rail-rank-row span{display:block}.clc-rail-rank-row strong{overflow:hidden;color:#33465d;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.clc-rail-rank-row span{margin-top:2px;color:#8996a5;font-size:9px}.clc-rail-rank-row em{color:#2563a8;font-size:12px;font-style:normal;font-weight:850;font-variant-numeric:tabular-nums}
.clc-rail-my-rank{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;margin-top:9px;padding:10px 11px;border:1px dashed #b9cee8;border-radius:11px;background:#f5f9ff}.clc-rail-my-rank span{color:#6a7c91;font-size:10px}.clc-rail-my-rank strong{grid-row:1/3;grid-column:2;color:#1d5fae;font-size:19px}.clc-rail-my-rank em{color:#415b78;font-size:11px;font-style:normal}.clc-rail-rank-empty{padding:18px;border-radius:12px;background:#f7f9fc;color:#7a899a;text-align:center;font-size:12px}
.clc-rail-ranking>footer{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:11px;padding-top:10px;border-top:1px solid #e7ecf2}.clc-rail-ranking>footer span{color:#8995a4;font-size:9px}.clc-rail-ranking>footer a{color:#2563a8;font-size:10px;font-weight:800;text-decoration:none}
.clc-teacher-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.clc-teacher-main{min-width:0}.clc-teacher-shell .clc-workspace-nav{margin-top:14px}.clc-teacher-rail{margin-top:14px}
@media(max-width:1480px){.clc-app-shell{grid-template-columns:218px minmax(0,1fr) 292px;gap:18px}.clc-teacher-shell{grid-template-columns:minmax(0,1fr) 292px;gap:18px}}
@media(max-width:1220px){.clc-app-shell{grid-template-columns:210px minmax(0,1fr)}.clc-app-rail{position:static;grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr))}.clc-teacher-shell{grid-template-columns:1fr}.clc-teacher-rail{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.clc-app-shell{grid-template-columns:1fr}.clc-app-rail{grid-column:auto}.clc-app-rail,.clc-teacher-rail{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.clc-app-rail,.clc-teacher-rail{grid-template-columns:1fr}.clc-rail-card{padding:15px}.clc-rail-checkin-stats{grid-template-columns:repeat(3,1fr)}}

/* ==============================================================
 * Charta Learning Center 1.6.1 — fixed right task rail
 * ============================================================== */
@media (min-width:1081px){
	.clc-app-shell{
		display:grid!important;
		grid-template-columns:220px minmax(0,1fr) 330px!important;
		gap:24px!important;
		align-items:start!important;
	}
	.clc-app-sidebar{grid-column:1!important}
	.clc-app-workspace{grid-column:2!important;min-width:0!important}
	.clc-app-rail{
		grid-column:3!important;
		position:sticky!important;
		top:18px!important;
		dis:grid!important;
		grid-template-columns:1fr!important;
		gap:16px!important;
		align-self:start!important;
		min-width:0!important;
	}
	.clc-teacher-shell{
		display:grid!important;
		grid-template-columns:minmax(0,1fr) 330px!important;
		gap:24px!important;
		align-items:start!important;
	}
	.clc-teacher-main{grid-column:1!important;min-width:0!important}
	.clc-teacher-rail{
		grid-column:2!important;
		position:sticky!important;
		top:18px!important;
		dis:grid!important;
		grid-template-columns:1fr!important;
		gap:16px!important;
		align-self:start!important;
		margin-top:14px!important;
	}
}
.clc-app-rail{
	filter:none!important;
}
.clc-rail-card{
	padding:19px!important;
	border:1px solid #dce5ef!important;
	border-radius:22px!important;
	background:linear-gradient(145deg,#ffffff 0%,#f8fbff 100%)!important;
	box-shadow:0 14px 34px rgba(24,48,77,.075)!important;
}
.clc-rail-card-head{
	margin-bottom:15px!important;
}
.clc-rail-card-head span{
	color:#2c6da9!important;
	letter-spacing:.13em!important;
}
.clc-rail-card-head h3{
	font-size:19px!important;
	letter-spacing:-.015em!important;
}
.clc-rail-checkin{
	background:
		radial-gradient(circle at 100% 0%,rgba(51,178,161,.13),transparent 34%),
		linear-gradient(145deg,#ffffff 0%,#f4fbfa 100%)!important;
	border-color:#d8ebe7!important;
}
.clc-rail-checkin:before{
	border-color:rgba(51,178,161,.055)!important;
}
.clc-rail-checkin-stats>div{
	border-color:#deebe9!important;
	background:rgba(255,255,255,.86)!important;
}
.clc-rail-checkin-stats strong{
	color:#187f73!important;
}
.clc-rail-checkin .charta-checkin-button{
	min-height:46px!important;
	border-radius:13px!important;
	background:linear-gradient(135deg,#159787,#237fc4)!important;
	box-shadow:0 10px 22px rgba(25,135,139,.22)!important;
}
.clc-rail-checkin .charta-checkin-button.is-done{
	background:#e7f6f1!important;
	color:#18735f!important;
	box-shadow:none!important;
}
.clc-rail-ranking{
	background:
		radial-gradient(circle at 100% 0%,rgba(227,174,55,.10),transparent 30%),
		linear-gradient(145deg,#fff 0%,#fffdf8 100%)!important;
	border-color:#ebe3cf!important;
}
.clc-rail-rank-tabs{
	padding:5px!important;
	border:1px solid #e8e6df!important;
	background:#f5f4f0!important;
}
.clc-rail-rank-tabs button.is-active{
	color:#8a650e!important;
	box-shadow:0 5px 14px rgba(75,60,28,.09)!important;
}
.clc-rail-champion{
	padding:14px 12px!important;
	border-color:#eedca9!important;
	background:linear-gradient(135deg,#fff8e8,#fff 72%)!important;
	box-shadow:0 8px 20px rgba(136,98,24,.06)!important;
}
.clc-rail-rank-row{
	padding:8px 9px!important;
	border-color:#edf0f3!important;
	background:#fbfcfe!important;
}
.clc-rail-rank-row:hover{
	border-color:#d7e2ef!important;
	background:#f6f9fd!important;
}
.clc-rail-rank-row.is-me{
	border-color:#bdd8d2!important;
	background:#f2faf8!important;
}
.clc-rail-rank-row>b{
	background:#edf2f6!important;
	color:#506b84!important;
}
.clc-rail-ranking>footer{
	margin-top:13px!important;
}
@media (max-width:1080px){
	.clc-app-shell{
		grid-template-columns:200px minmax(0,1fr)!important;
	}
	.clc-app-rail{
		position:static!important;
		grid-column:2!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
		margin-top:2px!important;
	}
	.clc-teacher-shell{
		grid-template-columns:1fr!important;
	}
	.clc-teacher-rail{
		position:static!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
	}
}
@media (max-width:820px){
	.clc-app-shell{grid-template-columns:1fr!important}
	.clc-app-rail{grid-column:auto!important}
	.clc-app-rail,.clc-teacher-rail{grid-template-columns:1fr 1fr!important}
}
@media (max-width:700px){
	.clc-app-rail,.clc-teacher-rail{grid-template-columns:1fr!important}
}

/* ==============================================================
 * Charta Learning Center 1.7.0 — teaching operations
 * ============================================================== */
.clc-ops-notices{padding:20px 22px;border:1px solid #e0e8f1;border-radius:20px;background:#fff;box-shadow:0 9px 28px rgba(30,57,89,.05)}
.clc-ops-notice-list{display:grid;gap:9px}.clc-ops-notice-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 15px;border:1px solid #e7ebf1;border-left:4px solid #4f83c2;border-radius:13px;background:#fbfcfe}.clc-ops-notice-list article.is-important{border-left-color:#c84b58;background:#fff8f9}.clc-ops-notice-list article.is-warning{border-left-color:#d37b19;background:#fffaf3}.clc-ops-notice-list article.is-success{border-left-color:#23835b;background:#f6fcf8}.clc-ops-notice-list article.is-read{opacity:.78}.clc-ops-notice-list strong,.clc-ops-notice-list span{display:block}.clc-ops-notice-list strong{color:#2c3e55;font-size:14px}.clc-ops-notice-list p{margin:5px 0;color:#66778b;font-size:12px;line-height:1.65}.clc-ops-notice-list span{color:#8a96a4;font-size:10px}.clc-ops-notice-list a,.clc-ops-notice-list em{flex:0 0 auto;padding:7px 10px;border-radius:9px;background:#edf4ff;color:#235fae;font-size:11px;font-style:normal;font-weight:800;text-decoration:none}.clc-ops-notice-list em{background:#edf6f1;color:#23764e}
.clc-operations-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.clc-operations-grid>.clc-ops-notices,.clc-operations-grid>.clc-teaching-risk{margin:0}.clc-teaching-risk{padding:20px 22px}.clc-risk-list{display:grid;gap:8px}.clc-risk-list article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 11px;border:1px solid #e7ebf0;border-radius:12px;background:#fbfcfe}.clc-risk-list img{width:42px;height:42px;border-radius:50%;object-fit:cover}.clc-risk-list strong,.clc-risk-list span{display:block}.clc-risk-list strong{color:#31445b;font-size:13px}.clc-risk-list span{margin-top:3px;color:#7a8796;font-size:10px}.clc-risk-list b{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#fff0e5;color:#b86417;font-size:13px}
.clc-comment-presets{display:flex;gap:7px;flex-wrap:wrap}.clc-comment-presets button{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:980px){.clc-operations-grid{grid-template-columns:1fr}.clc-ops-notice-list article{grid-template-columns:1fr}.clc-ops-notice-list a,.clc-ops-notice-list em{justify-self:start}}

/* ==============================================================
 * Charta Learning Center 1.7.1 — assignment reference media upload
 * ============================================================== */
.clc-assignment-media-fields{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:14px;
	margin-top:18px;
}
.clc-assignment-media-upload{
	padding:16px;
	border:1px solid #dfe6ef;
	border-radius:16px;
	background:linear-gradient(180deg,#fbfdff,#f7faff);
}
.clc-assignment-media-upload__head{
	display:flex;
	align-items:center;
	gap:11px;
	margin-bottom:12px;
}
.clc-assignment-media-upload__head>span{
	display:grid;
	place-items:center;
	width:38px;
	height:38px;
	border-radius:11px;
	background:#e9f2ff;
	color:#2563eb;
	font-size:14px;
	font-weight:850;
}
.clc-assignment-media-upload:nth-child(2) .clc-assignment-media-upload__head>span{
	background:#eef0ff;
	color:#6658c8;
}
.clc-assignment-media-upload__head strong,
.clc-assignment-media-upload__head small{
	display:block;
}
.clc-assignment-media-upload__head strong{
	color:#25364d;
	font-size:14px;
}
.clc-assignment-media-upload__head small{
	margin-top:3px;
	color:#7a8797;
	font-size:11px;
	font-weight:400;
}
.clc-upload-zone.is-compact{
	min-height:112px;
	padding:15px;
	border-width:1.5px;
	background:#fff;
}
.clc-assignment-media-note{
	margin:12px 0 0;
	padding:10px 12px;
	border-radius:10px;
	background:#f7f9fc;
	color:#748397;
	font-size:11px;
	line-height:1.65;
}
.clc-file-preview.is-media-preview{
	margin-top:10px;
}
.clc-file-preview.is-media-preview span{
	display:grid;
	grid-template-columns:28px minmax(0,1fr) auto;
	align-items:center;
	gap:9px;
	padding:8px 10px;
	border:1px solid #e4eaf1;
	background:#fff;
}
.clc-file-preview.is-media-preview span i{
	display:grid;
	place-items:center;
	width:26px;
	height:26px;
	border-radius:8px;
	background:#e8f1ff;
	color:#2662ae;
	font-size:10px;
	font-style:normal;
	font-weight:850;
}
.clc-file-preview.is-media-preview span.is-video i{
	background:#efedff;
	color:#6653b7;
}
.clc-file-preview.is-media-preview span em{
	color:#8491a0;
	font-size:10px;
	font-style:normal;
}
.clc-assignment-reference-media{
	margin-top:26px;
	padding-top:22px;
	border-top:1px solid #e6ebf1;
}
.clc-assignment-reference-media>header{
	margin-bottom:16px;
}
.clc-assignment-reference-media>header span{
	display:block;
	color:#2b67b3;
	font-size:10px;
	font-weight:850;
	letter-spacing:.12em;
}
.clc-assignment-reference-media>header h2{
	margin:5px 0 6px;
	font-size:20px;
}
.clc-assignment-reference-media>header p{
	margin:0;
	color:#748397;
	font-size:12px;
}
.clc-reference-media-group{
	margin-top:16px;
}
.clc-reference-media-group>h3{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 10px;
	font-size:14px;
}
.clc-reference-media-group>h3 em{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:22px;
	height:22px;
	padding:0 6px;
	border-radius:999px;
	background:#edf4ff;
	color:#245fae;
	font-size:10px;
	font-style:normal;
}
.clc-reference-gallery{
	grid-template-columns:repeat(2,minmax(0,1fr));
}
.clc-reference-gallery .clc-media-item{
	box-shadow:0 8px 22px rgba(29,48,75,.055);
}
@media(max-width:760px){
	.clc-assignment-media-fields,
	.clc-reference-gallery{
		grid-template-columns:1fr;
	}
}

/* 1.8.0 multi-role registration and profile center */
.clc-avatar-choice-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.clc-avatar-choice{position:relative;display:block;padding:5px;border:2px solid transparent;border-radius:14px;background:#f6f8fb;cursor:pointer}.clc-avatar-choice input{position:absolute;opacity:0;pointer-events:none}.clc-avatar-choice img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.clc-avatar-choice span{display:none}.clc-avatar-choice:hover,.clc-avatar-choice:has(input:checked),.clc-avatar-choice.is-selected{border-color:#2563eb;background:#edf4ff}.clc-profile-avatar-presets{margin:20px 0;padding:18px;border:1px solid #e2e8f0;border-radius:16px;background:#fafcff}.clc-profile-avatar-presets h3{margin:0 0 12px}.clc-role-profile textarea{width:100%;padding:12px;border:1px solid #d9e1ea;border-radius:10px}.clc-profile-side-card{padding:24px;border:1px solid #e1e7ef;border-radius:20px;background:linear-gradient(145deg,#f8fbff,#fff);box-shadow:0 9px 28px rgba(31,48,78,.05)}.clc-profile-side-card>div{text-align:center}.clc-profile-side-card img{border-radius:50%}.clc-profile-side-card h3{margin:10px 0 4px}.clc-profile-side-card span{display:inline-flex;padding:5px 10px;border-radius:999px;background:#edf4ff;color:#2563eb;font-size:12px;font-weight:700}.clc-profile-side-card p{padding-top:14px;border-top:1px solid #e7ecf2;color:#65758a}.clc-profile-side-card p strong{display:block;color:#334155}.clc-role-portal{width:min(100%,1540px);margin:24px auto 80px}.clc-role-nav{display:flex;gap:8px;margin:14px 0;padding:7px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.clc-role-nav a{padding:11px 18px;border-radius:10px;color:#64748b;text-decoration:none;font-weight:750}.clc-role-nav a.is-active{background:#edf4ff;color:#1d5db5}.clc-role-body{padding:24px;border:1px solid #e2e8f0;border-radius:22px;background:#f7f9fc}.clc-role-approval{margin-bottom:16px;padding:16px 18px;border:1px solid #f1d1a2;border-radius:14px;background:#fff9ef;color:#8a5513}.clc-role-approval strong{display:block}.clc-role-approval p{margin:5px 0 0}.clc-role-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border:1px solid #dbe6f4;border-radius:20px;background:linear-gradient(135deg,#f2f7ff,#fff)}.clc-role-welcome span{font-size:12px;color:#2563eb;font-weight:800;letter-spacing:.08em}.clc-role-welcome h2{margin:5px 0}.clc-role-welcome p{margin:0;color:#68788e}.clc-role-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.clc-role-card-grid article{padding:22px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(31,48,78,.045)}.clc-role-card-grid b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf4ff;color:#2563eb}.clc-role-card-grid h3{margin:13px 0 5px}.clc-role-card-grid p{margin:0;color:#6b7b8f}.clc-avatar-empty{margin:0;color:#718096}.clc-workspace-nav{overflow-x:auto}.clc-workspace-nav a{white-space:nowrap}
@media(max-width:980px){.clc-avatar-choice-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.clc-role-card-grid{grid-template-columns:1fr}.clc-role-welcome{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.clc-avatar-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.clc-role-body{padding:12px}.clc-profile-layout{grid-template-columns:1fr}}
.clc-role-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.clc-role-rail{position:sticky;top:22px}@media(max-width:1120px){.clc-role-shell{grid-template-columns:1fr}.clc-role-rail{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@media(max-width:680px){.clc-role-rail{grid-template-columns:1fr}}

/* ==============================================================
 * Charta Learning Center 2.0.0 — teacher content hub and profiles
 * ============================================================== */
.clc-library,.clc-personal-space,.clc-featured-content{font-family:inherit}.clc-library-hero,.clc-featured-content>header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px;padding:28px 30px;border:1px solid #dce6f2;border-radius:24px;background:linear-gradient(135deg,#f7fbff,#fff 70%);box-shadow:0 14px 38px rgba(25,50,82,.07)}.clc-library-hero span,.clc-featured-content>header span{display:block;color:#2563eb;font-size:12px;font-weight:800;letter-spacing:.14em}.clc-library-hero h1,.clc-featured-content>header h2{margin:6px 0 8px;color:#172033;font-size:clamp(26px,3vw,40px);line-height:1.16}.clc-library-hero p,.clc-featured-content>header p{margin:0;max-width:760px;color:#66758a;line-height:1.75}.clc-featured-content>header>a{flex:0 0 auto;padding:11px 16px;border-radius:12px;background:#2563eb;color:#fff;text-decoration:none;font-weight:800}.clc-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.clc-library-grid.is-featured{grid-template-columns:repeat(3,minmax(0,1fr))}.clc-library-grid.is-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-library-card{overflow:hidden;border:1px solid #e1e8f0;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(25,49,77,.055);transition:transform .18s,box-shadow .18s}.clc-library-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(25,49,77,.10)}.clc-library-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#edf4ff}.clc-library-card__media img{width:100%;height:100%;object-fit:cover}.clc-library-placeholder{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#dcecff,#f0f6ff)}.clc-library-placeholder span{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:#fff;color:#2563eb;font-size:20px;font-weight:900;box-shadow:0 10px 26px rgba(37,99,235,.12)}.clc-library-card__body{padding:18px}.clc-library-card__body>span{color:#2563eb;font-size:11px;font-weight:800;letter-spacing:.08em}.clc-library-card h3{margin:7px 0 9px;font-size:19px;line-height:1.38}.clc-library-card h3 a{color:#172033;text-decoration:none}.clc-library-card p{margin:0;color:#718096;font-size:13px;line-height:1.7}.clc-library-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:13px;border-top:1px solid #edf1f5}.clc-library-author{display:flex;align-items:center;gap:8px;color:#40516a;text-decoration:none}.clc-library-author img{border-radius:50%}.clc-library-author em{font-style:normal;font-size:12px;font-weight:700}.clc-library-card footer small{color:#8a98a9}.clc-library-login{padding:36px;border:1px solid #dce6f2;border-radius:24px;background:#fff;text-align:center}.clc-library-login a{display:inline-flex;margin-top:12px;padding:11px 18px;border-radius:12px;background:#2563eb;color:#fff;text-decoration:none;font-weight:800}.clc-content-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 22px;padding:14px 16px;border:1px solid #e1e8f0;border-radius:14px;background:#f8fbff}.clc-content-meta>span{padding:6px 9px;border-radius:999px;background:#e8f1ff;color:#2563eb;font-size:11px;font-weight:800}.clc-content-meta>a{display:inline-flex;align-items:center;gap:8px;color:#334155;text-decoration:none}.clc-content-meta img{border-radius:50%}.clc-content-meta .clc-content-link{margin-left:auto;padding:8px 12px;border-radius:10px;background:#2563eb;color:#fff;font-weight:700}.clc-content-files,.clc-content-visitors{margin-top:26px;padding:22px;border:1px solid #e1e8f0;border-radius:20px;background:#fff}.clc-content-files h3,.clc-content-visitors h3{margin:0 0 15px}.clc-content-file-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.clc-content-file-grid figure,.clc-content-file-grid article{margin:0;padding:12px;border:1px solid #e5ebf2;border-radius:14px;background:#f9fbfd}.clc-content-file-grid img,.clc-content-file-grid video{display:block;width:100%;max-height:300px;border-radius:10px;object-fit:cover}.clc-content-file-grid figcaption{margin-top:8px;color:#53647a;font-size:12px}.clc-content-file-grid article{display:grid;gap:8px}.clc-content-file-grid article span{color:#8290a2;font-size:11px}.clc-content-file-grid article a{width:max-content;color:#2563eb;font-weight:800}.clc-content-visitors header{display:flex;align-items:center;justify-content:space-between;gap:14px}.clc-content-visitors header span{color:#8190a3;font-size:12px}.clc-content-visitors>div{display:flex;flex-wrap:wrap;gap:8px}.clc-content-visitors img{border:3px solid #fff;border-radius:50%;box-shadow:0 4px 12px rgba(15,23,42,.13)}.clc-personal-space>header{display:flex;align-items:center;gap:18px;padding:28px;border:1px solid #dce6f2;border-radius:24px;background:linear-gradient(135deg,#eef6ff,#fff 70%)}.clc-personal-space>header>img{border-radius:28px}.clc-personal-space>header div{flex:1}.clc-personal-space>header span{color:#2563eb;font-size:12px;font-weight:800}.clc-personal-space>header h1{margin:4px 0;font-size:34px}.clc-personal-space>header p{margin:0;color:#66758a}.clc-personal-space>header>strong{font-size:32px;color:#2563eb;text-align:center}.clc-personal-space>header>strong small{display:block;color:#8190a2;font-size:11px}.clc-personal-space__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;margin-top:20px}.clc-personal-space__grid>main>section,.clc-personal-space__grid>aside{padding:22px;border:1px solid #e1e8f0;border-radius:20px;background:#fff}.clc-personal-space__grid>main{display:grid;gap:20px}.clc-personal-space dl{display:grid;grid-template-columns:100px 1fr;gap:11px;margin:0}.clc-personal-space dt{color:#7a899c}.clc-personal-space dd{margin:0;color:#253247;font-weight:700}.clc-teacher-content-publisher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.clc-teacher-content-publisher a{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #dfe7f0;border-radius:18px;background:#fff;color:#172033;text-decoration:none;box-shadow:0 8px 22px rgba(29,44,68,.045)}.clc-teacher-content-publisher b{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#eaf2ff;color:#2563eb;font-size:18px}.clc-teacher-content-publisher strong,.clc-teacher-content-publisher span{display:block}.clc-teacher-content-publisher span{margin-top:4px;color:#718096;font-size:12px}@media(max-width:1100px){.clc-library-grid,.clc-library-grid.is-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-content-file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.clc-library-hero,.clc-featured-content>header{align-items:flex-start;flex-direction:column;padding:22px}.clc-library-grid,.clc-library-grid.is-featured,.clc-library-grid.is-compact,.clc-content-file-grid,.clc-personal-space__grid,.clc-teacher-content-publisher{grid-template-columns:1fr}.clc-personal-space>header{align-items:flex-start;flex-wrap:wrap}.clc-content-meta .clc-content-link{margin-left:0}}
.clc-role-card-grid>a{display:block;padding:20px;border:1px solid #e0e7ef;border-radius:18px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 8px 22px rgba(29,44,68,.045)}.clc-role-card-grid>a:hover{transform:translateY(-2px);border-color:#bfd3ee;box-shadow:0 16px 32px rgba(29,44,68,.09)}.clc-role-card-grid>a b{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eaf2ff;color:#2563eb}.clc-role-card-grid>a h3{margin:12px 0 6px}.clc-role-card-grid>a p{margin:0;color:#718096}

/* ==============================================================
 * Charta Learning Center 2.1.0
 * Stable multi-role center layout + creative case ranking board
 * ============================================================== */
.clc-learning-app,
.clc-teacher-front,
.clc-role-portal{
	width:min(100%,1680px)!important;
	max-width:1680px!important;
	margin-inline:auto!important;
}
.clc-app-workspace,
.clc-teacher-main,
.clc-role-body{min-width:0}

/* One predictable layout contract on desktop. */
@media (min-width:1281px){
	.clc-app-shell{
		display:grid!important;
		grid-template-columns:230px minmax(0,1fr) 320px!important;
		gap:24px!important;
		align-items:start!important;
	}
	.clc-app-sidebar{grid-column:1!important;position:sticky!important;top:24px!important;display:block!important}
	.clc-app-workspace{grid-column:2!important;grid-row:1!important}
	.clc-app-rail{grid-column:3!important;grid-row:1!important;position:sticky!important;top:24px!important;display:grid!important;grid-template-columns:1fr!important;gap:16px!important}
	.clc-teacher-shell,
	.clc-role-shell{
		display:grid!important;
		grid-template-columns:minmax(0,1fr) 320px!important;
		gap:24px!important;
		align-items:start!important;
	}
	.clc-teacher-main,
	.clc-role-body{grid-column:1!important;grid-row:1!important}
	.clc-teacher-rail,
	.clc-role-rail{grid-column:2!important;grid-row:1!important;position:sticky!important;top:24px!important;display:grid!important;grid-template-columns:1fr!important;gap:16px!important;margin-top:14px!important}
}

/* Tablet: nav first, work second, check-in/ranking third. */
@media (min-width:769px) and (max-width:1280px){
	.clc-app-shell,
	.clc-teacher-shell,
	.clc-role-shell{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}
	.clc-app-sidebar{position:static!important;order:1!important;padding:10px!important}
	.clc-app-sidebar .clc-app-nav{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:6px!important}
	.clc-app-sidebar .clc-app-nav a{grid-template-columns:1fr!important;justify-items:center!important;gap:5px!important;padding:8px 5px!important;text-align:center!important;font-size:12px!important}
	.clc-sidebar-help{display:none!important}
	.clc-app-workspace,
	.clc-teacher-main,
	.clc-role-body{order:2!important}
	.clc-app-rail,
	.clc-teacher-rail,
	.clc-role-rail{position:static!important;order:3!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin-top:0!important}
	.clc-teacher-main .clc-workspace-nav{display:flex!important;overflow-x:auto!important;scrollbar-width:none!important}
	.clc-teacher-main .clc-workspace-nav::-webkit-scrollbar{display:none!important}
	.clc-teacher-main .clc-workspace-nav a{flex:0 0 auto!important;min-width:132px!important}
}

/* Mobile: content, daily check-in, honor list, case board. */
@media (max-width:768px){
	.clc-learning-app,
	.clc-teacher-front,
	.clc-role-portal{width:100%!important;padding-inline:8px!important}
	.clc-app-header,
	.clc-workspace-header{padding:18px!important;border-radius:18px!important}
	.clc-app-shell,
	.clc-teacher-shell,
	.clc-role-shell{display:flex!important;flex-direction:column!important;gap:14px!important}
	.clc-app-sidebar{display:none!important}
	.clc-app-workspace,
	.clc-teacher-main,
	.clc-role-body{order:1!important;width:100%!important}
	.clc-app-rail,
	.clc-teacher-rail,
	.clc-role-rail{order:2!important;position:static!important;display:grid!important;grid-template-columns:1fr!important;gap:14px!important;width:100%!important;margin-top:0!important}
	.clc-role-nav{display:flex!important;overflow-x:auto!important;padding:7px!important;scrollbar-width:none!important}
	.clc-role-nav::-webkit-scrollbar{display:none!important}
	.clc-role-nav a{flex:0 0 auto!important;white-space:nowrap!important}
}

/* Role centers use distinct but related visual identities. */
.clc-role-portal .clc-workspace-header{overflow:hidden;position:relative}
.clc-role-portal .clc-workspace-header:after{content:"";position:absolute;right:-60px;top:-80px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.clc-role-admissions_teacher .clc-workspace-header{background:linear-gradient(135deg,#123d71,#2563eb 68%,#35a7ff)!important}
.clc-role-operations_teacher .clc-workspace-header{background:linear-gradient(135deg,#183f4d,#0f766e 62%,#22c7a8)!important}
.clc-teacher-front .clc-workspace-header{background:linear-gradient(135deg,#142f59,#315fdd 60%,#7c5cff)!important}
.clc-role-admissions_teacher .clc-role-card-grid b{background:#e9f2ff;color:#2563eb}
.clc-role-operations_teacher .clc-role-card-grid b{background:#e8fbf6;color:#0f8d78}

/* Creative case board */
.clc-case-board{
	margin-top:30px;
	padding:clamp(20px,2.4vw,32px);
	border:1px solid #dce7f4;
	border-radius:28px;
	background:
		radial-gradient(circle at 8% 0%,rgba(37,99,235,.09),transparent 24%),
		radial-gradient(circle at 94% 4%,rgba(255,122,89,.08),transparent 18%),
		linear-gradient(180deg,#fff,#f7faff);
	box-shadow:0 18px 48px rgba(34,60,95,.08);
	overflow:hidden;
}
.clc-case-board__head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:24px}
.clc-case-board__head span,.clc-case-gallery>header span{display:block;color:#2563eb;font-size:11px;font-weight:900;letter-spacing:.16em}
.clc-case-board__head h2,.clc-case-gallery>header h1{margin:6px 0 8px;color:#14233a;font-size:clamp(27px,3vw,42px);line-height:1.1}
.clc-case-board__head p,.clc-case-gallery>header p{margin:0;max-width:720px;color:#69798d;line-height:1.75}
.clc-case-board__head>a{flex:0 0 auto;padding:11px 17px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#5b74f7);color:#fff!important;text-decoration:none!important;font-weight:800;box-shadow:0 10px 24px rgba(37,99,235,.2)}
.clc-case-row{margin-top:20px}
.clc-case-row>header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px;padding-inline:2px}
.clc-case-row>header span{display:block;color:#77869a;font-size:10px;font-weight:850;letter-spacing:.14em}
.clc-case-row>header h3{margin:4px 0 0;color:#1c2d44;font-size:20px}
.clc-case-row>header>a{color:#2563eb!important;font-size:13px;font-weight:800;text-decoration:none!important}
.clc-case-row.is-student>header>a{color:#ee6b50!important}
.clc-case-marquee{overflow:hidden;padding:3px 0 12px;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.clc-case-track{display:flex;width:max-content;gap:16px;transform:translate3d(0,0,0)}
/* Keep short rows visible and manually scrollable. Auto motion is enabled only
 * after JS confirms that one complete card set is wider than the viewport. */
.clc-case-marquee.is-static{overflow-x:auto;overflow-y:hidden;mask-image:none;scroll-snap-type:x proximity;scrollbar-width:thin}
.clc-case-marquee.is-static .clc-case-card{scroll-snap-align:start}
.clc-case-marquee.is-animated .clc-case-track{will-change:transform;animation:clc-case-scroll-left var(--clc-case-duration,22s) linear infinite}
.clc-case-marquee:hover .clc-case-track,.clc-case-marquee:focus-within .clc-case-track,.clc-case-marquee .clc-case-track.is-paused{animation-play-state:paused}
@keyframes clc-case-scroll-left{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--clc-case-loop-offset,0px),0,0)}}
.clc-case-card{flex:0 0 268px;overflow:hidden;border:1px solid #e2e9f2;border-radius:18px;background:#fff;box-shadow:0 9px 26px rgba(25,48,78,.07);transition:transform .18s,box-shadow .18s}
.clc-case-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(25,48,78,.13)}
.clc-case-card__media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#edf4ff}
.clc-case-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.clc-case-card:hover .clc-case-card__media img{transform:scale(1.04)}
.clc-case-card__media>span:not(.clc-case-placeholder){position:absolute;left:11px;top:11px;padding:5px 9px;border-radius:999px;background:rgba(20,35,58,.82);color:#fff;font-size:10px;font-weight:850;backdrop-filter:blur(8px)}
.clc-case-card.is-student .clc-case-card__media>span:not(.clc-case-placeholder){background:rgba(238,107,80,.9)}
.clc-case-placeholder{display:grid;place-items:center;align-content:center;width:100%;height:100%;background:linear-gradient(135deg,#dcecff,#f6f9ff);color:#2563eb}
.clc-case-placeholder b{font-size:20px;letter-spacing:.08em}.clc-case-placeholder em{margin-top:3px;font-size:10px;font-style:normal;letter-spacing:.18em}
.clc-case-card__body{padding:15px}
.clc-case-card__body h4{min-height:46px;margin:0 0 12px;font-size:16px;line-height:1.45}
.clc-case-card__body h4 a{color:#1c2c42!important;text-decoration:none!important}
.clc-case-card__body>div{display:flex;align-items:center;gap:9px;padding-top:11px;border-top:1px solid #eef2f6}
.clc-case-card__body img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.clc-case-card__body span{display:grid}.clc-case-card__body strong{color:#42546b;font-size:12px}.clc-case-card__body small{color:#91a0b1;font-size:10px}
.clc-case-empty{padding:24px;border:1px dashed #cfdbea;border-radius:16px;background:rgba(255,255,255,.72);color:#77879b;text-align:center}

/* Full case center */
.clc-case-gallery{max-width:1580px;margin:0 auto;padding:clamp(18px,3vw,34px)}
.clc-case-gallery>header{padding:clamp(24px,4vw,42px);border:1px solid #dce7f4;border-radius:28px;background:linear-gradient(135deg,#eef6ff,#fff 62%,#fff5f1);box-shadow:0 18px 48px rgba(30,54,88,.07)}
.clc-case-gallery>nav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0;padding:8px;border:1px solid #e2e9f1;border-radius:16px;background:#fff;width:max-content;max-width:100%}
.clc-case-gallery>nav a{padding:9px 15px;border-radius:11px;color:#596a7e!important;text-decoration:none!important;font-weight:750}
.clc-case-gallery>nav a.is-active{background:#2563eb;color:#fff!important}
.clc-case-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.clc-case-gallery__grid .clc-case-card{width:auto;flex-basis:auto}
.clc-case-pagination{display:flex;justify-content:center;gap:6px;margin-top:24px}.clc-case-pagination .page-numbers{padding:8px 12px;border:1px solid #dce5ef;border-radius:10px;background:#fff;color:#40536a;text-decoration:none}.clc-case-pagination .current{background:#2563eb;color:#fff}
.clc-gallery-login{padding:44px;border:1px solid #dce7f4;border-radius:26px;background:#fff;text-align:center}.clc-gallery-login a{display:inline-flex;margin-top:12px;padding:11px 17px;border-radius:12px;background:#2563eb;color:#fff;text-decoration:none;font-weight:800}
.clc-student-case-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px;padding:15px 17px;border:1px solid #e1e8f1;border-radius:16px;background:#f8fbff}.clc-student-case-meta>a{display:flex;align-items:center;gap:10px;color:#263950;text-decoration:none}.clc-student-case-meta img{border-radius:50%}.clc-student-case-meta span{display:grid}.clc-student-case-meta small{color:#ee6b50;font-weight:800}.clc-student-case-meta em{color:#8695a7;font-style:normal;font-size:12px}

@media(max-width:1050px){.clc-case-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){
	.clc-case-board{margin-top:18px;padding:18px 14px;border-radius:20px}
	.clc-case-board__head,.clc-case-row>header{align-items:flex-start;flex-direction:column}
	.clc-case-board__head>a{width:100%;text-align:center}
	.clc-case-marquee{margin-inline:-14px;padding-inline:14px;mask-image:none;overflow-x:auto;scroll-snap-type:x proximity}
	.clc-case-track{animation:none!important;gap:12px}
	.clc-case-card{flex-basis:224px;scroll-snap-align:start}
	.clc-case-card.is-duplicate{display:none}
	.clc-case-gallery{padding:10px}.clc-case-gallery__grid{grid-template-columns:1fr}
	.clc-student-case-meta{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.clc-case-track{animation:none!important}.clc-case-marquee{overflow-x:auto!important}.clc-case-card.is-duplicate{display:none}}

/* ==============================================================
 * Charta Learning Center 2.2.0 — unified responsive center shell
 * ============================================================== */
:root{--clc-ui-blue:#245edb;--clc-ui-cyan:#18aebf;--clc-ui-purple:#7857e8;--clc-ui-coral:#f07a5a;--clc-ui-ink:#182b43;--clc-ui-muted:#6d7f94;--clc-ui-line:#dfe8f2;--clc-ui-surface:#fff;--clc-ui-soft:#f5f8fc}
.clc-learning-app,.clc-teacher-front,.clc-role-portal{box-sizing:border-box;width:min(calc(100% - 32px),1660px)!important;margin:24px auto 86px!important;padding:0!important}
.clc-app-header,.clc-workspace-header{min-height:132px!important;margin:0 0 18px!important;padding:25px 28px!important;border:1px solid rgba(175,202,231,.24)!important;border-radius:24px!important;box-shadow:0 18px 48px rgba(24,47,78,.10)!important}
.clc-learning-app .clc-app-header{background:linear-gradient(135deg,#0e315d,#245edb 61%,#18aebf)!important}
.clc-teacher-front .clc-workspace-header{background:linear-gradient(135deg,#112d57,#315fd7 57%,#7857e8)!important}
.clc-role-admissions_teacher .clc-workspace-header{background:linear-gradient(135deg,#102d55,#236dc4 60%,#1aa8c0)!important}
.clc-role-operations_teacher .clc-workspace-header{background:linear-gradient(135deg,#103c47,#148a8d 60%,#35b987)!important}
.clc-app-header h1,.clc-workspace-header h1,.clc-app-header p,.clc-workspace-header p,.clc-app-header span,.clc-workspace-header span{color:#fff!important}
.clc-app-shell{display:grid!important;grid-template-columns:226px minmax(0,1fr) 318px!important;grid-template-areas:"sidebar main rail"!important;gap:18px!important;align-items:start!important}
.clc-app-sidebar{grid-area:sidebar!important;position:sticky!important;top:22px!important;min-width:0!important}
.clc-app-workspace{grid-area:main!important;min-width:0!important}
.clc-app-rail{grid-area:rail!important;position:sticky!important;top:22px!important;display:grid!important;grid-template-columns:1fr!important;gap:16px!important;min-width:0!important}
.clc-teacher-shell,.clc-role-shell{display:grid!important;grid-template-columns:minmax(0,1fr) 318px!important;grid-template-areas:"main rail"!important;gap:18px!important;align-items:start!important}
.clc-teacher-main,.clc-role-body{grid-area:main!important;min-width:0!important}
.clc-teacher-rail,.clc-role-rail{grid-area:rail!important;position:sticky!important;top:22px!important;display:grid!important;grid-template-columns:1fr!important;gap:16px!important;min-width:0!important}
.clc-role-nav,.clc-workspace-nav{margin:0 0 18px!important;padding:7px!important;border:1px solid var(--clc-ui-line)!important;border-radius:15px!important;background:rgba(255,255,255,.97)!important;box-shadow:0 8px 26px rgba(30,52,80,.055)!important;scrollbar-width:thin}
.clc-role-nav a,.clc-workspace-nav a{min-height:42px!important;padding:10px 15px!important;border-radius:10px!important;white-space:nowrap!important}
.clc-role-nav a.is-active,.clc-workspace-nav a.is-active{background:linear-gradient(135deg,#eaf2ff,#eafcf9)!important;color:#1e5bc0!important;box-shadow:inset 0 0 0 1px rgba(37,99,235,.08)!important}
.clc-app-sidebar,.clc-app-workspace,.clc-role-body,.clc-rail-card,.clc-home-panel,.clc-role-card-grid>a,.clc-role-card-grid>article{border-color:var(--clc-ui-line)!important;border-radius:20px!important}
.clc-role-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
.clc-role-card-grid>a,.clc-role-card-grid>article{display:flex!important;flex-direction:column!important;min-height:196px!important;padding:22px!important;text-decoration:none!important}
.clc-role-card-grid h3{min-height:48px!important}.clc-role-card-grid p{margin-top:auto!important}
.clc-case-board{clear:both!important;width:100%!important;margin-top:22px!important}
.clc-case-card{contain:layout paint}.clc-case-card__media img{background:#edf3f8}.clc-case-track.is-paused{animation-play-state:paused!important}
@media(max-width:1220px){
 .clc-app-shell{grid-template-columns:210px minmax(0,1fr)!important;grid-template-areas:"sidebar main" "sidebar rail"!important}
 .clc-app-rail{position:static!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .clc-teacher-shell,.clc-role-shell{grid-template-columns:1fr!important;grid-template-areas:"main" "rail"!important}
 .clc-teacher-rail,.clc-role-rail{position:static!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .clc-role-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
 .clc-learning-app,.clc-teacher-front,.clc-role-portal{width:min(calc(100% - 24px),900px)!important;margin-top:16px!important}
 .clc-app-shell{grid-template-columns:1fr!important;grid-template-areas:"sidebar" "main" "rail"!important}
 .clc-app-sidebar{position:static!important;display:block!important;overflow-x:auto!important;padding:8px!important}
 .clc-app-sidebar .clc-sidebar-help{display:none!important}.clc-app-sidebar .clc-app-nav{display:flex!important;width:max-content!important;gap:6px!important}.clc-app-sidebar .clc-app-nav a{min-width:118px!important}
 .clc-app-rail,.clc-teacher-rail,.clc-role-rail{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .clc-app-header,.clc-workspace-header{min-height:0!important}
}
@media(max-width:700px){
 .clc-learning-app,.clc-teacher-front,.clc-role-portal{width:calc(100% - 16px)!important;margin:8px auto 92px!important}
 .clc-app-header,.clc-workspace-header{align-items:flex-start!important;flex-direction:column!important;padding:18px!important;border-radius:18px!important}
 .clc-app-header-actions,.clc-workspace-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
 .clc-app-sidebar{display:none!important}
 .clc-app-shell{grid-template-areas:"main" "rail"!important;gap:12px!important}
 .clc-app-rail,.clc-teacher-rail,.clc-role-rail{grid-template-columns:1fr!important;gap:12px!important}
 .clc-role-nav,.clc-workspace-nav{display:flex!important;overflow-x:auto!important;margin-bottom:12px!important}.clc-role-nav a,.clc-workspace-nav a{flex:0 0 auto!important}
 .clc-role-body,.clc-app-workspace,.clc-teacher-main{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
 .clc-role-card-grid{grid-template-columns:1fr!important;gap:10px!important}.clc-role-card-grid>a,.clc-role-card-grid>article{min-height:0!important;padding:17px!important}.clc-role-card-grid h3{min-height:0!important}
 .clc-case-board{margin-top:14px!important}.clc-case-board__head{padding-inline:2px!important}.clc-case-card{flex-basis:218px!important}
}

/* ================================================================
 * Charta Learning Center 2.3.0 — growth motivation and teaching impact
 * ================================================================ */
.clc-growth-motivation{
	display:grid;
	gap:18px;
	margin:20px 0 24px;
}
.clc-growth-level-card{
	position:relative;
	display:grid;
	grid-template-columns:auto minmax(0,1fr) auto;
	align-items:center;
	gap:20px;
	overflow:hidden;
	padding:22px 24px;
	border:1px solid #d9e6f7;
	border-radius:24px;
	background:
		radial-gradient(circle at 92% 8%,rgba(122,92,255,.13),transparent 30%),
		radial-gradient(circle at 10% 100%,rgba(14,190,199,.10),transparent 32%),
		linear-gradient(135deg,#f9fcff,#f5f3ff);
	box-shadow:0 14px 38px rgba(35,72,121,.08);
}
.clc-growth-level-card:after{
	content:"";
	position:absolute;
	right:-54px;
	top:-62px;
	width:180px;
	height:180px;
	border:30px solid rgba(81,93,235,.045);
	border-radius:50%;
	pointer-events:none;
}
.clc-growth-level-card__mark{
	position:relative;
	display:grid;
	place-items:center;
	width:82px;
	height:82px;
	border:1px solid rgba(255,255,255,.8);
	border-radius:25px;
	background:linear-gradient(145deg,#315fd3,#7457e9 58%,#10aebe);
	color:#fff;
	box-shadow:0 16px 28px rgba(71,79,201,.22),inset 0 1px rgba(255,255,255,.4);
}
.clc-growth-level-card__mark span{
	position:absolute;
	top:8px;
	left:9px;
	padding:3px 7px;
	border-radius:999px;
	background:rgba(255,255,255,.18);
	font-size:10px;
	font-weight:850;
	letter-spacing:.04em;
}
.clc-growth-level-card__mark strong{font-size:34px;line-height:1}
.clc-growth-level-card__copy>span,
.clc-weekly-report header span,
.clc-badge-preview header span,
.clc-weekly-stage>header span,
.clc-teacher-impact__head span{
	display:block;
	margin-bottom:5px;
	color:#5976a0;
	font-size:10px;
	font-weight:850;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.clc-growth-level-card__copy h3{margin:0 0 11px;color:#182c4a;font-size:25px;line-height:1.2}
.clc-growth-level-card__copy p{margin:8px 0 0;color:#687c96;font-size:12px}
.clc-growth-progress{
	overflow:hidden;
	height:9px;
	border-radius:999px;
	background:#e3eaf5;
	box-shadow:inset 0 1px 2px rgba(34,54,86,.08);
}
.clc-growth-progress i{
	display:block;
	height:100%;
	border-radius:inherit;
	background:linear-gradient(90deg,#2d73df,#6458e9 55%,#12b8bf);
	box-shadow:0 0 14px rgba(88,84,229,.28);
	transition:width .7s cubic-bezier(.2,.8,.2,1);
}
.clc-growth-level-card__stats{display:flex;gap:10px;position:relative;z-index:1}
.clc-growth-level-card__stats div{
	min-width:94px;
	padding:14px 12px;
	border:1px solid rgba(203,218,239,.8);
	border-radius:16px;
	background:rgba(255,255,255,.78);
	text-align:center;
	backdrop-filter:blur(10px);
}
.clc-growth-level-card__stats strong,.clc-growth-level-card__stats span{display:block}
.clc-growth-level-card__stats strong{color:#304fba;font-size:22px;font-variant-numeric:tabular-nums}
.clc-growth-level-card__stats span{margin-top:3px;color:#7c8ca2;font-size:10px}

.clc-daily-challenge{
	display:grid;
	grid-template-columns:auto minmax(0,1fr) auto;
	align-items:center;
	gap:16px;
	padding:18px 20px;
	border:1px solid #dce6f2;
	border-radius:20px;
	background:linear-gradient(135deg,#fff,#f5fbff);
	box-shadow:0 9px 24px rgba(35,62,99,.055);
}
.clc-daily-challenge.is-complete{border-color:#ccebdc;background:linear-gradient(135deg,#fbfffd,#edf9f3)}
.clc-daily-challenge__icon{
	display:grid;
	place-items:center;
	width:52px;
	height:52px;
	border-radius:17px;
	background:linear-gradient(145deg,#e7efff,#eeeaff);
	color:#4a5bd5;
	font-size:22px;
	font-weight:900;
}
.clc-daily-challenge.is-complete .clc-daily-challenge__icon{background:#dff4e9;color:#278255}
.clc-daily-challenge__copy span{color:#7f8fa6;font-size:10px;font-weight:850;letter-spacing:.08em}
.clc-daily-challenge__copy h3{margin:3px 0 4px;color:#213550;font-size:16px}
.clc-daily-challenge__copy p{margin:0;color:#6c7e93;font-size:12px;line-height:1.65}
.clc-daily-challenge form{margin:0}
.clc-daily-challenge button,
.clc-daily-challenge__reward{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:42px;
	padding:0 17px;
	border:0;
	border-radius:13px;
	background:linear-gradient(135deg,#356fdd,#6657e8);
	color:#fff;
	font:inherit;
	font-size:12px;
	font-weight:850;
	white-space:nowrap;
	box-shadow:0 9px 18px rgba(76,81,214,.20);
	cursor:pointer;
	transition:transform .18s,box-shadow .18s;
}
.clc-daily-challenge button:hover{transform:translateY(-1px);box-shadow:0 12px 22px rgba(76,81,214,.26)}
.clc-daily-challenge__reward{background:#def2e8;color:#2a7954;box-shadow:none}

.clc-growth-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:18px}
.clc-weekly-report,.clc-badge-preview,.clc-weekly-stage{
	padding:20px;
	border:1px solid #dfe7f1;
	border-radius:21px;
	background:#fff;
	box-shadow:0 10px 28px rgba(28,52,86,.055);
}
.clc-weekly-report header,.clc-badge-preview header,.clc-weekly-stage>header,.clc-teacher-impact__head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:16px;
	margin-bottom:15px;
}
.clc-weekly-report h3,.clc-badge-preview h3,.clc-weekly-stage h3,.clc-teacher-impact__head h3{margin:0;color:#1d324f;font-size:18px}
.clc-weekly-report header small{padding:5px 9px;border-radius:999px;background:#eef4fb;color:#627a96;font-size:10px;font-weight:800}
.clc-weekly-report__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.clc-weekly-report__stats div{padding:13px 8px;border-radius:15px;background:#f5f8fc;text-align:center}
.clc-weekly-report__stats strong,.clc-weekly-report__stats span{display:block}
.clc-weekly-report__stats strong{color:#2f5fbe;font-size:20px;font-variant-numeric:tabular-nums}
.clc-weekly-report__stats strong.is-negative{color:#c84c55}
.clc-weekly-report__stats span{margin-top:3px;color:#78899f;font-size:10px}
.clc-weekly-report>p{margin:14px 0 0;color:#687b92;font-size:12px;line-height:1.7}
.clc-badge-preview header a,.clc-weekly-stage>header a{color:#4669c9;font-size:11px;font-weight:800;text-decoration:none}
.clc-badge-preview>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.clc-badge-preview article{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e4eaf2;border-radius:14px;background:#f9fbfd}
.clc-badge-preview article>b{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:12px;background:#e8edf5;color:#92a0b1;font-size:15px}
.clc-badge-preview article.is-unlocked{border-color:#d9ddff;background:linear-gradient(135deg,#fbfaff,#f5f9ff)}
.clc-badge-preview article.is-unlocked>b{background:linear-gradient(145deg,#5f61dc,#6f4fdb);color:#fff;box-shadow:0 7px 14px rgba(95,83,214,.19)}
.clc-badge-preview article span,.clc-badge-preview article strong,.clc-badge-preview article small{display:block;min-width:0}
.clc-badge-preview article strong{overflow:hidden;color:#31445d;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.clc-badge-preview article small{margin-top:2px;color:#8a98aa;font-size:9px}

.clc-weekly-stage>header{align-items:center}
.clc-weekly-stage>header p{margin:5px 0 0;color:#72839a;font-size:11px}
.clc-weekly-stage__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.clc-weekly-stage__grid article{overflow:hidden;border:1px solid #e0e7f0;border-radius:17px;background:#fff;transition:transform .18s,border-color .18s,box-shadow .18s}
.clc-weekly-stage__grid article:hover{transform:translateY(-3px);border-color:#c7d4e9;box-shadow:0 12px 24px rgba(31,55,91,.10)}
.clc-weekly-stage__media{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(135deg,#e6efff,#e9e5ff);text-decoration:none}
.clc-weekly-stage__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.clc-weekly-stage__grid article:hover img{transform:scale(1.035)}
.clc-weekly-stage__media>span{position:absolute;left:8px;top:8px;padding:4px 7px;border-radius:999px;background:rgba(17,30,52,.76);color:#fff;font-size:8px;font-weight:800;backdrop-filter:blur(6px)}
.clc-weekly-stage__placeholder{display:grid;place-items:center;width:100%;height:100%;color:#5263c8;font-size:15px;font-weight:900;line-height:1.2;text-align:center;letter-spacing:.08em}
.clc-weekly-stage__grid article>div{padding:11px}
.clc-weekly-stage__grid h4{margin:0 0 8px;font-size:12px;line-height:1.45}
.clc-weekly-stage__grid h4 a{display:-webkit-box;overflow:hidden;color:#273a55;text-decoration:none;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.clc-weekly-stage__grid p{display:flex;align-items:center;gap:6px;margin:0;color:#718198;font-size:9px}
.clc-weekly-stage__grid p img{border-radius:50%}
.clc-stage-empty{padding:28px;border:1px dashed #cfdae8;border-radius:16px;background:#f8fafc;text-align:center}
.clc-stage-empty span{color:#415975;font-size:14px;font-weight:800}
.clc-stage-empty p{margin:5px 0 0;color:#8090a3;font-size:11px}

.clc-badge-page{display:grid;gap:20px}
.clc-badge-level-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;padding:23px;border:1px solid #dadff7;border-radius:22px;background:linear-gradient(135deg,#f7f9ff,#f7f5ff)}
.clc-badge-level-summary>strong{display:grid;place-items:center;width:86px;height:86px;border-radius:26px;background:linear-gradient(145deg,#2f6ed5,#7654e3);color:#fff;font-size:21px;box-shadow:0 14px 26px rgba(83,78,208,.22)}
.clc-badge-level-summary span{color:#71829a;font-size:10px;font-weight:800;letter-spacing:.08em}
.clc-badge-level-summary h3{margin:3px 0 12px;color:#1c3352;font-size:24px}
.clc-badge-level-summary p{margin:8px 0 0;color:#6f8197;font-size:11px}
.clc-badge-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.clc-badge-wall article{display:flex;gap:13px;min-height:132px;padding:17px;border:1px solid #e0e7ef;border-radius:19px;background:#fff;box-shadow:0 8px 22px rgba(28,53,87,.045)}
.clc-badge-wall article>b{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:16px;background:#edf1f6;color:#9aa6b5;font-size:19px}
.clc-badge-wall article.is-unlocked{border-color:#d8dcfa;background:linear-gradient(145deg,#fff,#f8f7ff)}
.clc-badge-wall article.is-unlocked>b{background:linear-gradient(145deg,#5b67df,#7451db);color:#fff;box-shadow:0 8px 18px rgba(95,82,214,.20)}
.clc-badge-wall article span{color:#7b8da4;font-size:9px;font-weight:800;letter-spacing:.08em}
.clc-badge-wall article h3{margin:3px 0 5px;color:#2c405c;font-size:14px}
.clc-badge-wall article p{margin:0;color:#7a8a9d;font-size:10px;line-height:1.55}
.clc-badge-wall article small{display:block;margin-top:8px;color:#677991;font-size:9px;font-weight:700}
.clc-badge-wall article.is-locked{filter:saturate(.72);opacity:.78}

.clc-teacher-impact{display:grid;gap:14px;margin:18px 0 20px}
.clc-teacher-goal{
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:12px 22px;
	overflow:hidden;
	padding:20px 22px;
	border:1px solid #dbe4f2;
	border-radius:21px;
	background:linear-gradient(135deg,#f8fbff,#f6f4ff);
}
.clc-teacher-goal>div>span{color:#657da0;font-size:10px;font-weight:850;letter-spacing:.09em}
.clc-teacher-goal h3{margin:4px 0;color:#213754;font-size:18px}
.clc-teacher-goal p{margin:0;color:#718298;font-size:11px;line-height:1.6}
.clc-teacher-goal>strong{align-self:center;color:#405bc6;font-size:34px;font-variant-numeric:tabular-nums}
.clc-teacher-goal>strong small{color:#8290a5;font-size:12px}
.clc-teacher-goal__bar{grid-column:1/-1;overflow:hidden;height:8px;border-radius:999px;background:#dfe7f2}
.clc-teacher-goal__bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3474dd,#7053e5,#14b6ba)}
.clc-teacher-impact{
	padding:20px;
	border:1px solid #dfe6f0;
	border-radius:22px;
	background:#fff;
	box-shadow:0 10px 28px rgba(29,52,86,.055);
}
.clc-teacher-impact__head{margin-bottom:0}
.clc-teacher-impact__head p{margin:5px 0 0;color:#738399;font-size:11px}
.clc-teacher-impact__head em{padding:7px 11px;border-radius:999px;background:linear-gradient(135deg,#ececff,#e9f8fa);color:#4d55c1;font-size:10px;font-style:normal;font-weight:850}
.clc-teacher-impact__stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.clc-teacher-impact__stats article{padding:13px 8px;border-radius:15px;background:#f5f8fc;text-align:center}
.clc-teacher-impact__stats strong,.clc-teacher-impact__stats span{display:block}
.clc-teacher-impact__stats strong{color:#2e59b9;font-size:19px;font-variant-numeric:tabular-nums}
.clc-teacher-impact__stats span{margin-top:3px;color:#7b8ba0;font-size:9px}
.clc-teacher-recognition{display:flex;flex-wrap:wrap;gap:8px}
.clc-teacher-recognition span{padding:7px 10px;border:1px solid #e0e6ee;border-radius:999px;background:#f7f9fb;color:#9aa5b3;font-size:9px;font-weight:800}
.clc-teacher-recognition span.is-earned{border-color:#d8d7fb;background:#f3f1ff;color:#6252ca}

.clc-role-motivation{display:flex;align-items:flex-start;gap:15px;margin:0 0 18px;padding:18px 20px;border:1px solid #dce7f2;border-radius:20px;background:linear-gradient(135deg,#fbfdff,#f3f8ff)}
.clc-role-motivation>b{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#2f6fd5,#16a9bd);color:#fff;font-size:18px}
.clc-role-motivation span{color:#71849e;font-size:9px;font-weight:850;letter-spacing:.09em}
.clc-role-motivation h3{margin:3px 0 9px;color:#263b58;font-size:16px}
.clc-role-motivation div div{display:flex;flex-wrap:wrap;gap:7px}
.clc-role-motivation em{padding:6px 9px;border-radius:999px;background:#fff;color:#647891;font-size:9px;font-style:normal;box-shadow:0 3px 10px rgba(35,61,93,.05)}

/* Growth completion notice: noticeable without becoming a blocking popup. */
.clc-notice.is-success:has(+ .clc-home-dashboard),
.clc-home-dashboard>.clc-notice.is-success{animation:clcGrowthNotice .46s ease-out}
@keyframes clcGrowthNotice{from{transform:translateY(-5px);opacity:.2}to{transform:translateY(0);opacity:1}}

@media(max-width:1280px){
	.clc-weekly-stage__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
	.clc-weekly-stage__grid article:nth-child(5){display:none}
	.clc-teacher-impact__stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
	.clc-growth-level-card{grid-template-columns:auto minmax(0,1fr)}
	.clc-growth-level-card__stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
	.clc-growth-level-card__stats div{min-width:0}
	.clc-growth-dashboard-grid{grid-template-columns:1fr}
	.clc-badge-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
	.clc-weekly-stage__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
	.clc-weekly-stage__grid article:nth-child(4){display:none}
}
@media(max-width:700px){
	.clc-growth-motivation{gap:13px;margin:14px 0 18px}
	.clc-growth-level-card{grid-template-columns:1fr;padding:18px;border-radius:20px}
	.clc-growth-level-card__mark{width:66px;height:66px;border-radius:21px}
	.clc-growth-level-card__mark strong{font-size:28px}
	.clc-growth-level-card__copy h3{font-size:21px}
	.clc-growth-level-card__stats{grid-template-columns:repeat(2,1fr)}
	.clc-daily-challenge{grid-template-columns:auto minmax(0,1fr);padding:15px}
	.clc-daily-challenge form,.clc-daily-challenge__reward{grid-column:1/-1;width:100%}
	.clc-daily-challenge button,.clc-daily-challenge__reward{width:100%}
	.clc-weekly-report,.clc-badge-preview,.clc-weekly-stage,.clc-teacher-impact{padding:16px;border-radius:18px}
	.clc-weekly-report__stats{grid-template-columns:repeat(2,1fr)}
	.clc-badge-preview>div{grid-template-columns:1fr 1fr}
	.clc-weekly-stage>header{align-items:flex-start}
	.clc-weekly-stage__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
	.clc-weekly-stage__grid article,.clc-weekly-stage__grid article:nth-child(4),.clc-weekly-stage__grid article:nth-child(5){display:block;flex:0 0 72%;scroll-snap-align:start}
	.clc-badge-level-summary{grid-template-columns:1fr;padding:18px}
	.clc-badge-level-summary>strong{width:70px;height:70px;border-radius:22px}
	.clc-badge-wall{grid-template-columns:1fr}
	.clc-teacher-goal{grid-template-columns:1fr;padding:17px}
	.clc-teacher-goal>strong{font-size:28px}
	.clc-teacher-impact__head{display:block}
	.clc-teacher-impact__head em{display:inline-flex;margin-top:10px}
	.clc-teacher-impact__stats{grid-template-columns:repeat(2,1fr)}
	.clc-role-motivation{padding:15px}
}
@media(max-width:420px){
	.clc-badge-preview>div{grid-template-columns:1fr}
	.clc-weekly-stage__grid article,.clc-weekly-stage__grid article:nth-child(4),.clc-weekly-stage__grid article:nth-child(5){flex-basis:82%}
}
@media(prefers-reduced-motion:reduce){
	.clc-growth-progress i,.clc-weekly-stage__media img,.clc-weekly-stage__grid article,.clc-daily-challenge button{transition:none!important}
	.clc-notice.is-success:has(+ .clc-home-dashboard),.clc-home-dashboard>.clc-notice.is-success{animation:none!important}
}

/* Charta Learning Center 2.5.3 — learner self-published cases */
.clc-icon-button.is-creative{border-color:rgba(126,91,239,.25)!important;background:linear-gradient(135deg,#eef3ff,#f5efff)!important;color:#5b3fc7!important}
.clc-student-case-submit{display:grid;gap:20px}
.clc-case-submit-notice{padding:13px 16px;border-radius:12px;font-weight:750}
.clc-case-submit-notice.is-success{border:1px solid #a7e7cf;background:#ecfdf5;color:#116149}
.clc-case-submit-notice.is-error{border:1px solid #fecaca;background:#fff1f2;color:#a61b34}
.clc-student-case-form{display:grid;gap:17px;padding:24px;border:1px solid #dae5f2;border-radius:22px;background:linear-gradient(180deg,#fff,#f9fbff);box-shadow:0 18px 44px rgba(30,62,98,.07)}
.clc-student-case-form label{display:grid;gap:8px;color:#203854;font-size:13px}
.clc-student-case-form label strong{font-size:14px}
.clc-student-case-form input[type=text],.clc-student-case-form input[type=url],.clc-student-case-form textarea{width:100%;box-sizing:border-box;border:1px solid #ccd9e9;border-radius:12px;background:#fff;padding:12px 13px;color:#1c3048;font:inherit;outline:none}
.clc-student-case-form input:focus,.clc-student-case-form textarea:focus{border-color:#5f6ff1;box-shadow:0 0 0 4px rgba(95,111,241,.1)}
.clc-student-case-form__grid,.clc-student-case-media-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.clc-student-case-media-fields label{padding:15px;border:1px dashed #b9cce3;border-radius:14px;background:#f7faff}
.clc-student-case-media-fields label span{color:#75859a;font-size:12px}
.clc-case-agreement{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:9px!important;color:#52677f!important;line-height:1.6}
.clc-case-agreement input{margin-top:4px}
.clc-my-case-list{padding:22px;border:1px solid #dae5f2;border-radius:22px;background:#fff}
.clc-my-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.clc-my-case-grid article{overflow:hidden;border:1px solid #e0e8f2;border-radius:16px;background:#fff}
.clc-my-case-grid article>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#edf3f8}
.clc-my-case-grid article>div{padding:13px}
.clc-my-case-grid article span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff5d8;color:#8a5b04;font-size:11px;font-weight:750}
.clc-my-case-grid article span.is-publish{background:#e8fbf2;color:#08745a}
.clc-my-case-grid article h4{margin:9px 0 5px;color:#193451;font-size:14px}
.clc-my-case-grid article time{display:block;color:#8491a1;font-size:11px}
.clc-my-case-grid article a{display:inline-block;margin-top:9px;color:#4e5fdd;font-size:12px;font-weight:750}
.clc-student-case-gallery{margin-top:30px}.clc-student-case-gallery>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.clc-student-case-gallery img{width:100%;height:auto;border-radius:16px}
.clc-student-case-video{margin-top:30px}.clc-student-case-video iframe{width:100%;max-width:100%;border:0;border-radius:16px}
@media(max-width:960px){.clc-my-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.clc-student-case-form{padding:18px}.clc-student-case-form__grid,.clc-student-case-media-fields,.clc-my-case-grid,.clc-student-case-gallery>div{grid-template-columns:1fr}}


/* Charta Learning Center 2.5.4 — assignment wizard diagnostics */
.clc-wizard-inline-error{margin:0 0 16px;padding:14px 16px;border:1px solid #fecaca;border-left:5px solid #ef4444;border-radius:14px;background:#fff1f2;color:#991b1b;font-weight:760;line-height:1.65;box-shadow:0 10px 26px rgba(153,27,27,.08)}
.clc-wizard-inline-error[hidden]{display:none!important}
.clc-publish-wizard .is-clc-invalid{border-color:#ef4444!important;background:#fff7f7!important;box-shadow:0 0 0 4px rgba(239,68,68,.12)!important;outline:0}
.clc-publish-wizard label small{display:block;margin-top:7px;color:#728096;font-size:12px;line-height:1.55;font-weight:560}
.clc-publish-wizard .clc-wizard-actions{position:relative;z-index:3}
.clc-publish-wizard button[data-clc-next],.clc-publish-wizard button[data-clc-prev]{touch-action:manipulation}


/* 2.6.1 points pill visibility fix */
.clc-app-header-actions .clc-points-pill,
.clc-workspace-header-actions .clc-points-pill{display:inline-flex!important;align-items:center!important;gap:10px!important;padding:8px 14px!important;border:1px solid #d6e1ee!important;border-radius:14px!important;background:#ffffff!important;color:#36506d!important;box-shadow:0 8px 22px rgba(30,54,86,.08)!important;text-decoration:none!important}
.clc-app-header-actions .clc-points-pill span,
.clc-workspace-header-actions .clc-points-pill span{display:block!important;color:#506986!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:0!important;text-shadow:none!important;opacity:1!important}
.clc-app-header-actions .clc-points-pill strong,
.clc-workspace-header-actions .clc-points-pill strong{display:block!important;color:#2c63d6!important;font-size:19px!important;font-weight:800!important;line-height:1.1!important;text-shadow:none!important}
.clc-app-header-actions .clc-points-pill.is-negative,
.clc-workspace-header-actions .clc-points-pill.is-negative{border-color:#ffd8dc!important;background:#fff5f6!important}
.clc-app-header-actions .clc-points-pill.is-negative span,
.clc-workspace-header-actions .clc-points-pill.is-negative span{color:#8a5860!important}
.clc-app-header-actions .clc-points-pill.is-negative strong,
.clc-workspace-header-actions .clc-points-pill.is-negative strong{color:#bf3040!important}


/* 2.6.2 definitive points label contrast and cache-bust fix */
.clc-learning-app .clc-app-header .clc-app-header-actions>a.clc-points-pill{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  gap:3px!important;min-width:94px!important;min-height:56px!important;padding:7px 14px!important;
  border:1px solid #cfddeb!important;border-radius:14px!important;background:#fff!important;
  box-shadow:0 8px 22px rgba(29,55,88,.10)!important;text-decoration:none!important;
}
.clc-learning-app .clc-app-header .clc-app-header-actions>a.clc-points-pill>span{
  display:block!important;margin:0!important;padding:0!important;background:transparent!important;
  color:#304b6b!important;font-size:13px!important;font-weight:800!important;line-height:1.15!important;
  letter-spacing:0!important;opacity:1!important;visibility:visible!important;text-shadow:none!important;
}
.clc-learning-app .clc-app-header .clc-app-header-actions>a.clc-points-pill>strong{
  display:block!important;margin:0!important;color:#245fd1!important;font-size:20px!important;font-weight:850!important;
  line-height:1.1!important;opacity:1!important;visibility:visible!important;text-shadow:none!important;
}
.clc-learning-app .clc-app-header .clc-app-header-actions>a.clc-points-pill.is-negative>strong{color:#bf3040!important}


/* 2.6.3 teacher assignment records */
.clc-teacher-assignments .clc-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.clc-assignment-record-list{display:grid;gap:13px}
.clc-assignment-record{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:22px;padding:18px 20px;border:1px solid #dfe7f0;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(29,52,82,.06)}
.clc-assignment-record.is-focus{border-color:#78a8ec;box-shadow:0 0 0 3px rgba(69,121,221,.10),0 10px 28px rgba(29,52,82,.08)}
.clc-assignment-record__meta{display:flex;align-items:center;gap:10px;margin-bottom:7px}.clc-assignment-record__meta span{display:inline-flex;padding:4px 9px;border-radius:999px;background:#edf4ff;color:#245fae;font-size:11px;font-weight:800}.clc-assignment-record__meta span.is-draft{background:#f2f3f5;color:#647386}.clc-assignment-record__meta span.is-pending,.clc-assignment-record__meta span.is-future{background:#fff5dd;color:#9b6900}.clc-assignment-record__meta em{color:#8190a2;font-size:12px;font-style:normal}.clc-assignment-record h3{margin:0 0 7px;color:#20364f;font-size:17px}.clc-assignment-record p{margin:0;color:#687b90;font-size:13px;line-height:1.65}
.clc-assignment-record__stats{display:flex;gap:10px}.clc-assignment-record__stats div{min-width:76px;padding:9px 12px;border:1px solid #e1e9f2;border-radius:12px;background:#f8fafc;text-align:center}.clc-assignment-record__stats strong{display:block;color:#2363bd;font-size:18px}.clc-assignment-record__stats span{display:block;margin-top:2px;color:#76869a;font-size:11px}
.clc-assignment-record__actions{display:flex;flex-direction:column;gap:6px;min-width:82px}.clc-assignment-record__actions a{display:flex;align-items:center;justify-content:center;min-height:32px;padding:0 10px;border:1px solid #d9e4ef;border-radius:9px;background:#fff;color:#315b8d!important;font-size:12px;font-weight:750;text-decoration:none!important}.clc-assignment-record__actions a:hover{border-color:#8eb1df;background:#f3f8ff}
@media(max-width:900px){.clc-assignment-record{grid-template-columns:minmax(0,1fr) auto}.clc-assignment-record__actions{grid-column:1/-1;flex-direction:row}.clc-assignment-record__actions a{flex:1}.clc-teacher-assignments .clc-section-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.clc-assignment-record{grid-template-columns:1fr;padding:16px}.clc-assignment-record__stats{width:100%}.clc-assignment-record__stats div{flex:1}.clc-assignment-record__actions{grid-column:auto;flex-wrap:wrap}}


/* 2.6.4 assignment audience diagnostics */
.clc-assignment-audience-warning{margin-top:9px;padding:9px 11px;border:1px solid #ffd7a8;border-radius:10px;background:#fff8ec;color:#8a520d;font-size:12px;font-weight:700}
.clc-assignment-record__actions form{display:inline-flex;margin:0}.clc-assignment-record__actions button{appearance:none;border:0;background:transparent;color:#2563b8;font:inherit;font-weight:750;cursor:pointer;padding:0}.clc-assignment-record__actions button:hover{text-decoration:underline}


/* 2.6.6 integrated learner chat */
.clc-learning-app.is-chat-tab .clc-app-shell{grid-template-columns:226px minmax(0,1fr)!important;grid-template-areas:"sidebar main"!important;align-items:start!important}
.clc-learning-app.is-chat-tab .clc-app-workspace{grid-area:main!important;min-width:0!important}
.clc-learning-app.is-chat-tab .clc-app-rail{display:none!important}
.clc-learning-app.is-chat-tab .clc-sidebar-help{display:none!important}
.clc-learning-app.is-chat-tab .clc-message-center.is-embedded{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.clc-learning-app.is-chat-tab .clc-message-center.is-embedded:before{display:none!important}
@media(max-width:900px){.clc-learning-app.is-chat-tab .clc-app-shell{grid-template-columns:1fr!important;grid-template-areas:"main"!important}.clc-learning-app.is-chat-tab .clc-app-sidebar{display:none!important}}

/* 2.6.7 personal-space navigation and clickable learner avatar */
.clc-app-profile>.clc-profile-avatar{display:block;position:relative;flex:0 0 auto;text-decoration:none!important;cursor:pointer}
.clc-app-profile>.clc-profile-avatar:focus-visible{outline:3px solid rgba(45,104,220,.25);outline-offset:4px;border-radius:50%}
.clc-learning-app[data-clc-tab="space"] .clc-app-workspace{grid-column:span 2;min-width:0}
.clc-learning-app[data-clc-tab="space"] .clc-personal-space{width:100%;max-width:none}
.clc-learning-app[data-clc-tab="space"] .clc-personal-space>header{position:relative;overflow:hidden;background:linear-gradient(135deg,#edf5ff,#fff 72%)}
@media(max-width:1100px){.clc-learning-app[data-clc-tab="space"] .clc-app-workspace{grid-column:auto}}


/* 2.6.8 — personal-space contact visibility and quick actions */
.clc-personal-contact-card{margin-top:18px;padding:15px;border:1px solid #dbe6f2;border-radius:16px;background:linear-gradient(145deg,#f8fbff,#f4f8fd);box-shadow:0 9px 24px rgba(30,58,92,.06)}
.clc-personal-contact-card__head{margin-bottom:12px}
.clc-personal-contact-card__head>span{display:block;margin-bottom:3px;color:#3672ca;font-size:9px;font-weight:900;letter-spacing:.14em}
.clc-personal-contact-card__head h3{margin:0;color:#203c5e;font-size:16px}
.clc-personal-contact-card__head p{margin:5px 0 0;color:#708198;font-size:11px;line-height:1.55}
.clc-personal-contact-list{display:grid;gap:9px}
.clc-personal-contact-list>a,.clc-personal-contact-list>div{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid #e1e8f1;border-radius:12px;background:#fff;color:inherit!important;text-decoration:none!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.clc-personal-contact-list>a:hover{transform:translateY(-1px);border-color:#aec9ea;box-shadow:0 9px 20px rgba(38,75,125,.09)}
.clc-contact-method-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:#eaf2ff;color:#2863bb;font-size:12px;font-weight:900}
.clc-personal-contact-list>a>span:nth-child(2),.clc-personal-contact-list>div>span:nth-child(2){min-width:0}
.clc-personal-contact-list small,.clc-personal-contact-list strong{display:block}
.clc-personal-contact-list small{margin-bottom:3px;color:#8290a3;font-size:10px;font-weight:700}
.clc-personal-contact-list strong{overflow-wrap:anywhere;color:#304963;font-size:12px;line-height:1.35}
.clc-personal-contact-list em{padding:4px 7px;border-radius:999px;background:#edf4ff;color:#2c65b6;font-size:10px;font-style:normal;font-weight:800;white-space:nowrap}
.clc-personal-contact-list .is-empty{grid-template-columns:36px minmax(0,1fr);opacity:.75}
.clc-contact-private-note{margin-top:18px;padding:14px;border:1px dashed #d6dfea;border-radius:14px;background:#f8fafc}
.clc-contact-private-note strong{display:block;margin-bottom:5px;color:#42566f;font-size:13px}
.clc-contact-private-note p{margin:0;color:#748398;font-size:11px;line-height:1.65}
@media(max-width:620px){.clc-personal-contact-card{padding:13px}.clc-personal-contact-list>a,.clc-personal-contact-list>div{grid-template-columns:34px minmax(0,1fr) auto;padding:9px}.clc-contact-method-icon{width:34px;height:34px}.clc-personal-contact-list em{display:none}}


/* Charta Learning Center 2.7.0 — learner home, notification and personal-space visual unification */
.clc-home-dashboard{gap:20px!important}
.clc-home-command{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);gap:26px;overflow:hidden;padding:28px;border:1px solid #d9e4f2;border-radius:24px;background:radial-gradient(circle at 8% 0,rgba(50,115,232,.15),transparent 31%),radial-gradient(circle at 95% 100%,rgba(117,82,229,.13),transparent 34%),linear-gradient(135deg,#f8fbff 0%,#fff 62%,#f8f6ff 100%);box-shadow:0 16px 44px rgba(31,58,94,.09)}
.clc-home-command:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#2c68dc,#18b6c3,#7555e6)}
.clc-home-command__copy,.clc-home-command__metrics{position:relative;z-index:1}
.clc-home-command__copy>span{display:block;color:#3267ba;font-size:10px;font-weight:900;letter-spacing:.13em}
.clc-home-command__copy h2{max-width:620px;margin:7px 0 10px;color:#172f4c;font-size:clamp(24px,2.6vw,36px);line-height:1.22;letter-spacing:-.025em}
.clc-home-command__copy>p{max-width:650px;margin:0;color:#687b92;font-size:13px;line-height:1.78}
.clc-home-command__actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:19px}
.clc-home-command__actions a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid #d8e3f0;border-radius:12px;background:#fff;color:#35506f!important;font-size:12px;font-weight:820;text-decoration:none!important;box-shadow:0 6px 17px rgba(31,58,91,.055)}
.clc-home-command__actions a:hover{border-color:#9bbce8;transform:translateY(-1px)}
.clc-home-command__actions a.is-primary{border-color:#2c65d5;background:linear-gradient(135deg,#2d68dc,#5e55dd);color:#fff!important;box-shadow:0 10px 23px rgba(54,81,210,.2)}
.clc-home-command__actions em{display:grid;place-items:center;min-width:19px;height:19px;margin-left:7px;padding:0 5px;border-radius:999px;background:#ef4858;color:#fff;font-size:9px;font-style:normal}
.clc-home-command__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-self:stretch}
.clc-home-command__metrics>a{position:relative;display:flex;min-width:0;flex-direction:column;justify-content:center;min-height:116px;padding:17px;border:1px solid rgba(210,224,240,.95);border-radius:18px;background:rgba(255,255,255,.86);color:inherit!important;text-decoration:none!important;box-shadow:0 8px 22px rgba(28,54,88,.05);transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease}
.clc-home-command__metrics>a:hover{transform:translateY(-2px);border-color:#abc4e6;box-shadow:0 14px 28px rgba(28,54,88,.09)}
.clc-home-command__metrics>a.has-attention:after{content:"";position:absolute;right:14px;top:14px;width:9px;height:9px;border:3px solid #fff;border-radius:50%;background:#ee4d5b;box-shadow:0 0 0 1px rgba(238,77,91,.2)}
.clc-home-command__metrics span{color:#657992;font-size:11px;font-weight:800}
.clc-home-command__metrics strong{margin:5px 0 4px;color:#2a63d2;font-size:30px;line-height:1;font-variant-numeric:tabular-nums}
.clc-home-command__metrics small{overflow:hidden;color:#8a99aa;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.clc-home-command__metrics .is-revision strong{color:#d27725}
.clc-home-command__metrics .is-chat strong{color:#7053d5}
.clc-focus-task{border-radius:20px!important;box-shadow:0 11px 28px rgba(31,57,90,.065)!important}
.clc-home-panel,.clc-deadline-board{border-radius:20px!important;box-shadow:0 10px 27px rgba(31,57,90,.055)!important}
.clc-icon-button,.clc-app-nav a,.clc-mobile-nav a{position:relative}
.clc-icon-button em{display:grid;place-items:center;min-width:19px;height:19px;margin-left:6px;padding:0 5px;border-radius:999px;background:#ec4b59;color:#fff;font-size:9px;font-style:normal;box-shadow:0 3px 8px rgba(219,49,67,.25)}
.clc-message-list article{position:relative;grid-template-columns:42px minmax(0,1fr);padding:15px 16px;border-radius:16px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.clc-message-list article:hover{transform:translateY(-1px);border-color:#c7d9ee;box-shadow:0 9px 22px rgba(31,57,90,.07)}
.clc-message-list article.is-unread:after{content:"";position:absolute;right:13px;top:13px;width:8px;height:8px;border-radius:50%;background:#ed4b5b;box-shadow:0 0 0 4px rgba(237,75,91,.10)}
.clc-message-list article.is-read{opacity:.9}
.clc-message-list .clc-message-icon{width:42px;height:42px;border-radius:14px}
.clc-message-title>div{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.clc-message-title>div>strong{min-width:0}
.clc-message-type{display:inline-flex;align-items:center;min-height:21px;padding:2px 7px;border-radius:999px;background:#edf3fb;color:#527092;font-size:9px;font-style:normal;font-weight:850;letter-spacing:.04em}
.clc-message-list .is-type-assignment .clc-message-icon,.clc-message-list .is-type-deadline .clc-message-icon{background:#eaf2ff;color:#2863ca}
.clc-message-list .is-type-revision .clc-message-icon,.clc-message-list .is-type-penalty .clc-message-icon{background:#fff3e5;color:#c57420}
.clc-message-list .is-type-review .clc-message-icon,.clc-message-list .is-type-excellent .clc-message-icon{background:#eaf9f1;color:#14805d}
.clc-message-list .is-type-chat_friend .clc-message-icon,.clc-message-list .is-type-chat_mention .clc-message-icon{background:#f0edff;color:#6a4fcb}
.clc-message-list footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}
.clc-message-list footer a{font-size:11px;font-weight:820;text-decoration:none!important}
.clc-personal-space{display:grid;gap:20px}
.clc-personal-space>header.clc-personal-hero{position:relative;display:grid;grid-template-columns:minmax(300px,1fr) auto auto;align-items:center;gap:24px;overflow:hidden;padding:30px;border:1px solid #d9e5f2;border-radius:26px;background:radial-gradient(circle at 5% 0,rgba(47,111,218,.17),transparent 29%),radial-gradient(circle at 96% 100%,rgba(117,82,229,.13),transparent 31%),linear-gradient(135deg,#f6faff,#fff 68%,#f8f6ff);box-shadow:0 16px 42px rgba(30,57,91,.085)}
.clc-personal-space>header.clc-personal-hero:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#2c68dc,#18b6c3,#7555e6)}
.clc-personal-hero__identity{position:relative;z-index:1;display:grid!important;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:19px;min-width:0}
.clc-personal-hero__identity>img{width:112px;height:112px;border:5px solid #fff;border-radius:30px!important;object-fit:cover;box-shadow:0 12px 28px rgba(30,57,91,.16)}
.clc-personal-hero__identity>div{min-width:0}
.clc-personal-hero__identity span{display:inline-flex!important;align-items:center;min-height:25px;padding:3px 9px;border-radius:999px;background:#e8f1ff;color:#285fbd!important;font-size:10px!important;font-weight:850!important}
.clc-personal-hero__identity h1{margin:7px 0 5px!important;color:#17304e;font-size:clamp(28px,3vw,38px)!important;line-height:1.1}
.clc-personal-hero__identity p{margin:0;color:#64778f!important;font-size:13px}
.clc-personal-hero__identity small{display:block;margin-top:8px;color:#8a99aa;font-size:10px}
.clc-personal-hero__metrics{position:relative;z-index:1;display:grid!important;grid-template-columns:repeat(3,minmax(76px,1fr));gap:8px}
.clc-personal-hero__metrics>div{display:flex!important;min-width:76px;flex-direction:column;align-items:center;justify-content:center;min-height:82px;padding:11px;border:1px solid #dce6f1;border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 7px 18px rgba(31,57,89,.05)}
.clc-personal-hero__metrics strong{color:#2a63d0!important;font-size:24px!important;line-height:1.1!important;text-align:center!important}
.clc-personal-hero__metrics span{margin-top:5px;color:#78899e!important;font-size:9px!important;letter-spacing:0!important}
.clc-personal-hero__actions{position:relative;z-index:1;display:grid!important;gap:8px;justify-items:stretch}
.clc-personal-hero__actions .clc-profile-friend-action{margin:0!important}
.clc-personal-edit-link{display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid #d7e3f0;border-radius:12px;background:#fff;color:#315d9d!important;font-size:11px;font-weight:820;text-decoration:none!important;box-shadow:0 7px 18px rgba(31,57,89,.06)}
.clc-personal-space__grid{grid-template-columns:minmax(0,1fr) 330px!important;gap:20px!important;margin-top:0!important}
.clc-personal-space__grid>main>section,.clc-personal-space__grid>aside>section,.clc-contact-private-note{padding:23px;border:1px solid #e0e8f1;border-radius:21px;background:#fff;box-shadow:0 9px 25px rgba(31,57,89,.045)}
.clc-personal-space__grid>aside{display:grid;gap:16px;align-content:start;padding:0!important;border:0!important;background:transparent!important}
.clc-personal-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}
.clc-personal-section-head span{display:block;color:#3169bd;font-size:9px;font-weight:900;letter-spacing:.13em}
.clc-personal-section-head h2{margin:3px 0 0;color:#1d3553;font-size:19px}
.clc-personal-section-head em{padding:5px 8px;border-radius:999px;background:#eef4fb;color:#637892;font-size:9px;font-style:normal;font-weight:800}
.clc-profile-completeness{overflow:hidden;height:8px;margin:-4px 0 15px;border-radius:999px;background:#e6edf5}
.clc-profile-completeness i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2c69dd,#18b5c2,#7555e6)}
.clc-personal-about>p{margin:0;color:#65778d;line-height:1.85}
.clc-personal-empty{padding:34px 22px;border:1px dashed #cad7e7;border-radius:17px;background:#f8fafc;text-align:center}
.clc-personal-empty strong{color:#344b68}
.clc-personal-empty p{margin:7px 0 0;color:#8090a4;font-size:12px;line-height:1.65}
.clc-personal-identity-card dl{grid-template-columns:92px minmax(0,1fr)!important}
.clc-personal-contact-card{margin:0!important;border-radius:21px!important;box-shadow:0 9px 25px rgba(31,57,89,.045)}
@media(max-width:1180px){.clc-home-command{grid-template-columns:1fr}.clc-home-command__metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.clc-home-command__metrics>a{min-height:103px}.clc-personal-space>header.clc-personal-hero{grid-template-columns:1fr auto}.clc-personal-hero__actions{grid-column:1/-1;display:flex!important}.clc-personal-hero__actions>*{flex:1}.clc-personal-hero__actions .clc-profile-friend-action .clc-contact-action{width:100%}}
@media(max-width:900px){.clc-home-command__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-personal-space>header.clc-personal-hero{grid-template-columns:1fr}.clc-personal-hero__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.clc-personal-space__grid{grid-template-columns:1fr!important}}
@media(max-width:700px){.clc-home-command{gap:19px;padding:20px;border-radius:20px}.clc-home-command__copy h2{font-size:25px}.clc-home-command__actions{display:grid;grid-template-columns:1fr 1fr}.clc-home-command__actions a{width:100%}.clc-home-command__actions a.is-primary{grid-column:1/-1}.clc-home-command__metrics>a{min-height:100px;padding:14px}.clc-home-command__metrics strong{font-size:26px}.clc-message-list article{grid-template-columns:38px minmax(0,1fr);padding:13px}.clc-message-list .clc-message-icon{width:38px;height:38px}.clc-message-list footer{align-items:flex-start;flex-direction:column;gap:5px}.clc-personal-space>header.clc-personal-hero{padding:21px;border-radius:21px}.clc-personal-hero__identity{grid-template-columns:78px minmax(0,1fr);gap:14px}.clc-personal-hero__identity>img{width:78px;height:78px;border-radius:22px!important}.clc-personal-hero__identity h1{font-size:26px!important}.clc-personal-hero__metrics{gap:6px}.clc-personal-hero__metrics>div{min-width:0;min-height:72px;padding:8px}.clc-personal-hero__metrics strong{font-size:20px!important}.clc-personal-hero__actions{display:grid!important;grid-template-columns:1fr}.clc-personal-space__grid>main>section,.clc-personal-space__grid>aside>section,.clc-contact-private-note{padding:18px;border-radius:18px}}
@media(max-width:430px){.clc-home-command__actions{grid-template-columns:1fr}.clc-home-command__actions a.is-primary{grid-column:auto}.clc-home-command__metrics{gap:7px}.clc-home-command__metrics>a{min-height:94px;padding:12px}.clc-personal-hero__identity{grid-template-columns:64px minmax(0,1fr)}.clc-personal-hero__identity>img{width:64px;height:64px;border-width:3px;border-radius:18px!important}.clc-personal-hero__identity p{font-size:11px}.clc-personal-hero__metrics span{font-size:8px!important}}
@media(prefers-reduced-motion:reduce){.clc-home-command__metrics>a,.clc-home-command__actions a,.clc-message-list article{transition:none!important}}


/* 2.8.0 first-use onboarding */
.clc-onboarding-card{margin:0 0 22px;padding:20px;border:1px solid #dbe6f4;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#fff 58%,#f8f5ff);box-shadow:0 12px 32px rgba(35,58,91,.07)}
.clc-onboarding-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.clc-onboarding-card header span{display:block;color:#3567b8;font-size:11px;font-weight:850;letter-spacing:.1em}.clc-onboarding-card h3{margin:4px 0;color:#18395e;font-size:21px}.clc-onboarding-card header p{margin:0;color:#6d7f94}.clc-onboarding-card header>strong{display:flex;align-items:center;justify-content:center;min-width:66px;height:44px;border-radius:13px;background:#eaf2ff;color:#245eb7;font-size:16px}.clc-onboarding-progress{height:7px;margin:16px 0;border-radius:999px;background:#e8eef6;overflow:hidden}.clc-onboarding-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#36b9c7,#7a5ce5)}.clc-onboarding-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.clc-onboarding-steps a{display:flex;align-items:center;gap:8px;min-width:0;padding:11px;border:1px solid #e1e8f1;border-radius:13px;background:#fff;color:#3d536d!important;text-decoration:none!important}.clc-onboarding-steps a:hover{border-color:#9fbce4;transform:translateY(-1px)}.clc-onboarding-steps b{display:flex;align-items:center;justify-content:center;flex:0 0 25px;height:25px;border-radius:50%;background:#edf3fb;color:#2e62aa;font-size:11px}.clc-onboarding-steps span{min-width:0;flex:1;font-size:12px;font-weight:750;line-height:1.35}.clc-onboarding-steps em{display:none;font-size:10px;font-style:normal}.clc-onboarding-steps .is-done{background:#f5fbf8;color:#416356!important}.clc-onboarding-steps .is-done b{background:#daf3e5;color:#238253}.clc-onboarding-card form{text-align:right}.clc-onboarding-card form button{margin-top:12px;border:0;background:transparent;color:#7a8999;font-size:11px;cursor:pointer}.clc-onboarding-card form button:hover{color:#245eb7}
@media(max-width:900px){.clc-onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.clc-onboarding-card{padding:16px}.clc-onboarding-card header{gap:10px}.clc-onboarding-card header>strong{min-width:54px}.clc-onboarding-steps{grid-template-columns:1fr}.clc-onboarding-steps em{display:block}}


/* 2.8.1 teacher center and ranking profile links */
.clc-operations-grid.is-notice-only{grid-template-columns:1fr!important}
.clc-rail-champion,.clc-rail-rank-row,.clc-leaderboard-row{color:inherit!important;text-decoration:none!important;cursor:pointer}
.clc-rail-champion:hover{border-color:#e4c97e;box-shadow:0 8px 24px rgba(72,55,21,.10);transform:translateY(-1px)}
.clc-rail-rank-row:hover,.clc-leaderboard-row:hover{text-decoration:none!important}
.clc-rail-champion:focus-visible,.clc-rail-rank-row:focus-visible,.clc-leaderboard-row:focus-visible{outline:3px solid rgba(37,99,235,.24);outline-offset:2px}
.clc-leaderboard-row{width:100%;box-sizing:border-box}


/* ================================================================
 * Charta Learning Center 2.8.3 — review history and honor rail polish
 * ================================================================ */
.clc-review-filter-tabs{display:flex;align-items:center;gap:8px;margin:14px 0 16px;padding:6px;border:1px solid #dfe7f1;border-radius:16px;background:#f4f7fb;box-shadow:0 8px 24px rgba(34,57,86,.05)}
.clc-review-filter-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border-radius:11px;color:#62758d!important;font-size:13px;font-weight:800;text-decoration:none!important;transition:.18s ease}
.clc-review-filter-tabs a:hover{background:#fff;color:#245fc3!important}
.clc-review-filter-tabs a.is-active{background:linear-gradient(135deg,#245edb,#527bf0);color:#fff!important;box-shadow:0 8px 18px rgba(36,94,219,.22)}
.clc-front-review-list.is-history-list>a{grid-template-columns:30px 44px minmax(0,1fr) auto auto!important;min-height:72px!important;padding:12px 14px!important;border:1px solid #e2e9f2!important;background:#fff!important}
.clc-front-review-list.is-history-list>a:hover{border-color:#b8cce8!important;background:#f8fbff!important;transform:translateY(-1px)}
.clc-front-review-list.is-history-list>a.is-reviewed{border-left:4px solid #32a879!important}
.clc-front-review-list.is-history-list>a.is-pending{border-left:4px solid #ed9b31!important}
.clc-review-record-status{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:70px!important;min-height:28px!important;padding:4px 9px!important;border-radius:999px!important;background:#edf3fa!important;color:#49627e!important;font-size:11px!important;font-weight:850!important;white-space:nowrap!important}
.clc-review-record-status.is-passed,.clc-review-record-status.is-excellent{background:#e8f8f1!important;color:#17805c!important}
.clc-review-record-status.is-revision{background:#fff4dc!important;color:#a36b0a!important}
.clc-review-record-status.is-failed{background:#fff0f1!important;color:#b43b48!important}
.clc-front-review-detail .clc-review-context{padding:12px 15px!important;border:1px solid #dfe7f1!important;border-radius:14px!important;background:#f8fbff!important}

@media(min-width:1221px){
 .clc-app-shell{grid-template-columns:226px minmax(0,1fr) 368px!important}
 .clc-teacher-shell,.clc-role-shell{grid-template-columns:minmax(0,1fr) 368px!important}
}
.clc-rail-ranking{position:relative!important;overflow:hidden!important;padding:20px!important;border:1px solid #dce7f3!important;border-radius:24px!important;background:linear-gradient(155deg,#ffffff 0%,#f7faff 58%,#f4fbfa 100%)!important;box-shadow:0 18px 46px rgba(27,55,88,.11)!important}
.clc-rail-ranking:before{content:"";position:absolute;right:-52px;top:-64px;width:154px;height:154px;border-radius:50%;background:radial-gradient(circle,rgba(55,119,229,.15),rgba(55,119,229,0) 70%);pointer-events:none}
.clc-rail-ranking .clc-rail-card-head{position:relative;margin-bottom:14px!important}
.clc-rail-ranking .clc-rail-card-head h3{font-size:21px!important;letter-spacing:-.02em!important}
.clc-rail-ranking .clc-rail-card-head>b{padding:5px 9px!important;border-radius:999px!important;background:#eaf4ff!important;color:#2865b6!important;font-size:10px!important}
.clc-rail-rank-tabs{position:relative;gap:7px!important;margin-bottom:15px!important;padding:5px!important;border:1px solid #e1e8f0!important;border-radius:15px!important;background:#eef3f8!important}
.clc-rail-rank-tabs button{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:43px!important;border-radius:11px!important;font-size:13px!important}
.clc-rail-rank-tabs button b{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:20px!important;padding:2px 6px!important;border-radius:999px!important;background:rgba(89,112,141,.10)!important;color:#748399!important;font-size:9px!important;letter-spacing:.04em!important}
.clc-rail-rank-tabs button.is-active{background:#fff!important;color:#245fc3!important;box-shadow:0 7px 18px rgba(35,64,98,.11)!important}
.clc-rail-rank-tabs button.is-active b{background:#e9f1ff!important;color:#245fc3!important}
.clc-rail-champion{position:relative!important;min-height:92px!important;padding:15px 14px!important;border:1px solid #f0d996!important;border-radius:18px!important;background:linear-gradient(135deg,#fff7dc 0%,#fffdf7 52%,#fff 100%)!important;box-shadow:0 12px 28px rgba(164,112,22,.10)!important}
.clc-rail-champion .clc-rail-crown{font-size:22px!important;color:#c98a15!important}
.clc-rail-champion img{width:58px!important;height:58px!important;box-shadow:0 0 0 4px rgba(255,210,95,.24)!important}
.clc-rail-champion strong{font-size:14px!important;color:#2a405a!important}
.clc-rail-champion em{font-size:20px!important;color:#b87a0e!important}
.clc-rail-rank-list{gap:7px!important;margin-top:10px!important}
.clc-rail-rank-row{grid-template-columns:28px 42px minmax(0,1fr) auto!important;min-height:58px!important;padding:8px 10px!important;border:1px solid #e8edf3!important;border-radius:14px!important;background:rgba(255,255,255,.88)!important;box-shadow:0 5px 14px rgba(36,58,86,.035)!important;transition:.18s ease!important}
.clc-rail-rank-row:hover{border-color:#bfd2e9!important;background:#fff!important;box-shadow:0 9px 20px rgba(37,68,105,.09)!important;transform:translateY(-1px)!important}
.clc-rail-rank-row>b{width:27px!important;height:27px!important;border-radius:9px!important;font-size:11px!important}
.clc-rail-rank-row img{width:42px!important;height:42px!important;box-shadow:0 0 0 2px #fff,0 3px 10px rgba(29,53,82,.12)!important}
.clc-rail-rank-row strong{font-size:13px!important}
.clc-rail-rank-row span{font-size:10px!important}
.clc-rail-rank-row em{padding-left:5px!important;font-size:13px!important}
.clc-rail-rank-row:nth-child(1)>b{background:#fff0bd!important;color:#a66c08!important}
.clc-rail-rank-row:nth-child(2)>b{background:#edf1f6!important;color:#60748b!important}
.clc-rail-ranking>footer{margin-top:15px!important;padding-top:13px!important}
@media(max-width:700px){
 .clc-review-filter-tabs{display:grid;grid-template-columns:repeat(3,1fr)}
 .clc-review-filter-tabs a{padding:0 8px}
 .clc-front-review-list.is-history-list>a{grid-template-columns:26px 42px minmax(0,1fr) auto!important}
 .clc-front-review-list.is-history-list>a>.clc-review-record-status{grid-column:3!important;justify-self:start!important}
 .clc-front-review-list.is-history-list>a>em{grid-column:4!important;grid-row:1/3!important}
 .clc-rail-ranking{padding:16px!important;border-radius:19px!important}
}


/* 2.8.5 teacher ownership and peer-work browsing */
.clc-assignment-scope-tabs{display:inline-flex;gap:6px;margin:0 0 18px;padding:5px;border:1px solid #dce5ef;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(31,55,86,.06)}
.clc-assignment-scope-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:10px;color:#536a84!important;font-weight:800;text-decoration:none!important}.clc-assignment-scope-tabs a.is-active{background:linear-gradient(135deg,#eaf2ff,#eef7ff);color:#245fc7!important;box-shadow:inset 0 0 0 1px #cdddf4}
.clc-assignment-record.is-readonly{border-color:#dfe6ef;background:linear-gradient(135deg,#fff,#f8fafc)}.clc-assignment-record__main h3 a{color:inherit!important;text-decoration:none!important}.clc-assignment-record__meta b{color:#6f7f91;font-size:12px}.clc-assignment-readonly-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:118px;padding:13px;border:1px dashed #cbd8e7;border-radius:14px;background:#f8fbff}.clc-assignment-readonly-badge strong{color:#385979}.clc-assignment-readonly-badge span{margin-top:3px;color:#8796a8;font-size:11px}.clc-assignment-record__actions button.is-danger{border-color:#ffd3d7!important;background:#fff5f6!important;color:#b43140!important}
.clc-teacher-assignment-preview{display:grid;gap:18px}.clc-teacher-assignment-preview>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px;border:1px solid #dbe5f0;border-radius:20px;background:linear-gradient(135deg,#fff,#f4f8fd);box-shadow:0 12px 34px rgba(31,53,80,.07)}.clc-teacher-assignment-preview>header span{color:#2864be;font-size:12px;font-weight:900;letter-spacing:.1em}.clc-teacher-assignment-preview>header h2{margin:7px 0;color:#1e3653;font-size:30px}.clc-teacher-assignment-preview>header p{margin:0;color:#6d7f92}.clc-preview-actions a{display:inline-flex;align-items:center;min-height:42px;padding:0 15px;border-radius:11px;background:#2e66d5;color:#fff!important;font-weight:800;text-decoration:none!important}.clc-preview-content{padding:28px;border:1px solid #dfe7f0;border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(35,55,82,.06)}.clc-preview-content>h3{margin-top:0;color:#1f3856;font-size:22px}.clc-readonly-notice{padding:18px 20px;border:1px solid #d9e3ee;border-radius:16px;background:#f7faff}.clc-readonly-notice strong{color:#355a83}.clc-readonly-notice p{margin:4px 0 0;color:#708297}
.clc-peer-works{margin-top:24px;padding:26px;border:1px solid #dce6f1;border-radius:22px;background:linear-gradient(145deg,#f8fbff,#fff);box-shadow:0 14px 36px rgba(35,58,88,.07)}.clc-peer-works>header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.clc-peer-works>header span{color:#6a4fd1;font-size:11px;font-weight:900;letter-spacing:.13em}.clc-peer-works>header h2{margin:5px 0;color:#203a59;font-size:25px}.clc-peer-works>header p{margin:0;color:#708195}.clc-peer-works>header>em{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#eeeaff;color:#6048bd;font-size:12px;font-style:normal;font-weight:800}.clc-peer-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.clc-peer-work-card{display:flex;flex-direction:column;min-width:0;padding:18px;border:1px solid #e0e8f1;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(33,55,83,.06)}.clc-peer-work-author{display:flex;align-items:center;justify-content:space-between;gap:10px}.clc-peer-work-author>a{display:flex;align-items:center;gap:10px;min-width:0;color:inherit!important;text-decoration:none!important}.clc-peer-work-author img{width:48px;height:48px;border-radius:14px;object-fit:cover}.clc-peer-work-author div{min-width:0}.clc-peer-work-author strong{display:block;overflow:hidden;color:#243f5f;text-overflow:ellipsis;white-space:nowrap}.clc-peer-work-author span{display:block;margin-top:3px;color:#8090a2;font-size:11px}.clc-peer-work-text{margin-top:15px;padding:13px 14px;border-radius:13px;background:#f7f9fc;color:#4a6079;line-height:1.75}.clc-peer-work-text p{margin:0}.clc-peer-work-link{margin:12px 0 0}.clc-peer-work-link a{font-weight:800;text-decoration:none!important}.clc-peer-media{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.clc-peer-media .clc-media-item{min-width:0}.clc-peer-empty{margin:14px 0 0;color:#8795a5}.clc-peer-work-card footer{margin-top:auto;padding-top:15px}.clc-peer-work-card footer a{color:#2d63c8!important;font-weight:800;text-decoration:none!important}
@media(max-width:900px){.clc-peer-work-grid{grid-template-columns:1fr}.clc-teacher-assignment-preview>header{flex-direction:column}.clc-assignment-record__stats,.clc-assignment-readonly-badge{width:100%}}
@media(max-width:600px){.clc-assignment-scope-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.clc-assignment-scope-tabs a{padding:0 10px}.clc-peer-works{padding:18px}.clc-peer-works>header{align-items:flex-start;flex-direction:column}.clc-peer-media{grid-template-columns:1fr}.clc-teacher-assignment-preview>header,.clc-preview-content{padding:20px}.clc-teacher-assignment-preview>header h2{font-size:24px}}

/* 2.9.0 review efficiency, autosave and read receipt */
.clc-review-context{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important}
.clc-review-context__status{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;min-width:0}
.clc-review-context__status>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clc-review-context__status>em{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:800;font-style:normal;white-space:nowrap}
.clc-review-context__status>em.is-read{background:#eaf8f1;color:#247251}
.clc-review-context__status>em.is-unread{background:#fff6df;color:#94680e}
.clc-review-neighbor-nav{display:flex;align-items:center;gap:7px}
.clc-review-neighbor-nav a,.clc-review-neighbor-nav span{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border:1px solid #dce5ef;border-radius:9px;background:#fff;color:#36536f;font-size:11px;font-weight:780;text-decoration:none;white-space:nowrap}
.clc-review-neighbor-nav a:hover{border-color:#9bbbe2;background:#f2f7fd;color:#1e5eaf}
.clc-review-neighbor-nav span{background:#f6f8fa;color:#a3adba}
.clc-review-comment-section{padding:13px!important;background:linear-gradient(180deg,#fbfdff,#f8fafc)!important}
.clc-review-comment-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}
.clc-review-comment-heading h3{margin:0!important;color:#2b3f58!important;font-size:14px!important;line-height:1.35!important}
.clc-review-comment-heading p{margin:3px 0 0;color:#7b899a;font-size:10.5px;line-height:1.5}
.clc-review-comment-heading>span{flex:0 0 auto;padding:4px 7px;border-radius:7px;background:#eef4fb;color:#60748b;font-size:9.5px;font-weight:750;white-space:nowrap}
.clc-review-comment-heading>span.is-short{background:#fff6e6;color:#976813}
.clc-review-comment-heading>span.is-long{background:#fff0f1;color:#a8404b}
.clc-comment-suggestions{margin-bottom:9px;padding:9px;border:1px solid #e3eaf2;border-radius:10px;background:#fff}
.clc-comment-suggestions__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.clc-comment-suggestions__head strong{color:#42576f;font-size:10.5px}
.clc-comment-suggestions__head span{color:#8a97a7;font-size:9px}
.clc-comment-presets{display:flex;gap:6px;flex-wrap:wrap}
.clc-comment-presets[hidden]{display:none!important}
.clc-comment-presets button{max-width:100%!important;min-height:28px;padding:5px 9px;border:1px solid #dce6f1;border-radius:8px;background:#f8fbff;color:#526a83;font-size:10px;font-weight:700;line-height:1.35;cursor:pointer;white-space:normal!important;text-align:left}
.clc-comment-presets button:hover{border-color:#9dbce0;background:#edf5ff;color:#255e9f}
.clc-comment-custom{margin-top:7px;border-top:1px dashed #e3e9f0;padding-top:6px}
.clc-comment-custom summary{color:#6a7d91;font-size:9.5px;font-weight:750;cursor:pointer}
.clc-comment-custom[open] summary{margin-bottom:7px}
.clc-front-review-form textarea[name="comment"]{min-height:122px!important;padding:10px 11px!important;border-color:#d7e1ec!important;border-radius:10px!important;background:#fff!important;color:#2f435a!important;font-size:12px!important;line-height:1.7!important;resize:vertical}
.clc-front-review-form textarea[name="comment"]:focus{border-color:#6c9ed9!important;box-shadow:0 0 0 3px rgba(65,126,197,.11)!important;outline:0!important}
.clc-result-help{margin:7px 0 0;color:#74849a;font-size:10px;line-height:1.55}
.clc-review-validation{margin:8px 0 0;padding:8px 10px;border:1px solid #f2c9cd;border-radius:9px;background:#fff4f5;color:#a63843;font-size:10.5px;font-weight:700;line-height:1.55}
.clc-review-autosave{position:relative;padding-left:31px!important}
.clc-review-autosave:before{content:"✓";position:absolute;left:11px;top:50%;display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#dceaf8;color:#286cae;font-size:9px;font-weight:900;transform:translateY(-50%)}
.clc-review-history{margin-top:18px;padding-top:18px;border-top:1px solid #e4eaf1}
.clc-review-history>header span{color:#3473bd;font-size:9px;font-weight:900;letter-spacing:.12em}
.clc-review-history>header h3{margin:3px 0;color:#2b4059;font-size:16px}
.clc-review-history>header p{margin:0 0 11px;color:#7b8999;font-size:11px}
.clc-review-history>div{display:grid;gap:8px}
.clc-review-history article{padding:11px 12px;border:1px solid #e2e8ef;border-radius:11px;background:#fafcfe}
.clc-review-history article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.clc-review-history article strong{color:#344c65;font-size:11px}
.clc-review-history article span{color:#8a96a4;font-size:9.5px}
.clc-review-history article p{margin:6px 0 0;color:#617285;font-size:10.5px;line-height:1.6}
@media(max-width:900px){.clc-review-context{grid-template-columns:1fr!important}.clc-review-context__status{justify-content:flex-start}.clc-review-neighbor-nav{width:100%}.clc-review-neighbor-nav a,.clc-review-neighbor-nav span{flex:1}.clc-review-comment-heading{flex-direction:column;gap:6px}.clc-review-history article>div{align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:520px){.clc-comment-presets{display:grid;grid-template-columns:1fr}.clc-comment-presets button{width:100%}.clc-front-review-form form>section{padding:11px!important}.clc-review-comment-heading>span{white-space:normal}.clc-review-context__status>span{white-space:normal}}


/* 2.9.1: daily check-in interaction feedback. */
.clc-daily-checkin-form{margin:0!important}
.clc-checkin-live-status{min-height:18px;margin:7px 2px 0!important;color:#64748b!important;font-size:11px!important;line-height:1.45!important;text-align:center!important}
.clc-checkin-live-status.is-loading{color:#2563eb!important}
.clc-checkin-live-status.is-success{color:#15803d!important;font-weight:700!important}
.clc-checkin-live-status.is-error{color:#b42318!important;font-weight:700!important}
.clc-checkin-notice{margin:0 0 9px;padding:8px 10px;border-radius:10px;font-size:11px;line-height:1.5;text-align:center}
.clc-checkin-notice.is-success{background:#ecfdf3;color:#167647}
.clc-checkin-notice.is-error{background:#fff1f2;color:#b42318}
.clc-rail-checkin .charta-checkin-button:disabled{opacity:1!important}

/* =========================================================
 * Charta Learning Center 3.0.0 — six-course system
 * ======================================================= */
.clc-track-badge-link{display:inline-flex;text-decoration:none!important}.clc-track-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;padding:5px 9px;border:1px solid #dbe6f2;border-radius:999px;background:#f6f9fd;color:#3f5875;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap}.clc-track-badge b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e9f1ff;color:#245fc7;font-size:10px}.clc-track-badge.is-blue{border-color:#cfe0ff;background:#eef5ff;color:#2459a6}.clc-track-badge.is-purple{border-color:#ddd5ff;background:#f5f2ff;color:#674db2}.clc-track-badge.is-orange{border-color:#ffe0bd;background:#fff7ec;color:#a65b13}.clc-track-badge.is-cyan{border-color:#c4edf0;background:#edfafa;color:#087f89}.clc-track-badge.is-indigo{border-color:#d3ddff;background:#f1f4ff;color:#405dc1}.clc-track-badge.is-rose{border-color:#f5cedd;background:#fff2f7;color:#a83f67}.clc-track-badge.is-unclassified{border-style:dashed;color:#9b5d24;background:#fffaf2}
.clc-course-system-overview,.clc-teacher-track-overview{margin:20px 0;padding:20px;border:1px solid #dde7f2;border-radius:20px;background:linear-gradient(145deg,#fff,#f7faff);box-shadow:0 12px 32px rgba(31,55,88,.06)}.clc-course-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:15px}.clc-course-mini-grid>a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:13px;border:1px solid #e0e8f1;border-radius:15px;background:#fff;color:#29435f!important;text-decoration:none!important;transition:.18s ease}.clc-course-mini-grid>a:hover{transform:translateY(-2px);border-color:#b8cbe4;box-shadow:0 9px 22px rgba(32,63,101,.09)}.clc-course-mini-grid>a>b{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#edf4ff;color:#255fc3;font-size:17px}.clc-course-mini-grid>a>div{min-width:0}.clc-course-mini-grid strong,.clc-course-mini-grid span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clc-course-mini-grid strong{font-size:13px}.clc-course-mini-grid span{margin-top:3px;color:#718196;font-size:10px}.clc-course-mini-grid i{display:block;height:4px;margin-top:8px;border-radius:99px;background:#edf1f6;overflow:hidden}.clc-course-mini-grid i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f6ee9,#23b8c7)}.clc-course-mini-grid>a>small{color:#506a88;font-size:11px;font-weight:800}.clc-course-mini-grid .is-purple>b{background:#f2edff;color:#7152c2}.clc-course-mini-grid .is-orange>b{background:#fff3e4;color:#b96c16}.clc-course-mini-grid .is-cyan>b{background:#e9f9f9;color:#07828c}.clc-course-mini-grid .is-indigo>b{background:#eef1ff;color:#4a62c5}.clc-course-mini-grid .is-rose>b{background:#fff0f5;color:#ae476d}
.clc-course-system-page,.clc-teacher-course-system{display:grid;gap:22px}.clc-course-system-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:32px;border-radius:24px;background:radial-gradient(circle at 86% 20%,rgba(73,209,221,.26),transparent 27%),linear-gradient(135deg,#123d91,#245cd0 48%,#15a9bb);color:#fff;box-shadow:0 18px 42px rgba(27,75,151,.2)}.clc-course-system-hero.is-teacher{background:radial-gradient(circle at 88% 15%,rgba(255,204,104,.25),transparent 28%),linear-gradient(135deg,#173864,#364eac 52%,#7161cf)}.clc-course-system-hero>div:first-child{max-width:820px}.clc-course-system-hero span{font-size:11px;font-weight:900;letter-spacing:.13em}.clc-course-system-hero h2{margin:7px 0 9px;color:#fff;font-size:clamp(27px,3vw,40px)}.clc-course-system-hero p{margin:0;color:rgba(255,255,255,.84);font-size:14px;line-height:1.8}.clc-course-system-hero>div:last-child{display:grid;place-items:center;flex:0 0 106px;min-height:106px;border:1px solid rgba(255,255,255,.23);border-radius:22px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px)}.clc-course-system-hero>div:last-child strong{font-size:42px;line-height:1}.clc-course-system-hero>div:last-child span{margin-top:-17px;letter-spacing:.04em}
.clc-course-direction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.clc-course-direction-grid>a{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:15px;padding:21px;border:1px solid #dce6f1;border-radius:20px;background:#fff;color:#243d5b!important;text-decoration:none!important;overflow:hidden;box-shadow:0 10px 28px rgba(35,61,93,.055);transition:.2s ease}.clc-course-direction-grid>a:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#2e68dc}.clc-course-direction-grid>a:hover,.clc-course-direction-grid>a.is-active{transform:translateY(-3px);border-color:#a9c4ed;box-shadow:0 17px 36px rgba(35,70,115,.13)}.clc-course-direction-grid>a.is-active{box-shadow:0 0 0 2px rgba(47,107,222,.12),0 17px 36px rgba(35,70,115,.13)}.clc-course-direction-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#edf4ff;color:#2d63c5;font-size:22px;font-weight:900}.clc-course-direction-grid>a>div:nth-child(2){min-width:0}.clc-course-direction-grid>a>div:nth-child(2)>span{color:#4775c4;font-size:10px;font-weight:900;letter-spacing:.1em}.clc-course-direction-grid h3{margin:4px 0 7px;color:#1d3654;font-size:18px}.clc-course-direction-grid p{margin:0;color:#6c7e92;font-size:12px;line-height:1.7}.clc-course-direction-grid dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 0}.clc-course-direction-grid dl>div{padding:9px;border-radius:11px;background:#f7f9fc;text-align:center}.clc-course-direction-grid dt{color:#284d83;font-size:17px;font-weight:850}.clc-course-direction-grid dd{margin:2px 0 0;color:#8190a0;font-size:9px}.clc-course-direction-grid footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#718398;font-size:10px}.clc-course-direction-grid footer i{display:block;flex:1;height:5px;border-radius:99px;background:#edf1f5;overflow:hidden}.clc-course-direction-grid footer i em{display:block;height:100%;background:linear-gradient(90deg,#2c6be4,#21bdca)}.clc-course-direction-grid .is-purple:before{background:#7a5bd0}.clc-course-direction-grid .is-purple .clc-course-direction-icon{background:#f3efff;color:#7352c2}.clc-course-direction-grid .is-orange:before{background:#ec8a2e}.clc-course-direction-grid .is-orange .clc-course-direction-icon{background:#fff3e6;color:#b96816}.clc-course-direction-grid .is-cyan:before{background:#16aeb9}.clc-course-direction-grid .is-cyan .clc-course-direction-icon{background:#e9f9fa;color:#07818b}.clc-course-direction-grid .is-indigo:before{background:#526bd1}.clc-course-direction-grid .is-indigo .clc-course-direction-icon{background:#eef1ff;color:#4b61bf}.clc-course-direction-grid .is-rose:before{background:#cc5a83}.clc-course-direction-grid .is-rose .clc-course-direction-icon{background:#fff0f5;color:#aa4269}
.clc-track-detail{display:grid;gap:20px;padding:24px;border:1px solid #dbe6f2;border-radius:24px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 16px 38px rgba(31,56,89,.07)}.clc-track-detail>header{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:28px;padding:22px;border-radius:18px;background:#edf5ff}.clc-track-detail>header span{color:#3267bc;font-size:10px;font-weight:900;letter-spacing:.11em}.clc-track-detail>header h2{margin:7px 0 8px;color:#19385d;font-size:27px}.clc-track-detail>header p{margin:0;color:#637b95;line-height:1.8}.clc-track-skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.clc-track-skill-list span{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid rgba(58,104,171,.13);border-radius:11px;background:rgba(255,255,255,.75);color:#3b5776!important;font-size:11px!important;letter-spacing:0!important}.clc-track-skill-list b{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#2d66c9;color:#fff;font-size:9px}.clc-track-section{display:grid;gap:13px;padding:20px;border:1px solid #e0e7ef;border-radius:18px;background:#fff}.clc-track-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.clc-track-course-grid>a{display:flex;flex-direction:column;min-width:0;border:1px solid #e0e7ef;border-radius:15px;background:#fff;color:#2b435e!important;text-decoration:none!important;overflow:hidden;transition:.18s ease}.clc-track-course-grid>a:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(31,61,96,.1)}.clc-track-course-grid img{width:100%;height:128px;object-fit:cover}.clc-track-course-grid>a>div{padding:14px}.clc-track-course-grid span{color:#3b75c7;font-size:9px;font-weight:900;letter-spacing:.08em}.clc-track-course-grid h4{margin:5px 0 7px;font-size:15px}.clc-track-course-grid p{margin:0;color:#728297;font-size:11px;line-height:1.65}.clc-track-course-grid em{display:block;margin-top:10px;color:#2f68bd;font-size:11px;font-style:normal;font-weight:800}.clc-track-assignment-list{display:grid;gap:9px}.clc-track-assignment-list>a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border:1px solid #e2e9f1;border-radius:13px;color:#2a435e!important;text-decoration:none!important}.clc-track-assignment-list>a:hover{border-color:#b8cae2;background:#f7faff}.clc-track-assignment-list>a>div{min-width:0}.clc-track-assignment-list strong{display:block;margin:7px 0 3px;font-size:14px}.clc-track-assignment-list p{margin:0;color:#748499;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clc-track-assignment-list>a>em{flex:0 0 auto;color:#3065b4;font-size:11px;font-style:normal;font-weight:800}.clc-track-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.clc-track-content-card{display:grid;grid-template-columns:110px minmax(0,1fr);min-width:0;border:1px solid #e1e8f0;border-radius:14px;background:#fff;overflow:hidden}.clc-track-content-thumb img{width:110px;height:100%;min-height:122px;object-fit:cover}.clc-track-content-placeholder{display:grid;place-items:center;min-height:122px;background:linear-gradient(145deg,#e9f2ff,#eafafa);color:#3d68a0;font-weight:850}.clc-track-content-card>div:last-child{padding:13px;min-width:0}.clc-track-content-card span{color:#5380b8;font-size:9px;font-weight:850}.clc-track-content-card h4{margin:4px 0 5px;font-size:14px}.clc-track-content-card p{margin:0;color:#748296;font-size:10px;line-height:1.6}.clc-track-content-card a{display:inline-block;margin-top:8px;color:#3267b7!important;font-size:10px;font-weight:800;text-decoration:none!important}.clc-course-detail-card{padding:22px;border:1px solid #dde6f0;border-radius:18px;background:#fff}.clc-course-detail-cover img{width:100%;max-height:340px;border-radius:14px;object-fit:cover}.clc-course-detail-card>span{display:block;margin-top:18px;color:#4477bd;font-size:10px;font-weight:900;letter-spacing:.1em}.clc-course-detail-card h2{margin:6px 0 16px}.clc-course-detail-content{color:#40556e;line-height:1.85}
.clc-assignment-track-filter{display:flex;align-items:center;gap:7px;margin:14px 0;overflow-x:auto;padding-bottom:3px}.clc-assignment-track-filter a{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;min-height:34px;padding:0 11px;border:1px solid #dce5ef;border-radius:999px;background:#fff;color:#57708c!important;font-size:10px;font-weight:800;text-decoration:none!important}.clc-assignment-track-filter a.is-active{border-color:#2d69d4;background:#edf4ff;color:#245bb4!important}.clc-assignment-track-filter b{font-size:10px}.clc-assignment-card>.clc-track-badge-link{margin:3px 0 8px}.clc-detail-head>.clc-track-badge-link{margin-bottom:9px}
.clc-teacher-track-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.clc-teacher-track-mini-grid>a{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px;border:1px solid #e0e7ef;border-radius:13px;background:#fff;color:#314a67!important;text-decoration:none!important}.clc-teacher-track-mini-grid>a:hover{border-color:#afc5e2;transform:translateY(-1px)}.clc-teacher-track-mini-grid>a>b{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf4ff;color:#2b65c3}.clc-teacher-track-mini-grid strong,.clc-teacher-track-mini-grid span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clc-teacher-track-mini-grid strong{font-size:12px}.clc-teacher-track-mini-grid span{margin-top:2px;color:#79899b;font-size:9px}.clc-teacher-track-mini-grid>a>em{color:#2e64ae;font-size:17px;font-style:normal;font-weight:850}.clc-track-publish-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.clc-track-publish-actions a{display:flex;align-items:center;justify-content:center;min-height:38px;padding:0 10px;border:1px solid #c9daf0;border-radius:10px;background:#fff;color:#2d61a8!important;font-size:10px;font-weight:850;text-decoration:none!important}.clc-course-build-checklist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.clc-course-build-checklist>div{padding:14px;border:1px solid #e1e8ef;border-radius:14px;background:#fff}.clc-course-build-checklist span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eef1f5;color:#7c8998;font-size:11px;font-weight:900}.clc-course-build-checklist span.is-done{background:#dcf5e8;color:#14804f}.clc-course-build-checklist strong{display:block;margin:10px 0 4px;font-size:12px}.clc-course-build-checklist p{margin:0;color:#7b8999;font-size:10px}.clc-teacher-track-content-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.clc-teacher-track-content-columns>section{padding:17px;border:1px solid #e0e7ef;border-radius:16px;background:#fff}.clc-teacher-track-content-columns>section>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f5;color:#304963!important;text-decoration:none!important}.clc-teacher-track-content-columns>section>a:last-child{border-bottom:0}.clc-teacher-track-content-columns strong{font-size:11px}.clc-teacher-track-content-columns span{color:#738397;font-size:9px}.clc-assignment-record__meta .clc-track-badge{padding:3px 7px}.clc-assignment-record__meta .clc-track-badge b{width:17px;height:17px}
@media(max-width:1100px){.clc-course-mini-grid,.clc-teacher-track-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-track-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-course-build-checklist{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.clc-course-system-hero{align-items:flex-start;padding:24px}.clc-course-system-hero>div:last-child{flex-basis:84px;min-height:84px}.clc-course-direction-grid,.clc-track-content-grid,.clc-teacher-track-content-columns{grid-template-columns:1fr}.clc-track-detail>header{grid-template-columns:1fr}.clc-course-direction-grid>a{padding:17px}.clc-track-content-card{grid-template-columns:92px minmax(0,1fr)}.clc-track-content-thumb img{width:92px}}
@media(max-width:600px){.clc-course-system-overview,.clc-teacher-track-overview{padding:15px;border-radius:16px}.clc-course-mini-grid,.clc-teacher-track-mini-grid{grid-template-columns:1fr}.clc-course-system-hero{display:block;padding:21px;border-radius:18px}.clc-course-system-hero>div:last-child{display:none}.clc-course-direction-grid{gap:11px}.clc-course-direction-grid>a{grid-template-columns:46px minmax(0,1fr);gap:11px;padding:15px;border-radius:16px}.clc-course-direction-icon{width:46px;height:46px;border-radius:13px;font-size:17px}.clc-course-direction-grid h3{font-size:16px}.clc-course-direction-grid dl{gap:5px}.clc-track-detail{padding:14px;border-radius:18px}.clc-track-detail>header{padding:16px}.clc-track-skill-list,.clc-track-course-grid,.clc-course-build-checklist{grid-template-columns:1fr}.clc-track-section{padding:14px}.clc-track-assignment-list>a{align-items:flex-start;flex-direction:column}.clc-track-content-card{grid-template-columns:76px minmax(0,1fr)}.clc-track-content-thumb img{width:76px}.clc-track-publish-actions{grid-template-columns:1fr 1fr}}
.clc-case-track-nav{display:flex!important;align-items:center;justify-content:flex-start!important;gap:8px!important;margin-top:10px!important;overflow-x:auto}.clc-case-track-nav a{display:inline-flex!important;align-items:center;gap:5px;flex:0 0 auto!important}.clc-case-track-nav b{font-size:10px}.clc-case-card__body>.clc-track-badge{margin-bottom:7px;padding:3px 7px}.clc-case-card__body>.clc-track-badge b{width:16px;height:16px}
.clc-library-track-nav{display:flex;align-items:center;gap:8px;margin:18px 0;overflow-x:auto}.clc-library-track-nav a{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;min-height:36px;padding:0 12px;border:1px solid #dbe5ef;border-radius:999px;background:#fff;color:#59718c!important;font-size:10px;font-weight:800;text-decoration:none!important}.clc-library-track-nav a.is-active{border-color:#2c68d0;background:#edf4ff;color:#2459ae!important}.clc-library-card__body>.clc-track-badge{margin-bottom:7px}.clc-content-meta>.clc-track-badge-link{margin-right:7px}

/* =========================================================
 * Charta Learning Center 3.1.0 — Admissions CRM workspace
 * ======================================================= */
.clc-role-admissions_teacher.clc-role-portal{max-width:1500px}
.clc-role-admissions_teacher .clc-role-shell{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.clc-role-admissions_teacher .clc-role-rail{display:none!important}
.clc-role-admissions_teacher .clc-role-body{min-width:0;width:100%}
.clc-role-admissions_teacher .clc-role-nav{overflow-x:auto;scrollbar-width:thin;white-space:nowrap}
.clc-role-admissions_teacher .clc-role-nav a{flex:0 0 auto}
.clc-admissions-hero,.clc-admissions-page-head{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 30px;border:1px solid #dce7f4;border-radius:22px;background:radial-gradient(circle at 92% 10%,rgba(39,176,207,.13),transparent 25%),linear-gradient(135deg,#fff,#f5f9ff);box-shadow:0 14px 38px rgba(29,61,101,.08)}
.clc-admissions-hero span,.clc-admissions-page-head>div>span,.clc-admissions-panel header span{display:block;margin-bottom:6px;color:#1b75bb;font-size:11px;font-weight:900;letter-spacing:.14em}
.clc-admissions-hero h2,.clc-admissions-page-head h2{margin:0;color:#153654;font-size:clamp(23px,2.5vw,34px);line-height:1.25}
.clc-admissions-hero p,.clc-admissions-page-head p{max-width:760px;margin:9px 0 0;color:#6d8196;line-height:1.75}
.clc-admissions-page-head>strong{display:flex;align-items:flex-end;gap:7px;color:#1e62ba;font-size:36px}.clc-admissions-page-head>strong small{padding-bottom:5px;color:#7b8da0;font-size:12px}
.clc-admissions-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:18px 0}
.clc-admissions-metrics article{position:relative;min-height:140px;padding:20px 21px;border:1px solid #dfe8f2;border-radius:18px;background:#fff;box-shadow:0 9px 28px rgba(35,64,97,.06);overflow:hidden}
.clc-admissions-metrics article:after{content:"";position:absolute;right:-22px;bottom:-32px;width:94px;height:94px;border-radius:50%;background:rgba(47,120,215,.07)}
.clc-admissions-metrics span{display:block;color:#708398;font-size:13px;font-weight:750}.clc-admissions-metrics strong{display:block;margin-top:10px;color:#183a5e;font-size:34px;line-height:1}.clc-admissions-metrics a,.clc-admissions-metrics em{display:inline-block;margin-top:16px;color:#2568bc;font-size:12px;font-style:normal;font-weight:800;text-decoration:none}
.clc-admissions-panel{margin-top:18px;padding:24px;border:1px solid #dfe7f1;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(37,64,96,.065)}
.clc-admissions-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid #edf1f5}.clc-admissions-panel header h3{margin:0;color:#1c3b5a;font-size:20px}.clc-admissions-panel header p{margin:7px 0 0;color:#74869a;line-height:1.7}.clc-admissions-panel>header>a{color:#2565b1;font-size:13px;font-weight:800;text-decoration:none}
.clc-admissions-flow{margin-top:18px;padding:24px 26px;border:1px solid #dfe7f1;border-radius:20px;background:linear-gradient(145deg,#f9fbfe,#fff)}.clc-admissions-flow header span{color:#2f73ba;font-size:11px;font-weight:900;letter-spacing:.12em}.clc-admissions-flow header h3{margin:5px 0 18px;color:#1b3d5e}.clc-admissions-flow>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.clc-admissions-flow b{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#e9f2ff;color:#2465b6}.clc-admissions-flow span{color:#3e5872;font-size:13px;font-weight:800}.clc-admissions-flow i{color:#a1b2c4;font-style:normal}
.clc-admissions-lead-list{display:grid;gap:10px}.clc-admissions-lead{display:grid;grid-template-columns:44px minmax(180px,1fr) auto 130px;align-items:center;gap:13px;padding:13px 14px;border:1px solid #e3eaf2;border-radius:15px;background:#fff;color:inherit!important;text-decoration:none!important;transition:transform .18s,border-color .18s,box-shadow .18s}.clc-admissions-lead:hover{transform:translateY(-2px);border-color:#a9c8ec;box-shadow:0 9px 24px rgba(43,78,118,.09)}.clc-admissions-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#e8f3ff,#eefbfc);color:#2168b8;font-size:18px;font-weight:900}.clc-admissions-lead div{min-width:0}.clc-admissions-lead strong{display:block;color:#203c59;font-size:14px}.clc-admissions-lead p,.clc-admissions-lead small{display:block;overflow:hidden;margin:3px 0 0;color:#78899b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.clc-admissions-lead>em{padding:5px 9px;border-radius:999px;background:#edf4fc;color:#376892;font-size:11px;font-style:normal;font-weight:850}.clc-admissions-lead>em.is-pending,.clc-admissions-lead>em.is-enrolled{background:#fff3dc;color:#9a6513}.clc-admissions-lead>em.is-handed_off{background:#e9f8f0;color:#247b50}.clc-admissions-lead>em.is-invalid,.clc-admissions-lead>em.is-rejected{background:#f5f0f1;color:#8a5960}.clc-admissions-lead time{color:#62788e;font-size:11px;text-align:right}.clc-admissions-lead-list.is-compact .clc-admissions-lead{grid-template-columns:36px minmax(120px,1fr);padding:10px}.clc-admissions-lead-list.is-compact .clc-admissions-avatar{width:36px;height:36px;border-radius:11px;font-size:14px}.clc-admissions-lead-list.is-compact .clc-admissions-lead>em,.clc-admissions-lead-list.is-compact .clc-admissions-lead>time{display:none}
.clc-admissions-filters{display:grid;grid-template-columns:minmax(240px,1fr) 190px auto;gap:10px;margin:18px 0;padding:14px;border:1px solid #dfe7f0;border-radius:16px;background:#fff}.clc-admissions-filters input,.clc-admissions-filters select,.clc-admissions-filters button,.clc-admissions-form input,.clc-admissions-form select,.clc-admissions-form textarea,.clc-admissions-side-card select{min-height:44px;border:1px solid #d7e1ec;border-radius:11px;background:#fff;color:#314d69;font:inherit;box-sizing:border-box}.clc-admissions-filters input,.clc-admissions-filters select,.clc-admissions-form input,.clc-admissions-form select,.clc-admissions-form textarea{width:100%;padding:10px 12px}.clc-admissions-filters button,.clc-admissions-side-card button{padding:0 18px;border:0;background:#235fac;color:#fff;font-weight:850;cursor:pointer}
.clc-admissions-form label{display:grid;gap:7px;color:#405a72;font-size:12px;font-weight:800}.clc-admissions-form textarea{resize:vertical;line-height:1.7}.clc-admissions-form fieldset{margin:18px 0;padding:17px;border:1px solid #dfe7f0;border-radius:14px}.clc-admissions-form legend{padding:0 7px;color:#35516c;font-size:13px;font-weight:850}.clc-admissions-form .clc-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.clc-admissions-form .clc-check-label{display:flex;align-items:center;gap:8px}.clc-admissions-form .clc-check-label input{width:auto;min-height:0}
.clc-admissions-track-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.clc-admissions-track-grid label{position:relative;display:flex;align-items:center;gap:9px;min-height:52px;padding:10px;border:1px solid #dfe7f0;border-radius:12px;background:#fbfcfe;cursor:pointer}.clc-admissions-track-grid input{position:absolute;opacity:0}.clc-admissions-track-grid b{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#eaf3ff;color:#2367b8}.clc-admissions-track-grid span{font-size:12px}.clc-admissions-track-grid label:has(input:checked){border-color:#6fa3df;background:#f1f7ff;box-shadow:0 0 0 1px #6fa3df}
.clc-admissions-detail-head{display:flex;align-items:center;gap:24px;padding:19px 23px;border:1px solid #dfe7f1;border-radius:18px;background:#fff}.clc-admissions-detail-head>a,.clc-back-link{color:#2868b1;font-size:13px;font-weight:800;text-decoration:none}.clc-admissions-detail-head div{min-width:0}.clc-admissions-detail-head span{color:#2d70b9;font-size:11px;font-weight:900}.clc-admissions-detail-head h2{margin:3px 0;color:#193b5c}.clc-admissions-detail-head p{margin:0;color:#708397;word-break:break-word}.clc-admissions-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.clc-admissions-detail-grid aside{position:sticky;top:24px;display:grid;gap:14px;margin-top:18px}.clc-admissions-side-card{padding:18px;border:1px solid #dfe7f0;border-radius:17px;background:#fff}.clc-admissions-side-card h3{margin:0 0 13px;color:#24445f;font-size:15px}.clc-admissions-side-card dl{display:grid;gap:11px;margin:0}.clc-admissions-side-card dt{color:#8191a1;font-size:11px}.clc-admissions-side-card dd{margin:2px 0 0;color:#344f69;font-size:13px;line-height:1.5}.clc-admissions-side-card form{display:grid;gap:9px}.clc-admissions-side-card select{width:100%;padding:0 10px}.clc-admissions-side-card button{min-height:40px;border-radius:10px}.clc-button.is-block{display:flex!important;width:100%;box-sizing:border-box}
.clc-admissions-timeline{position:relative;display:grid;gap:14px}.clc-admissions-timeline:before{content:"";position:absolute;left:105px;top:7px;bottom:7px;width:1px;background:#dce5ef}.clc-admissions-timeline article{display:grid;grid-template-columns:88px minmax(0,1fr);gap:34px}.clc-admissions-timeline time{padding-top:3px;color:#8595a5;font-size:11px;text-align:right}.clc-admissions-timeline article>div{position:relative;padding:15px;border:1px solid #e1e8f0;border-radius:14px;background:#fbfcfe}.clc-admissions-timeline article>div:before{content:"";position:absolute;left:-25px;top:17px;width:9px;height:9px;border:3px solid #fff;border-radius:50%;background:#3480cf;box-shadow:0 0 0 1px #9fc2e6}.clc-admissions-timeline strong{color:#2b4e70;font-size:13px}.clc-admissions-timeline p{margin:7px 0;color:#4f657b;line-height:1.7}.clc-admissions-timeline blockquote{margin:8px 0;padding:9px 11px;border-left:3px solid #65bfc8;background:#eefafb;color:#4e6d71;font-size:12px}.clc-admissions-timeline small{color:#637b94}
.clc-admissions-stage-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:18px;align-items:start}.clc-admissions-stage-board>section{min-height:260px;padding:12px;border:1px solid #dfe7f0;border-radius:17px;background:#f8fafc}.clc-admissions-stage-board>section>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:5px}.clc-admissions-stage-board header strong{color:#36536d;font-size:13px}.clc-admissions-stage-board header span{display:grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:#e5eef8;color:#2a64a5;font-size:11px;font-weight:900}
.clc-admissions-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:18px}.clc-admissions-course-grid article{position:relative;display:flex;flex-direction:column;min-height:285px;padding:22px;border:1px solid #dfe7f0;border-radius:20px;background:#fff;box-shadow:0 10px 27px rgba(34,64,98,.06);overflow:hidden}.clc-admissions-course-grid article>b{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#e9f3ff;color:#2464b4;font-size:18px}.clc-admissions-course-grid article>span{margin-top:15px;color:#254967;font-size:17px;font-weight:900}.clc-admissions-course-grid h3{margin:8px 0 13px;color:#708297;font-size:12px;font-weight:500;line-height:1.7}.clc-admissions-course-grid article>div{display:flex;gap:6px;flex-wrap:wrap}.clc-admissions-course-grid em{padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#5d748b;font-size:10px;font-style:normal}.clc-admissions-course-grid footer{display:flex;gap:20px;margin-top:auto;padding-top:18px}.clc-admissions-course-grid footer strong{color:#235ea8;font-size:22px}.clc-admissions-course-grid footer small{margin-left:4px;color:#8190a0;font-size:10px}.clc-admissions-course-grid .is-purple>b,.clc-admissions-course-grid .is-indigo>b{background:#f0edff;color:#684ec1}.clc-admissions-course-grid .is-cyan>b{background:#e8fbfb;color:#138890}.clc-admissions-course-grid .is-orange>b,.clc-admissions-course-grid .is-rose>b{background:#fff1e7;color:#bb6031}
.clc-admissions-analytics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.clc-admissions-bars{display:grid;gap:12px}.clc-admissions-bars>div{display:grid;grid-template-columns:90px minmax(0,1fr) 28px;align-items:center;gap:10px}.clc-admissions-bars span{overflow:hidden;color:#5d7287;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.clc-admissions-bars i{position:relative;height:8px;border-radius:999px;background:#edf1f5;overflow:hidden}.clc-admissions-bars i:after{content:"";display:block;width:var(--value);height:100%;border-radius:inherit;background:linear-gradient(90deg,#2864b4,#26a9bc)}.clc-admissions-bars strong{color:#274d70;font-size:12px;text-align:right}
@media(max-width:1150px){.clc-admissions-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-admissions-stage-board{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-admissions-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-admissions-analytics-grid{grid-template-columns:1fr}.clc-admissions-form .clc-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.clc-admissions-hero,.clc-admissions-page-head{align-items:flex-start;flex-direction:column;padding:22px}.clc-admissions-detail-grid{grid-template-columns:1fr}.clc-admissions-detail-grid aside{position:static}.clc-admissions-lead{grid-template-columns:42px minmax(0,1fr) auto}.clc-admissions-lead time{display:none}.clc-admissions-track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-admissions-filters{grid-template-columns:1fr}.clc-admissions-course-grid{grid-template-columns:1fr}}
@media(max-width:600px){.clc-admissions-metrics,.clc-admissions-stage-board{grid-template-columns:1fr}.clc-admissions-form .clc-form-grid,.clc-admissions-track-grid{grid-template-columns:1fr}.clc-admissions-panel{padding:17px;border-radius:16px}.clc-admissions-lead{grid-template-columns:38px minmax(0,1fr);padding:11px}.clc-admissions-avatar{width:38px;height:38px}.clc-admissions-lead>em{grid-column:2;justify-self:start}.clc-admissions-timeline:before{left:4px}.clc-admissions-timeline article{grid-template-columns:1fr;gap:5px;padding-left:23px}.clc-admissions-timeline time{text-align:left}.clc-admissions-timeline article>div:before{left:-24px}.clc-admissions-flow>div i{display:none}}


/* 3.2.0 organization workspaces */
.clc-role-portal{--clc-role-accent:#2967d8;--clc-role-soft:#eef4ff;--clc-role-deep:#153b73}
.clc-role-admissions_teacher{--clc-role-accent:#168ca0;--clc-role-soft:#eaf9fa;--clc-role-deep:#155467}
.clc-role-teaching_teacher{--clc-role-accent:#2967d8;--clc-role-soft:#eef4ff;--clc-role-deep:#153b73}
.clc-role-employment_teacher{--clc-role-accent:#138568;--clc-role-soft:#eaf8f3;--clc-role-deep:#145949}
.clc-role-operations_teacher{--clc-role-accent:#7054c6;--clc-role-soft:#f3efff;--clc-role-deep:#4d378e}
.clc-learning-app{--clc-role-accent:#b17a16;--clc-role-soft:#fff8e9;--clc-role-deep:#72500d}
.clc-role-nav{display:flex;gap:7px;flex-wrap:wrap;padding:8px;border:1px solid #dde6ef;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(27,47,75,.06)}
.clc-role-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:11px;color:#5a6c81!important;font-size:13px;font-weight:750;text-decoration:none!important}
.clc-role-nav a:hover,.clc-role-nav a.is-active{background:var(--clc-role-soft);color:var(--clc-role-deep)!important}
.clc-role-hero{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:30px;border:1px solid color-mix(in srgb,var(--clc-role-accent) 22%,#dfe7ef);border-radius:22px;background:linear-gradient(135deg,#fff,var(--clc-role-soft));box-shadow:0 16px 38px rgba(28,50,78,.08)}
.clc-role-hero span,.clc-role-page-head span,.clc-role-panel header span{color:var(--clc-role-accent);font-size:11px;font-weight:900;letter-spacing:.13em}.clc-role-hero h2,.clc-role-page-head h2{margin:5px 0 8px;color:#18304b}.clc-role-hero p,.clc-role-page-head p{margin:0;color:#6c7d91;line-height:1.75}
.clc-role-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.clc-role-metrics article{min-height:132px;padding:20px;border:1px solid #dfe7ef;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(28,49,76,.06)}.clc-role-metrics span{display:block;color:#718297;font-size:12px}.clc-role-metrics strong{display:block;margin:9px 0;color:var(--clc-role-deep);font-size:30px}.clc-role-metrics a,.clc-role-metrics em{color:var(--clc-role-accent)!important;font-size:12px;font-style:normal;font-weight:750;text-decoration:none!important}
.clc-role-panel{margin-top:18px;padding:22px;border:1px solid #dfe7ef;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(28,49,76,.06)}.clc-role-panel>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.clc-role-panel h3{margin:4px 0 0;color:#20384f}.clc-role-flow{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:18px;border-radius:16px;background:#f7f9fc}.clc-role-flow b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--clc-role-accent);color:#fff}.clc-role-flow span{font-size:13px;font-weight:750;color:#41566e}.clc-role-flow i{color:#9aaabd;font-style:normal}
.clc-role-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px;padding:24px;border:1px solid #e0e7ef;border-radius:20px;background:linear-gradient(135deg,#fff,var(--clc-role-soft))}.clc-role-page-head a{color:var(--clc-role-accent)!important;font-weight:800;text-decoration:none!important}
.clc-employment-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.clc-employment-student{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px;border:1px solid #dfe7ef;border-radius:17px;background:#fff;color:#334b64!important;text-decoration:none!important;box-shadow:0 8px 24px rgba(26,50,75,.05)}.clc-employment-student:hover{transform:translateY(-2px);border-color:#9dcdbd}.clc-employment-student img{border-radius:50%}.clc-employment-student strong,.clc-employment-student span,.clc-employment-student p{display:block;margin:0}.clc-employment-student span{margin:4px 0;color:#138568;font-size:12px}.clc-employment-student p{color:#7b8c9e;font-size:12px}.clc-employment-student em{color:#138568;font-size:12px;font-style:normal;font-weight:750}
.clc-role-form label{display:block;color:#44596f;font-size:13px;font-weight:750}.clc-role-form input,.clc-role-form select,.clc-role-form textarea{width:100%;margin-top:7px;border:1px solid #d7e1eb;border-radius:12px;background:#fff;color:#263f59}.clc-role-form textarea{padding:12px;line-height:1.65}.clc-employment-timeline{display:grid;gap:12px}.clc-employment-timeline article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:15px;border:1px solid #e0e8ef;border-radius:15px;background:#fafcfd}.clc-employment-timeline img{border-radius:50%}.clc-employment-timeline span,.clc-employment-timeline p,.clc-employment-timeline em{display:block;margin:4px 0;color:#6c7f92;font-size:12px;font-style:normal}.clc-employment-timeline em{color:#138568;font-weight:750}
.clc-employment-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.clc-employment-portfolio-grid article{overflow:hidden;border:1px solid #dfe7ef;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(28,49,76,.06)}.clc-employment-portfolio-grid img{width:100%;aspect-ratio:16/10;object-fit:cover}.clc-employment-portfolio-grid article>div{padding:16px}.clc-employment-portfolio-grid h3{margin:6px 0}.clc-employment-portfolio-grid a{text-decoration:none!important}.clc-employment-portfolio-grid p{color:#738396;font-size:13px;line-height:1.65}
.clc-role-bars{display:grid;gap:11px}.clc-role-bars>div{display:grid;grid-template-columns:110px minmax(0,1fr) 34px;align-items:center;gap:10px}.clc-role-bars i{height:9px;border-radius:999px;background:linear-gradient(90deg,var(--clc-role-accent) var(--value),#edf1f5 var(--value))}.clc-role-bars span,.clc-role-bars strong{font-size:12px}
.clc-admissions-ranking{margin-top:18px}.clc-admissions-rank-list{display:grid;gap:9px}.clc-admissions-rank-list>a{display:grid;grid-template-columns:32px auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #dfe7ef;border-radius:14px;background:#fff;color:#314860!important;text-decoration:none!important}.clc-admissions-rank-list>a:hover,.clc-admissions-rank-list>a.is-me{border-color:#79bec7;background:#f0fbfc;transform:translateY(-1px)}.clc-admissions-rank-list>a>b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eff5f7;color:#167f90}.clc-admissions-rank-list>a:nth-child(1)>b{background:#fff0bf;color:#946600}.clc-admissions-rank-list img{border-radius:50%}.clc-admissions-rank-list span strong,.clc-admissions-rank-list span small{display:block}.clc-admissions-rank-list span small{margin-top:4px;color:#7b8b9d}.clc-admissions-rank-list em{color:#168ca0;font-size:17px;font-style:normal;font-weight:850}.clc-admissions-rank-list em small{display:block;font-size:9px;text-align:right}
@media(max-width:900px){.clc-role-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-employment-student-grid{grid-template-columns:1fr}.clc-employment-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-role-hero,.clc-role-page-head{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.clc-role-nav{overflow-x:auto;flex-wrap:nowrap}.clc-role-nav a{flex:0 0 auto}.clc-role-metrics{grid-template-columns:1fr 1fr}.clc-role-metrics article{min-height:112px;padding:15px}.clc-role-metrics strong{font-size:25px}.clc-employment-portfolio-grid{grid-template-columns:1fr}.clc-employment-student{grid-template-columns:auto minmax(0,1fr)}.clc-employment-student>em{grid-column:2}.clc-role-flow{justify-content:flex-start}.clc-role-flow i{display:none}.clc-admissions-rank-list>a{grid-template-columns:28px auto minmax(0,1fr)}.clc-admissions-rank-list>a>em{grid-column:3}}


/* 3.2.2 role-pure leaderboards and universal check-in */
.clc-rail-rank-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0 12px;padding:5px;border:1px solid #e4ebf5;border-radius:13px;background:#f5f8fc}
.clc-rail-rank-panel[data-clc-rank-panel="teacher"] .clc-rail-rank-subtabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.clc-rail-rank-subtabs button{min-width:0;min-height:34px;padding:5px 7px;border:0;border-radius:9px;background:transparent;color:#66788f;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}
.clc-rail-rank-subtabs button.is-active{background:#fff;color:#1e5eb8;box-shadow:0 4px 12px rgba(36,75,125,.09)}
.clc-rail-rank-category[hidden]{display:none!important}
.clc-leaderboard-group-tabs{display:inline-flex;gap:6px;margin:-4px 0 18px;padding:5px;border:1px solid #dfe7f1;border-radius:13px;background:#f5f8fc}
.clc-leaderboard-group-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 18px;border-radius:9px;color:#5f7086!important;font-size:13px;font-weight:800;text-decoration:none!important}
.clc-leaderboard-group-tabs a.is-active{background:#fff;color:#245fc0!important;box-shadow:0 5px 14px rgba(31,63,105,.09)}
.charta-checkin-form .clc-checkin-live-status{margin-top:7px!important}
@media(max-width:420px){.clc-rail-rank-panel[data-clc-rank-panel="teacher"] .clc-rail-rank-subtabs{grid-template-columns:1fr}.clc-rail-rank-subtabs button{min-height:32px}.clc-leaderboard-group-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;box-sizing:border-box}.clc-leaderboard-group-tabs a{padding:0 10px}}


/* 3.2.5 unified two-list leaderboard */
.clc-rail-rank-panel .clc-rail-rank-category{display:block!important}
.clc-rail-rank-panel .clc-rail-rank-subtabs{display:none!important}
.clc-leaderboard-group-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.clc-leaderboard-group-tabs a{min-width:110px}


/* 3.3.5 — learning-center header identity/class tag contrast */
.clc-learning-app .clc-app-header .clc-profile-meta > span{
	display:inline-flex!important;
	align-items:center!important;
	min-height:30px!important;
	padding:5px 12px!important;
	border:1px solid #d6e1ec!important;
	border-radius:999px!important;
	background:#f5f8fc!important;
	color:#294562!important;
	font-size:12px!important;
	font-weight:800!important;
	line-height:1.2!important;
	opacity:1!important;
	visibility:visible!important;
	text-shadow:none!important;
	box-shadow:0 4px 12px rgba(10,35,68,.08)!important;
}
.clc-learning-app .clc-app-header .clc-profile-meta > span:first-child{
	border-color:rgba(121,221,224,.42)!important;
	background:rgba(9,105,135,.92)!important;
	color:#fff!important;
}
.clc-learning-app .clc-app-header .clc-profile-meta > span:nth-child(n+2){
	border-color:#d7e2ee!important;
	background:#fff!important;
	color:#28445f!important;
}
@media(max-width:700px){
	.clc-learning-app .clc-app-header .clc-profile-meta > span{
		max-width:100%!important;
		white-space:normal!important;
	}
}

/* 3.3.6 case media: optimized covers stay on cards; detail media is shown uncropped. */
.clc-student-case-media-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.clc-student-case-gallery>div{grid-template-columns:1fr;gap:22px}
.clc-student-case-gallery a{display:block;width:100%}
.clc-student-case-gallery img,.clc-case-detail-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:transparent}
.clc-student-case-video video,.clc-student-case-video iframe{display:block;width:100%;max-width:100%;height:auto;min-height:420px;border:0;border-radius:16px;background:#0f172a}
.clc-content-files.is-showcase-media .clc-content-file-grid{grid-template-columns:1fr;gap:22px}
.clc-content-files.is-showcase-media .clc-content-file-grid figure{padding:0;border:0;background:transparent}
.clc-content-files.is-showcase-media .clc-content-file-grid img{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:16px;background:transparent}
.clc-content-files.is-showcase-media .clc-content-file-grid video{width:100%;height:auto;max-height:none;min-height:420px;object-fit:contain;border-radius:16px;background:#0f172a}
body.single-clc_material .post-thumbnail,body.single-clc_material .entry-thumbnail,body.single-clc_material .featured-image,body.single-clc_material .wp-block-post-featured-image,body.single-clc_material .clc-optimized-cover-wrap,body.single-clc_showcase .post-thumbnail,body.single-clc_showcase .entry-thumbnail,body.single-clc_showcase .featured-image,body.single-clc_student_case .post-thumbnail,body.single-clc_student_case .entry-thumbnail,body.single-clc_student_case .featured-image{display:none!important}
@media(max-width:980px){.clc-student-case-media-fields{grid-template-columns:1fr 1fr}.clc-student-case-media-fields label:first-child{grid-column:1/-1}}
@media(max-width:680px){.clc-student-case-media-fields{grid-template-columns:1fr}.clc-student-case-media-fields label:first-child{grid-column:auto}.clc-student-case-video video,.clc-student-case-video iframe,.clc-content-files.is-showcase-media .clc-content-file-grid video{min-height:220px}}
.clc-showcase-external-video{margin-top:26px;padding:22px;border:1px solid #e1e8f0;border-radius:20px;background:#fff}.clc-showcase-external-video h3{margin:0 0 15px}.clc-showcase-external-video iframe{display:block;width:100%;max-width:100%;min-height:520px;border:0;border-radius:16px;background:#0f172a}@media(max-width:680px){.clc-showcase-external-video iframe{min-height:240px}}


/* 3.4.1 — learner navigation label and high-contrast interaction states */
.clc-learning-app .clc-app-sidebar .clc-app-nav > a{
	position:relative!important;
	background:#fff!important;
	color:#405872!important;
	border:1px solid transparent!important;
	box-shadow:none!important;
	transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.clc-learning-app .clc-app-sidebar .clc-app-nav > a > span:not(.clc-nav-icon){
	color:inherit!important;
	opacity:1!important;
	visibility:visible!important;
	text-shadow:none!important;
}
.clc-learning-app .clc-app-sidebar .clc-app-nav > a:hover,
.clc-learning-app .clc-app-sidebar .clc-app-nav > a:focus-visible{
	background:#eaf2ff!important;
	border-color:#bfd3f1!important;
	color:#174f99!important;
	box-shadow:0 7px 18px rgba(36,91,170,.10)!important;
	transform:translateX(2px)!important;
}
.clc-learning-app .clc-app-sidebar .clc-app-nav > a:focus-visible{
	outline:3px solid rgba(42,105,216,.28)!important;
	outline-offset:2px!important;
}
.clc-learning-app .clc-app-sidebar .clc-app-nav > a:active{
	background:#dceaff!important;
	border-color:#9dbce8!important;
	color:#123f7d!important;
	transform:translateX(1px) scale(.995)!important;
}
.clc-learning-app .clc-app-sidebar .clc-app-nav > a.is-active,
.clc-learning-app .clc-app-sidebar .clc-app-nav > a.is-active:hover,
.clc-learning-app .clc-app-sidebar .clc-app-nav > a.is-active:focus-visible,
.clc-learning-app .clc-app-sidebar .clc-app-nav > a.is-active:active{
	background:linear-gradient(135deg,#2f73e6 0%,#1d56b8 100%)!important;
	border-color:#1f5dc4!important;
	color:#fff!important;
	box-shadow:0 10px 22px rgba(28,82,174,.24)!important;
	transform:none!important;
}
.clc-learning-app .clc-app-sidebar .clc-app-nav > a.is-active > span,
.clc-learning-app .clc-app-sidebar .clc-app-nav > a.is-active > span:not(.clc-nav-icon){
	color:#fff!important;
	opacity:1!important;
	visibility:visible!important;
	text-shadow:none!important;
}
.clc-learning-app .clc-app-sidebar .clc-app-nav > a .clc-nav-icon{
	background:#edf4ff!important;
	color:#205da9!important;
	border:1px solid #e0eaf8!important;
}
.clc-learning-app .clc-app-sidebar .clc-app-nav > a:hover .clc-nav-icon,
.clc-learning-app .clc-app-sidebar .clc-app-nav > a:focus-visible .clc-nav-icon{
	background:#fff!important;
	color:#174f99!important;
	border-color:#c8d9f1!important;
}
.clc-learning-app .clc-app-sidebar .clc-app-nav > a.is-active .clc-nav-icon{
	background:rgba(255,255,255,.18)!important;
	color:#fff!important;
	border-color:rgba(255,255,255,.28)!important;
}
.clc-learning-app .clc-app-sidebar .clc-app-nav > a.is-active em{
	background:#fff!important;
	color:#1c58b9!important;
	box-shadow:0 2px 8px rgba(13,55,128,.16)!important;
}
.clc-learning-app .clc-mobile-nav a > span:not(.clc-nav-icon){
	color:inherit!important;
	opacity:1!important;
}
.clc-learning-app .clc-mobile-nav a:hover,
.clc-learning-app .clc-mobile-nav a:focus-visible{
	background:#eaf2ff!important;
	color:#174f99!important;
}
.clc-learning-app .clc-mobile-nav a.is-active,
.clc-learning-app .clc-mobile-nav a.is-active:hover,
.clc-learning-app .clc-mobile-nav a.is-active:focus-visible{
	background:#245fc3!important;
	color:#fff!important;
	box-shadow:0 6px 16px rgba(35,89,184,.20)!important;
}
.clc-learning-app .clc-mobile-nav a.is-active > span,
.clc-learning-app .clc-mobile-nav a.is-active .clc-nav-icon{
	color:#fff!important;
}
.clc-learning-app .clc-mobile-nav a.is-active .clc-nav-icon{
	background:rgba(255,255,255,.18)!important;
}


/* 3.5.12 case-board category navigation */
.clc-case-row>header{
	display:grid!important;
	grid-template-columns:auto minmax(0,1fr) auto!important;
	align-items:center!important;
	gap:18px!important;
}
.clc-case-row__title{min-width:142px!important;}
.clc-case-row__categories{
	display:flex!important;
	align-items:center!important;
	gap:8px!important;
	min-width:0!important;
	padding:7px 9px!important;
	border:1px solid #e1e8f1!important;
	border-radius:14px!important;
	background:rgba(248,250,253,.92)!important;
	overflow-x:auto!important;
	scrollbar-width:thin!important;
	scrollbar-color:#c7d4e5 transparent!important;
}
.clc-case-row__categories::-webkit-scrollbar{height:5px!important;}
.clc-case-row__categories::-webkit-scrollbar-thumb{border-radius:999px!important;background:#c7d4e5!important;}
.clc-case-row__categories a{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	gap:5px!important;
	flex:0 0 auto!important;
	min-height:34px!important;
	padding:0 10px!important;
	border:1px solid #dbe5f0!important;
	border-radius:10px!important;
	background:#fff!important;
	color:#43566d!important;
	font-size:12px!important;
	font-weight:800!important;
	line-height:1!important;
	text-decoration:none!important;
	box-shadow:0 4px 12px rgba(26,53,86,.04)!important;
	transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.clc-case-row__categories a:hover{
	transform:translateY(-1px)!important;
	border-color:#9ebce8!important;
	box-shadow:0 7px 16px rgba(37,99,235,.10)!important;
}
.clc-case-row__categories a b{
	display:grid!important;
	place-items:center!important;
	width:21px!important;
	height:21px!important;
	border-radius:7px!important;
	background:#edf4ff!important;
	color:#2462c7!important;
	font-size:10px!important;
}
.clc-case-row__categories a.is-purple b{background:#f2edff!important;color:#7651d5!important;}
.clc-case-row__categories a.is-orange b{background:#fff3e5!important;color:#c66a17!important;}
.clc-case-row__categories a.is-cyan b{background:#e7fafa!important;color:#078b98!important;}
.clc-case-row__categories a.is-indigo b{background:#edf0ff!important;color:#4f63c9!important;}
.clc-case-row__categories a.is-rose b{background:#fff0f4!important;color:#c44e72!important;}
.clc-case-row__categories a.is-all{background:linear-gradient(135deg,#2b67d8,#2a8dd8)!important;border-color:transparent!important;color:#fff!important;}
.clc-case-row.is-student .clc-case-row__categories a.is-all{background:linear-gradient(135deg,#ef765b,#f29c61)!important;}
.clc-case-row__more{white-space:nowrap!important;}
@media(max-width:1180px){
	.clc-case-row>header{grid-template-columns:auto minmax(0,1fr)!important;}
	.clc-case-row__more{grid-column:2!important;justify-self:end!important;margin-top:-4px!important;}
}
@media(max-width:760px){
	.clc-case-row>header{display:flex!important;align-items:stretch!important;gap:10px!important;}
	.clc-case-row__title{min-width:0!important;}
	.clc-case-row__categories{width:100%!important;padding:7px!important;}
	.clc-case-row__more{align-self:flex-end!important;margin:0!important;}
}


/* 3.5.13 case gallery wide-shell refinement */
.clc-case-gallery{max-width:min(1720px,calc(100vw - 72px))!important;padding:clamp(24px,2.4vw,38px)!important;}
.clc-case-gallery>header{padding:clamp(30px,3.6vw,48px)!important;border:1px solid #dfe8f2!important;border-radius:28px!important;background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%)!important;box-shadow:0 16px 42px rgba(34,60,95,.08)!important;}
.clc-case-gallery>header h1{font-size:clamp(34px,3.3vw,54px)!important;letter-spacing:-.02em!important;}
.clc-case-gallery>header p{max-width:860px!important;color:#61748b!important;font-size:16px!important;line-height:1.8!important;}
.clc-case-gallery>nav,.clc-case-track-nav{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;width:100%!important;max-width:none!important;margin:20px 0 0!important;padding:12px!important;border:1px solid #dfe8f2!important;border-radius:20px!important;background:#fff!important;box-shadow:0 10px 28px rgba(34,60,95,.05)!important;}
.clc-case-gallery>nav a,.clc-case-track-nav a{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:44px!important;padding:10px 18px!important;border-radius:13px!important;color:#5a6d83!important;text-decoration:none!important;font-weight:800!important;line-height:1.1!important;white-space:nowrap!important;transition:background .18s,color .18s,box-shadow .18s,transform .18s!important;}
.clc-case-gallery>nav a:hover,.clc-case-track-nav a:hover{background:#f3f7ff!important;color:#245edb!important;transform:translateY(-1px)!important;}
.clc-case-gallery>nav a.is-active,.clc-case-track-nav a.is-active{background:linear-gradient(135deg,#245edb,#4b78f2)!important;color:#fff!important;box-shadow:0 12px 24px rgba(36,94,219,.20)!important;}
.clc-case-track-nav a b{font-weight:900!important;}
.clc-case-gallery__grid{margin-top:22px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important;}
.clc-case-gallery__grid .clc-case-card{height:100%!important;border-radius:20px!important;box-shadow:0 12px 30px rgba(25,48,78,.07)!important;}
.clc-case-gallery__grid .clc-case-card:hover{box-shadow:0 18px 38px rgba(25,48,78,.14)!important;}
.clc-case-gallery__grid .clc-case-card__body{padding:17px!important;}
.clc-case-gallery__grid .clc-case-card__body h4{font-size:17px!important;min-height:52px!important;}
.clc-case-gallery .clc-case-empty{grid-column:1/-1!important;padding:34px 22px!important;border-radius:18px!important;background:#fff!important;box-shadow:0 10px 24px rgba(34,60,95,.05)!important;}
.clc-case-pagination{margin-top:28px!important;}
@media (max-width:1440px){.clc-case-gallery{max-width:min(1540px,calc(100vw - 48px))!important;}.clc-case-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media (max-width:980px){.clc-case-gallery{max-width:min(100%,calc(100vw - 28px))!important;padding:18px 10px 24px!important;}.clc-case-gallery>header{padding:24px 18px!important;}.clc-case-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}.clc-case-gallery>nav,.clc-case-track-nav{padding:10px!important;border-radius:16px!important;}}
@media (max-width:640px){.clc-case-gallery{max-width:100%!important;padding:12px 0 22px!important;}.clc-case-gallery>header{border-radius:22px!important;}.clc-case-gallery>header h1{font-size:clamp(28px,8vw,40px)!important;}.clc-case-gallery>nav,.clc-case-track-nav{overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:thin!important;}.clc-case-gallery__grid{grid-template-columns:1fr!important;gap:14px!important;}}


/* 3.5.14 case gallery full-width breakout */
@media (min-width: 1200px){
  .clc-case-gallery{
    position:relative!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:min(1860px,calc(100vw - 56px))!important;
    max-width:none!important;
    margin:0!important;
    padding:28px 12px 40px!important;
  }
  .clc-case-gallery>header,
  .clc-case-gallery>nav,
  .clc-case-track-nav,
  .clc-case-gallery__grid,
  .clc-case-pagination{
    max-width:none!important;
  }
  .clc-case-gallery>header{
    padding:40px 46px!important;
    border-radius:30px!important;
  }
  .clc-case-gallery>nav,
  .clc-case-track-nav{
    padding:14px 16px!important;
    border-radius:22px!important;
  }
  .clc-case-gallery__grid{
    grid-template-columns:repeat(4,minmax(280px,1fr))!important;
    gap:24px!important;
  }
  .clc-case-gallery__grid .clc-case-card{
    border-radius:22px!important;
  }
  .clc-case-gallery__grid .clc-case-card__media{
    aspect-ratio:16/9!important;
  }
}
@media (min-width: 1500px){
  .clc-case-gallery{width:min(1940px,calc(100vw - 72px))!important;}
  .clc-case-gallery__grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:24px!important;}
}
@media (max-width: 1199px){
  .clc-case-gallery{left:auto!important;transform:none!important;width:auto!important;max-width:min(1540px,calc(100vw - 36px))!important;margin:0 auto!important;}
}


/* 3.6.3 learner home command compact redesign */
.clc-home-command{
  grid-template-columns:minmax(0,1fr)!important;
  gap:18px!important;
  padding:24px!important;
  background:
    radial-gradient(circle at 2% 0,rgba(50,115,232,.13),transparent 27%),
    radial-gradient(circle at 98% 100%,rgba(117,82,229,.11),transparent 30%),
    linear-gradient(135deg,#f8fbff 0%,#fff 58%,#f8f7ff 100%)!important;
}
.clc-home-command__copy{
  display:grid!important;
  grid-template-columns:minmax(220px,.82fr) minmax(280px,1.18fr)!important;
  grid-template-areas:
    "date notice"
    "title notice"
    "title actions"!important;
  column-gap:28px!important;
  row-gap:7px!important;
  align-items:start!important;
}
.clc-home-command__copy>span{grid-area:date!important;align-self:end!important;}
.clc-home-command__copy h2{
  grid-area:title!important;
  max-width:none!important;
  margin:2px 0 0!important;
  font-size:clamp(27px,2.2vw,34px)!important;
  line-height:1.18!important;
  text-wrap:balance!important;
  word-break:keep-all!important;
}
.clc-home-command__copy>p{
  grid-area:notice!important;
  max-width:none!important;
  margin:0!important;
  padding:14px 16px!important;
  border:1px solid rgba(188,209,235,.72)!important;
  border-left:4px solid #4b78dc!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.72)!important;
  color:#60748d!important;
  font-size:13px!important;
  line-height:1.72!important;
  box-shadow:0 7px 20px rgba(31,58,91,.04)!important;
}
.clc-home-command__actions{
  grid-area:actions!important;
  margin-top:5px!important;
  align-self:end!important;
}
.clc-home-command__metrics{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  align-self:auto!important;
}
.clc-home-command__metrics>a{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"label value" "desc desc"!important;
  align-content:center!important;
  min-height:104px!important;
  padding:15px 16px!important;
  border-top:3px solid #3970dc!important;
  border-radius:17px!important;
}
.clc-home-command__metrics>a.is-revision{border-top-color:#dc842d!important;}
.clc-home-command__metrics>a:nth-child(3){border-top-color:#2c9daf!important;}
.clc-home-command__metrics>a.is-chat{border-top-color:#7158d5!important;}
.clc-home-command__metrics span{
  grid-area:label!important;
  align-self:center!important;
  font-size:11px!important;
}
.clc-home-command__metrics strong{
  grid-area:value!important;
  margin:0!important;
  font-size:29px!important;
  text-align:right!important;
}
.clc-home-command__metrics small{
  grid-area:desc!important;
  margin-top:9px!important;
  overflow:visible!important;
  color:#8796a8!important;
  line-height:1.45!important;
  text-overflow:clip!important;
  white-space:normal!important;
}
@media(max-width:980px){
  .clc-home-command__copy{
    grid-template-columns:1fr!important;
    grid-template-areas:"date" "title" "notice" "actions"!important;
    row-gap:10px!important;
  }
  .clc-home-command__copy h2{max-width:680px!important;}
  .clc-home-command__metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:700px){
  .clc-home-command{padding:19px!important;gap:15px!important;}
  .clc-home-command__copy h2{font-size:25px!important;}
  .clc-home-command__copy>p{padding:12px 13px!important;}
  .clc-home-command__metrics>a{min-height:96px!important;padding:13px!important;}
  .clc-home-command__metrics strong{font-size:26px!important;}
}
@media(max-width:430px){
  .clc-home-command__metrics{grid-template-columns:1fr!important;}
  .clc-home-command__metrics>a{min-height:86px!important;}
}
