@import url("https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700&display=swap");

.gpm-shell {
	--gpm-ink: var(--color-text-primary, #1f2937);
	--gpm-muted: var(--color-text-secondary, #4b5563);
	--gpm-line: rgba(13, 35, 58, 0.12);
	--gpm-surface: var(--color-bg-light, #ffffff);
	--gpm-soft: var(--color-bg-surface, #f6f7f9);
	--gpm-primary: var(--color-primary, #0d233a);
	--gpm-primary-dark: var(--color-primary-dark, #071524);
	--gpm-blue-accent: var(--gpm-primary);
	--gpm-red: var(--color-accent, #700c14);
	color: var(--gpm-ink);
	font-family: Raleway, var(--font-body, sans-serif);
	margin: 0 auto;
	max-width: 1280px;
	padding: clamp(1rem, 3vw, 2rem) clamp(1rem, 4vw, 3rem) 3.5rem;
}

html[data-gpm-theme="dark"] :is(.gpm-card-builder__item, .gpm-card-builder__item-actions button, .gpm-fixation-study, .gpm-fixation-study button, .gpm-workspace-module-row__action) {
	background: #14202f;
	border-color: rgba(215, 227, 248, 0.16);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-fixation-card__back {
	background: #14202f;
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] :is(.gpm-card-builder__fields, .gpm-card-builder__preview) {
	border-color: rgba(215, 227, 248, 0.12);
}

html[data-gpm-theme="dark"] .gpm-card-builder__empty {
	border-color: rgba(215, 227, 248, 0.2);
}

@media (max-width: 640px) {
	.gpm-card-builder__head,
	.gpm-fixation-study__head {
		align-items: stretch;
		flex-direction: column;
	}

	.gpm-card-builder__actions > *,
	.gpm-fixation-study__controls > *,
	.gpm-fixation-study__rating > * {
		flex: 1 1 auto;
	}

	.gpm-card-builder__item > summary {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.gpm-card-builder__item > summary > .dashicons {
		display: none;
	}

	.gpm-fixation-card,
	.gpm-fixation-card__inner {
		min-height: 210px;
	}

	.gpm-module-editor .gpm-rich-toolbar button {
		min-height: 38px;
		min-width: 38px;
	}

	.gpm-workspace-module-row__link {
		grid-template-columns: 1fr;
	}

	.gpm-workspace-module-row__action {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gpm-fixation-card__inner,
	.gpm-fixation-study__progress > span {
		transition: none;
	}

	.gpm-fixation-card.is-flipped .gpm-fixation-card__inner {
		transform: none;
	}

	.gpm-fixation-card.is-flipped .gpm-fixation-card__front {
		display: none;
	}

	.gpm-fixation-card__back {
		transform: none;
	}
}

.gpm-shell * {
	box-sizing: border-box;
}

.gpm-shell :where(h1, h2, h3, h4, h5, h6),
.gpm-shell :where(summary strong, .gpm-ego-list__title, .gpm-diary-card h3, .gpm-habit-item strong, .gpm-student-menu-toggle) {
	font-weight: 400 !important;
}

.gpm-dashboard-main {
	background:
		linear-gradient(180deg, rgba(13, 35, 58, 0.035), transparent 340px),
		var(--color-bg-surface, #f6f7f9);
}

.single-layout:has(.gpm-shell) {
	display: block;
	padding-bottom: 2.5rem;
}

.single-layout:has(.gpm-shell) .single-sidebar {
	display: none;
}

.single-layout:has(.gpm-shell) .single-content {
	max-width: none;
}

.wp-post-content .gpm-shell :where(h1, h2, h3, p, ul, ol, li) {
	margin-left: 0;
	margin-right: 0;
}

.gpm-hero {
	--gpm-hero-overlay: rgba(7, 21, 36, 0.15);
	align-items: stretch;
	background:
		linear-gradient(var(--gpm-hero-overlay), var(--gpm-hero-overlay)),
		var(--gpm-primary);
	border: 0;
	border-radius: var(--radius-md, 8px);
	box-shadow: none;
	display: grid;
	gap: clamp(1.25rem, 4vw, 2.25rem);
	grid-template-columns: minmax(0, 1fr) minmax(460px, 640px);
	min-height: 340px;
	overflow: hidden;
	padding: clamp(1.5rem, 5vw, 3.5rem);
}

.gpm-hero--with-image {
	background:
		linear-gradient(var(--gpm-hero-overlay), var(--gpm-hero-overlay)),
		var(--gpm-hero-image) center / cover no-repeat,
		var(--gpm-primary);
}

.gpm-visually-hidden {
	border: 0 !important;
	clip: rect(0, 0, 0, 0) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

.gpm-page-hero {
	--gpm-hero-overlay: rgba(7, 21, 36, 0.15);
	align-items: center;
	aspect-ratio: 2000 / 590;
	background:
		linear-gradient(var(--gpm-hero-overlay), var(--gpm-hero-overlay)),
		var(--gpm-hero-image) center / cover no-repeat,
		var(--gpm-primary);
	border-radius: var(--radius-md, 8px);
	display: flex;
	gap: clamp(1.25rem, 4vw, 2.5rem);
	min-height: 190px;
	overflow: hidden;
	padding: clamp(1.25rem, 3.5vw, 2.5rem) clamp(1.5rem, 4.5vw, 3rem);
	width: 100%;
}

.gpm-page-hero__identity {
	align-items: center;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	gap: 0.55rem;
	text-align: center;
	width: clamp(84px, 9vw, 120px);
}

.gpm-page-hero__avatar {
	aspect-ratio: 1 / 1;
	border: 3px solid #ffffff;
	border-radius: 50%;
	object-fit: cover;
	width: 178px;
}

.gpm-page-hero__name {
	color: #ffffff;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.25;
	overflow-wrap: break-word;
}

.gpm-page-hero__body {
	display: grid;
	gap: 0.6rem;
	min-width: 0;
}

.gpm-page-hero__title {
	color: #ffffff;
	font-size: clamp(1.6rem, 3.6vw, 2.5rem);
	font-weight: 900;
	line-height: 1.15;
	margin: 0;
	overflow: visible;
	text-shadow: 0 2px 16px rgba(7, 21, 36, 0.72);
	white-space: normal;
}

.gpm-page-hero__subtitle {
	color: rgba(255, 255, 255, 0.85);
	display: -webkit-box;
	font-size: clamp(0.86rem, 1.4vw, 1rem);
	line-height: 1.5;
	margin: 0;
	max-width: 640px;
	overflow: hidden;
	text-shadow: 0 2px 12px rgba(7, 21, 36, 0.6);
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.gpm-page-hero__progress {
	background: rgba(255, 255, 255, 0.25);
	border-radius: 999px;
	height: 0.6rem;
	max-width: 320px;
	overflow: hidden;
	width: 100%;
}

.gpm-page-hero__progress span {
	background: #fdba49;
	display: block;
	height: 100%;
}

.gpm-page-hero .gpm-button--gold {
	margin-top: 0.15rem;
	width: fit-content;
}

.gpm-page-hero__module {
	background: rgba(7, 21, 36, 0.45);
	border-left: 4px solid #fdba49;
	border-radius: 6px;
	color: #ffffff !important;
	display: inline-block;
	font-size: clamp(1.3rem, 2.8vw, 2rem);
	font-weight: 900;
	line-height: 1.25;
	margin: 1.1rem 0 0;
	padding: 0.35rem 0.9rem;
	text-shadow: 0 2px 12px rgba(7, 21, 36, 0.6);
	width: fit-content;
}

.gpm-hero__content {
	align-content: start;
	display: grid;
	min-width: 0;
}

.gpm-breadcrumb {
	align-items: center;
	color: rgba(255, 255, 255, 0.68);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.86rem;
	gap: 0.35rem;
	margin-bottom: 1rem;
}

.gpm-breadcrumb a {
	color: rgba(255, 255, 255, 0.68) !important;
	text-decoration: none;
}

.gpm-breadcrumb span:last-child {
	color: var(--gpm-blue-accent);
	font-weight: 700;
}

.gpm-kicker {
	color: var(--gpm-blue-accent) !important;
	font-size: 0.76rem !important;
	font-weight: 900;
	letter-spacing: 0 !important;
	margin: 0 0 0.7rem !important;
	text-transform: uppercase;
}

.gpm-hero h1 {
	color: #ffffff !important;
	font-size: clamp(0.85rem, 1.75vw, 1.3rem);
	letter-spacing: 0;
	line-height: 1.12;
	margin: 0;
	max-width: 820px;
	text-shadow: 0 2px 16px rgba(7, 21, 36, 0.72);
}

.gpm-hero p {
	color: rgba(255, 255, 255, 0.78);
	font-size: clamp(1rem, 1.6vw, 1.14rem);
	line-height: 1.7;
	margin: 1.25rem 0 0;
	max-width: 690px;
}

.gpm-hero__learning-summary {
	display: grid;
	gap: 0.85rem;
	margin-top: 1.35rem;
}

.gpm-hero__learning-summary > div:not(.gpm-hero__actions) {
	display: grid;
	gap: 0.18rem;
}

.gpm-hero__learning-summary span {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.gpm-hero__learning-summary strong {
	color: #ffffff;
	font-size: 1rem;
	line-height: 1.35;
}

.gpm-hero__learning-summary small {
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.85rem;
	line-height: 1.4;
}

.gpm-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.gpm-hero .gpm-kicker {
	color: #fdba49 !important;
}

.gpm-hero-courses {
	display: grid;
	gap: 1.35rem;
	margin-top: 1.35rem;
}

.gpm-hero-course + .gpm-hero-course {
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	padding-top: 1.35rem;
}

.gpm-hero-course__kicker {
	background: #fdba49;
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	padding: 0.3rem 0.7rem;
	text-transform: uppercase;
	width: fit-content;
}

.gpm-hero-course h3 {
	color: #ffffff;
	font-size: 1.2rem;
	font-weight: 900;
	line-height: 1.3;
	margin: 0.6rem 0 0;
	text-transform: uppercase;
}

.gpm-hero-course__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 0.9rem;
}

.gpm-hero-course__actions .gpm-button {
	font-size: 0.82rem;
	min-height: 38px;
	padding: 0.55rem 0.8rem;
}

.gpm-button--gold {
	background: #fdba49;
	border-color: #fdba49;
	color: #ffffff !important;
}

.gpm-button--gold:hover,
.gpm-button--gold:focus-visible {
	background: #f0ad3a;
	border-color: #f0ad3a;
}

.gpm-button {
	align-items: center;
	border: 1px solid rgba(13, 35, 58, 0.16);
	border-radius: var(--radius-sm, 4px);
	cursor: pointer;
	display: inline-flex;
	font-size: 0.95rem;
	font-weight: 900;
	justify-content: center;
	min-height: 46px;
	padding: 0.78rem 1rem;
	text-decoration: none;
	transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.gpm-shell .gpm-button,
.wp-post-content .gpm-shell .gpm-button {
	text-decoration: none;
}

.gpm-button:hover {
	box-shadow: 0 12px 28px rgba(7, 21, 36, 0.18);
	transform: translateY(-1px);
}

.gpm-button--primary {
	background: var(--gpm-primary);
	border-color: var(--gpm-primary);
	color: #ffffff !important;
}

html[data-gpm-theme="light"] .gpm-button--primary:hover,
html[data-gpm-theme="light"] .gpm-button--primary:focus-visible,
html[data-gpm-theme="light"] .gpm-button--dark:hover,
html[data-gpm-theme="light"] .gpm-button--dark:focus-visible {
	background: var(--gpm-red);
	border-color: var(--gpm-red);
}

.gpm-button--light {
	background: #ffffff;
	border-color: #ffffff;
	color: var(--gpm-primary) !important;
}

.gpm-button--secondary {
	background: #ffffff;
	border-color: rgba(13, 35, 58, 0.18);
	color: var(--gpm-primary) !important;
}

.gpm-button--dark {
	background: var(--gpm-primary);
	border-color: var(--gpm-primary);
	color: #ffffff !important;
	margin-top: 1rem;
}

.gpm-button--start {
	background: var(--gpm-red);
	border-color: var(--gpm-red);
	color: #ffffff !important;
}

.gpm-identity-card {
	align-self: center;
	backdrop-filter: blur(16px);
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: var(--radius-md, 8px);
	box-shadow: 0 20px 48px rgba(0, 0, 0, 0.22);
	display: grid;
	gap: 1rem;
	justify-items: center;
	max-width: 640px;
	padding: 1.35rem;
	text-align: center;
	width: 100%;
}

.gpm-identity-card__avatar {
	aspect-ratio: 1 / 1;
	border: 4px solid #ffffff;
	border-radius: 50%;
	object-fit: cover;
	width: 99px;
}

.gpm-identity-card__copy {
	display: grid;
	gap: 0.25rem;
	min-width: 0;
}

.gpm-identity-card__copy strong {
	color: #ffffff;
	font-size: 1.25rem;
	overflow-wrap: anywhere;
}

.gpm-identity-card__copy span {
	color: #ffffff;
	font-weight: 800;
}

.gpm-identity-data {
	display: grid;
	gap: 0.6rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	width: 100%;
}

.gpm-identity-data div {
	background: rgba(255, 255, 255, 0.13);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--radius-sm, 4px);
	min-height: 4.6rem;
	padding: 0.62rem 0.5rem;
}

.gpm-identity-data dt {
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.66rem;
	font-weight: 900;
	line-height: 1.18;
	overflow: hidden;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.gpm-identity-data dd {
	color: #ffffff;
	font-weight: 800;
	margin: 0.15rem 0 0;
	overflow-wrap: anywhere;
}

.gpm-identity-data dd strong,
.gpm-identity-data dd span {
	display: block;
}

.gpm-identity-data dd strong {
	color: #fdba49;
	display: -webkit-box;
	font-size: 1.13rem;
	line-height: 1.2;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	white-space: normal;
}

.gpm-identity-data dd span {
	color: rgba(255, 255, 255, 0.72);
	display: -webkit-box;
	font-size: 0.72rem;
	font-weight: 760;
	line-height: 1.25;
	margin-top: 0.24rem;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	white-space: normal;
}

.gpm-identity-data dd span + span {
	margin-top: 0.16rem;
}

.gpm-cosmic-summary {
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	display: grid;
	gap: 0.45rem;
	padding-top: 0.85rem;
	text-align: left;
	width: 100%;
}

.gpm-cosmic-summary p {
	align-items: baseline;
	display: flex;
	gap: 0.6rem;
	justify-content: space-between;
	margin: 0;
}

.gpm-cosmic-summary strong {
	color: rgba(255, 255, 255, 0.66);
	font-size: 0.68rem;
	font-weight: 900;
	text-transform: uppercase;
}

.gpm-cosmic-summary span {
	color: #ffffff;
	font-size: 0.78rem;
	font-weight: 720;
	text-align: right;
}

.gpm-tabs {
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-md, 8px);
	box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
	display: flex;
	gap: 0.25rem;
	margin: 1rem 0;
	overflow-x: auto;
	padding: 0.38rem;
	position: sticky;
	top: 0.75rem;
	z-index: 10;
}

.gpm-tabs a {
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-muted);
	font-size: 0.9rem;
	font-weight: 900;
	padding: 0.7rem 0.85rem;
	text-decoration: none;
	white-space: nowrap;
}

.gpm-tabs a:hover {
	background: var(--gpm-soft);
	color: var(--gpm-primary);
}

.gpm-status-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1.5fr) minmax(170px, 0.55fr);
	margin-top: 1rem;
}

.gpm-panel,
.gpm-status-card {
	background: var(--gpm-surface);
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-md, 8px);
	box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.05));
	min-height: 210px;
	padding: clamp(1.1rem, 2vw, 1.55rem);
}

.gpm-status-card {
	align-content: center;
	display: grid;
}

.gpm-status-card h2,
.gpm-panel h2 {
	color: var(--gpm-primary);
	font-size: clamp(1.25rem, 2.4vw, 1.9rem);
	line-height: 1.12;
	margin: 0;
}

.gpm-status-card p,
.gpm-panel p {
	color: var(--gpm-muted);
	line-height: 1.62;
	margin: 0.65rem 0 0;
}

.gpm-stat {
	color: var(--gpm-primary);
	display: block;
	font-size: 3.75rem;
	line-height: 1;
}

.gpm-vault-status {
	color: var(--gpm-red);
	display: block;
	font-size: 1.9rem;
	line-height: 1.1;
}

.gpm-progress {
	background: rgba(13, 35, 58, 0.11);
	border-radius: var(--radius-full, 999px);
	height: 0.8rem;
	margin: 1.4rem 0 0.65rem;
	overflow: hidden;
}

.gpm-progress span {
	background: linear-gradient(90deg, var(--gpm-red), var(--gpm-blue-accent));
	display: block;
	height: 100%;
}

.gpm-infographics {
	margin-top: 1rem;
	min-height: 0;
}

.gpm-section-heading {
	align-items: end;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: 1.35rem;
}

.gpm-section-heading > p {
	max-width: 380px;
	text-align: right;
}

.gpm-rings {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gpm-ring-card {
	align-items: center;
	background: linear-gradient(180deg, #ffffff, var(--gpm-soft));
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-md, 8px);
	display: grid;
	gap: 0.55rem;
	justify-items: center;
	min-height: 245px;
	padding: 1.25rem;
	text-align: center;
}

.gpm-ring {
	--gpm-value: 0;
	--gpm-ring-color: var(--gpm-primary);
	align-items: center;
	aspect-ratio: 1 / 1;
	background:
		radial-gradient(circle at center, var(--gpm-surface) 0 55%, transparent 56%),
		conic-gradient(var(--gpm-ring-color) calc(var(--gpm-value) * 1%), rgba(13, 35, 58, 0.11) 0);
	border-radius: 50%;
	display: grid;
	justify-items: center;
	width: 128px;
}

.gpm-ring::after {
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 50%;
	content: "";
	grid-area: 1 / 1;
	height: 88px;
	width: 88px;
}

.gpm-ring span {
	color: var(--gpm-primary);
	font-size: 1.45rem;
	font-weight: 900;
	grid-area: 1 / 1;
	position: relative;
	z-index: 1;
}

.gpm-ring--primary {
	--gpm-ring-color: var(--gpm-blue-accent);
}

.gpm-ring--accent {
	--gpm-ring-color: var(--gpm-red);
}

.gpm-ring-card strong {
	color: var(--gpm-primary);
	font-size: 1.04rem;
}

.gpm-ring-card p {
	font-size: 0.9rem;
	line-height: 1.45;
	margin: 0;
}

.gpm-workspace {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 1rem;
}

.gpm-panel--studies {
	margin-top: 1rem;
	min-height: 0;
}

.gpm-courses {
	display: grid;
	gap: 1rem;
}

.gpm-course-card {
	background: linear-gradient(180deg, #ffffff, var(--gpm-soft));
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-md, 8px);
	overflow: hidden;
}

.gpm-course-card__banner {
	aspect-ratio: 16 / 5;
	display: block;
	object-fit: cover;
	width: 100%;
}

.gpm-course-card__body {
	display: grid;
	gap: 1rem;
	padding: clamp(1rem, 2vw, 1.35rem);
}

.gpm-course-card__header {
	align-items: start;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-course-card h3 {
	color: var(--gpm-primary);
	font-size: clamp(1.35rem, 3vw, 2rem);
	line-height: 1.1;
	margin: 0.35rem 0 0;
}

.gpm-course-progress {
	background: #ffffff;
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-muted);
	display: grid;
	flex: 0 0 120px;
	justify-items: center;
	padding: 0.8rem;
	text-align: center;
}

.gpm-course-progress strong {
	color: var(--gpm-primary);
	font-size: 1.6rem;
	line-height: 1;
}

.gpm-course-progress span,
.gpm-course-meta {
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.gpm-course-meta {
	color: var(--gpm-muted);
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.gpm-course-meta span,
.gpm-pill {
	background: rgba(13, 35, 58, 0.16);
	border: 1px solid rgba(13, 35, 58, 0.4);
	border-radius: var(--radius-full, 999px);
	color: var(--gpm-primary);
	display: inline-flex;
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1;
	padding: 0.35rem 0.6rem;
	text-transform: uppercase;
}

.gpm-module {
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-md, 8px);
	display: grid;
	gap: 0.8rem;
	padding: 1rem;
}

.gpm-module h4,
.gpm-lesson-card h5 {
	color: var(--gpm-primary);
	margin: 0;
}

.gpm-lesson-card {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: var(--radius-sm, 4px);
	display: grid;
	gap: 0.75rem;
	padding: 0.9rem;
}

.gpm-lesson-card.is-complete {
	background: rgba(13, 35, 58, 0.1);
}

.gpm-lesson-card__main {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	justify-content: space-between;
}

.gpm-lesson-card__main h5 {
	flex: 1 1 220px;
	font-size: 1rem;
}

.gpm-lesson-card__main small {
	color: var(--gpm-muted);
	font-weight: 900;
}

.gpm-resource-link {
	color: var(--gpm-red);
	font-weight: 900;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.gpm-lesson-block {
	background: var(--gpm-soft);
	border-left: 4px solid var(--gpm-primary);
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-muted);
	padding: 0.8rem;
}

.gpm-lesson-block--task {
	border-left-color: var(--gpm-red);
}

.gpm-lesson-block strong {
	color: var(--gpm-primary);
	display: block;
	margin-bottom: 0.35rem;
}

.gpm-lesson-block h2,
.gpm-lesson-block h3,
.gpm-lesson-block h4 {
	color: var(--gpm-primary);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0.65rem 0 0.35rem;
}

.gpm-lesson-block h2 {
	font-size: 1.15rem;
}

.gpm-lesson-block h3 {
	font-size: 1.05rem;
}

.gpm-lesson-block h4 {
	font-size: 0.98rem;
}

.gpm-lesson-block p {
	margin: 0.35rem 0 0;
}

.gpm-rich-content {
	color: inherit;
}

.gpm-rich-content :where(h2, h3, h4) {
	color: var(--gpm-primary);
	font-weight: 700;
	line-height: 1.25;
	margin: 0.5rem 0 0.3rem;
}

.gpm-rich-content h2 {
	font-size: 1.1rem;
}

.gpm-rich-content h3 {
	font-size: 1.02rem;
}

.gpm-rich-content h4 {
	font-size: 0.96rem;
}

.gpm-rich-content :where(p, ul, ol) {
	margin: 0 0 0.4rem;
}

.gpm-rich-content:last-child :where(p, ul, ol):last-child {
	margin-bottom: 0;
}

.gpm-rich-content :where(ul, ol) {
	padding-left: 1.2rem;
}

.gpm-rich-content img {
	border-radius: 8px;
	max-width: 100%;
}

/* Cita\u00e7\u00f5es editoriais: as aspas s\u00e3o um SVG decorativo embutido no CSS. */
.gpm-rich-content blockquote {
	position: relative;
	margin: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 2vw, 1.5rem);
	padding: clamp(3.1rem, 5vw, 4rem) clamp(1.25rem, 3vw, 2.5rem) clamp(1.25rem, 2.5vw, 2.25rem);
	border: 0;
	border-left: 9px solid #d8a12a;
	border-radius: 0 14px 14px 0;
	background: #fff4e2;
	color: #795c1f;
	font-style: italic;
	line-height: 1.5;
}

.gpm-rich-content blockquote::before {
	position: absolute;
	top: clamp(0.95rem, 1.75vw, 1.25rem);
	left: clamp(0.9rem, 2vw, 1.5rem);
	width: clamp(1.68rem, 2.45vw, 2.275rem);
	aspect-ratio: 4 / 3;
	background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 48'%3E%3Cpath fill='%237d6a45' d='M0 48h24V24H12c0-6.6 5.4-12 12-12V0C10.7 0 0 10.7 0 24v24Zm40 0h24V24H52c0-6.6 5.4-12 12-12V0C50.7 0 40 10.7 40 24v24Z'/%3E%3C/svg%3E");
	content: "";
	pointer-events: none;
}

.gpm-rich-content blockquote p {
	color: inherit;
	font: inherit;
	margin: 0 !important;
}

.gpm-rich-content blockquote p + p {
	margin-top: 1rem !important;
}

@media (max-width: 768px) {
	.gpm-rich-content blockquote {
		border-left-width: 6px;
		border-radius: 0 10px 10px 0;
		line-height: 1.45;
	}
}

html[data-gpm-theme="dark"] .gpm-rich-content blockquote {
	background: #05234b;
	border-left-color: #004aad;
	color: #ffffff;
}

html[data-gpm-theme="dark"] .gpm-rich-content blockquote :is(p, cite) {
	color: #ffffff !important;
}

html[data-gpm-theme="dark"] .gpm-rich-content blockquote::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 48'%3E%3Cpath fill='%239eb6d5' d='M0 48h24V24H12c0-6.6 5.4-12 12-12V0C10.7 0 0 10.7 0 24v24Zm40 0h24V24H52c0-6.6 5.4-12 12-12V0C50.7 0 40 10.7 40 24v24Z'/%3E%3C/svg%3E");
}

.gpm-fixation-cards,
.gpm-materials {
	display: grid;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gpm-fixation-cards {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gpm-fixation-cards li,
.gpm-materials li {
	background: rgba(13, 35, 58, 0.05);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-primary);
	font-weight: 800;
	padding: 0.7rem;
}

.gpm-panel--privacy {
	background:
		linear-gradient(135deg, rgba(112, 12, 20, 0.08), transparent 55%),
		var(--gpm-surface);
	border-color: rgba(112, 12, 20, 0.18);
}

.gpm-clean-list,
.gpm-badges {
	list-style: none;
	margin: 1.15rem 0 0;
	padding: 0;
}

.gpm-clean-list {
	display: grid;
	gap: 0.6rem;
}

.gpm-clean-list li {
	align-items: center;
	background: var(--gpm-soft);
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-primary);
	display: flex;
	font-weight: 800;
	gap: 0.75rem;
	justify-content: space-between;
	padding: 0.85rem;
}

.gpm-clean-list li.is-complete {
	background: rgba(13, 35, 58, 0.12);
}

.gpm-clean-list li span {
	background: rgba(13, 35, 58, 0.18);
	border: 1px solid rgba(13, 35, 58, 0.42);
	border-radius: var(--radius-full, 999px);
	color: var(--gpm-primary);
	flex: 0 0 auto;
	font-size: 0.72rem;
	font-weight: 900;
	padding: 0.25rem 0.55rem;
	text-transform: uppercase;
}

.gpm-mini-button {
	background: var(--gpm-primary);
	border: 1px solid var(--gpm-primary);
	border-radius: var(--radius-sm, 4px);
	color: #ffffff;
	cursor: pointer;
	font-size: 0.78rem;
	font-weight: 900;
	margin-left: auto;
	min-height: 34px;
	padding: 0.45rem 0.7rem;
}

.gpm-mini-button:hover {
	background: var(--gpm-red);
	border-color: var(--gpm-red);
}

/* .gpm-student-table button (más específico) deja el color en gris por
   defecto; forzamos blanco al pasar el mouse para que el ícono sea legible
   sobre el fondo rojo. */
html:not([data-gpm-theme="dark"]) .gpm-student-table .gpm-mini-button:hover,
html:not([data-gpm-theme="dark"]) .gpm-student-table .gpm-mini-button:focus-visible {
	color: #ffffff !important;
}

/* Refuerzo: el glifo del dashicon a veces no hereda "color" del botón en
   este contexto; forzamos el color directamente sobre el ícono también. */
html:not([data-gpm-theme="dark"]) .gpm-student-table .gpm-mini-button:hover .dashicons,
html:not([data-gpm-theme="dark"]) .gpm-student-table .gpm-mini-button:focus-visible .dashicons {
	color: #ffffff !important;
}

.gpm-mini-button--danger {
	background: var(--gpm-red);
	border-color: var(--gpm-red);
	color: #ffffff;
}

.gpm-mini-button--danger:hover {
	background: var(--gpm-primary-dark);
	border-color: var(--gpm-primary-dark);
}

.gpm-link-button {
	background: transparent;
	border: 0;
	color: var(--gpm-red);
	cursor: pointer;
	font: inherit;
	font-size: 0.86rem;
	font-weight: 900;
	margin: 0.6rem 0 0;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.gpm-metrics {
	display: grid;
	gap: 0.7rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 1.2rem;
}

.gpm-metrics span {
	background: var(--gpm-soft);
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-muted);
	display: grid;
	font-weight: 800;
	min-height: 92px;
	padding: 1rem;
}

.gpm-metrics strong {
	color: var(--gpm-primary);
	font-size: 2rem;
	line-height: 1;
}

.gpm-practice-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1rem;
}

.gpm-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.gpm-badges li {
	background: rgba(13, 35, 58, 0.18);
	border: 1px solid rgba(13, 35, 58, 0.58);
	border-radius: var(--radius-full, 999px);
	color: var(--gpm-primary);
	font-size: 0.88rem;
	font-weight: 900;
	padding: 0.5rem 0.75rem;
}

.gpm-vault-note {
	background: #ffffff;
	border-left: 4px solid var(--gpm-red);
	border-radius: var(--radius-sm, 4px);
	margin-top: 1rem !important;
	padding: 0.85rem;
}

.gpm-vault-hint {
	background: rgba(13, 35, 58, 0.14);
	border: 1px solid rgba(13, 35, 58, 0.42);
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-primary) !important;
	font-weight: 800;
	padding: 0.75rem;
}

.gpm-vault {
	display: grid;
	gap: 1rem;
	margin-top: 1rem;
}

.gpm-vault label {
	color: var(--gpm-primary);
	display: block;
	font-size: 0.82rem;
	font-weight: 900;
	margin: 0.75rem 0 0.35rem;
}

.gpm-inline-form {
	display: grid;
	gap: 0.5rem;
	grid-template-columns: minmax(0, 1fr) auto;
}

.gpm-vault input,
.gpm-vault select,
.gpm-vault textarea {
	background: #ffffff;
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-primary);
	font: inherit;
	padding: 0.72rem 0.8rem;
	width: 100%;
}

.gpm-secret-input {
	-webkit-text-security: disc;
	letter-spacing: 0.08em;
}

.gpm-secret-input.is-visible {
	-webkit-text-security: none;
	letter-spacing: 0;
}

.gpm-vault textarea {
	resize: vertical;
}

.gpm-vault-quick-note {
	display: grid;
	gap: 1rem;
}

.gpm-vault-quick-note__head {
	align-items: flex-start;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-vault-quick-note__head h2 {
	margin-bottom: 0.35rem;
}

.gpm-vault-quick-note__head p:last-child {
	color: var(--gpm-muted);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.45;
	margin: 0;
	max-width: 48rem;
}

.gpm-vault-lock-inline {
	align-items: center;
	background: rgba(13, 35, 58, 0.06);
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 8px;
	color: var(--gpm-primary);
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 auto;
	font: inherit;
	font-size: 0.86rem;
	font-weight: 900;
	gap: 0.45rem;
	min-height: 40px;
	padding: 0.55rem 0.75rem;
}

.gpm-vault-lock-inline:hover,
.gpm-vault-lock-inline:focus-visible {
	background: rgba(112, 12, 20, 0.08);
	border-color: rgba(112, 12, 20, 0.28);
	color: var(--gpm-red);
	outline: none;
}

.gpm-vault-entry {
	display: grid;
	gap: 0.9rem;
}

.gpm-vault-entry__grid {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.gpm-vault-entry__grid label,
.gpm-vault-entry .gpm-rich-field {
	display: grid;
	gap: 0.4rem;
	margin: 0;
}

.gpm-vault-entry__grid span,
.gpm-vault-entry .gpm-rich-field > span {
	color: var(--gpm-primary);
	font-size: 0.82rem;
	font-weight: 900;
}

.gpm-rich-editor--vault textarea {
	min-height: 220px;
}

.gpm-vault-entry__footer {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-vault-entry__footer p {
	color: var(--gpm-muted);
	font-size: 0.83rem;
	font-weight: 700;
	line-height: 1.45;
	margin: 0;
	max-width: 33rem;
}

.gpm-vault-entry__footer > div {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	gap: 0.55rem;
	justify-content: flex-end;
}

.gpm-vault-actions,
.gpm-vault-primary-actions,
.gpm-vault-secondary-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 0.85rem;
}

.gpm-vault-primary-actions {
	align-items: stretch;
	margin-top: 1rem;
}

.gpm-vault-primary-actions .gpm-button {
	justify-content: center;
	min-height: 44px;
}

.gpm-vault-secondary-actions {
	background: rgba(13, 35, 58, 0.05);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	margin-top: 0.75rem;
	padding: 0.65rem;
}

.gpm-vault-secondary-actions .gpm-link-button {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 8px;
	color: var(--gpm-primary);
	cursor: pointer;
	font: inherit;
	font-size: 0.86rem;
	font-weight: 900;
	line-height: 1.2;
	min-height: 38px;
	padding: 0.58rem 0.75rem;
	text-decoration: none;
}

.gpm-vault-secondary-actions .gpm-link-button:hover,
.gpm-vault-secondary-actions .gpm-link-button:focus-visible {
	border-color: var(--gpm-primary);
	box-shadow: 0 0 0 3px rgba(13, 35, 58, 0.08);
}

.gpm-vault-trusted {
	align-items: flex-start;
	background: rgba(13, 35, 58, 0.05);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	cursor: pointer;
	display: flex !important;
	gap: 0.75rem;
	margin: 1rem 0 0 !important;
	padding: 0.8rem;
}

.gpm-vault-trusted input {
	flex: 0 0 auto;
	margin-top: 0.18rem;
	width: auto;
}

.gpm-vault-trusted span {
	display: grid;
	gap: 0.2rem;
}

.gpm-vault-trusted strong {
	color: var(--gpm-primary);
	font-size: 0.9rem;
	line-height: 1.25;
}

.gpm-vault-trusted small {
	color: var(--gpm-muted);
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.35;
}

.gpm-vault-index {
	border-top: 1px solid rgba(112, 12, 20, 0.18);
	margin-top: 1rem;
	padding-top: 1rem;
}

.gpm-vault-index h3 {
	color: var(--gpm-primary);
	font-size: 1rem;
	margin: 0 0 0.75rem;
}

.gpm-vault-index ul {
	display: grid;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gpm-vault-index li {
	align-items: center;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(112, 12, 20, 0.12);
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-primary);
	display: flex;
	gap: 0.8rem;
	font-weight: 800;
	justify-content: space-between;
	padding: 0.72rem;
}

.gpm-vault-index__actions {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	gap: 0.45rem;
	justify-content: flex-end;
}

.gpm-vault-modules {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.85rem;
}

.gpm-vault-modules button {
	background: rgba(13, 35, 58, 0.08);
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: var(--radius-full, 999px);
	color: var(--gpm-primary);
	cursor: pointer;
	font-size: 0.78rem;
	font-weight: 900;
	padding: 0.45rem 0.7rem;
}

.gpm-vault-modules button.is-active {
	background: var(--gpm-red);
	border-color: var(--gpm-red);
	color: #ffffff;
}

.gpm-modal-is-open {
	overflow: hidden;
}

.gpm-toast-region {
	display: grid;
	gap: 0.6rem;
	position: fixed;
	right: 1rem;
	top: 1rem;
	width: min(360px, calc(100vw - 2rem));
	z-index: 10000;
}

.gpm-toast {
	background: #ffffff;
	border: 1px solid var(--gpm-line);
	border-left: 5px solid var(--gpm-primary);
	border-radius: var(--radius-sm, 4px);
	box-shadow: 0 14px 34px rgba(7, 21, 36, 0.18);
	color: var(--gpm-primary);
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.45;
	padding: 0.85rem 1rem;
	transition: opacity 200ms ease, transform 200ms ease;
}

.gpm-toast--success {
	border-left-color: #176b3a;
}

.gpm-toast--error {
	border-left-color: var(--gpm-red);
}

.gpm-toast.is-hiding {
	opacity: 0;
	transform: translateY(-6px);
}

.gpm-modal[hidden] {
	display: none;
}

.gpm-modal {
	inset: 0;
	position: fixed;
	z-index: 9999;
}

.gpm-modal__backdrop {
	background: rgba(7, 21, 36, 0.68);
	inset: 0;
	position: absolute;
}

.gpm-modal__dialog {
	background:
		linear-gradient(135deg, rgba(13, 35, 58, 0.08), transparent 34%),
		#ffffff;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--radius-md, 8px);
	box-shadow: 0 28px 80px rgba(7, 21, 36, 0.35);
	left: 50%;
	max-height: min(88vh, 840px);
	max-width: min(760px, calc(100vw - 2rem));
	overflow-y: auto;
	padding: clamp(1.1rem, 3vw, 1.75rem);
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.gpm-modal__close {
	align-items: center;
	background: var(--gpm-primary);
	border: 1px solid var(--gpm-primary);
	border-radius: 50%;
	color: #ffffff;
	cursor: pointer;
	display: inline-grid;
	font-size: 1.35rem;
	font-weight: 900;
	height: 2.25rem;
	justify-content: center;
	line-height: 1;
	position: absolute;
	right: 0.9rem;
	top: 0.9rem;
	width: 2.25rem;
}

.gpm-modal__dialog .gpm-vault {
	margin-top: 0;
}

.gpm-modal__dialog .gpm-vault h2 {
	color: var(--gpm-primary);
	font-size: clamp(1.55rem, 4vw, 2.25rem);
	line-height: 1.05;
	margin: 0;
	padding-right: 2.8rem;
}

.gpm-password-field {
	position: relative;
}

.gpm-password-field input {
	width: 100%;
}

.gpm-password-field button {
	align-items: center;
	background: var(--gpm-primary);
	border: 1px solid var(--gpm-primary);
	border-radius: var(--radius-sm, 4px);
	color: #ffffff;
	cursor: pointer;
	display: flex;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 900;
	height: 100%;
	justify-content: center;
	left: calc(100% + 10px);
	overflow: hidden;
	padding: 0 0.6rem;
	position: absolute;
	top: 0;
	white-space: nowrap;
	width: 96px;
}

.gpm-password-field button .dashicons {
	color: inherit;
	flex: 0 0 auto;
	font-size: 1rem;
	height: 1rem;
	margin: 0;
	width: 1rem;
}

.gpm-password-field button .gpm-password-toggle-text {
	margin-left: 0.35rem;
	overflow: hidden;
	text-overflow: ellipsis;
}

.gpm-password-match-hint {
	color: var(--gpm-red);
	font-size: 0.8rem;
	font-weight: 700;
	margin: 0.4rem 0 0;
}

.gpm-password-strength {
	align-items: center;
	color: var(--gpm-muted);
	display: flex;
	font-size: 0.84rem;
	font-weight: 900;
	gap: 0.45rem;
	margin-top: 0.45rem;
}

.gpm-password-strength::before {
	background: rgba(13, 35, 58, 0.16);
	border-radius: var(--radius-full, 999px);
	content: "";
	display: inline-block;
	height: 0.5rem;
	width: 5.5rem;
}

.gpm-password-strength.is-weak {
	color: var(--gpm-red);
}

.gpm-password-strength.is-weak::before {
	background: linear-gradient(90deg, var(--gpm-red) 35%, rgba(13, 35, 58, 0.16) 35%);
}

.gpm-password-strength.is-medium {
	color: #80620f;
}

.gpm-password-strength.is-medium::before {
	background: linear-gradient(90deg, var(--gpm-blue-accent) 68%, rgba(13, 35, 58, 0.16) 68%);
}

.gpm-password-strength.is-strong {
	color: #176b3a;
}

.gpm-password-strength.is-strong::before {
	background: #176b3a;
}

.gpm-login {
	display: grid;
	min-height: 520px;
	place-items: center;
}

.gpm-login__panel {
	background: #ffffff;
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-md, 8px);
	max-width: 640px;
	padding: 2rem;
}

/* Pantalla de una sola accion (confirmar presencia), abierta en vivo desde
   el celular durante la clase -- por eso vive fuera del "gpm-login" generico
   y sin el menu/footer del sitio publico (ver gpm-minimal-topbar abajo y
   templates/page-dashboard.php). */
.gpm-chamada {
	display: grid;
	place-items: center;
	padding: 0.5rem 1rem 2.5rem;
}

.gpm-chamada__card {
	background: var(--gpm-surface);
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-md, 8px);
	box-shadow: 0 12px 32px rgba(13, 35, 58, 0.08);
	max-width: 420px;
	width: 100%;
	padding: 2rem 1.75rem;
	text-align: center;
}

.gpm-chamada__title {
	font-size: clamp(1.4rem, 5vw, 1.85rem);
	line-height: 1.25;
	margin: 0.35rem 0 0;
}

.gpm-chamada__meta {
	color: var(--gpm-muted);
	margin: 0.6rem 0 0;
}

.gpm-chamada__identity {
	color: var(--gpm-muted);
	font-size: 0.85rem;
	margin: 1.25rem 0 0;
	padding-top: 1.1rem;
	border-top: 1px solid var(--gpm-line);
}

.gpm-chamada__name {
	color: var(--gpm-red);
	font-weight: 700;
}

.gpm-chamada__card form {
	margin-top: 1.5rem;
}

.gpm-chamada__submit {
	display: block;
	width: 100%;
	margin-top: 1.5rem;
	padding: 1rem 1.25rem;
	background: var(--gpm-primary);
	border: none;
	border-radius: var(--radius-md, 8px);
	color: #ffffff;
	font-size: 1.05rem;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

.gpm-chamada__submit:hover,
.gpm-chamada__submit:focus-visible {
	background: var(--gpm-primary-dark);
}

.gpm-chamada__confirmed {
	display: grid;
	justify-items: center;
	gap: 0.5rem;
	margin-top: 1.5rem;
	padding: 1.25rem;
	background: var(--gpm-soft);
	border-radius: var(--radius-md, 8px);
}

.gpm-chamada__confirmed .dashicons {
	color: #176b3a;
	font-size: 2rem;
	height: 2rem;
	width: 2rem;
}

.gpm-chamada__confirmed p {
	margin: 0;
	font-weight: 600;
	color: var(--gpm-ink);
}

.gpm-chamada__card.is-confirmed {
	border-color: rgba(23, 107, 58, 0.35);
}

.gpm-minimal-topbar {
	display: flex;
	justify-content: center;
	padding: 2rem 1rem 0.5rem;
}

.gpm-minimal-topbar__brand {
	display: block;
	line-height: 0;
}

.gpm-minimal-topbar__logo {
	height: 176px;
	width: 176px;
	object-fit: contain;
}

.gpm-minimal-topbar__logo--dark {
	display: none;
}

html[data-gpm-theme="dark"] .gpm-minimal-topbar__logo--light {
	display: none;
}

html[data-gpm-theme="dark"] .gpm-minimal-topbar__logo--dark {
	display: block;
}

.gpm-cm-attendance {
	display: grid;
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}

.gpm-cm-attendance__heading {
	display: block;
}

.gpm-cm-attendance__row {
	display: grid;
	gap: 0.4rem;
	padding: 0.85rem;
	background: var(--gpm-soft);
	border-radius: var(--radius-md, 8px);
}

.gpm-cm-attendance__link {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.gpm-cm-attendance__link input {
	flex: 1 1 260px;
	min-width: 0;
	padding: 0.5rem 0.65rem;
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-md, 8px);
	background: #ffffff;
	color: var(--gpm-muted);
	font-size: 0.85rem;
}

.gpm-cm-attendance__copy {
	flex: 0 0 auto;
	padding: 0.65rem 1.1rem;
	background: var(--gpm-red);
	border: none;
	border-radius: var(--radius-md, 8px);
	color: #ffffff;
	font-weight: 700;
	cursor: pointer;
}

.gpm-cm-attendance__copy:hover,
.gpm-cm-attendance__copy:focus-visible {
	background: #8a1219;
}

.gpm-instructor-app {
	--gpm-ink: var(--color-text-primary, #0d233a);
	--gpm-muted: var(--color-text-secondary, #536274);
	--gpm-line: rgba(13, 35, 58, 0.12);
	--gpm-soft: #f4f7fb;
	--gpm-primary: var(--color-primary, #0d233a);
	--gpm-primary-dark: var(--color-primary-dark, #071524);
	--gpm-blue-accent: var(--gpm-primary);
	--gpm-red: var(--color-accent, #700c14);
	background: var(--gpm-soft);
	color: var(--gpm-ink);
	display: grid;
	font-family: Raleway, var(--font-body, sans-serif);
	grid-template-columns: 250px minmax(0, 1fr);
	min-height: 100vh;
	}

.gpm-instructor-app:has(.gpm-instructor-sidebar.is-collapsed) {
	grid-template-columns: 0 minmax(0, 1fr);
}

.gpm-instructor-app * {
	box-sizing: border-box;
}

.gpm-instructor-app :where(h1, h2, h3, h4, h5, h6),
.gpm-instructor-app :where(.gpm-instructor-brand strong, .gpm-instructor-course h3, .gpm-instructor-sidebar nav a, .gpm-instructor-new) {
	font-weight: 400 !important;
}

.gpm-instructor-sidebar {
	background: #ffffff;
	border-right: 1px solid var(--gpm-line);
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 10px 1.2rem 1.2rem;
	position: sticky;
	top: 0;
	height: 100vh;
	overflow: hidden auto;
}

.gpm-instructor-sidebar.is-collapsed {
	border: 0;
	min-width: 0;
	opacity: 0;
	overflow: hidden;
	padding: 0;
	width: 0;
}

.gpm-instructor-sidebar__collapse {
	align-items: center;
	background: transparent;
	border: 1px solid var(--gpm-line);
	border-radius: 50%;
	color: var(--gpm-muted);
	cursor: pointer;
	display: grid;
	height: 34px;
	line-height: 1;
	padding: 0;
	place-items: center;
	position: absolute;
	right: 16px;
	top: 10px;
	width: 34px;
	z-index: 1;
}

.gpm-instructor-sidebar__collapse .dashicons {
	font-size: 1.3rem;
	height: 1.3rem;
	line-height: 1.3rem;
	width: 1.3rem;
}

.gpm-instructor-sidebar__collapse:hover,
.gpm-instructor-sidebar__collapse:focus-visible {
	background: var(--gpm-soft);
	color: var(--gpm-primary);
	outline: none;
}

.gpm-instructor-sidebar-reopen {
	align-items: center;
	background: var(--gpm-primary);
	border: 0;
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	display: none;
	height: 40px;
	justify-content: center;
	left: 1rem;
	position: fixed;
	top: 1rem;
	width: 40px;
	z-index: 40;
}

.gpm-instructor-app:has(.gpm-instructor-sidebar.is-collapsed) .gpm-instructor-sidebar-reopen {
	display: flex;
}

.gpm-instructor-brand-row {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	justify-content: space-between;
}

/* Botão hambúrguer do instrutor: mesmo padrão visual do toggle do aluno
   (.gpm-student-menu-toggle), oculto no desktop e revelado no breakpoint
   mobile mais abaixo neste arquivo. */
.gpm-instructor-menu-toggle {
	align-items: center;
	background: var(--gpm-primary);
	border: 0;
	border-radius: var(--radius-sm, 4px);
	color: #ffffff;
	cursor: pointer;
	display: none;
	flex: 0 0 auto;
	font: inherit;
	font-size: 0.84rem;
	font-weight: 800;
	gap: 0.4rem;
	justify-content: center;
	min-height: 40px;
	padding: 0.55rem 0.75rem;
}

.gpm-instructor-menu-toggle .dashicons {
	font-size: 1.05rem;
	height: 1.05rem;
	line-height: 1;
	width: 1.05rem;
}

.gpm-instructor-menu-toggle:hover,
.gpm-instructor-menu-toggle:focus-visible {
	background: var(--gpm-red);
	outline: none;
}

/* .gpm-instructor-sidebar span (mais abaixo) força cor/tamanho em todo span
   da sidebar, incluindo o texto "Menu" dentro deste botão azul — sobrescreve
   aqui para manter o texto branco e legível. */
.gpm-instructor-sidebar .gpm-instructor-menu-toggle span {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
}

/* Continua como flex column para preservar o "margin-top: auto" que empurra
   .gpm-instructor-new para o fim da sidebar, agora um nível mais fundo. */
.gpm-instructor-nav-panel {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0.35rem;
	min-height: 0;
	padding-bottom: 0.65rem;
}

.gpm-instructor-sidebar strong {
	color: var(--gpm-red);
	display: block;
	font-size: 1.45rem;
	line-height: 1.1;
}

.gpm-instructor-brand__institution {
	display: flex;
	justify-content: center;
	width: 100%;
}

.gpm-instructor-brand__logo {
	height: 124px;
	object-fit: contain;
	width: 124px;
}

.gpm-instructor-brand__logo--dark {
	display: none !important;
}

html[data-gpm-theme="dark"] .gpm-instructor-brand__logo--light {
	display: none;
}

html[data-gpm-theme="dark"] .gpm-instructor-brand__logo--dark {
	display: block !important;
}

.gpm-instructor-sidebar span {
	color: var(--gpm-muted);
	font-size: 0.82rem;
	font-weight: 700;
}

.gpm-instructor-sidebar nav {
	display: grid;
	gap: 0.35rem;
}

.gpm-instructor-sidebar nav a,
.gpm-instructor-sidebar .gpm-instructor-nav-panel > a:not(.gpm-instructor-new):not(.gpm-instructor-support),
.gpm-instructor-new {
	align-items: center;
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-primary);
	display: flex;
	gap: 0.62rem;
	font-weight: 900;
	padding: 0.8rem 0.9rem;
	text-decoration: none;
}

.gpm-instructor-nav-panel > .gpm-theme-toggle {
	align-self: stretch;
	background: transparent;
	border: 0;
	border-radius: var(--radius-sm, 4px);
	box-shadow: none;
	color: var(--gpm-primary);
	font-weight: 900;
	justify-content: flex-start;
	min-height: 0;
	padding: 0.8rem 0.9rem;
	transform: none;
}

.gpm-instructor-nav-panel > .gpm-theme-toggle:hover,
.gpm-instructor-nav-panel > .gpm-theme-toggle:focus-visible {
	background: rgba(13, 35, 58, 0.2);
	border-color: transparent;
	box-shadow: none;
	transform: none;
}

html[data-gpm-theme="dark"] .gpm-instructor-nav-panel > .gpm-theme-toggle {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	color: var(--gpm-primary);
}

html[data-gpm-theme="dark"] .gpm-instructor-nav-panel > .gpm-theme-toggle:hover,
html[data-gpm-theme="dark"] .gpm-instructor-nav-panel > .gpm-theme-toggle:focus-visible {
	background: #2a3645;
	border-color: transparent;
	box-shadow: none;
	color: #fdba49;
}

.gpm-instructor-sidebar nav a .dashicons,
.gpm-instructor-sidebar .gpm-instructor-nav-panel > a:not(.gpm-instructor-new):not(.gpm-instructor-support) .dashicons,
.gpm-instructor-new .dashicons {
	color: currentColor;
	flex: 0 0 20px;
	font-size: 1.1rem;
	height: 20px;
	line-height: 20px;
	text-align: center;
	width: 20px;
}

.gpm-instructor-sidebar nav a.is-active,
.gpm-instructor-sidebar nav a:hover,
.gpm-instructor-sidebar .gpm-instructor-nav-panel > a.is-active:not(.gpm-instructor-new):not(.gpm-instructor-support),
.gpm-instructor-sidebar .gpm-instructor-nav-panel > a:not(.gpm-instructor-new):not(.gpm-instructor-support):hover {
	background: rgba(13, 35, 58, 0.2);
}

.gpm-instructor-new {
	background: var(--gpm-red);
	color: #ffffff !important;
	justify-content: center;
	margin-top: auto;
	text-align: center;
}

.gpm-instructor-main {
	align-content: start;
	display: grid;
	gap: 1.2rem;
	grid-auto-rows: max-content;
	padding: 1rem 1.35rem 2rem;
}

.gpm-instructor-topbar {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-instructor-topbar label {
	flex: 1;
	max-width: 560px;
}

.gpm-instructor-topbar input,
.gpm-instructor-card input,
.gpm-instructor-card select,
.gpm-instructor-card textarea {
	background: #ffffff;
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-primary);
	font: inherit;
	padding: 0.78rem 0.9rem;
	width: 100%;
}

.gpm-instructor-topbar input {
	background: #eef3fb;
	border-color: transparent;
	border-radius: var(--radius-full, 999px);
}

.gpm-instructor-user {
	align-items: center;
	display: flex;
	gap: 0.7rem;
	font-weight: 900;
}

.gpm-instructor-user img {
	border: 3px solid var(--gpm-blue-accent);
	border-radius: 50%;
	height: 42px;
	object-fit: cover;
	width: 42px;
}

.gpm-instructor-hero,
.gpm-instructor-section,
.gpm-instructor-card,
.gpm-instructor-stats article,
.gpm-instructor-course,
.gpm-instructor-notice {
	background: #ffffff;
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-md, 8px);
	box-shadow: 0 14px 36px rgba(7, 21, 36, 0.06);
}

.gpm-instructor-hero {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: clamp(1.1rem, 3vw, 1.7rem);
}

.gpm-instructor-hero h1,
.gpm-instructor-section h2,
.gpm-instructor-card h2 {
	color: var(--gpm-primary);
	line-height: 1.1;
	margin: 0;
}

.gpm-instructor-hero p {
	color: var(--gpm-muted);
	margin: 0.55rem 0 0;
	max-width: 760px;
}

.gpm-instructor-stats {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gpm-instructor-stats article {
	display: grid;
	gap: 0.25rem;
	padding: 1.1rem;
}

.gpm-instructor-stats span,
.gpm-instructor-stats small,
.gpm-instructor-card label span {
	color: var(--gpm-muted);
	font-size: 0.78rem;
	font-weight: 900;
}

.gpm-instructor-stats strong {
	color: var(--gpm-primary);
	font-size: 2.1rem;
	line-height: 1;
}

.gpm-instructor-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(260px, 0.85fr) minmax(260px, 0.85fr) minmax(380px, 1.4fr);
}

.gpm-instructor-card {
	align-content: start;
	display: grid;
	gap: 0.85rem;
	padding: 1.25rem;
}

.gpm-instructor-card label {
	display: grid;
	gap: 0.35rem;
}

.gpm-instructor-card textarea {
	min-height: 108px;
	resize: vertical;
}

.gpm-instructor-two {
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}

.gpm-instructor-two > div {
	display: grid;
	gap: 0.85rem;
}

.gpm-instructor-section {
	display: grid;
	gap: 1rem;
	padding: 1.25rem;
}

.gpm-instructor-course-list {
	display: grid;
	gap: 0.8rem;
}

.gpm-instructor-course {
	align-items: center;
	display: grid;
	gap: 1rem;
	grid-template-columns: 110px minmax(0, 1fr);
	padding: 0.8rem;
}

.gpm-instructor-course img {
	aspect-ratio: 16 / 10;
	border-radius: var(--radius-sm, 4px);
	object-fit: cover;
	width: 110px;
}

.gpm-instructor-course span {
	color: var(--gpm-red);
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.gpm-instructor-course h3 {
	color: var(--gpm-primary);
	margin: 0.15rem 0;
}

.gpm-instructor-course p,
.gpm-instructor-course small {
	color: var(--gpm-muted);
}

/* Panel del instructor > Estudiantes: filtros, tabla de progreso y detalle
   del estudiante (registro de presencia, formularios, tareas). */
.gpm-student-progress-filters {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.gpm-student-progress-filters label {
	display: grid;
	gap: 0.35rem;
}

.gpm-student-progress-filters input,
.gpm-student-progress-filters select {
	min-height: 42px;
}

.gpm-student-progress-filters > button {
	align-self: end;
}

.gpm-student-progress-filter-status {
	color: var(--gpm-muted);
	font-size: 0.82rem;
	font-weight: 700;
	margin: 0;
}

.gpm-student-progress-table-scroll {
	overflow-x: auto;
}

.gpm-student-progress-table {
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	width: 100%;
}

.gpm-student-progress-table .is-student { width: 22%; }
.gpm-student-progress-table .is-course { width: 22%; }
.gpm-student-progress-table .is-icon { text-align: center; width: 9.5%; }
.gpm-student-progress-table .is-actions { width: 48px; }

.gpm-student-progress-table th {
	border-bottom: 1px solid var(--gpm-line);
	padding: 0.6rem 0.7rem;
	text-align: left;
}

.gpm-student-progress-table th.is-icon {
	text-align: center;
}

.gpm-student-progress-table th button {
	align-items: center;
	background: none;
	border: 0;
	color: var(--gpm-muted);
	cursor: pointer;
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 900;
	gap: 0.3rem;
	padding: 0;
	text-transform: uppercase;
}

.gpm-th-icon,
.gpm-th-icon-button .dashicons {
	color: var(--gpm-muted);
}

.gpm-th-icon-button {
	justify-content: center;
	width: 100%;
}

.gpm-student-progress-table th[data-gpm-sort-active] button,
.gpm-student-progress-table th[data-gpm-sort-active] .dashicons {
	color: var(--gpm-primary);
}

.gpm-student-progress-table td {
	border-bottom: 1px solid #eef1f6;
	overflow: hidden;
	padding: 0.65rem 0.7rem;
	text-overflow: ellipsis;
	vertical-align: middle;
}

.gpm-student-progress-table tr:last-child td {
	border-bottom: 0;
}

.gpm-student-progress-table td.is-student strong {
	color: var(--gpm-primary);
	display: block;
}

.gpm-student-progress-table td.is-student small,
.gpm-student-progress-table td.is-course small {
	color: var(--gpm-muted);
	display: block;
	font-size: 0.74rem;
}

.gpm-report-progress {
	background: #e7ecf4;
	border-radius: var(--radius-full, 999px);
	display: block;
	height: 6px;
	margin-bottom: 0.3rem;
	overflow: hidden;
	width: 100%;
}

.gpm-report-progress i {
	background: var(--gpm-red);
	border-radius: inherit;
	display: block;
	height: 100%;
}

.gpm-report-badge {
	background: #eef1f6;
	border-radius: var(--radius-full, 999px);
	color: var(--gpm-muted);
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 900;
	min-width: 1.6rem;
	padding: 0.2rem 0.55rem;
}

.gpm-report-badge.has-pending {
	background: rgba(197, 48, 48, 0.12);
	color: #c53030;
}

.gpm-report-badge.has-attendance {
	background: rgba(46, 125, 50, 0.12);
	color: #2e7d32;
}

.gpm-icon-link {
	align-items: center;
	color: var(--gpm-muted);
	display: inline-flex;
	justify-content: center;
}

.gpm-icon-link:hover,
.gpm-icon-link:focus-visible {
	color: var(--gpm-primary);
}

.gpm-instructor-course-rating {
	color: var(--gpm-muted);
	display: block;
	font-size: 0.74rem;
}

.gpm-student-detail__summary {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.gpm-student-detail__summary article {
	background: #f8fafc;
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-sm, 4px);
	display: grid;
	gap: 0.25rem;
	padding: 0.85rem 1rem;
}

.gpm-student-detail__summary strong {
	color: var(--gpm-muted);
	font-size: 0.75rem;
	font-weight: 900;
	text-transform: uppercase;
}

.gpm-student-detail__summary span {
	color: var(--gpm-primary);
	font-size: 1.3rem;
	font-weight: 900;
}

.gpm-student-attendance-table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
}

.gpm-student-attendance-table th {
	border-bottom: 1px solid var(--gpm-line);
	color: var(--gpm-muted);
	font-size: 0.75rem;
	font-weight: 900;
	padding: 0.55rem 0.7rem;
	text-align: left;
	text-transform: uppercase;
}

.gpm-student-attendance-table td {
	border-bottom: 1px solid #eef1f6;
	padding: 0.6rem 0.7rem;
	vertical-align: middle;
}

.gpm-student-detail__timeline {
	display: grid;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gpm-student-detail__timeline li {
	border-bottom: 1px solid #eef1f6;
	padding-bottom: 0.5rem;
}

@media (max-width: 980px) {
	.gpm-student-progress-table thead {
		display: none;
	}

	.gpm-student-progress-table,
	.gpm-student-progress-table tbody,
	.gpm-student-progress-table tr,
	.gpm-student-progress-table td {
		display: block;
		width: auto;
	}

	.gpm-student-progress-table tr {
		border: 1px solid var(--gpm-line);
		border-radius: var(--radius-sm, 4px);
		margin-bottom: 0.75rem;
		padding: 0.5rem 0.7rem;
	}

	.gpm-student-progress-table td {
		align-items: center;
		border-bottom: 1px dashed #eef1f6;
		display: flex;
		justify-content: space-between;
		text-align: right;
	}

	.gpm-student-progress-table td.is-student {
		display: block;
		text-align: left;
	}

	.gpm-student-progress-table td::before {
		color: var(--gpm-muted);
		content: attr(data-label);
		font-size: 0.72rem;
		font-weight: 900;
		text-align: left;
		text-transform: uppercase;
	}

	.gpm-student-progress-table td.is-student::before,
	.gpm-student-progress-table td.is-actions::before {
		content: none;
	}

	.gpm-student-progress-table td:last-child {
		border-bottom: 0;
	}
}

.gpm-access-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.gpm-access-preview span {
	background: rgba(13, 35, 58, 0.18);
	border: 1px solid rgba(13, 35, 58, 0.44);
	border-radius: var(--radius-full, 999px);
	color: var(--gpm-primary);
	font-weight: 900;
	padding: 0.55rem 0.8rem;
}

.gpm-instructor-app--notice {
	display: grid;
	grid-template-columns: 1fr;
	place-items: center;
}

.gpm-instructor-notice {
	max-width: 560px;
	padding: 2rem;
	text-align: center;
}

.gpm-instructor-app {
	background: #faf9f6;
	margin: 0 auto;
	max-width: 1600px;
	grid-template-columns: 224px minmax(0, 1fr);
}

.gpm-instructor-sidebar {
	border-right: 1px solid #e4dbd4;
	box-shadow: 8px 0 28px rgba(26, 10, 10, 0.04);
	padding: 1.05rem 0.75rem;
}

.gpm-instructor-brand {
	padding: 0 0.35rem;
}

.gpm-instructor-brand strong {
	color: var(--gpm-red);
	font-size: 1.5rem;
}

.gpm-instructor-sidebar nav a,
.gpm-instructor-sidebar .gpm-instructor-nav-panel > a:not(.gpm-instructor-new):not(.gpm-instructor-support) {
	align-items: center;
	display: flex;
	min-height: 44px;
}

.gpm-instructor-sidebar nav a.is-active,
.gpm-instructor-sidebar nav a:hover,
.gpm-instructor-sidebar .gpm-instructor-nav-panel > a.is-active:not(.gpm-instructor-new):not(.gpm-instructor-support),
.gpm-instructor-sidebar .gpm-instructor-nav-panel > a:not(.gpm-instructor-new):not(.gpm-instructor-support):hover {
	background: rgba(13, 35, 58, 0.09);
	color: var(--gpm-primary);
}

.gpm-instructor-new {
	background: var(--gpm-red);
	box-shadow: 0 12px 24px rgba(7, 21, 36, 0.18);
}

.gpm-instructor-support {
	border-top: 1px solid var(--gpm-line);
	color: var(--gpm-muted);
	font-weight: 900;
	padding: 1rem 0.7rem 0;
	text-decoration: none;
}

.gpm-instructor-main {
	gap: 1rem;
	padding: 0 1.25rem 2rem;
}

.gpm-instructor-topbar {
	background: rgba(255, 255, 255, 0.84);
	border-bottom: 1px solid #e2e8f0;
	margin-inline: -1.25rem;
	min-height: 58px;
	padding: 0.55rem 1.25rem;
	position: sticky;
	top: 0;
	z-index: 20;
}

.gpm-instructor-topbar > strong {
	color: var(--gpm-primary);
	font-size: 0.98rem;
}

.gpm-instructor-topbar input {
	background: #eef3fb;
	height: 40px;
}

.gpm-instructor-pagehead {
	align-items: end;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding-top: 0.6rem;
}

.gpm-instructor-pagehead p {
	color: var(--gpm-muted);
	font-size: 0.8rem;
	font-weight: 800;
	margin: 0 0 0.25rem;
}

.gpm-instructor-pagehead h1 {
	color: var(--gpm-primary);
	font-size: clamp(1.7rem, 3vw, 2.25rem);
	line-height: 1.08;
	margin: 0;
}

.gpm-instructor-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.gpm-instructor-actions a {
	align-items: center;
	background: #ffffff;
	border: 1px solid #cfd8e6;
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-primary);
	display: inline-flex;
	font-weight: 900;
	min-height: 42px;
	padding: 0.65rem 1.1rem;
	text-decoration: none;
}

.gpm-instructor-actions a.is-primary {
	background: var(--gpm-red);
	border-color: var(--gpm-red);
	color: #ffffff;
}

#gpm-lesson-submit {
	background: var(--gpm-red);
	border-color: var(--gpm-red);
}

.gpm-instructor-stats {
	grid-template-columns: repeat(3, minmax(190px, 1fr));
}

.gpm-instructor-stats article {
	border-color: #dbe4f0;
	box-shadow: none;
	min-height: 96px;
	padding: 1.05rem 1.15rem;
	position: relative;
}

.gpm-instructor-stats article::before {
	background: rgba(13, 35, 58, 0.2);
	border-radius: 50%;
	content: "";
	height: 42px;
	position: absolute;
	right: 1rem;
	top: 1rem;
	width: 42px;
}

.gpm-instructor-stats strong {
	font-size: 2.25rem;
}

.gpm-instructor-builder {
	align-items: start;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(300px, 0.82fr) minmax(520px, 1.18fr);
}

.gpm-instructor-builder__left,
.gpm-instructor-builder__right {
	display: grid;
	gap: 1rem;
}

.gpm-instructor-card {
	border-color: #dbe4f0;
	box-shadow: none;
	padding: 1.35rem;
}

.gpm-instructor-card h2 {
	color: var(--gpm-primary);
	font-size: 1.2rem;
}

.gpm-instructor-card--course {
	padding: 1.5rem;
}

.gpm-instructor-card--course input,
.gpm-instructor-card--course textarea {
	min-height: 48px;
}

.gpm-instructor-card--module {
	background: #ffffff;
}

.gpm-instructor-card--lesson {
	background: #ffffff;
}

.gpm-instructor-card__head {
	align-items: center;
	border-bottom: 1px solid #edf1f7;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin: -0.25rem -1.35rem 0;
	padding: 0 1.35rem 1rem;
}

.gpm-instructor-card__head button,
.gpm-instructor-card > .gpm-button {
	background: var(--gpm-primary);
	border: 1px solid var(--gpm-primary);
	border-radius: var(--radius-sm, 4px);
	color: #ffffff;
	cursor: pointer;
	font: inherit;
	font-size: 0.88rem;
	font-weight: 900;
	min-height: 40px;
	padding: 0.65rem 1rem;
}

.gpm-instructor-card__head button {
	background: rgba(13, 35, 58, 0.22);
	border-color: rgba(13, 35, 58, 0.45);
	color: var(--gpm-primary);
}

.gpm-instructor-card label span {
	color: #667589;
	font-size: 0.78rem;
	text-transform: none;
}

.gpm-instructor-card input,
.gpm-instructor-card select,
.gpm-instructor-card textarea {
	background: #f9fbfe;
	border-color: #d8e0ec;
	min-height: 42px;
}

.gpm-instructor-card textarea {
	line-height: 1.5;
}

.gpm-instructor-two {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.gpm-instructor-tip {
	background:
		linear-gradient(135deg, rgba(13, 35, 58, 0.18), transparent 42%),
		var(--gpm-primary);
	border-radius: var(--radius-md, 8px);
	box-shadow: 0 16px 34px rgba(7, 21, 36, 0.2);
	color: #ffffff;
	min-height: 148px;
	padding: 1.35rem;
}

.gpm-instructor-tip strong {
	color: #ffffff;
	display: block;
	font-size: 1.05rem;
	margin-bottom: 0.45rem;
}

.gpm-instructor-tip p {
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.55;
	margin: 0;
	max-width: 420px;
}

.gpm-instructor-section {
	border-color: #dbe4f0;
	box-shadow: none;
}

.gpm-instructor-home-grid {
	align-items: start;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.65fr);
}

.gpm-instructor-pending ul {
	display: grid;
	gap: 0.75rem;
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
}

.gpm-instructor-pending li {
	background: #f5f7fb;
	border-left: 4px solid var(--gpm-red);
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-primary);
	font-weight: 800;
	line-height: 1.45;
	padding: 0.8rem;
}

.gpm-instructor-lesson-layout,
.gpm-instructor-access-grid {
	align-items: start;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
}

.gpm-instructor-lesson-layout .gpm-instructor-card--lesson {
	min-height: 620px;
}

.gpm-instructor-lesson-side {
	position: sticky;
	top: 76px;
}

.gpm-instructor-lesson-side p {
	color: var(--gpm-muted);
	line-height: 1.55;
	margin: 1rem 0 0;
}

.gpm-instructor-table {
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-sm, 4px);
	overflow: hidden;
}

.gpm-instructor-table > div {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1.4fr 0.8fr 0.8fr 0.6fr;
	padding: 0.9rem 1rem;
}

.gpm-instructor-table > div:first-child {
	background: #eef3fb;
	color: var(--gpm-primary);
}

.gpm-instructor-table > div + div {
	background: #ffffff;
	border-top: 1px solid var(--gpm-line);
	color: var(--gpm-muted);
	font-weight: 800;
}

.gpm-instructor-course {
	border-color: #dbe4f0;
	box-shadow: none;
	grid-template-columns: 92px minmax(0, 1fr);
}

.gpm-instructor-course img,
.gpm-instructor-course__empty {
	aspect-ratio: 16 / 10;
	background:
		linear-gradient(135deg, rgba(13, 35, 58, 0.12), rgba(13, 35, 58, 0.18)),
		#edf2f8;
	border-radius: var(--radius-sm, 4px);
	width: 92px;
}

/* Instructor visual refinement: lighter, closer to the reference LMS screens. */
.gpm-instructor-app {
	color: #122236;
	font-size: 14px;
	line-height: 1.45;
}

.gpm-instructor-brand strong {
	font-size: 1.26rem;
	font-weight: 650;
	letter-spacing: 0;
	line-height: 1.12;
}

.gpm-instructor-sidebar span,
.gpm-instructor-sidebar nav a,
.gpm-instructor-sidebar .gpm-instructor-nav-panel > a:not(.gpm-instructor-new):not(.gpm-instructor-support),
.gpm-instructor-new,
.gpm-instructor-support,
.gpm-instructor-user,
.gpm-instructor-actions a,
.gpm-instructor-card__head button,
.gpm-instructor-card > .gpm-button,
.gpm-access-preview span {
	font-weight: 500;
}

.gpm-instructor-sidebar nav a,
.gpm-instructor-sidebar .gpm-instructor-nav-panel > a:not(.gpm-instructor-new):not(.gpm-instructor-support) {
	color: #223248;
	font-size: 0.92rem;
	min-height: 42px;
}

.gpm-instructor-new {
	box-shadow: 0 8px 18px rgba(7, 21, 36, 0.12);
	font-size: 0.92rem;
}

.gpm-instructor-topbar > strong {
	font-size: 0.92rem;
	font-weight: 550;
}

.gpm-instructor-pagehead p {
	font-weight: 500;
}

.gpm-instructor-pagehead h1 {
	font-size: clamp(1.42rem, 2.2vw, 1.85rem);
	font-weight: 620;
	line-height: 1.18;
}

.gpm-instructor-stats article {
	min-height: 86px;
	padding: 0.95rem 1.05rem;
}

.gpm-instructor-stats span,
.gpm-instructor-stats small,
.gpm-instructor-card label span {
	font-weight: 500;
}

.gpm-instructor-stats strong {
	font-size: 1.6rem;
	font-weight: 620;
}

.gpm-instructor-section h2,
.gpm-instructor-card h2 {
	font-size: 1rem;
	font-weight: 620;
	line-height: 1.25;
}

.gpm-instructor-card {
	gap: 0.75rem;
	padding: 1.15rem;
}

.gpm-instructor-card--course {
	padding: 1.25rem;
}

.gpm-instructor-card__head {
	margin: -0.15rem -1.15rem 0;
	padding: 0 1.15rem 0.9rem;
}

.gpm-instructor-card__head button,
.gpm-instructor-card > .gpm-button,
.gpm-instructor-actions a {
	font-size: 0.84rem;
	min-height: 38px;
}

.gpm-instructor-card input,
.gpm-instructor-card select,
.gpm-instructor-card textarea,
.gpm-instructor-topbar input {
	font-size: 0.9rem;
}

.gpm-instructor-tip {
	box-shadow: 0 10px 24px rgba(7, 21, 36, 0.13);
	min-height: 132px;
}

.gpm-instructor-tip strong {
	font-size: 0.98rem;
	font-weight: 600;
}

.gpm-instructor-tip p {
	font-weight: 400;
}

.gpm-instructor-course span {
	font-weight: 500;
}

.gpm-instructor-course h3 {
	font-size: 0.98rem;
	font-weight: 620;
}

.gpm-instructor-course p,
.gpm-instructor-course small,
.gpm-instructor-lesson-side p {
	font-size: 0.88rem;
}

.gpm-instructor-pending li,
.gpm-instructor-table > div + div {
	font-weight: 500;
}

.gpm-is-hidden {
	display: none !important;
}

.gpm-instructor-card--lesson {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

.gpm-lesson-editor {
	align-items: start;
	display: grid;
	gap: 1.35rem;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
	width: 100%;
}

.gpm-lesson-editor > div {
	display: grid;
	gap: 1rem;
}

.gpm-lesson-editor > div:first-child {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(7, 21, 36, 0.045);
	order: 2;
	padding: 1.25rem;
}

.gpm-lesson-editor > div:nth-child(2) {
	display: grid;
	gap: 1.35rem;
	order: 1;
}

.gpm-lesson-editor > div:nth-child(2) > label {
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(7, 21, 36, 0.045);
	padding: 1.25rem;
}

.gpm-lesson-editor > div:first-child::before,
.gpm-lesson-editor > div:nth-child(2) > label::before {
	color: var(--gpm-primary);
	display: block;
	font-size: 1rem;
	font-weight: 520;
	letter-spacing: 0;
	margin-bottom: 0.8rem;
}

.gpm-lesson-editor > div:first-child::before {
	content: "Configuración de la clase";
	font-size: 1.15rem;
}

.gpm-lesson-editor > div:nth-child(2) > label:first-child::before {
	content: "Descripción y texto rico";
}

.gpm-lesson-editor > div:nth-child(2) > label:nth-child(2)::before {
	content: "Adicionar tarea";
}

.gpm-lesson-editor > div:nth-child(2) > label:nth-child(3)::before {
	content: "Cards de fijación";
}

.gpm-lesson-editor > div:nth-child(2) > label:nth-child(4)::before {
	content: "Materiales para descarga";
}

.gpm-lesson-editor label:has(input[name="video_url"]) {
	background:
		linear-gradient(135deg, rgba(13, 35, 58, 0.08), transparent 54%),
		#ffffff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 14px;
	margin-top: 0.45rem;
	padding: 1rem;
}

.gpm-lesson-editor label:has(input[name="video_url"])::before {
	align-items: center;
	border: 1.5px dashed rgba(13, 35, 58, 0.22);
	border-radius: 12px;
	color: var(--gpm-muted);
	content: "Subir video MP4/MOV en una próxima etapa";
	display: flex;
	font-size: 0.86rem;
	justify-content: center;
	min-height: 92px;
	margin: 0.15rem 0 0.9rem;
	text-align: center;
}

.gpm-rich-field {
	display: grid;
	gap: 0.55rem;
}

.gpm-rich-editor {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 12px;
	overflow: hidden;
}

.gpm-rich-toolbar {
	align-items: center;
	background: #eef3fb;
	border-bottom: 1px solid rgba(13, 35, 58, 0.14);
	display: flex;
	gap: 0.35rem;
	min-height: 46px;
	padding: 0.4rem 0.55rem;
}

.gpm-rich-toolbar button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 7px;
	color: var(--gpm-primary);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 0.95rem;
	font-weight: 400;
	height: 32px;
	justify-content: center;
	padding: 0;
	width: 32px;
}

.gpm-rich-editor textarea {
	color: var(--gpm-ink);
	font-family: inherit;
	font-style: normal !important;
	font-weight: 400 !important;
}

.gpm-rich-toolbar button:hover {
	background: rgba(13, 35, 58, 0.08);
}

.gpm-rich-toolbar button:focus,
.gpm-rich-toolbar button:active {
	background: transparent;
	color: var(--gpm-primary);
	outline: none;
}

.gpm-rich-toolbar button:focus-visible {
	box-shadow: 0 0 0 2px rgba(13, 35, 58, 0.28);
}

.gpm-rich-editor.is-dragging-image {
	border-color: var(--gpm-red);
	box-shadow: 0 0 0 3px rgba(139, 26, 36, 0.12);
}

.gpm-rich-toolbar .dashicons {
	font-size: 1.05rem;
	height: 1.05rem;
	line-height: 1;
	width: 1.05rem;
}

.gpm-rich-toolbar i {
	background: rgba(13, 35, 58, 0.16);
	display: block;
	height: 22px;
	margin: 0 0.2rem;
	width: 1px;
}

/* HTML (contenteditable) rich text editor: stores real HTML instead of Markdown. */
.gpm-html-editor {
	--gpm-html-editor-rows: 5;
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 12px;
	overflow: hidden;
}

.gpm-html-editor.is-dragging-image {
	border-color: var(--gpm-red);
	box-shadow: 0 0 0 3px rgba(139, 26, 36, 0.12);
}

.gpm-html-editor__surface {
	color: var(--gpm-ink);
	font-family: inherit;
	font-size: 0.95rem;
	line-height: 1.55;
	min-height: calc(var(--gpm-html-editor-rows) * 1.6em + 1.2rem);
	overflow-y: auto;
	padding: 0.8rem 0.95rem;
}

.gpm-html-editor__surface:focus {
	outline: none;
}

.gpm-html-editor__surface:empty::before {
	color: rgba(13, 35, 58, 0.42);
	content: attr(data-placeholder);
	pointer-events: none;
}

.gpm-html-editor__surface :where(h2, h3, h4) {
	color: var(--gpm-primary);
	font-weight: 700;
	line-height: 1.25;
	margin: 0.6rem 0 0.35rem;
}

.gpm-html-editor__surface h2 {
	font-size: 1.15rem;
}

.gpm-html-editor__surface h3 {
	font-size: 1.05rem;
}

.gpm-html-editor__surface h4 {
	font-size: 0.98rem;
}

.gpm-html-editor__surface :where(p, ul, ol) {
	margin: 0 0 0.5rem;
}

.gpm-html-editor__surface :where(ul, ol) {
	padding-left: 1.25rem;
}

.gpm-html-editor__surface img {
	border-radius: 8px;
	max-width: 100%;
}

.gpm-profile-panel {
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 18px;
	box-shadow: 0 12px 34px rgba(7, 21, 36, 0.07);
	display: grid;
	gap: 1.5rem;
	margin: 0 auto 1.5rem;
	max-width: 1040px;
	padding: clamp(1.2rem, 3vw, 2rem);
}

.gpm-profile-panel--required {
	margin-top: clamp(1rem, 5vw, 3rem);
}

.gpm-profile-panel__head {
	align-items: center;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1fr) auto;
}

.gpm-profile-panel__head h1 {
	color: var(--gpm-primary);
	font-size: clamp(1.8rem, 4vw, 3.2rem);
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0;
}

.gpm-profile-panel__head p:not(.gpm-kicker) {
	color: var(--gpm-muted);
	line-height: 1.65;
	margin: 0.65rem 0 0;
	max-width: 720px;
}

.gpm-profile-form {
	display: grid;
	gap: 1.2rem;
}

.gpm-profile-security-form {
	border-top: 1px solid var(--gpm-line);
	margin-top: 2rem;
	padding-top: 2rem;
}

.gpm-profile-security-form__head h2 {
	color: var(--gpm-primary);
	margin: 0;
}

.gpm-profile-security-form__head p {
	color: var(--gpm-muted);
	margin: 0.35rem 0 0;
}

.gpm-profile-security-form .gpm-profile-grid {
	grid-template-columns: minmax(0, 1fr);
	max-width: 640px;
}

.gpm-profile-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gpm-profile-grid label {
	display: grid;
	gap: 0.45rem;
}

.gpm-profile-grid span {
	color: #33445a;
	font-size: 0.86rem;
	font-weight: 560;
}

.gpm-profile-grid input,
.gpm-profile-grid select {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 12px;
	color: var(--gpm-primary);
	font: inherit;
	min-height: 48px;
	padding: 0.8rem 0.95rem;
	width: 100%;
}

.gpm-image-field {
	display: grid;
	gap: 0.55rem;
}

.gpm-image-uploader {
	display: grid;
	gap: 0.7rem;
}

.gpm-profile-avatar {
	justify-self: end;
}

.gpm-image-uploader--avatar {
	justify-items: center;
}

.gpm-avatar-upload {
	align-items: center;
	aspect-ratio: 1 / 1;
	background: #eef3fb;
	border: 3px solid rgba(13, 35, 58, 0.12);
	border-radius: 50%;
	box-shadow: 0 14px 30px rgba(7, 21, 36, 0.08);
	color: var(--gpm-primary);
	cursor: pointer;
	display: grid;
	height: clamp(104px, 12vw, 132px);
	justify-items: center;
	overflow: hidden;
	padding: 0;
	position: relative;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
	width: clamp(104px, 12vw, 132px);
}

.gpm-avatar-upload:hover,
.gpm-avatar-upload.is-dragging {
	border-color: rgba(13, 35, 58, 0.38);
	box-shadow: 0 18px 42px rgba(7, 21, 36, 0.14);
	transform: translateY(-1px);
}

.gpm-avatar-upload img {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.gpm-avatar-upload .dashicons,
.gpm-avatar-upload small {
	background: rgba(255, 255, 255, 0.9);
	border-radius: 999px;
	opacity: 0;
	position: relative;
	transform: translateY(4px);
	transition: opacity 160ms ease, transform 160ms ease;
	z-index: 1;
}

.gpm-avatar-upload .dashicons {
	font-size: 1.25rem;
	height: 1.8rem;
	line-height: 1.8rem;
	width: 1.8rem;
}

.gpm-avatar-upload small {
	font-size: 0.68rem;
	font-weight: 620;
	padding: 0.18rem 0.52rem;
}

.gpm-avatar-upload:hover .dashicons,
.gpm-avatar-upload:hover small,
.gpm-avatar-upload.is-dragging .dashicons,
.gpm-avatar-upload.is-dragging small {
	opacity: 1;
	transform: translateY(0);
}

.gpm-image-dropzone {
	align-items: center;
	aspect-ratio: 1 / 1;
	background: #f4f7fb;
	border: 1.5px dashed rgba(13, 35, 58, 0.24);
	border-radius: 14px;
	color: var(--gpm-primary);
	cursor: pointer;
	display: grid;
	justify-items: center;
	min-height: 180px;
	overflow: hidden;
	padding: 1rem;
	position: relative;
	text-align: center;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
	width: 100%;
}

.gpm-image-dropzone--wide {
	aspect-ratio: 16 / 9;
}

.gpm-image-dropzone.is-dragging,
.gpm-image-dropzone:hover {
	background: #eef3fb;
	border-color: rgba(13, 35, 58, 0.45);
	box-shadow: 0 14px 32px rgba(7, 21, 36, 0.08);
}

.gpm-image-dropzone img {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.gpm-image-dropzone img[hidden] {
	display: none;
}

.gpm-image-dropzone img:not([hidden]) ~ span,
.gpm-image-dropzone img:not([hidden]) ~ strong,
.gpm-image-dropzone img:not([hidden]) ~ small {
	background: rgba(255, 255, 255, 0.86);
	border-radius: 999px;
	padding: 0.25rem 0.65rem;
	position: relative;
	z-index: 1;
}

.gpm-image-dropzone > .dashicons {
	color: rgba(13, 35, 58, 0.42);
	font-size: 2rem;
	height: 2rem;
	width: 2rem;
}

.gpm-image-dropzone strong {
	font-size: 0.95rem;
	font-weight: 620;
}

.gpm-image-dropzone small {
	color: var(--gpm-muted);
	font-size: 0.8rem;
}

.gpm-image-url {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 12px;
	color: var(--gpm-primary);
	font: inherit;
	min-height: 44px;
	padding: 0.7rem 0.85rem;
	width: 100%;
}

/* Compact image field: thumbnail + edit action, used inside management cards. */
.gpm-image-uploader--compact {
	align-items: center;
	display: flex;
	gap: 0.9rem;
}

.gpm-image-thumb {
	background: #f4f7fb;
	border: 1.5px dashed rgba(13, 35, 58, 0.24);
	border-radius: 10px;
	cursor: pointer;
	flex: 0 0 auto;
	height: 60px;
	overflow: hidden;
	padding: 0;
	position: relative;
	transition: border-color 160ms ease, box-shadow 160ms ease;
	width: 106px;
}

.gpm-image-thumb:hover,
.gpm-image-thumb.is-dragging {
	border-color: rgba(13, 35, 58, 0.45);
	box-shadow: 0 10px 24px rgba(7, 21, 36, 0.08);
}

.gpm-image-thumb img {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.gpm-image-thumb img[hidden] {
	display: none;
}

.gpm-image-thumb__placeholder {
	color: rgba(13, 35, 58, 0.32);
	font-size: 1.35rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.gpm-image-thumb img:not([hidden]) + .gpm-image-thumb__placeholder {
	display: none;
}

.gpm-image-uploader__meta {
	display: grid;
	gap: 0.4rem;
	min-width: 0;
}

.gpm-image-uploader__meta strong {
	color: var(--gpm-primary);
	font-size: 0.9rem;
	font-weight: 620;
}

.gpm-image-uploader__meta .gpm-mini-button {
	align-items: center;
	display: inline-flex;
	gap: 0.35rem;
	margin-left: 0;
}

.gpm-image-uploader__meta .gpm-mini-button .dashicons {
	font-size: 1rem;
	height: 1rem;
	width: 1rem;
}

.gpm-profile-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-profile-actions p {
	color: var(--gpm-muted);
	margin: 0;
}

.gpm-image-crop-modal {
	inset: 0;
	position: fixed;
	z-index: 999999;
}

.gpm-image-crop-modal[hidden] {
	display: none;
}

.gpm-image-crop-modal__backdrop {
	background: rgba(7, 21, 36, 0.58);
	inset: 0;
	position: absolute;
}

.gpm-image-crop-modal__dialog {
	background: #ffffff;
	border-radius: 18px;
	box-shadow: 0 24px 80px rgba(7, 21, 36, 0.28);
	display: grid;
	gap: 1rem;
	grid-template-rows: auto minmax(0, 1fr) auto auto;
	left: 50%;
	max-height: calc(100dvh - 2rem);
	max-width: min(920px, calc(100vw - 2rem));
	overflow: auto;
	padding: 1.2rem 1.2rem 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.gpm-image-crop-modal__dialog header,
.gpm-image-crop-modal__dialog footer {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-image-crop-modal__dialog footer {
	background: #ffffff;
	border-top: 1px solid rgba(13, 35, 58, 0.1);
	bottom: 0;
	margin: 0 -1.2rem;
	padding: 0.9rem 1.2rem 1rem;
	position: sticky;
	z-index: 2;
}

.gpm-image-crop-modal__dialog footer .gpm-button {
	min-width: 190px;
}

.gpm-image-crop-modal__dialog [data-gpm-image-crop-apply] {
	background: var(--gpm-red) !important;
	border: 1px solid var(--gpm-red) !important;
	box-shadow: 0 12px 26px rgba(112, 12, 20, 0.22);
	color: #ffffff !important;
	font-weight: 620;
}

.gpm-image-crop-modal__dialog [data-gpm-image-crop-apply]:hover {
	background: #8b101a !important;
	border-color: #8b101a !important;
}

.gpm-image-crop-modal__dialog [data-gpm-image-crop-cancel].gpm-mini-button {
	background: #eef3fb !important;
	border: 1px solid rgba(13, 35, 58, 0.14) !important;
	color: var(--gpm-primary) !important;
}

.gpm-image-crop-modal__dialog h2 {
	color: var(--gpm-primary);
	font-size: 1.45rem;
	font-weight: 580;
	line-height: 1.2;
	margin: 0;
}

.gpm-image-crop-modal__dialog header button {
	background: transparent;
	border: 0;
	color: var(--gpm-primary);
	cursor: pointer;
	font-size: 1.8rem;
	line-height: 1;
}

.gpm-image-crop-modal canvas {
	background: #eef3fb;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 12px;
	display: block;
	height: auto;
	max-height: min(62dvh, 680px);
	object-fit: contain;
	width: 100%;
}

.gpm-image-crop-controls {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gpm-image-crop-controls label {
	color: #33445a;
	display: grid;
	font-size: 0.86rem;
	gap: 0.35rem;
}

.gpm-instructor-card .gpm-rich-editor textarea {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	min-height: 168px;
	padding: 1rem;
	resize: vertical;
}

.gpm-instructor-card .gpm-rich-field textarea:focus {
	box-shadow: none;
	outline: none;
}

.gpm-instructor-card .gpm-rich-field > span {
	font-size: 0.8rem;
	font-weight: 500;
	text-transform: none;
}

/* Central content rail for large screens. */
.gpm-instructor-main > :not(.gpm-instructor-topbar) {
	margin-left: auto;
	margin-right: auto;
	max-width: 1380px;
	width: 100%;
}

/* Lesson editor rebuilt from the Stitch LMS reference layout. */
.gpm-instructor-lesson-layout {
	grid-template-columns: minmax(0, 1fr);
}

.gpm-lesson-stitch {
	align-items: stretch;
	display: grid;
	gap: 0;
	grid-template-columns: minmax(0, 1fr) 390px;
	margin: 0;
	min-height: calc(100vh - 178px);
}

.gpm-lesson-stitch__canvas {
	background: #f4f7fb;
	border-right: 1px solid rgba(13, 35, 58, 0.14);
	display: grid;
	gap: 1.25rem;
	padding: 1.5rem;
}

.gpm-lesson-stitch__side {
	background: #ffffff;
	display: grid;
	gap: 1.25rem;
	padding: 1.5rem;
	position: sticky;
	top: 64px;
}

.gpm-lesson-stitch__side > h2 {
	color: var(--gpm-primary);
	font-size: 1.25rem;
	font-weight: 580;
	line-height: 1.25;
	margin: 0 0 0.25rem;
}

.gpm-stitch-panel,
.gpm-stitch-side-block {
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(7, 21, 36, 0.045);
}

.gpm-stitch-panel {
	padding: 1.55rem;
}

.gpm-stitch-side-block {
	box-shadow: none;
	display: grid;
	gap: 0.85rem;
	padding: 1rem;
}

.gpm-stitch-panel__head,
.gpm-stitch-side-block__head {
	align-items: center;
	display: flex;
	gap: 0.75rem;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.gpm-stitch-panel__head {
	justify-content: flex-start;
}

.gpm-stitch-panel__head span {
	color: var(--gpm-red);
	font-size: 1.1rem;
}

.gpm-stitch-panel h2,
.gpm-stitch-panel h3,
.gpm-stitch-side-block h3 {
	color: var(--gpm-primary);
	font-size: 1.05rem;
	font-weight: 560;
	line-height: 1.25;
	margin: 0;
}

.gpm-stitch-side-block__head button {
	background: transparent;
	border: 0;
	color: var(--gpm-red);
	cursor: pointer;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 560;
	padding: 0;
}

.gpm-stitch-video {
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(240px, 0.95fr) minmax(240px, 1fr);
}

.gpm-stitch-upload,
.gpm-stitch-attach {
	align-items: center;
	border: 1.5px dashed rgba(13, 35, 58, 0.24);
	border-radius: 14px;
	color: var(--gpm-muted);
	cursor: pointer;
	display: flex;
	gap: 0.85rem;
	justify-content: center;
	min-height: 150px;
	padding: 1rem;
	text-align: center;
	transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

.gpm-stitch-upload:hover,
.gpm-stitch-upload:focus-visible,
.gpm-stitch-attach:hover,
.gpm-stitch-attach:focus-visible,
.gpm-stitch-upload.is-dragging-media,
.gpm-stitch-attach.is-dragging-media {
	background: rgba(138, 33, 36, 0.04);
	border-color: rgba(138, 33, 36, 0.48);
	box-shadow: 0 0 0 3px rgba(138, 33, 36, 0.08);
	color: var(--gpm-primary);
	outline: none;
}

.gpm-stitch-upload {
	flex-direction: column;
}

.gpm-stitch-upload span {
	color: rgba(13, 35, 58, 0.28);
	font-size: 2rem;
}

.gpm-stitch-upload p,
.gpm-stitch-upload small,
.gpm-stitch-attach strong,
.gpm-stitch-attach small {
	display: block;
	margin: 0;
}

.gpm-stitch-upload p,
.gpm-stitch-attach strong {
	color: var(--gpm-primary);
	font-weight: 560;
}

.gpm-stitch-upload small,
.gpm-stitch-attach small,
.gpm-stitch-video__fields p {
	color: var(--gpm-muted);
	font-size: 0.8rem;
	line-height: 1.45;
}

.gpm-stitch-video__fields {
	display: grid;
	gap: 0.8rem;
}

.gpm-stitch-video__fields p {
	background: #eef3fb;
	border: 1px solid rgba(13, 35, 58, 0.08);
	border-radius: 10px;
	margin: 0;
	padding: 0.85rem;
}

.gpm-stitch-attach {
	justify-content: flex-start;
	min-height: 64px;
	text-align: left;
}

.gpm-stitch-attach > span {
	color: var(--gpm-red);
	font-size: 1.25rem;
}

.gpm-stitch-side-block--task {
	background: rgba(13, 35, 58, 0.08);
	border-color: rgba(13, 35, 58, 0.28);
}

.gpm-checkline {
	align-items: center;
	display: flex !important;
	flex-direction: row !important;
	gap: 0.55rem !important;
}

.gpm-checkline input {
	width: auto !important;
}

.gpm-profile-thematic-groups {
	border: 0;
	margin: 0 0 1.2rem;
	padding: 0;
}

.gpm-profile-thematic-groups legend {
	color: var(--gpm-ink);
	font-size: 0.95rem;
	font-weight: 700;
	padding: 0;
}

.gpm-profile-thematic-groups__options {
	display: grid;
	gap: 0.5rem 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 0.6rem;
}

.gpm-profile-thematic-groups__options .gpm-checkline {
	background: var(--gpm-soft, #f6f7f9);
	border: 1px solid var(--gpm-line);
	border-radius: 10px;
	padding: 0.55rem 0.75rem;
}

.gpm-profile-thematic-groups__options .gpm-checkline:has(input:checked) {
	background: rgba(112, 12, 20, 0.06);
	border-color: var(--gpm-red);
}

html[data-gpm-theme="dark"] .gpm-profile-thematic-groups__options .gpm-checkline {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(142, 145, 150, 0.22);
}

html[data-gpm-theme="dark"] .gpm-profile-thematic-groups__options .gpm-checkline:has(input:checked) {
	background: rgba(253, 186, 73, 0.12);
	border-color: #fdba49;
}

@media (max-width: 640px) {
	.gpm-profile-thematic-groups__options {
		grid-template-columns: 1fr;
	}
}

.gpm-stitch-status {
	border: 0;
	border-radius: 0;
	border-top: 1px solid rgba(13, 35, 58, 0.16);
	box-shadow: none;
	padding-left: 0;
	padding-right: 0;
}

.gpm-stitch-status > div {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.gpm-stitch-status span,
.gpm-stitch-status strong {
	font-size: 0.9rem;
	font-weight: 560;
}

.gpm-stitch-status i {
	background: var(--gpm-red);
	border-radius: 999px;
	display: block;
	height: 24px;
	position: relative;
	width: 44px;
}

.gpm-stitch-status i::after {
	background: #ffffff;
	border-radius: 50%;
	content: "";
	height: 18px;
	position: absolute;
	right: 3px;
	top: 3px;
	width: 18px;
}

.gpm-lesson-stitch__side > .gpm-button {
	justify-content: center;
	width: 100%;
}

.gpm-stitch-panel .gpm-rich-editor textarea {
	min-height: 260px;
}

.gpm-stitch-side-block .gpm-rich-editor textarea {
	min-height: 92px;
}

/* Course creator rebuilt from the submitted LMS course configuration screen. */
.gpm-course-stitch {
	align-items: start;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(340px, 0.9fr) minmax(520px, 1.25fr);
}

.gpm-course-stitch__left {
	display: grid;
	gap: 1.25rem;
}

.gpm-course-basic,
.gpm-module-structure {
	background: rgba(255, 255, 255, 0.84);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(7, 21, 36, 0.045);
}

.gpm-course-basic {
	display: grid;
	gap: 1.05rem;
	padding: 1.6rem;
}

.gpm-course-basic h2,
.gpm-module-structure h2 {
	color: var(--gpm-primary);
	font-size: 1.2rem;
	font-weight: 580;
	line-height: 1.25;
	margin: 0 0 0.55rem;
}

.gpm-course-basic label {
	display: grid;
	gap: 0.45rem;
}

.gpm-course-basic label > span,
.gpm-module-structure label > span {
	color: #33445a;
	font-size: 0.86rem;
	font-weight: 560;
}

.gpm-course-basic input,
.gpm-course-basic select,
.gpm-course-basic textarea,
.gpm-module-structure input,
.gpm-module-structure select {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 12px;
	color: var(--gpm-primary);
	font: inherit;
	font-size: 0.95rem;
	min-height: 48px;
	padding: 0.8rem 0.95rem;
	width: 100%;
}

.gpm-course-basic textarea {
	min-height: 132px;
}

.gpm-course-basic .gpm-rich-editor {
	border-radius: 12px;
}

.gpm-course-basic .gpm-rich-editor textarea {
	border: 0;
	min-height: 132px;
}

.gpm-cover-field input {
	margin-top: 0.55rem;
}

.gpm-course-cover {
	align-items: center;
	aspect-ratio: 16 / 9;
	background: #f4f7fb;
	border: 1.5px dashed rgba(13, 35, 58, 0.24);
	border-radius: 14px;
	color: var(--gpm-muted);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 1rem;
	text-align: center;
}

.gpm-course-cover span {
	color: rgba(13, 35, 58, 0.38);
	font-size: 2rem;
}

.gpm-course-cover p {
	font-size: 0.86rem;
	margin: 0.35rem 0 0;
}

.gpm-course-basic__row {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gpm-course-basic > .gpm-button {
	justify-content: center;
	justify-self: start;
	margin-top: 0.25rem;
}

.gpm-module-structure {
	overflow: hidden;
}

.gpm-module-structure > header {
	align-items: start;
	border-bottom: 1px solid rgba(13, 35, 58, 0.1);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 1.6rem;
}

.gpm-module-structure > header h2 {
	margin-top: 0.4rem;
}

.gpm-module-structure > header form {
	display: grid;
	gap: 0.6rem;
	grid-template-columns: minmax(0, 1fr) auto;
	max-width: 620px;
	width: 100%;
}

.gpm-module-structure > header form label {
	grid-column: 1 / -1;
	margin: 0;
}

.gpm-module-structure > header form label > span {
	display: none;
}

.gpm-module-structure > header form input[type="text"] {
	grid-column: 1;
}

.gpm-module-structure > header form button {
	background: var(--gpm-primary);
	border: 1px solid var(--gpm-primary);
	border-radius: 10px;
	color: #ffffff;
	cursor: pointer;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 560;
	grid-column: 2;
	min-height: 44px;
	padding: 0.7rem 1rem;
	white-space: nowrap;
}

.gpm-module-list {
	display: grid;
	gap: 1rem;
	padding: 1.35rem;
}

.gpm-module-item {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 14px;
	overflow: hidden;
}

.gpm-module-item__head {
	align-items: center;
	background: #eef3fb;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: auto minmax(0, 1fr) auto auto;
	min-height: 72px;
	padding: 0.9rem 1rem;
}

.gpm-module-drag {
	color: rgba(13, 35, 58, 0.55);
	cursor: grab;
	font-size: 1.2rem;
	letter-spacing: -0.12em;
}

.gpm-module-item {
	transition: box-shadow 160ms ease, opacity 160ms ease, transform 160ms ease;
}

.gpm-module-item.is-dragging {
	box-shadow: 0 18px 40px rgba(7, 21, 36, 0.16);
	opacity: 0.72;
	transform: scale(0.995);
}

.gpm-module-badge {
	background: rgba(13, 35, 58, 0.08);
	border-radius: 7px;
	color: var(--gpm-primary);
	font-size: 0.68rem;
	font-weight: 620;
	letter-spacing: 0.03em;
	padding: 0.42rem 0.58rem;
	text-transform: uppercase;
}

.gpm-module-item h3 {
	color: var(--gpm-primary);
	font-size: 1rem;
	font-weight: 560;
	line-height: 1.25;
	margin: 0;
}

.gpm-module-toggle {
	color: var(--gpm-muted);
	font-size: 1.1rem;
}

.gpm-module-delete {
	color: var(--gpm-red);
	font-size: 1.1rem;
}

.gpm-module-item__body {
	border-top: 1px solid rgba(13, 35, 58, 0.1);
	display: grid;
	gap: 0.35rem;
	padding: 1rem 1.15rem;
}

.gpm-module-item__body div {
	align-items: center;
	color: #33445a;
	display: flex;
	font-size: 0.92rem;
	gap: 0.75rem;
	min-height: 36px;
}

.gpm-module-item__body div span {
	color: var(--gpm-muted);
	width: 18px;
}

.gpm-module-item__body a {
	border: 1px dashed rgba(13, 35, 58, 0.24);
	border-radius: 10px;
	color: var(--gpm-muted);
	font-size: 0.9rem;
	margin-top: 0.45rem;
	padding: 0.65rem;
	text-align: center;
	text-decoration: none;
}

.gpm-module-item__body a:hover {
	border-color: var(--gpm-red);
	color: var(--gpm-red);
}

.gpm-inline-actions {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-left: auto;
	width: auto !important;
}

.gpm-inline-actions button,
.gpm-icon-action {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 8px;
	color: var(--gpm-muted);
	cursor: pointer;
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 700;
	gap: 0.25rem;
	justify-content: center;
	min-height: 32px;
	padding: 0.35rem 0.55rem;
}

.gpm-inline-actions button:hover,
.gpm-icon-action:hover {
	border-color: var(--gpm-red);
	color: var(--gpm-red);
}

.gpm-icon-action {
	border-radius: 999px;
	height: 34px;
	padding: 0;
	width: 34px;
}

.gpm-inline-edit {
	background: rgba(13, 35, 58, 0.035);
	border: 1px solid rgba(13, 35, 58, 0.08);
	border-radius: 12px;
	padding: 0.7rem;
}

.gpm-inline-edit summary {
	color: var(--gpm-primary);
	cursor: pointer;
	font-size: 0.88rem;
	font-weight: 800;
}

.gpm-inline-edit form {
	display: grid;
	gap: 0.55rem;
	margin-top: 0.7rem;
}

.gpm-inline-edit input,
.gpm-inline-edit textarea {
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 8px;
	color: var(--gpm-ink);
	font: inherit;
	padding: 0.65rem 0.75rem;
	width: 100%;
}

/* Access levels screen. */
.gpm-access-head span {
	color: var(--gpm-muted);
	display: block;
	font-size: 1rem;
	line-height: 1.45;
	margin-top: 0.35rem;
	max-width: 760px;
}

.gpm-access-form {
	align-items: start;
	background: rgba(255, 255, 255, 0.84);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(7, 21, 36, 0.045);
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(180px, 0.8fr) minmax(260px, 1.3fr) minmax(220px, 0.8fr) auto;
	padding: 1.25rem;
}

.gpm-access-form--expanded {
	grid-template-columns: minmax(210px, 0.75fr) minmax(320px, 1.2fr) minmax(330px, 1fr) auto;
}

.gpm-access-form h2 {
	color: var(--gpm-primary);
	font-size: 1rem;
	font-weight: 580;
	grid-column: 1 / -1;
	margin: 0;
}

.gpm-access-form label {
	display: grid;
	gap: 0.42rem;
	margin: 0;
}

.gpm-field-help {
	display: grid;
	gap: 0.35rem;
}

.gpm-field-help small {
	color: var(--gpm-muted);
	display: block;
	font-size: 0.78rem;
	line-height: 1.35;
}

.gpm-access-form label > span {
	color: #33445a;
	font-size: 0.82rem;
	font-weight: 560;
}

.gpm-access-form input,
.gpm-access-form select,
.gpm-access-form textarea {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 12px;
	color: var(--gpm-primary);
	font: inherit;
	min-height: 44px;
	padding: 0.75rem 0.9rem;
	width: 100%;
}

.gpm-instructor-users-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
}

.gpm-access-form--users {
	grid-template-columns: 1fr;
}

.gpm-access-form--users .gpm-checkbox-line {
	align-items: center;
	display: flex;
	flex-direction: row;
	gap: 0.6rem;
}

.gpm-access-form--users .gpm-checkbox-line input {
	min-height: 0;
	width: auto;
}

.gpm-access-form--users .gpm-checkbox-line span {
	font-weight: 520;
}

.gpm-member-contact-picker {
	display: grid;
	gap: 0.42rem;
}

.gpm-member-contact-picker > span {
	color: #33445a;
	font-size: 0.82rem;
	font-weight: 560;
}

.gpm-member-contact-picker small {
	color: var(--gpm-muted);
	font-size: 0.76rem;
	line-height: 1.4;
}

.gpm-contact-picker-button {
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 10px;
	color: var(--gpm-primary);
	cursor: pointer;
	display: flex;
	font: inherit;
	font-size: 0.9rem;
	gap: 0.75rem;
	justify-content: space-between;
	min-height: 46px;
	padding: 0.65rem 0.85rem;
	text-align: left;
	width: 100%;
}

.gpm-contact-picker-button:hover,
.gpm-contact-picker-button:focus-visible {
	border-color: var(--gpm-primary);
	box-shadow: 0 0 0 3px rgba(13, 35, 58, 0.1);
	outline: 0;
}

.gpm-contact-picker-button [data-gpm-contact-picker-label] {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gpm-member-contact-status {
	color: #166534;
	font-size: 0.78rem;
	font-weight: 650;
	line-height: 1.4;
	margin: -0.4rem 0 0;
	min-height: 1.1rem;
}

.gpm-access-form--users input[readonly] {
	background: #f1f5f9;
	border-color: rgba(22, 101, 52, 0.36);
	color: #334155;
	cursor: not-allowed;
}

.gpm-form-notice {
	align-items: center;
	background: rgba(13, 35, 58, 0.05);
	border: 1px dashed rgba(13, 35, 58, 0.18);
	border-radius: 12px;
	color: #33445a;
	display: flex;
	font-size: 0.82rem;
	gap: 0.5rem;
	line-height: 1.4;
	margin: 0;
	padding: 0.75rem 0.9rem;
}

.gpm-form-notice .dashicons {
	color: var(--gpm-primary);
	flex-shrink: 0;
}

.gpm-instructor-notice--inline {
	align-items: center;
	display: flex;
	gap: 0.6rem;
	margin: 0 0 1rem;
	max-width: none;
	min-height: 0;
	padding: 1rem 1.25rem;
	text-align: left;
}

.gpm-instructor-notice--inline.gpm-instructor-notice--success {
	background: #eafaf1;
	border-color: #34a853;
	color: #1e7a3c;
}

.gpm-instructor-notice--inline.gpm-instructor-notice--success .dashicons {
	color: #1e7a3c;
}

.gpm-instructor-notice--inline.gpm-instructor-notice--error {
	background: #fdecec;
	border-color: var(--gpm-red);
	color: var(--gpm-red);
}

.gpm-instructor-notice--inline.gpm-instructor-notice--error .dashicons {
	color: var(--gpm-red);
}

.gpm-access-form .gpm-rich-toolbar {
	min-height: 38px;
}

.gpm-access-form .gpm-rich-editor textarea {
	border: 0;
	min-height: 86px;
}

.gpm-access-form__row {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: 0.8fr 0.7fr;
}

.gpm-access-form--expanded .gpm-access-form__row {
	grid-template-columns: minmax(190px, 1fr) minmax(140px, 0.6fr);
}

.gpm-access-form--expanded > .gpm-rich-field:last-of-type {
	grid-column: 1 / -2;
}

.gpm-icon-selector {
	border: 0;
	display: block;
	gap: 0.42rem;
	margin: 0;
	min-width: 0;
	padding: 0;
	position: relative;
}

.gpm-icon-selector legend {
	color: #33445a;
	font-size: 0.82rem;
	font-weight: 560;
	margin-bottom: 0.35rem;
	padding: 0;
}

.gpm-icon-picker {
	position: relative;
}

.gpm-icon-picker summary {
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 12px;
	color: var(--gpm-primary);
	cursor: pointer;
	display: flex;
	gap: 0.7rem;
	list-style: none;
	min-height: 48px;
	padding: 0.65rem 0.8rem;
}

.gpm-icon-picker summary::-webkit-details-marker {
	display: none;
}

.gpm-icon-picker summary::after {
	color: var(--gpm-muted);
	content: "⌄";
	margin-left: auto;
}

.gpm-icon-picker[open] summary {
	border-color: var(--gpm-primary);
	box-shadow: 0 0 0 3px rgba(13, 35, 58, 0.08);
}

.gpm-icon-picker__panel {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 14px;
	box-shadow: 0 18px 48px rgba(7, 21, 36, 0.18);
	display: grid;
	gap: 0.35rem;
	grid-template-columns: repeat(8, 34px);
	left: 0;
	max-height: 270px;
	overflow-y: auto;
	padding: 0.65rem;
	position: absolute;
	top: calc(100% + 0.45rem);
	width: min(332px, calc(100vw - 2rem));
	z-index: 40;
}

.gpm-icon-picker label {
	display: block;
	margin: 0;
}

.gpm-icon-picker input {
	opacity: 0;
	position: absolute;
}

.gpm-icon-picker label > span,
.gpm-icon-picker summary > span {
	align-items: center;
	background: transparent;
	border: 1px solid transparent;
	border-radius: 8px;
	color: var(--gpm-primary);
	cursor: pointer;
	display: inline-flex;
	font-size: 1.12rem;
	height: 32px;
	justify-content: center;
	width: 32px;
}

.gpm-icon-picker label > span:hover {
	background: #eef3fb;
}

.gpm-icon-picker input:checked + span {
	background: var(--gpm-primary);
	border-color: var(--gpm-primary);
	color: #ffffff;
}

.gpm-icon-picker b {
	font-size: 0.9rem;
	font-weight: 520;
}

.gpm-access-form > .gpm-button {
	align-self: start;
	justify-content: center;
	margin-top: 1.55rem;
	min-height: 48px;
	white-space: nowrap;
}

.gpm-access-levels {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gpm-access-card {
	background: rgba(255, 255, 255, 0.86);
	border: 1px solid rgba(13, 35, 58, 0.08);
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(7, 21, 36, 0.045);
	display: grid;
	gap: 0.85rem;
	min-height: 250px;
	padding: 1.65rem;
}

.gpm-access-card__head {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 0.85rem;
	justify-content: space-between;
	list-style: none;
}

.gpm-access-card__head::-webkit-details-marker {
	display: none;
}

.gpm-access-card__head div {
	display: flex;
	gap: 0.35rem;
}

.gpm-access-card__head button {
	background: transparent;
	border: 0;
	color: var(--gpm-muted);
	cursor: pointer;
	font: inherit;
	font-size: 1.1rem;
	padding: 0.25rem;
}

.gpm-access-card__head button:last-child {
	color: var(--gpm-red);
}

.gpm-access-card__summary-text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.gpm-access-card__summary-text strong {
	color: var(--gpm-primary);
	font-size: 1.16rem;
	font-weight: 580;
	line-height: 1.25;
}

.gpm-access-card__summary-text small {
	color: var(--gpm-muted);
	font-size: 0.85rem;
}

.gpm-access-card__toggle {
	color: var(--gpm-muted);
	flex-shrink: 0;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.gpm-access-card[open] .gpm-access-card__toggle {
	color: var(--gpm-primary);
}

.gpm-access-card .gpm-content-manager__form {
	margin-top: 0.4rem;
}

.gpm-access-icon {
	align-items: center;
	background: #eef3fb;
	border-radius: 14px;
	color: var(--gpm-primary);
	display: inline-flex;
	font-size: 1.35rem;
	height: 54px;
	justify-content: center;
	min-width: 54px;
	padding: 0 0.7rem;
}

.gpm-access-card h2 {
	color: var(--gpm-primary);
	font-size: 1.16rem;
	font-weight: 580;
	line-height: 1.25;
	margin: 0;
}

.gpm-access-card p {
	color: #33445a;
	font-size: 0.98rem;
	line-height: 1.55;
	margin: 0;
}

.gpm-access-rule {
	color: var(--gpm-red);
	font-size: 0.9rem;
	font-weight: 560;
	margin-top: auto;
}

.gpm-sublevel-list {
	border-top: 1px solid rgba(13, 35, 58, 0.08);
	display: grid;
	gap: 0.35rem;
	list-style: none;
	margin: 0.25rem 0 0;
	padding: 0.75rem 0 0;
}

.gpm-sublevel-list li {
	align-items: center;
	color: #33445a;
	display: flex;
	font-size: 0.84rem;
	gap: 0.45rem;
}

.gpm-sublevel-list li::before {
	background: rgba(13, 35, 58, 0.28);
	border-radius: 50%;
	color: var(--gpm-red);
	content: counter(list-item);
	display: inline-grid;
	font-size: 0.68rem;
	font-weight: 620;
	height: 1.25rem;
	place-items: center;
	width: 1.25rem;
}

.gpm-student-directory {
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(7, 21, 36, 0.045);
	/* overflow-x sempre ativo (não só abaixo de 560px): a tabela interna tem
	   min-width fixo e precisa poder rolar horizontalmente em qualquer
	   largura de tablet/celular, sem estourar a página inteira. */
	overflow-x: auto;
	overflow-y: hidden;
}

.gpm-student-directory > header {
	align-items: center;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(220px, 0.6fr) minmax(0, 1fr);
	padding: 1.5rem;
}

.gpm-student-directory__title {
	align-items: center;
	display: flex;
	gap: 0.75rem;
}

.gpm-student-directory__title > span {
	color: var(--gpm-red);
	font-size: 1.4rem;
}

.gpm-student-directory h2 {
	color: var(--gpm-primary);
	font-size: 1.18rem;
	font-weight: 580;
	line-height: 1.25;
	margin: 0;
}

.gpm-student-filters {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: minmax(200px, 1fr) repeat(3, minmax(150px, 0.65fr));
}

.gpm-student-filters input,
.gpm-student-filters select {
	background: #eef3fb;
	border: 1px solid transparent;
	border-radius: 10px;
	color: #33445a;
	font: inherit;
	font-size: 0.9rem;
	min-height: 42px;
	padding: 0.65rem 0.8rem;
	width: 100%;
}

.gpm-student-table {
	display: grid;
	min-width: 880px;
}

.gpm-student-table > div {
	align-items: center;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(260px, 1.3fr) minmax(160px, 0.8fr) minmax(150px, 0.8fr) minmax(150px, 0.8fr) 80px;
	min-height: 72px;
	padding: 0 1.5rem;
}

.gpm-user-table {
	min-width: 720px;
}

.gpm-user-table > div {
	grid-template-columns: minmax(240px, 1.4fr) minmax(110px, 0.55fr) minmax(190px, 0.85fr) 148px;
}

.gpm-user-actions-cell {
	display: flex;
	gap: 0.4rem;
	justify-content: center;
}

.gpm-user-actions-cell form {
	margin: 0;
}

.gpm-user-actions-cell .gpm-mini-button {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	margin-left: 0;
	min-height: 34px;
	min-width: 34px;
	padding: 0.4rem;
}

.gpm-user-actions-cell .dashicons {
	font-size: 16px;
	height: 16px;
	width: 16px;
}

.gpm-student-table > div:first-child {
	background: #eef3fb;
	color: #33445a;
	min-height: 58px;
}

.gpm-student-table > div:not(:first-child) {
	border-top: 1px solid rgba(13, 35, 58, 0.06);
}

.gpm-student-table strong {
	font-size: 0.9rem;
	font-weight: 580;
}

.gpm-student-table span {
	color: #33445a;
	font-size: 0.92rem;
}

.gpm-student-table span:first-child {
	align-items: center;
	display: flex;
	gap: 0.85rem;
}

.gpm-student-table i {
	align-items: center;
	background: #eef3fb;
	border-radius: 50%;
	color: var(--gpm-primary);
	display: inline-flex;
	font-style: normal;
	font-weight: 620;
	height: 42px;
	justify-content: center;
	overflow: hidden;
	width: 42px;
}

.gpm-student-table img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.gpm-student-table em {
	color: var(--gpm-primary);
	display: grid;
	font-style: normal;
	font-weight: 520;
}

.gpm-student-table small {
	color: var(--gpm-muted);
	font-size: 0.78rem;
	font-weight: 400;
}

.gpm-student-table mark {
	background: rgba(13, 35, 58, 0.18);
	border-radius: 999px;
	color: var(--gpm-primary);
	font-size: 0.78rem;
	font-weight: 620;
	padding: 0.3rem 0.58rem;
}

.gpm-user-level-cell {
	align-items: center;
	display: flex;
	flex-direction: row;
	gap: 0.5rem;
}

.gpm-user-level-cell .gpm-icon-action {
	flex-shrink: 0;
	height: 28px;
	width: 28px;
}

.gpm-user-level-cell .gpm-icon-action .dashicons {
	font-size: 15px;
	height: 15px;
	width: 15px;
}

.gpm-field-modal[hidden] {
	display: none;
}

.gpm-field-modal {
	inset: 0;
	position: fixed;
	z-index: 100000;
}

.gpm-field-modal__backdrop {
	background: rgba(7, 21, 36, 0.55);
	inset: 0;
	position: absolute;
}

.gpm-field-modal__dialog {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 10px;
	box-shadow: 0 26px 70px rgba(7, 21, 36, 0.26);
	color: var(--gpm-ink);
	left: 50%;
	max-width: min(92vw, 420px);
	padding: 1.5rem;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.gpm-field-modal__dialog h2 {
	color: var(--gpm-primary);
	font-size: 1.3rem;
	line-height: 1.2;
	margin: 0 0 0.35rem;
}

.gpm-field-modal__dialog > p {
	color: var(--gpm-muted);
	line-height: 1.5;
	margin: 0 0 1.1rem;
}

.gpm-field-modal__dialog label {
	display: grid;
	gap: 0.42rem;
	margin: 0 0 0.85rem;
}

.gpm-field-modal__dialog label:last-of-type {
	margin-bottom: 0;
}

.gpm-field-modal__dialog label > span {
	color: #33445a;
	font-size: 0.82rem;
	font-weight: 560;
}

.gpm-field-modal__dialog select,
.gpm-field-modal__dialog input {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 10px;
	color: var(--gpm-primary);
	font: inherit;
	min-height: 44px;
	padding: 0.6rem 0.75rem;
	width: 100%;
}

.gpm-field-modal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: flex-end;
	margin-top: 1.25rem;
}

.gpm-contact-picker-modal .gpm-field-modal__dialog {
	display: grid;
	gap: 1rem;
	grid-template-rows: auto auto minmax(0, 1fr) auto;
	max-height: min(82vh, 620px);
	max-width: min(92vw, 520px);
	overflow: hidden;
}

.gpm-contact-picker-modal__header {
	align-items: flex-start;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-contact-picker-modal__header h2 {
	margin-bottom: 0.35rem;
}

.gpm-contact-picker-modal__header p {
	color: var(--gpm-muted);
	font-size: 0.88rem;
	line-height: 1.45;
	margin: 0;
}

.gpm-contact-picker-modal__close {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 8px;
	color: var(--gpm-muted);
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 auto;
	height: 36px;
	justify-content: center;
	padding: 0;
	width: 36px;
}

.gpm-contact-picker-modal__close:hover,
.gpm-contact-picker-modal__close:focus-visible {
	background: rgba(13, 35, 58, 0.07);
	color: var(--gpm-primary);
	outline: 0;
}

.gpm-contact-picker-modal .gpm-contact-picker-search {
	margin: 0;
}

.gpm-contact-picker-results {
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 10px;
	display: grid;
	max-height: 310px;
	min-height: 0;
	overflow-y: auto;
}

.gpm-contact-picker-option {
	background: #ffffff;
	border: 0;
	border-bottom: 1px solid rgba(13, 35, 58, 0.08);
	color: var(--gpm-primary);
	cursor: pointer;
	font: inherit;
	font-size: 0.92rem;
	min-height: 48px;
	padding: 0.75rem 0.9rem;
	text-align: left;
}

.gpm-contact-picker-option:last-of-type {
	border-bottom: 0;
}

.gpm-contact-picker-option:hover,
.gpm-contact-picker-option:focus-visible {
	background: #eef3fb;
	outline: 0;
}

.gpm-contact-picker-option[hidden],
.gpm-contact-picker-empty[hidden] {
	display: none;
}

.gpm-contact-picker-empty {
	color: var(--gpm-muted);
	font-size: 0.88rem;
	margin: 0;
	padding: 1rem;
	text-align: center;
}

.gpm-contact-picker-modal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: flex-end;
}

/* Refuerzo explícito: en algunos contextos (paneles fuera de .gpm-shell) el
   botón primario del modal quedaba con fondo transparente por defecto y
   solo se veía al pasar el mouse. Fijamos colores sólidos con fallback. */
.gpm-field-modal__actions .gpm-button--primary {
	background: var(--gpm-primary, #0d233a) !important;
	border-color: var(--gpm-primary, #0d233a) !important;
	color: #ffffff !important;
}

.gpm-field-modal__actions .gpm-button--primary:hover,
.gpm-field-modal__actions .gpm-button--primary:focus-visible {
	background: var(--gpm-red, #700c14) !important;
	border-color: var(--gpm-red, #700c14) !important;
	color: #ffffff !important;
}

.gpm-course-dots {
	display: flex;
}

.gpm-course-dots b {
	align-items: center;
	background: var(--gpm-primary);
	border: 2px solid #ffffff;
	border-radius: 50%;
	color: #ffffff;
	display: inline-flex;
	font-size: 0.62rem;
	height: 30px;
	justify-content: center;
	margin-left: -0.35rem;
	width: 30px;
}

.gpm-course-dots b:nth-child(2) {
	background: var(--gpm-red);
}

.gpm-course-dots b:nth-child(3) {
	background: #6b7280;
}

.gpm-student-table button {
	background: transparent;
	border: 0;
	color: var(--gpm-muted);
	cursor: pointer;
	font: inherit;
	font-size: 1.35rem;
}

.gpm-user-identity-cell {
	min-width: 0;
}

.gpm-student-table .gpm-user-identity-button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 10px;
	color: inherit;
	display: flex;
	font: inherit;
	font-size: 0.92rem;
	gap: 0.85rem;
	margin: -0.35rem -0.5rem;
	min-width: 0;
	padding: 0.35rem 0.5rem;
	text-align: left;
	width: calc(100% + 1rem);
}

.gpm-student-table button.gpm-user-identity-button:hover,
.gpm-student-table button.gpm-user-identity-button:focus-visible {
	background: rgba(13, 35, 58, 0.06);
	color: var(--gpm-primary);
	outline: 2px solid rgba(13, 35, 58, 0.16);
	outline-offset: 1px;
}

.gpm-user-identity-button em {
	min-width: 0;
}

.gpm-user-identity-button small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gpm-user-level-cell {
	min-width: 0;
	width: 100%;
}

.gpm-inline-cell-form {
	margin: 0;
	width: 100%;
}

.gpm-inline-cell-form select {
	background-color: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 9px;
	color: #33445a;
	font: inherit;
	font-size: 0.86rem;
	min-height: 38px;
	padding: 0.45rem 2rem 0.45rem 0.65rem;
	width: 100%;
}

.gpm-inline-cell-form select:focus-visible {
	border-color: var(--gpm-primary);
	box-shadow: 0 0 0 3px rgba(13, 35, 58, 0.12);
	outline: 0;
}

.gpm-inline-cell-form.is-saving select {
	cursor: progress;
	opacity: 0.65;
}

.gpm-impersonation-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 16px;
	background: #fef3c7;
	color: #92400e;
	font-size: 14px;
	font-weight: 600;
}

.gpm-impersonation-banner form {
	margin: 0;
}

.gpm-unified-user-table {
	min-width: 1360px;
}

.gpm-unified-user-table > div {
	grid-template-columns: 32px minmax(220px, 1.1fr) minmax(170px, 0.6fr) minmax(150px, 0.6fr) minmax(400px, 2fr) 96px;
}

.gpm-user-role-cell {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.gpm-user-role-cell .gpm-role-badge {
	font-family: inherit;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--gpm-muted);
}

.gpm-user-role-cell .gpm-role-badge--button {
	align-items: center;
	background: #f8fafc;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 999px;
	cursor: pointer;
	display: inline-flex;
	gap: 0.3rem;
	padding: 0.2rem 0.55rem;
}

.gpm-user-role-cell .gpm-role-badge--button:hover {
	background: rgba(13, 35, 58, 0.06);
}

.gpm-user-role-cell .gpm-role-badge--button .dashicons {
	font-size: 12px;
	height: 12px;
	width: 12px;
}

.gpm-field-modal--wide .gpm-field-modal__dialog {
	max-height: min(86vh, 720px);
	max-width: min(94vw, 780px);
	overflow-y: auto;
}

.gpm-field-modal--wide hr {
	border: 0;
	border-top: 1px solid rgba(13, 35, 58, 0.12);
	margin: 1.25rem 0;
}

html[data-gpm-theme="dark"] .gpm-role-badge--button {
	background: #1f2b3a;
	border-color: rgba(142, 145, 150, 0.24);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-field-modal--wide hr {
	border-top-color: rgba(142, 145, 150, 0.24);
}

.gpm-unified-user-row.is-hidden {
	display: none;
}

.gpm-user-select-cell {
	display: flex;
	justify-content: center;
}

.gpm-user-courses-cell {
	min-width: 0;
	width: 100%;
}

.gpm-label-checkbox {
	align-items: center;
	display: flex;
	gap: 0.4rem;
	font-size: 0.82rem;
	padding: 0.15rem 0;
}

.gpm-label-checkbox input:disabled + span {
	color: var(--gpm-muted);
}

.gpm-enrollment-course-list--compact {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1rem;
}

.gpm-enrollment-course-list--compact label {
	background: none;
	border: 0;
	min-height: auto;
	padding: 0.1rem 0;
}

.gpm-user-courses-cell .gpm-muted {
	color: var(--gpm-muted);
	font-size: 0.82rem;
}

.gpm-save-all-button {
	background: var(--gpm-red);
	border-color: var(--gpm-red);
	color: #ffffff !important;
	margin: 0 0 1rem;
}

.gpm-user-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0 0 1rem;
}

.gpm-user-tab {
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 999px;
	color: #33445a;
	display: inline-flex;
	font-size: 0.84rem;
	font-weight: 560;
	gap: 0.35rem;
	padding: 0.4rem 0.85rem;
	text-decoration: none;
}

.gpm-user-tab span {
	color: var(--gpm-muted);
}

.gpm-user-tab.is-active {
	background: var(--gpm-primary);
	border-color: var(--gpm-primary);
	color: #ffffff;
}

.gpm-user-tab.is-active span {
	color: rgba(255, 255, 255, 0.75);
}

.gpm-bulk-toolbar {
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0 0 1rem;
	padding: 0.85rem 1.15rem;
}

.gpm-bulk-toolbar__select-all {
	align-items: center;
	display: inline-flex;
	gap: 0.4rem;
	font-size: 0.86rem;
}

.gpm-bulk-toolbar__label {
	color: var(--gpm-muted);
	font-size: 0.86rem;
}

.gpm-bulk-toolbar select {
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 9px;
	font: inherit;
	min-height: 38px;
	padding: 0.4rem 0.65rem;
}

.gpm-enrollment-matrix {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 10px;
	box-shadow: 0 16px 40px rgba(13, 35, 58, 0.08);
	/* overflow-x sempre ativo: .gpm-enrollment-table tem min-width fixo e
	   precisa poder rolar horizontalmente em qualquer largura de
	   tablet/celular, sem estourar a página inteira. */
	overflow-x: auto;
	overflow-y: hidden;
}

.gpm-enrollment-matrix__head {
	align-items: end;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(260px, 1fr) minmax(260px, 0.45fr);
	padding: 1.4rem 1.5rem;
}

.gpm-enrollment-matrix__head h2 {
	color: var(--gpm-primary);
	font-size: 1.2rem;
	font-weight: 620;
	margin: 0;
}

.gpm-enrollment-matrix__head p {
	color: var(--gpm-muted);
	margin: 0.35rem 0 0;
}

.gpm-enrollment-search {
	display: grid;
	gap: 0.35rem;
}

.gpm-enrollment-search span {
	color: var(--gpm-primary);
	font-size: 0.82rem;
	font-weight: 620;
}

.gpm-enrollment-search input {
	background: #eef3fb;
	border: 1px solid transparent;
	border-radius: 10px;
	color: #33445a;
	font: inherit;
	min-height: 42px;
	padding: 0.65rem 0.8rem;
	width: 100%;
}

.gpm-enrollment-table {
	display: grid;
	min-width: 920px;
	overflow-x: auto;
}

.gpm-enrollment-row {
	align-items: stretch;
	background: #ffffff;
	border-top: 1px solid rgba(13, 35, 58, 0.08);
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(250px, 0.45fr) minmax(520px, 1fr);
	padding: 1rem 1.5rem;
}

.gpm-enrollment-row.is-hidden {
	display: none;
}

.gpm-enrollment-row--head {
	align-items: center;
	background: #eef3fb;
	border-top: 0;
	color: #33445a;
	min-height: 58px;
	padding-block: 0;
}

.gpm-enrollment-user {
	align-items: center;
	display: flex;
	gap: 0.85rem;
}

.gpm-enrollment-user i {
	align-items: center;
	background: #eef3fb;
	border-radius: 50%;
	color: var(--gpm-primary);
	display: inline-flex;
	flex: 0 0 42px;
	font-style: normal;
	font-weight: 620;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.gpm-enrollment-user div {
	display: grid;
	gap: 0.24rem;
}

.gpm-enrollment-user strong {
	color: var(--gpm-primary);
	font-size: 0.94rem;
	font-weight: 620;
}

.gpm-enrollment-user small,
.gpm-enrollment-actions small,
.gpm-enrollment-course-list small {
	color: var(--gpm-muted);
	font-size: 0.78rem;
}

.gpm-enrollment-user mark {
	background: rgba(13, 35, 58, 0.12);
	border-radius: 999px;
	color: var(--gpm-primary);
	font-size: 0.72rem;
	font-weight: 620;
	justify-self: start;
	padding: 0.22rem 0.5rem;
}

.gpm-enrollment-courses {
	display: grid;
	gap: 0.8rem;
}

.gpm-enrollment-course-list {
	display: grid;
	gap: 0.55rem;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.gpm-enrollment-course-list label {
	align-items: center;
	background: #f8fafc;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	cursor: pointer;
	display: flex;
	gap: 0.6rem;
	min-height: 54px;
	padding: 0.65rem 0.75rem;
}

.gpm-enrollment-course-list input {
	accent-color: var(--gpm-red);
	flex: 0 0 auto;
	height: 18px;
	width: 18px;
}

.gpm-enrollment-course-list span {
	display: grid;
	gap: 0.15rem;
}

.gpm-enrollment-course-list strong {
	color: #24364d;
	font-size: 0.86rem;
	font-weight: 620;
}

.gpm-enrollment-actions {
	align-items: center;
	display: flex;
	gap: 0.8rem;
	justify-content: space-between;
}

.gpm-enrollment-actions .gpm-button {
	min-height: 38px;
	padding: 0.55rem 0.9rem;
}

.gpm-crm-import {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 10px;
	box-shadow: 0 16px 40px rgba(13, 35, 58, 0.08);
	margin-top: 1.2rem;
	overflow: hidden;
}

.gpm-crm-import > summary {
	cursor: pointer;
	display: inline-flex;
	list-style: none;
	margin: 1.4rem 1.5rem;
}

.gpm-crm-import > summary::-webkit-details-marker {
	display: none;
}

.gpm-crm-import[open] > summary {
	margin-bottom: 0.8rem;
}

.gpm-crm-import-form {
	border-top: 1px solid rgba(13, 35, 58, 0.08);
	padding: 1.2rem 1.5rem 1.5rem;
}

.gpm-crm-import-form .gpm-enrollment-table {
	border: 1px solid rgba(13, 35, 58, 0.08);
	border-radius: 8px;
	margin: 1rem 0;
}

.gpm-crm-import-actions {
	justify-content: flex-end;
}

.gpm-student-directory footer {
	align-items: center;
	background: #eef3fb;
	color: #33445a;
	display: flex;
	flex-direction: column;
	font-size: 0.9rem;
	gap: 0.7rem;
	justify-content: center;
	min-height: 112px;
}

.gpm-student-directory footer span {
	animation: gpm-spin 900ms linear infinite;
	border: 4px solid rgba(13, 35, 58, 0.14);
	border-top-color: var(--gpm-red);
	border-radius: 50%;
	height: 34px;
	width: 34px;
}

@keyframes gpm-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (max-width: 980px) {
	.gpm-hero,
	.gpm-status-grid,
	.gpm-workspace {
		grid-template-columns: 1fr;
	}

	.gpm-rings {
		grid-template-columns: 1fr;
	}

	.gpm-course-card__header {
		display: grid;
	}

	.gpm-course-progress {
		justify-items: start;
		text-align: left;
	}

	.gpm-section-heading {
		align-items: start;
		display: grid;
	}

	.gpm-section-heading > p {
		text-align: left;
	}

	.gpm-instructor-app {
		grid-template-columns: 1fr;
	}

	.gpm-instructor-sidebar {
		height: auto;
		overflow: visible;
		position: relative;
		z-index: 30;
	}

	.gpm-instructor-sidebar__collapse,
	.gpm-instructor-sidebar-reopen {
		display: none !important;
	}

	.gpm-instructor-menu-toggle {
		display: inline-flex;
	}

	.gpm-instructor-sidebar {
		padding: 0.75rem 1rem;
	}

	.gpm-instructor-brand-row {
		align-items: center;
		flex-direction: row;
		gap: 0.75rem;
		justify-content: space-between;
	}

	.gpm-instructor-brand {
		align-items: center;
		display: flex;
		flex: 1 1 auto;
		gap: 0.6rem;
		min-width: 0;
	}

	.gpm-instructor-brand__institution {
		flex: 0 0 auto;
		width: auto;
	}

	.gpm-instructor-brand__logo {
		height: 42px;
		width: 42px;
	}

	.gpm-instructor-brand-row strong {
		font-size: 1rem;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.gpm-instructor-menu-toggle {
		flex: 0 0 auto;
	}

	/* Painel de navegação do instrutor: some por padrão em mobile e, ao abrir,
	   sobrepõe o conteúdo como um painel translúcido com blur — mesmo padrão
	   visual/comportamental do menu mobile do site (site-header/style.css,
	   .main-navigation) e do painel lateral de posts (base.css,
	   .mobile-sidebar-panel). Não empurra mais o conteúdo para baixo. */
	.gpm-instructor-nav-panel {
		display: none;
	}

	.gpm-instructor-sidebar.is-menu-open .gpm-instructor-nav-panel {
		background-color: rgba(255, 255, 255, 0.92);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		border-bottom: 1px solid var(--gpm-line);
		box-shadow: var(--shadow-md, 0 12px 28px rgba(0, 0, 0, 0.18));
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		left: 0;
		max-height: min(75vh, 560px);
		overflow-y: auto;
		padding: 0.85rem 1rem 1.1rem;
		position: absolute;
		right: 0;
		top: 100%;
		z-index: 60;
	}

	html[data-gpm-theme="dark"] .gpm-instructor-sidebar.is-menu-open .gpm-instructor-nav-panel {
		background-color: rgba(16, 28, 43, 0.92);
		border-bottom-color: rgba(253, 186, 73, 0.16);
		box-shadow: 0 16px 42px rgba(0, 0, 0, 0.28);
	}

	.gpm-instructor-grid,
	.gpm-instructor-two,
	.gpm-instructor-builder,
	.gpm-instructor-home-grid,
	.gpm-instructor-lesson-layout,
	.gpm-instructor-access-grid,
	.gpm-instructor-users-grid,
	.gpm-instructor-stats {
		grid-template-columns: 1fr;
	}

	.gpm-instructor-pagehead {
		align-items: start;
		display: grid;
	}

		.gpm-course-stitch,
		.gpm-lesson-stitch,
		.gpm-access-form,
		.gpm-access-levels,
		.gpm-enrollment-matrix__head,
		.gpm-student-directory > header,
		.gpm-student-filters,
		.gpm-module-structure > header,
	.gpm-module-structure > header form,
	.gpm-course-basic__row {
		grid-template-columns: 1fr;
	}

	.gpm-profile-panel__head,
	.gpm-profile-grid,
	.gpm-image-crop-controls {
		grid-template-columns: 1fr;
	}

	.gpm-profile-grid .gpm-image-field {
		grid-column: auto;
	}

	.gpm-profile-panel__head img {
		justify-self: start;
	}

	.gpm-profile-avatar {
		justify-self: start;
	}

	.gpm-module-structure > header,
	.gpm-student-directory > header {
		display: grid;
	}

	.gpm-lesson-stitch__canvas {
		border-right: 0;
	}

	.gpm-lesson-stitch__side {
		position: static;
	}

	.gpm-enrollment-table {
		min-width: 0;
	}

	.gpm-enrollment-row {
		grid-template-columns: 1fr;
	}

	.gpm-page-hero {
		align-items: flex-start;
		aspect-ratio: auto;
		flex-direction: column;
		gap: 1rem;
	}

	.gpm-page-hero__identity {
		flex-direction: row;
		text-align: left;
		width: auto;
	}

	.gpm-page-hero__avatar {
		width: 79px;
	}

	.gpm-page-hero__title {
		overflow: visible;
		white-space: normal;
	}

	.gpm-page-hero__subtitle {
		-webkit-line-clamp: 3;
	}
}

@media (max-width: 560px) {
	.gpm-shell {
		padding-inline: 0.75rem;
	}

	.gpm-hero,
	.gpm-panel,
	.gpm-status-card,
	.gpm-login__panel {
		padding: 1rem;
	}

	.gpm-hero h1 {
		font-size: clamp(1.5rem, 8.5vw, 2.15rem);
	}

	.gpm-identity-card {
		max-width: none;
	}

	.gpm-identity-card__avatar {
		width: 89px;
	}

	.gpm-identity-data {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gpm-metrics {
		grid-template-columns: 1fr;
	}

	.gpm-inline-form {
		grid-template-columns: 1fr;
	}

	.gpm-fixation-cards {
		grid-template-columns: 1fr;
	}

	.gpm-vault-index li {
		align-items: stretch;
		display: grid;
	}

	.gpm-vault-index__actions {
		justify-content: stretch;
	}

	.gpm-vault-quick-note__head,
	.gpm-vault-entry__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.gpm-vault-lock-inline {
		justify-content: center;
		width: 100%;
	}

	.gpm-vault-entry__grid {
		grid-template-columns: 1fr;
	}

	.gpm-vault-entry__footer > div {
		justify-content: stretch;
	}

	.gpm-vault-entry__footer .gpm-button {
		justify-content: center;
		width: 100%;
	}

	.gpm-modal__dialog {
		max-height: calc(100vh - 1rem);
		max-width: calc(100vw - 1rem);
	}

	.gpm-password-field {
		padding-bottom: 3rem;
	}

	.gpm-password-field button {
		height: 42px;
		left: 0;
		top: calc(100% + 10px);
		width: 100%;
	}

	.gpm-image-crop-modal__dialog footer {
		align-items: stretch;
		display: grid;
	}

	.gpm-image-crop-modal__dialog footer .gpm-button,
	.gpm-image-crop-modal__dialog footer .gpm-mini-button {
		width: 100%;
	}

	.gpm-instructor-main {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}

	.gpm-instructor-topbar {
		flex-wrap: wrap;
		margin-left: -0.75rem;
		margin-right: -0.75rem;
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}

	.gpm-instructor-topbar label {
		flex: 1 1 100%;
		max-width: none;
		order: 2;
	}

	.gpm-instructor-user {
		margin-left: auto;
		order: 1;
	}

	.gpm-course-basic,
	.gpm-module-structure > header,
	.gpm-module-list,
	.gpm-lesson-stitch__canvas,
	.gpm-lesson-stitch__side {
		padding: 1rem;
	}

	.gpm-module-item__head {
		grid-template-columns: auto minmax(0, 1fr) auto;
	}

	.gpm-module-drag,
	.gpm-module-delete {
		display: none;
	}

	.gpm-access-form,
	.gpm-access-card,
	.gpm-student-directory > header {
		padding: 1rem;
	}

	.gpm-access-form__row {
		grid-template-columns: 1fr;
	}

	.gpm-student-directory {
		overflow-x: auto;
	}
}

.gpm-image-crop-modal .gpm-image-crop-modal__dialog footer button {
	align-items: center !important;
	border-radius: var(--radius-sm, 4px) !important;
	display: inline-flex !important;
	font-size: 0.92rem !important;
	font-weight: 620 !important;
	justify-content: center !important;
	min-height: 44px !important;
	padding: 0.72rem 1.1rem !important;
	text-decoration: none !important;
}

.gpm-image-crop-modal .gpm-image-crop-modal__dialog footer button[data-gpm-image-crop-apply] {
	background-color: var(--gpm-red) !important;
	background-image: none !important;
	border: 1px solid var(--gpm-red) !important;
	box-shadow: 0 10px 22px rgba(112, 12, 20, 0.2) !important;
	color: #ffffff !important;
}

.gpm-image-crop-modal .gpm-image-crop-modal__dialog footer button[data-gpm-image-crop-apply]:hover,
.gpm-image-crop-modal .gpm-image-crop-modal__dialog footer button[data-gpm-image-crop-apply]:focus-visible {
	background-color: #8b101a !important;
	border-color: #8b101a !important;
	color: #ffffff !important;
}

.gpm-image-crop-modal .gpm-image-crop-modal__dialog footer button[data-gpm-image-crop-cancel] {
	background-color: #eef3fb !important;
	background-image: none !important;
	border: 1px solid rgba(13, 35, 58, 0.18) !important;
	box-shadow: none !important;
	color: var(--gpm-primary) !important;
}


/* Títulos em bordô — tema claro apenas — excluindo hero (fundo escuro) */
html:not([data-gpm-theme="dark"]) .gpm-shell h1:not(.gpm-hero h1),
html:not([data-gpm-theme="dark"]) .gpm-shell h2,
html:not([data-gpm-theme="dark"]) .gpm-shell h3:not(.gpm-hero-course h3),
html:not([data-gpm-theme="dark"]) .gpm-shell h4,
html:not([data-gpm-theme="dark"]) .gpm-shell h5,
html:not([data-gpm-theme="dark"]) .gpm-instructor-app h1,
html:not([data-gpm-theme="dark"]) .gpm-instructor-app h2,
html:not([data-gpm-theme="dark"]) .gpm-instructor-app h3,
html:not([data-gpm-theme="dark"]) .gpm-instructor-app h4,
html:not([data-gpm-theme="dark"]) .gpm-instructor-app h5 {
	color: #700c14;
}

/* ── Hover estados light mode ─────────────────────────────────────────────── */

/* Botões vermelhos → âmbar no hover */
html:not([data-gpm-theme="dark"]) .gpm-mini-button--danger:hover,
html:not([data-gpm-theme="dark"]) .gpm-instructor-new:hover,
html:not([data-gpm-theme="dark"]) .gpm-instructor-actions a.is-primary:hover,
html:not([data-gpm-theme="dark"]) #gpm-lesson-submit:hover,
html:not([data-gpm-theme="dark"]) .gpm-image-crop-modal__dialog footer button[data-gpm-image-crop-apply]:hover {
	background: #efae3d !important;
	background-color: #efae3d !important;
	background-image: none !important;
	border-color: #efae3d !important;
	color: #ffffff !important;
	box-shadow: 0 12px 28px rgba(239, 174, 61, 0.30) !important;
	transform: translateY(-1px);
}

/* Botões brancos → navy escuro no hover */
html:not([data-gpm-theme="dark"]) .gpm-button--light:hover {
	background: #0d233a !important;
	border-color: #0d233a !important;
	color: #ffffff !important;
	box-shadow: 0 12px 28px rgba(7, 21, 36, 0.22);
	transform: translateY(-1px);
}

html:not([data-gpm-theme="dark"]) .gpm-instructor-actions a:not(.is-primary):hover {
	background: #0d233a !important;
	border-color: #0d233a !important;
	color: #ffffff !important;
}


/* ── Dark mode: lesson editor / stitch view ──────────────────────────────── */

html[data-gpm-theme="dark"] .gpm-lesson-stitch__canvas {
	background: #071422;
	border-right-color: rgba(68, 71, 76, 0.60);
}

html[data-gpm-theme="dark"] .gpm-lesson-stitch__side {
	background: #0d1b2a;
	border-left-color: rgba(68, 71, 76, 0.60);
}

html[data-gpm-theme="dark"] .gpm-rich-editor {
	background: #0d1b2a;
	border-color: rgba(142, 145, 150, 0.28);
}

html[data-gpm-theme="dark"] .gpm-html-editor {
	background: #0d1b2a;
	border-color: rgba(142, 145, 150, 0.28);
}

html[data-gpm-theme="dark"] .gpm-html-editor__surface {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-html-editor__surface:empty::before {
	color: rgba(196, 198, 204, 0.40);
}

html[data-gpm-theme="dark"] .gpm-html-editor__surface :where(h2, h3, h4) {
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-lesson-editor label:has(input[name="video_url"]) {
	background: #0d1b2a;
	border-color: rgba(142, 145, 150, 0.28);
}

html[data-gpm-theme="dark"] .gpm-lesson-editor label:has(input[name="video_url"])::before {
	border-color: rgba(142, 145, 150, 0.30);
	color: #8a9ab0;
}

html[data-gpm-theme="dark"] .gpm-stitch-video__fields p {
	background: #1a2535;
	border-color: rgba(142, 145, 150, 0.20);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-stitch-upload {
	border-color: rgba(142, 145, 150, 0.30);
}

html[data-gpm-theme="dark"] .gpm-stitch-upload span {
	color: rgba(196, 198, 204, 0.40);
}

html[data-gpm-theme="dark"] .gpm-stitch-upload:hover,
html[data-gpm-theme="dark"] .gpm-stitch-upload:focus-visible,
html[data-gpm-theme="dark"] .gpm-stitch-attach:hover,
html[data-gpm-theme="dark"] .gpm-stitch-attach:focus-visible,
html[data-gpm-theme="dark"] .gpm-stitch-upload.is-dragging-media,
html[data-gpm-theme="dark"] .gpm-stitch-attach.is-dragging-media {
	background: rgba(253, 186, 73, 0.08);
	border-color: rgba(253, 186, 73, 0.55);
	box-shadow: 0 0 0 3px rgba(253, 186, 73, 0.12);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-stitch-status {
	border-top-color: rgba(68, 71, 76, 0.60);
}

html[data-gpm-theme="dark"] .gpm-stitch-status span,
html[data-gpm-theme="dark"] .gpm-stitch-status strong {
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-stitch-status i {
	background: #1f2b3a;
	border-color: rgba(142, 145, 150, 0.28);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-rich-editor textarea,
html[data-gpm-theme="dark"] .gpm-stitch-panel .gpm-rich-editor textarea,
html[data-gpm-theme="dark"] .gpm-stitch-side-block .gpm-rich-editor textarea {
	background: #0d1b2a;
	border-color: transparent;
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-rich-field > span {
	color: #8a9ab0;
}

html[data-gpm-theme="dark"] .gpm-vault-quick-note__head p:last-child,
html[data-gpm-theme="dark"] .gpm-vault-entry__footer p {
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-vault-entry__grid span,
html[data-gpm-theme="dark"] .gpm-vault-entry .gpm-rich-field > span {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-vault-lock-inline {
	background: rgba(215, 227, 248, 0.04);
	border-color: rgba(142, 145, 150, 0.24);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-vault-lock-inline:hover,
html[data-gpm-theme="dark"] .gpm-vault-lock-inline:focus-visible {
	background: rgba(253, 186, 73, 0.08);
	border-color: rgba(253, 186, 73, 0.44);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-lesson-stitch__side > h2 {
	color: #d7e3f8;
}


/* ── Student app layout ────────────────────────────────────────────────────── */

/* Ocultar header e footer do tema quando o dashboard do aluno está presente */
body:has(.gpm-student-app) .site-header,
body:has(.gpm-student-app) .site-footer,
body:has(.gpm-student-app) header.header,
body:has(.gpm-student-app) footer.footer,
body:has(.gpm-student-app) .main-navigation,
body:has(.gpm-student-app) #masthead,
body:has(.gpm-student-app) #colophon,
body:has(.gpm-student-app) #site-header,
body:has(.gpm-student-app) #site-footer {
	display: none !important;
}

body:has(.gpm-student-app) a[href*="wa.me"] {
	display: none !important;
}

.gpm-shell:has(.gpm-student-app) {
	max-width: none;
	padding: 0;
}

.gpm-student-app {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	margin: 0 auto;
	max-width: 1600px;
	min-height: 100vh;
	align-items: start;
	transition: grid-template-columns 200ms ease;
}

.gpm-student-app:has(.gpm-student-sidebar.is-collapsed) {
	grid-template-columns: 0 minmax(0, 1fr);
}

.gpm-student-sidebar.is-collapsed {
	width: 0;
	min-width: 0;
	padding: 0;
	border: 0;
	overflow: hidden;
	opacity: 0;
}

.gpm-student-sidebar__collapse {
	align-items: center;
	align-self: flex-end;
	background: transparent;
	border: 1px solid var(--gpm-line);
	border-radius: 50%;
	color: var(--gpm-muted);
	cursor: pointer;
	display: flex;
	height: 32px;
	justify-content: center;
	margin-bottom: .5rem;
	width: 32px;
}

.gpm-student-sidebar__collapse:hover {
	background: var(--gpm-soft);
	color: var(--gpm-primary);
}

.gpm-student-sidebar-reopen {
	align-items: center;
	background: var(--gpm-primary);
	border: 0;
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	display: none;
	height: 40px;
	justify-content: center;
	left: 1rem;
	position: fixed;
	top: 1rem;
	width: 40px;
	z-index: 40;
}

.gpm-student-app:has(.gpm-student-sidebar.is-collapsed) .gpm-student-sidebar-reopen {
	display: flex;
}

/* ── Sidebar do aluno ───────────────────────────────────────────────────────── */

.gpm-student-sidebar {
	background: #ffffff;
	border-right: 1px solid #e4dbd4;
	box-shadow: 8px 0 28px rgba(26, 10, 10, 0.04);
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 1.05rem 0.75rem;
	position: sticky;
	top: 0;
	height: 100vh;
	overflow-y: auto;
}

.gpm-student-brand {
	align-items: center;
	border-bottom: 1px solid var(--gpm-line);
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	margin-bottom: 1.6rem;
	padding: 0 0.35rem 1.15rem;
}

.gpm-student-brand__institution {
	align-items: center;
	color: var(--gpm-primary);
	display: flex;
	justify-content: center;
	line-height: 1.15;
	text-decoration: none;
	width: 100%;
}

.gpm-student-brand__logo {
	height: 116px;
	object-fit: contain;
	width: 116px;
}

.gpm-student-brand__logo--dark {
	display: none;
}

html[data-gpm-theme="dark"] .gpm-student-brand__logo--light {
	display: none;
}

html[data-gpm-theme="dark"] .gpm-student-brand__logo--dark {
	display: block;
}

.gpm-student-brand__institution:hover,
.gpm-student-brand__institution:focus-visible {
	color: var(--gpm-red);
	outline: 2px solid var(--gpm-blue-accent);
	outline-offset: 2px;
}

.gpm-student-brand__avatar {
	border: 2px solid var(--gpm-primary);
	border-radius: 50%;
	flex: 0 0 42px;
	height: 42px;
	object-fit: cover;
	width: 42px;
}

.gpm-student-brand__info {
	display: grid;
	gap: 0.1rem;
	min-width: 0;
	overflow: hidden;
	text-align: center;
}

.gpm-student-brand__info strong {
	color: #151515;
	display: block;
	font-size: 1.42rem;
	font-weight: 800;
	line-height: 1.08;
	overflow: hidden;
	white-space: normal;
}

.gpm-student-brand__info span {
	color: #8a7774;
	font-size: 0.88rem;
	font-weight: 400;
	line-height: 1.45;
	overflow: hidden;
	white-space: normal;
}

.gpm-student-nav {
	display: grid;
	gap: 0.35rem;
	margin-bottom: 1rem;
}

.gpm-student-nav a,
.gpm-student-course-links a,
.gpm-student-new-entry {
	align-items: center;
	background: #ffffff;
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-primary);
	display: flex;
	gap: 0.65rem;
	font-size: 0.88rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.2;
	min-height: 40px;
	padding: 0.65rem 0.9rem;
	text-decoration: none;
}

.gpm-student-nav a .dashicons,
.gpm-student-course-links a .dashicons,
.gpm-student-new-entry .dashicons {
	font-size: 1rem;
	height: 1rem;
	line-height: 1;
	width: 1rem;
}

.gpm-student-nav a:hover,
.gpm-student-course-links a:hover,
.gpm-student-course-links a:focus-visible,
.gpm-student-new-entry:hover,
.gpm-student-new-entry:focus-visible {
	background: rgba(13, 35, 58, 0.09);
	color: var(--gpm-primary);
	outline: none;
}

.gpm-student-nav a.is-active,
.gpm-student-course-links a.is-active,
.gpm-student-new-entry.is-active {
	background: var(--gpm-red);
	border-color: var(--gpm-red);
	color: #ffffff;
}

.gpm-student-nav a.is-active .dashicons,
.gpm-student-course-links a.is-active .dashicons,
.gpm-student-new-entry.is-active .dashicons {
	color: currentColor;
}

.gpm-student-nav a.gpm-nav-cursos,
.gpm-student-nav a.gpm-nav-cursos.is-active {
	background: var(--gpm-primary);
	border-color: var(--gpm-primary);
	color: #ffffff;
}

.gpm-student-nav a.gpm-nav-cursos:hover {
	background: var(--gpm-primary-dark);
}

.gpm-student-course-links {
	display: grid;
	gap: 0.2rem;
	list-style: none;
	margin: -0.1rem 0 0.45rem 0.65rem;
	padding: 0;
}

.gpm-student-course-links a {
	border-left: 2px solid var(--gpm-blue-accent);
	border-radius: 0 var(--radius-sm, 4px) var(--radius-sm, 4px) 0;
	min-height: 36px;
}

.gpm-student-nav a.is-locked {
	opacity: 0.62;
}

.gpm-premium-pill {
	align-items: center;
	background: rgba(112, 12, 20, 0.12);
	border-radius: 999px;
	color: var(--gpm-red);
	display: inline-flex;
	height: 1.15rem;
	justify-content: center;
	margin-left: auto;
	width: 1.15rem;
}

.gpm-premium-pill .dashicons {
	font-size: 0.7rem;
	height: 0.7rem;
	width: 0.7rem;
}

.gpm-student-nav a.is-active .gpm-premium-pill {
	background: rgba(255, 255, 255, 0.25);
	color: #ffffff;
}

.gpm-premium-locked {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 3rem 1.5rem;
	text-align: center;
}

.gpm-premium-locked__icon {
	background: rgba(112, 12, 20, 0.1);
	border-radius: 999px;
	color: var(--gpm-red);
	font-size: 1.6rem;
	height: 2.75rem;
	line-height: 2.75rem;
	width: 2.75rem;
}

.gpm-premium-locked h2 {
	margin: 0;
}

.gpm-premium-locked p {
	color: var(--gpm-muted);
	max-width: 32rem;
}

.gpm-ip-bento-card__locked {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1.25rem 0.5rem;
	text-align: center;
}

.gpm-ip-bento-card__locked .dashicons {
	color: var(--gpm-red);
	font-size: 1.3rem;
	height: 1.3rem;
	width: 1.3rem;
}

.gpm-ip-bento-card__locked h2 {
	font-size: 1rem;
	margin: 0;
}

.gpm-ip-bento-card__locked p {
	color: var(--gpm-muted);
	font-size: 0.82rem;
	margin: 0;
}

.gpm-premium-feature-list {
	border: 0;
	display: grid;
	gap: 0.5rem;
	margin: 0 0 1.2rem;
	max-height: min(52vh, 360px);
	overflow-y: auto;
	padding: 0.15rem;
}

.gpm-field-modal__dialog label.gpm-premium-feature-option {
	align-items: center;
	background: var(--gpm-soft, #f6f7f9);
	border: 1px solid var(--gpm-line);
	border-radius: 10px;
	cursor: pointer;
	display: flex;
	flex-direction: row;
	gap: 0.7rem;
	margin: 0;
	min-height: 0;
	padding: 0.65rem 0.85rem;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.gpm-field-modal__dialog label.gpm-premium-feature-option:hover {
	background: rgba(13, 35, 58, 0.06);
}

.gpm-field-modal__dialog label.gpm-premium-feature-option:has(input:checked) {
	background: rgba(112, 12, 20, 0.06);
	border-color: var(--gpm-red);
}

.gpm-field-modal__dialog .gpm-premium-feature-option input[type="checkbox"] {
	accent-color: var(--gpm-red);
	flex-shrink: 0;
	height: 1.15rem;
	margin: 0;
	min-height: 0;
	width: 1.15rem;
}

.gpm-field-modal__dialog .gpm-premium-feature-option span {
	color: var(--gpm-ink);
	font-size: 0.9rem;
	font-weight: 600;
}

.gpm-student-menu-toggle {
	align-items: center;
	background: var(--gpm-primary);
	border: 0;
	border-radius: var(--radius-sm, 4px);
	color: #ffffff;
	cursor: pointer;
	display: none;
	font: inherit;
	font-size: 0.84rem;
	font-weight: 800;
	gap: 0.4rem;
	justify-content: center;
	min-height: 40px;
	padding: 0.55rem 0.75rem;
}

.gpm-student-menu-toggle .dashicons {
	font-size: 1.05rem;
	height: 1.05rem;
	line-height: 1;
	width: 1.05rem;
}

.gpm-student-menu-toggle:hover,
.gpm-student-menu-toggle:focus-visible {
	background: var(--gpm-red);
	outline: none;
}

.gpm-student-sidebar__bottom {
	border-top: 1px solid var(--gpm-line);
	display: grid;
	gap: 0.4rem;
	margin-top: 1rem;
	padding-bottom: 0.85rem;
	padding-top: 0.85rem;
}

.gpm-student-new-entry {
	cursor: pointer;
	display: flex;
	justify-content: flex-start;
	width: 100%;
}

.gpm-student-back,
.gpm-student-sidebar__bottom .gpm-theme-toggle {
	align-items: center;
	background: #ffffff;
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-muted);
	display: flex;
	font-size: 0.88rem;
	font-weight: 400;
	gap: 0.65rem;
	min-height: 40px;
	padding: 0.65rem 0.9rem;
	text-decoration: none;
	transition: color 120ms ease, background 120ms ease;
	width: 100%;
}

.gpm-student-back:hover,
.gpm-student-sidebar__bottom .gpm-theme-toggle:hover {
	background: var(--gpm-soft);
	color: var(--gpm-primary);
}

.gpm-student-sidebar__bottom .gpm-theme-toggle {
	box-shadow: none;
	justify-content: flex-start;
}

/* ── Main content do aluno ──────────────────────────────────────────────────── */

.gpm-student-main {
	display: grid;
	gap: 1.55rem;
	min-width: 0;
	padding: clamp(1rem, 2.5vw, 1.75rem) clamp(1rem, 3vw, 2rem) 3rem;
}

/* Hero ocupa largura total dentro do main */
.gpm-student-main .gpm-hero {
	margin-top: 0;
}

.gpm-home-panels {
	display: grid;
	gap: 1.55rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gpm-home-panel {
	background: var(--gpm-surface);
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-md, 8px);
	box-shadow: 0 18px 40px rgba(76, 0, 7, 0.045);
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(1.25rem, 2.2vw, 1.75rem);
}

.gpm-home-panel__head {
	align-items: start;
	display: grid;
	gap: 0.8rem;
	grid-template-columns: auto minmax(0, 1fr);
}

.gpm-home-panel__head h2 {
	color: var(--gpm-primary);
	font-size: clamp(1.15rem, 1.8vw, 1.4rem);
	line-height: 1.25;
	margin: 0.25rem 0 0;
}

.gpm-home-panel__icon {
	align-items: center;
	background: #fff0d7;
	border-radius: 8px;
	color: #805600;
	display: inline-flex;
	font-size: 1.35rem;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.gpm-home-panel--questions .gpm-home-panel__icon {
	background: var(--gpm-soft);
	color: var(--gpm-primary);
}

.gpm-home-panel--testimonial .gpm-home-panel__icon {
	background: #ead1d5;
	color: var(--gpm-red);
}

.gpm-home-panel__badge {
	background: rgba(128, 86, 0, 0.1);
	border-radius: 999px;
	color: #805600;
	font-size: 0.72rem;
	font-weight: 800;
	grid-column: 1 / -1;
	justify-self: start;
	padding: 0.28rem 0.58rem;
}

.gpm-home-panel__body {
	color: var(--gpm-muted);
	flex: 1;
	line-height: 1.6;
	margin-top: 1rem;
}

.gpm-home-panel__body h3 {
	color: var(--gpm-ink);
	font-size: 1.05rem;
	line-height: 1.35;
	margin: 0 0 0.55rem;
}

.gpm-home-panel__empty {
	color: var(--gpm-muted);
	margin: 0;
}

.gpm-home-notice__content a,
.gpm-home-panel__actions > a:not(.gpm-button) {
	color: var(--gpm-primary);
	font-weight: 750;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

.gpm-home-panel__actions {
	align-items: center;
	display: flex;
	margin-top: 1.1rem;
}

.gpm-home-panel__actions .gpm-button {
	width: 100%;
}

.gpm-home-questions {
	display: grid;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gpm-home-questions li {
	border-top: 1px solid var(--gpm-line);
	display: grid;
	gap: 0.3rem;
	padding: 0.75rem 0;
}

.gpm-home-questions li:first-child {
	border-top: 0;
	padding-top: 0;
}

.gpm-home-questions a {
	color: var(--gpm-primary);
	font-weight: 760;
	line-height: 1.35;
	text-decoration: none;
}

.gpm-home-questions a:hover,
.gpm-home-questions a:focus-visible {
	text-decoration: underline;
}

.gpm-home-questions small {
	color: var(--gpm-muted);
	font-size: 0.75rem;
	line-height: 1.4;
}

.gpm-question-status {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-size: 0.68rem;
	font-weight: 850;
	justify-self: start;
	padding: 0.22rem 0.5rem;
	text-transform: uppercase;
}

.gpm-question-status.is-answered {
	background: rgba(21, 128, 61, 0.1);
	color: #166534;
}

.gpm-question-status.is-pending {
	background: rgba(128, 86, 0, 0.1);
	color: #805600;
}

.gpm-home-testimonial {
	display: grid;
	gap: 0.85rem;
}

.gpm-home-testimonial img {
	aspect-ratio: 16 / 9;
	border-radius: var(--radius-md, 8px);
	height: auto;
	object-fit: cover;
	width: 100%;
}

.gpm-home-learning {
	display: grid;
	gap: 1.1rem;
}

.gpm-home-learning__row {
	align-items: stretch;
	display: grid;
	gap: 1.55rem;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 300px) minmax(240px, 300px);
}

.gpm-home-learning__row.has-no-courses,
.gpm-home-learning__row.has-no-milestones {
	grid-template-columns: minmax(0, 1fr);
}

.gpm-home-learning__active {
	align-self: start;
	display: grid;
	gap: 1rem;
	min-width: 0;
}

.gpm-home-learning__active .gpm-course-showcase__grid,
.gpm-home-next-courses .gpm-course-showcase__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gpm-home-milestones {
	display: grid;
	gap: 1rem;
	grid-template-rows: repeat(2, minmax(0, 1fr));
}

.gpm-home-milestone-card {
	align-content: start;
	border-radius: 14px;
	box-shadow: 0 18px 42px rgba(7, 21, 36, 0.18);
	color: #ffffff;
	display: grid;
	gap: 0.55rem;
	height: 100%;
	padding: clamp(1.1rem, 2vw, 1.5rem);
}

.gpm-home-milestone-card--graduation {
	background: linear-gradient(160deg, #92131c, #4c0007);
}

.gpm-home-milestone-card--plan {
	background: linear-gradient(160deg, var(--gpm-primary), #173d61);
}

.gpm-home-milestone-card--gathering {
	align-self: start;
	background: linear-gradient(160deg, var(--gpm-primary), #173d61);
}

.gpm-home-milestone-card__eyebrow {
	color: #ffffff !important;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	margin: 0;
	opacity: 0.85;
	text-transform: uppercase;
}

.gpm-shell .gpm-home-milestone-card h3 {
	align-items: center;
	color: #ffffff !important;
	display: flex;
	font-size: 1.15rem;
	gap: 0.6rem;
	line-height: 1.3;
	margin: 0;
}

.gpm-home-milestone-card__icon {
	align-items: center;
	background: rgba(255, 255, 255, 0.16);
	border-radius: 8px;
	display: inline-flex;
	flex: none;
	font-size: 1.1rem;
	height: 32px;
	justify-content: center;
	width: 32px;
}

.gpm-home-milestone-card__content {
	color: #ffffff;
	opacity: 0.9;
}

.gpm-home-milestone-card__content :where(p, ul, ol) {
	margin: 0 0 0.3rem;
}

.gpm-home-milestone-card p {
	color: #ffffff;
	line-height: 1.5;
	margin: 0;
	opacity: 0.85;
}

.gpm-home-milestone-card .gpm-button {
	margin-top: 0.4rem;
	width: 100%;
}

.gpm-home-next-courses {
	margin-bottom: 0;
}

.gpm-student-questions-page,
.gpm-student-questions-list {
	display: grid;
	gap: 1rem;
}

.gpm-student-questions-list > article {
	background: var(--gpm-surface);
	border: 1px solid var(--gpm-line);
	border-radius: 14px;
	display: grid;
	gap: 0.85rem;
	padding: clamp(1rem, 2.4vw, 1.5rem);
}

.gpm-student-questions-list > article > header {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: space-between;
}

.gpm-student-questions-list h2 {
	color: var(--gpm-primary);
	font-size: 1.12rem;
	line-height: 1.45;
	margin: 0;
}

.gpm-student-question-answer {
	background: var(--gpm-soft);
	border-left: 3px solid var(--gpm-primary);
	border-radius: 8px;
	padding: 0.9rem 1rem;
}

.gpm-student-question-answer p {
	color: var(--gpm-muted);
	margin: 0.4rem 0 0;
}

.gpm-student-questions-list .gpm-button {
	justify-self: start;
}

.gpm-home-panel a:focus-visible,
.gpm-home-learning a:focus-visible,
.gpm-home-next-courses a:focus-visible,
.gpm-student-questions-page a:focus-visible {
	outline: 3px solid #fdba49;
	outline-offset: 3px;
}

.gpm-private-question:target {
	outline: 3px solid #fdba49;
	outline-offset: 4px;
	scroll-margin-top: 1rem;
}

@media (max-width: 1099px) {
	.gpm-home-panels,
	.gpm-home-learning__row {
		grid-template-columns: 1fr;
	}

	.gpm-home-milestones {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: none;
	}
}

@media (max-width: 760px) {
	.gpm-home-learning__active .gpm-course-showcase__grid {
		grid-template-columns: 1fr;
	}

	.gpm-home-milestones {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.gpm-home-panel__actions .gpm-button,
	.gpm-home-milestone-card .gpm-button,
	.gpm-student-questions-list .gpm-button {
		width: 100%;
	}

	.gpm-student-questions-list .gpm-button {
		justify-self: stretch;
	}
}

.gpm-ip-stats {
	display: grid;
	gap: 1.55rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gpm-ip-stat-card,
.gpm-ip-bento-card {
	background: #ffffff;
	border: 1px solid rgba(87, 65, 64, 0.1);
	border-radius: var(--radius-md, 8px);
	box-shadow: 0 18px 40px rgba(76, 0, 7, 0.045);
	color: #1a1c1a;
}

.gpm-ip-stat-card {
	display: grid;
	gap: 0.65rem;
	min-height: 230px;
	padding: clamp(1.35rem, 2.4vw, 2rem);
}

.gpm-ip-card-icon {
	align-items: center;
	background: #fff0d7;
	border-radius: 8px;
	color: #805600;
	display: inline-flex;
	font-size: 1.35rem;
	height: 52px;
	justify-content: center;
	line-height: 1;
	width: 52px;
}

.gpm-ip-card-icon--red {
	background: #ead1d5;
	color: #700c14;
}

.gpm-ip-card-icon--muted {
	background: #f4f3f1;
	color: #574140;
}

.gpm-ip-eyebrow {
	color: #4c0007 !important;
	font-size: 0.76rem !important;
	font-weight: 600;
	letter-spacing: 0.16em !important;
	margin: 0 !important;
	text-transform: uppercase;
}

.gpm-ip-stat-card strong {
	color: #1a1c1a;
	font-size: clamp(2.5rem, 5vw, 3.35rem);
	line-height: 0.95;
}

.gpm-ip-stat-card > span:not(.dashicons) {
	color: #2f312f;
	font-size: 1rem;
	line-height: 1.45;
}

.gpm-ip-stat-card small {
	border-top: 1px solid rgba(87, 65, 64, 0.08);
	color: #805600;
	display: block;
	font-size: 0.9rem;
	margin-top: auto;
	padding-top: 1rem;
}

.gpm-ip-bento {
	display: grid;
	gap: 1.55rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gpm-ip-bento-card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	min-height: 220px;
	padding: clamp(1.25rem, 2.2vw, 2rem);
}

.gpm-ip-bento-card--diary,
.gpm-ip-bento-card--ego {
	grid-column: span 2;
}

.gpm-ip-bento-card--habits,
.gpm-ip-bento-card--project {
	grid-column: span 2;
}

.gpm-ip-bento-card__top,
.gpm-ip-bento-card__footer,
.gpm-ip-project-head {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-ip-chip {
	background: #f4f3f1;
	border-radius: 999px;
	color: #2f312f;
	font-size: 0.88rem;
	padding: 0.45rem 0.85rem;
}

.gpm-ip-bento-card blockquote {
	color: #1a1c1a;
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0;
}

.gpm-ip-bento-card__footer {
	margin-top: auto;
}

.gpm-ip-bento-card__footer em {
	color: #574140;
}

.gpm-ip-bento-card button {
	align-items: center;
	background: transparent;
	border: 0;
	color: #1a1c1a;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 600;
	gap: 0.3rem;
	padding: 0;
}

.gpm-ip-bento-card--habits {
	align-items: center;
	border-color: rgba(128, 86, 0, 0.22);
	flex-direction: row;
}

.gpm-ip-ring {
	--gpm-ring-value: calc(var(--gpm-value) * 1%);
	align-items: center;
	aspect-ratio: 1 / 1;
	background:
		radial-gradient(#ffffff 56%, transparent 57%),
		conic-gradient(#805600 var(--gpm-ring-value), #efe9dc 0);
	border-radius: 50%;
	display: inline-flex;
	flex: 0 0 112px;
	justify-content: center;
}

.gpm-ip-ring span {
	color: #805600;
	font-size: 1.25rem;
	font-weight: 800;
}

.gpm-ip-bento-card h2 {
	color: #1a1c1a;
	font-size: 1.05rem;
	line-height: 1.35;
	margin: 0;
}

.gpm-ip-bento-card p {
	color: #574140;
	line-height: 1.55;
	margin: 0;
}

.gpm-ip-bento-card--ego {
	background: #8a0c16;
	border-color: #8a0c16;
	color: #ffffff;
}

.gpm-ip-bento-card--ego .gpm-ip-eyebrow,
.gpm-ip-bento-card--ego h2 {
	color: #ffffff !important;
}

.gpm-ip-bento-card--ego p {
	color: #ffb3af;
}

.gpm-ip-bento-card--ego button {
	background: #ffffff;
	border-radius: 6px;
	color: #700c14;
	justify-content: center;
	margin-top: auto;
	min-height: 44px;
	width: 100%;
}

.gpm-ip-project-head {
	justify-content: flex-start;
}

.gpm-ip-timeline {
	border-left: 2px solid #e3e2e0;
	display: grid;
	gap: 1rem;
	list-style: none;
	margin: 0 0 0 1.65rem;
	padding: 0 0 0 1.3rem;
}

.gpm-ip-timeline li {
	color: #1a1c1a;
	position: relative;
}

.gpm-ip-timeline li::before {
	background: #e3e2e0;
	border-radius: 50%;
	content: "";
	height: 10px;
	left: -1.65rem;
	position: absolute;
	top: 0.35rem;
	width: 10px;
}

.gpm-ip-timeline li.is-done::before {
	background: #805600;
}

.gpm-ip-timeline span {
	color: #8b716f;
	display: block;
	font-size: 0.86rem;
	margin-top: 0.18rem;
}

/* ── Dark mode: sidebar do aluno ────────────────────────────────────────────── */

.gpm-diaries {
	display: grid;
	gap: 1.5rem;
}

.gpm-diaries__head {
	align-items: end;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-diaries__head h2 {
	color: var(--gpm-red);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	line-height: 1.12;
	margin: 0.2rem 0 0.45rem;
}

.gpm-diaries__head p:not(.gpm-kicker) {
	color: var(--gpm-muted);
	font-size: 1rem;
	line-height: 1.55;
	margin: 0;
	max-width: 720px;
}

.gpm-diaries__actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 0.75rem;
}

.gpm-diaries-search {
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 8px;
	color: var(--gpm-muted);
	display: flex;
	gap: 0.45rem;
	min-height: 44px;
	padding: 0 0.8rem;
	width: min(340px, 32vw);
}

.gpm-diaries-search input {
	background: transparent;
	border: 0;
	color: var(--gpm-ink);
	font: inherit;
	min-width: 0;
	outline: 0;
	width: 100%;
}

.gpm-diaries-grid {
	display: grid;
	gap: 1.35rem;
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.gpm-diary-create {
	align-items: end;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(7, 21, 36, 0.05);
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(240px, 1fr) auto auto;
	padding: 1rem;
}

.gpm-diary-create label,
.gpm-diary-icon-picker legend,
.gpm-diary-select-row > span {
	color: var(--gpm-primary);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.gpm-diary-create input,
.gpm-diary-select-row select {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 8px;
	color: var(--gpm-ink);
	font: inherit;
	min-height: 44px;
	padding: 0.65rem 0.75rem;
	width: 100%;
}

.gpm-diary-icon-picker {
	border: 0;
	display: grid;
	gap: 0.45rem;
	grid-template-columns: repeat(4, 34px);
	margin: 0;
	padding: 0;
}

.gpm-diary-icon-picker legend {
	grid-column: 1 / -1;
}

.gpm-diary-icon-picker label {
	display: block;
	height: 34px;
	position: relative;
	width: 34px;
}

.gpm-diary-icon-picker input {
	opacity: 0;
	position: absolute;
}

.gpm-diary-icon-picker span {
	align-items: center;
	background: #e7f0fb;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	color: var(--gpm-primary);
	display: inline-flex;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.gpm-diary-icon-picker input:checked + span {
	background: var(--gpm-primary);
	color: #ffffff;
}

.gpm-diary-cards {
	display: grid;
	gap: 1.35rem;
	grid-column: 1 / -1;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gpm-diary-card,
.gpm-diary-editor,
.gpm-diary-suggestions,
.gpm-diary-list,
.gpm-diary-notes {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(7, 21, 36, 0.06);
	color: var(--gpm-ink);
}

.gpm-diary-card {
	display: grid;
	gap: 0.85rem;
	min-height: 220px;
	padding: 1.35rem;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.gpm-diary-card:hover {
	border-color: rgba(13, 35, 58, 0.24);
	box-shadow: 0 22px 46px rgba(7, 21, 36, 0.09);
	transform: translateY(-2px);
}

.gpm-diary-card--critical {
	border-left: 4px solid var(--gpm-red);
}

.gpm-diary-card__top {
	align-items: start;
	display: flex;
	justify-content: space-between;
}

.gpm-diary-icon {
	align-items: center;
	background: #e7f0fb;
	border-radius: 8px;
	color: var(--gpm-primary);
	display: inline-flex;
	font-size: 1.35rem;
	height: 48px;
	justify-content: center;
	line-height: 1;
	width: 48px;
}

.gpm-diary-card--critical .gpm-diary-icon {
	background: rgba(138, 33, 36, 0.1);
	color: var(--gpm-red);
}

.gpm-diary-count {
	background: #eef4fb;
	border-radius: 6px;
	color: var(--gpm-muted);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 0.28rem 0.48rem;
	text-transform: uppercase;
}

.gpm-diary-card h3,
.gpm-diary-editor h3,
.gpm-diary-suggestions h3,
.gpm-diary-list h3,
.gpm-diary-notes h3 {
	color: var(--gpm-primary);
	font-size: 1.12rem;
	line-height: 1.25;
	margin: 0;
}

.gpm-diary-card p {
	color: var(--gpm-muted);
	line-height: 1.5;
	margin: 0;
}

.gpm-diary-card button,
.gpm-diary-list button,
.gpm-diary-notes button,
.gpm-diary-editor header button {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--gpm-primary);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 700;
	gap: 0.35rem;
	justify-self: start;
	padding: 0;
}

.gpm-diary-card__actions,
.gpm-diary-note-actions,
.gpm-diary-editor__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.gpm-diary-card__delete,
.gpm-diary-note-actions button:last-child {
	color: var(--gpm-red) !important;
}

.gpm-diary-editor {
	display: grid;
	grid-column: span 8;
	grid-template-rows: auto auto auto 1fr auto;
	min-height: 650px;
	overflow: hidden;
}

.gpm-diary-editor header,
.gpm-diary-editor footer {
	align-items: center;
	background: #f6f8fb;
	border-color: rgba(13, 35, 58, 0.08);
	display: flex;
	justify-content: space-between;
	padding: 1rem 1.25rem;
}

.gpm-diary-editor header {
	border-bottom: 1px solid rgba(13, 35, 58, 0.08);
}

.gpm-diary-editor header > div {
	align-items: center;
	display: flex;
	gap: 0.8rem;
}

.gpm-diary-editor header > div > .dashicons {
	color: var(--gpm-primary);
	font-size: 1.35rem;
	height: 1.35rem;
	width: 1.35rem;
}

.gpm-diary-editor header p,
.gpm-diary-editor footer span {
	color: var(--gpm-muted);
	font-size: 0.82rem;
	margin: 0;
}

.gpm-diary-editor input,
.gpm-diary-editor select,
.gpm-diary-editor textarea {
	background: #ffffff;
	border: 0;
	color: var(--gpm-ink);
	font: inherit;
	font-weight: 400;
	outline: 0;
	padding: 1.1rem 1.35rem;
	width: 100%;
}

.gpm-diary-select-row {
	background: #ffffff;
	border-bottom: 1px solid rgba(13, 35, 58, 0.08);
	display: grid;
	gap: 0.45rem;
	padding: 1rem 1.25rem 0;
}

.gpm-diary-select-row select {
	border: 1px solid rgba(13, 35, 58, 0.14);
}

.gpm-diary-editor > label:not(.gpm-diary-select-row):not(.gpm-diary-rich-field) {
	background: #ffffff;
	border-bottom: 1px solid rgba(13, 35, 58, 0.08);
	display: block;
	padding: 0.95rem 1.25rem;
}

.gpm-diary-editor > label:not(.gpm-diary-select-row):not(.gpm-diary-rich-field) input {
	background: #f8fafc;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 8px;
	color: var(--gpm-primary);
	font-size: 1.05rem;
	font-weight: 600;
	min-height: 46px;
	padding: 0.75rem 0.9rem;
}

.gpm-diary-rich-field {
	background: #ffffff;
	display: block;
	padding: 1.25rem;
}

.gpm-rich-editor--diary {
	border-radius: 8px;
}

.gpm-rich-editor--diary .gpm-rich-toolbar {
	min-height: 50px;
	padding: 0.45rem 0.65rem;
}

.gpm-rich-editor--diary textarea {
	border: 0;
	min-height: 420px;
	padding: 1rem 1.15rem;
	resize: vertical;
}

.gpm-diary-editor footer {
	border-top: 1px solid rgba(13, 35, 58, 0.08);
	gap: 1rem;
}

.gpm-diaries-side {
	display: grid;
	gap: 1.35rem;
	grid-column: span 4;
}

.gpm-diary-suggestions,
.gpm-diary-list,
.gpm-diary-notes {
	display: grid;
	gap: 1rem;
	padding: 1.25rem;
}

.gpm-diary-suggestions {
	border-left: 3px solid var(--gpm-primary);
}

.gpm-diary-suggestions h3 {
	align-items: center;
	display: flex;
	gap: 0.45rem;
}

.gpm-diary-suggestions ul {
	display: grid;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gpm-diary-suggestions li {
	display: grid;
	gap: 0.25rem;
}

.gpm-diary-suggestions strong {
	color: var(--gpm-primary);
	font-size: 0.92rem;
	line-height: 1.45;
}

.gpm-diary-suggestions span {
	color: var(--gpm-muted);
	font-size: 0.78rem;
}

.gpm-diary-insight {
	align-items: end;
	background:
		linear-gradient(135deg, rgba(13, 35, 58, 0.94), rgba(138, 33, 36, 0.72)),
		repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.12) 0 1px, transparent 1px 24px);
	border-radius: 8px;
	color: #ffffff;
	display: flex;
	min-height: 220px;
	overflow: hidden;
	padding: 1.25rem;
}

.gpm-diary-insight span {
	display: block;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin-bottom: 0.45rem;
	text-transform: uppercase;
}

.gpm-diary-insight strong {
	display: block;
	font-size: 1rem;
	line-height: 1.35;
	max-width: 260px;
}

.gpm-diary-list button {
	background: #f6f8fb;
	border-radius: 6px;
	justify-content: flex-start;
	min-height: 42px;
	padding: 0.65rem 0.75rem;
	width: 100%;
}

.gpm-diary-notes ul {
	display: grid;
	gap: 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gpm-diary-notes li {
	background: #f6f8fb;
	border-radius: 8px;
	display: grid;
	gap: 0.35rem;
	padding: 0.75rem;
}

.gpm-diary-notes strong {
	color: var(--gpm-primary);
	font-size: 0.9rem;
	line-height: 1.35;
}

.gpm-diary-notes li > span {
	color: var(--gpm-muted);
	font-size: 0.75rem;
}

.gpm-habits {
	display: grid;
	gap: 1.5rem;
}

.gpm-habits__head {
	align-items: end;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-habits__head h2 {
	color: var(--gpm-red);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	line-height: 1.12;
	margin: 0.2rem 0 0.45rem;
}

.gpm-habits__head p:not(.gpm-kicker) {
	color: var(--gpm-muted);
	font-size: 1rem;
	line-height: 1.55;
	margin: 0;
	max-width: 720px;
}

.gpm-habits__actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 0.75rem;
}

.gpm-habits-search {
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 8px;
	color: var(--gpm-muted);
	display: flex;
	gap: 0.45rem;
	min-height: 44px;
	padding: 0 0.8rem;
	width: min(340px, 32vw);
}

.gpm-habits-search input {
	background: transparent;
	border: 0;
	color: var(--gpm-ink);
	font: inherit;
	min-width: 0;
	outline: 0;
	width: 100%;
}

.gpm-habits-summary {
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(220px, 0.75fr) minmax(320px, 1.5fr);
}

.gpm-habit-stat,
.gpm-habit-create,
.gpm-habit-board,
.gpm-habit-quote,
.gpm-habit-reminders,
.gpm-habit-calendar {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(7, 21, 36, 0.06);
	color: var(--gpm-ink);
}

.gpm-habit-stat {
	display: grid;
	gap: 0.4rem;
	min-height: 155px;
	padding: 1.35rem;
}

.gpm-habit-stat--wide {
	align-content: space-between;
}

.gpm-habit-stat--wide > div:first-child {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.gpm-habit-stat span,
.gpm-habit-create label,
.gpm-habit-create label > span,
.gpm-habit-icon-picker legend {
	color: var(--gpm-primary);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gpm-habit-stat strong {
	color: var(--gpm-primary);
	font-size: clamp(2.5rem, 5vw, 3.45rem);
	line-height: 0.95;
}

.gpm-habit-stat small {
	color: var(--gpm-muted);
	font-size: 0.95rem;
}

.gpm-habit-week {
	align-items: end;
	display: grid;
	gap: 0.6rem;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	min-height: 90px;
}

.gpm-habit-week span {
	align-items: end;
	color: var(--gpm-muted);
	display: flex;
	font-size: 0.68rem;
	font-weight: 700;
	justify-content: center;
	min-height: 88px;
	padding-top: 0.35rem;
	position: relative;
}

.gpm-habit-week span::before {
	background: rgba(13, 35, 58, 0.22);
	border-radius: 4px 4px 0 0;
	bottom: 1.35rem;
	content: "";
	height: calc(var(--gpm-week-value, 8) * 0.68px);
	left: 0;
	position: absolute;
	right: 0;
}

.gpm-habit-week span.is-today {
	color: var(--gpm-red);
}

.gpm-habit-week span.is-today::before {
	background: var(--gpm-blue-accent);
}

.gpm-habit-create {
	align-items: end;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(220px, 1.25fr) minmax(130px, 0.7fr) minmax(120px, 0.55fr) auto auto;
	padding: 1rem;
}

.gpm-habit-create input {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 8px;
	color: var(--gpm-ink);
	font: inherit;
	min-height: 44px;
	padding: 0.65rem 0.75rem;
	width: 100%;
}

.gpm-habit-icon-picker {
	border: 0;
	display: grid;
	gap: 0.45rem;
	grid-template-columns: repeat(3, 34px);
	margin: 0;
	padding: 0;
}

.gpm-habit-icon-picker legend {
	grid-column: 1 / -1;
}

.gpm-habit-icon-picker label {
	display: block;
	height: 34px;
	position: relative;
	width: 34px;
}

.gpm-habit-icon-picker input {
	opacity: 0;
	position: absolute;
}

.gpm-habit-icon-picker span {
	align-items: center;
	background: #e7f0fb;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	color: var(--gpm-primary);
	display: inline-flex;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.gpm-habit-icon-picker input:checked + span {
	background: var(--gpm-primary);
	color: #ffffff;
}

.gpm-habit-create__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.gpm-habits-grid {
	display: grid;
	gap: 1.35rem;
	grid-template-columns: minmax(0, 2fr) minmax(300px, 0.95fr);
}

.gpm-habit-board {
	display: grid;
	gap: 1rem;
	padding: 1.25rem;
}

.gpm-habit-board > header {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.gpm-habit-board h3,
.gpm-habit-reminders h3,
.gpm-habit-calendar h3 {
	align-items: center;
	color: var(--gpm-primary);
	display: flex;
	font-size: 1.15rem;
	gap: 0.45rem;
	line-height: 1.3;
	margin: 0;
}

.gpm-habit-board > header button {
	background: transparent;
	border: 0;
	color: var(--gpm-primary);
	cursor: pointer;
	padding: 0;
}

.gpm-habit-list,
.gpm-habit-reminders ul {
	display: grid;
	gap: 0.85rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gpm-habit-item {
	align-items: center;
	background: #f6f8fb;
	border: 1px solid rgba(13, 35, 58, 0.08);
	border-radius: 8px;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	min-height: 92px;
	padding: 1rem;
	transition: border-color 160ms ease, transform 160ms ease;
}

.gpm-habit-item:hover {
	border-color: rgba(13, 35, 58, 0.22);
	transform: translateY(-1px);
}

.gpm-habit-item.is-complete {
	opacity: 0.72;
}

.gpm-habit-item__main {
	align-items: center;
	display: flex;
	gap: 1rem;
	min-width: 0;
}

.gpm-habit-item__icon {
	align-items: center;
	background: rgba(13, 35, 58, 0.08);
	border-radius: 8px;
	color: var(--gpm-primary);
	display: inline-flex;
	flex: 0 0 52px;
	font-size: 1.35rem;
	height: 52px;
	justify-content: center;
	width: 52px;
}

.gpm-habit-item strong {
	color: var(--gpm-primary);
	display: block;
	font-size: 1rem;
	line-height: 1.35;
}

.gpm-habit-item.is-complete strong {
	text-decoration: line-through;
}

.gpm-habit-item__main span:not(.dashicons) {
	color: var(--gpm-muted);
	display: block;
	font-size: 0.86rem;
	margin-top: 0.25rem;
}

.gpm-habit-item__side {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: flex-end;
}

.gpm-habit-item__side > span {
	color: var(--gpm-muted);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gpm-habit-check {
	align-items: center;
	background: #ffffff;
	border: 2px solid var(--gpm-blue-accent);
	border-radius: 8px;
	color: var(--gpm-blue-accent);
	cursor: pointer;
	display: inline-flex;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.gpm-habit-check[aria-pressed="true"] {
	background: var(--gpm-blue-accent);
	color: #ffffff;
}

.gpm-habit-action {
	background: transparent;
	border: 0;
	color: var(--gpm-primary);
	cursor: pointer;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 700;
	padding: 0;
}

.gpm-habit-action--danger {
	color: var(--gpm-red);
}

.gpm-habit-empty {
	background: #f6f8fb;
	border-radius: 8px;
	color: var(--gpm-muted);
	padding: 1rem;
}

.gpm-habits-side {
	display: grid;
	gap: 1.35rem;
}

.gpm-habit-quote,
.gpm-habit-reminders,
.gpm-habit-calendar {
	display: grid;
	gap: 1rem;
	padding: 1.25rem;
}

.gpm-habit-quote {
	background:
		linear-gradient(135deg, rgba(13, 35, 58, 0.96), rgba(13, 35, 58, 0.76)),
		repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.12) 0 1px, transparent 1px 24px);
	color: #ffffff;
}

.gpm-habit-quote > .dashicons {
	color: rgba(255, 255, 255, 0.35);
	font-size: 2rem;
	height: 2rem;
	width: 2rem;
}

.gpm-habit-quote blockquote {
	font-size: 1.02rem;
	font-style: italic;
	line-height: 1.55;
	margin: 0;
}

.gpm-habit-quote cite {
	color: #d8e8fb;
	font-style: normal;
	font-weight: 700;
	justify-self: end;
}

.gpm-habit-reminders li {
	align-items: start;
	display: grid;
	gap: 0.8rem;
	grid-template-columns: auto 1fr;
}

.gpm-habit-reminders li > span {
	background: var(--gpm-blue-accent);
	border-radius: 999px;
	height: 9px;
	margin-top: 0.4rem;
	width: 9px;
}

.gpm-habit-reminders strong {
	color: var(--gpm-primary);
	display: block;
	font-size: 0.92rem;
}

.gpm-habit-reminders small,
.gpm-habit-reminders li {
	color: var(--gpm-muted);
	font-size: 0.82rem;
}

.gpm-habit-calendar header {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.gpm-habit-calendar header span {
	color: var(--gpm-muted);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gpm-habit-calendar__days,
.gpm-habit-calendar__grid {
	display: grid;
	gap: 0.32rem;
	grid-template-columns: repeat(7, minmax(0, 1fr));
}

.gpm-habit-calendar__days span {
	color: var(--gpm-muted);
	font-size: 0.68rem;
	font-weight: 700;
	text-align: center;
}

.gpm-habit-calendar__grid span,
.gpm-habit-calendar__grid i {
	aspect-ratio: 1 / 1;
	border-radius: 4px;
	display: block;
}

.gpm-habit-calendar__grid span {
	background: rgba(13, 35, 58, var(--gpm-calendar-alpha, 0.08));
	border: 1px solid rgba(13, 35, 58, 0.08);
}

.gpm-habit-calendar__grid span.is-today {
	box-shadow: inset 0 0 0 2px var(--gpm-red);
}

.gpm-habit-calendar p {
	color: var(--gpm-muted);
	font-size: 0.78rem;
	margin: 0;
	text-align: center;
}

.gpm-ego {
	display: grid;
	gap: 1.5rem;
}

.gpm-ego__head {
	align-items: end;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-ego__head h2 {
	color: var(--gpm-red);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	line-height: 1.12;
	margin: 0.2rem 0 0.45rem;
}

.gpm-ego__head p:not(.gpm-kicker) {
	color: var(--gpm-muted);
	font-size: 1rem;
	line-height: 1.55;
	margin: 0;
	max-width: 780px;
}

.gpm-ego__actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 0.75rem;
}

.gpm-ego-search {
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 8px;
	color: var(--gpm-muted);
	display: flex;
	gap: 0.45rem;
	min-height: 44px;
	padding: 0 0.8rem;
	width: min(340px, 32vw);
}

.gpm-ego-search input {
	background: transparent;
	border: 0;
	color: var(--gpm-ink);
	font: inherit;
	min-width: 0;
	outline: 0;
	width: 100%;
}

.gpm-ego-panorama {
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(7, 21, 36, 0.06);
	color: var(--gpm-ink);
	display: grid;
	gap: 1rem;
	padding: 1.25rem;
}

.gpm-ego-panorama__head {
	align-items: start;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-ego-panorama__head h3 {
	color: var(--gpm-primary);
	font-size: 1.25rem;
	line-height: 1.25;
	margin: 0.15rem 0 0;
}

.gpm-ego-panorama__head > span {
	color: var(--gpm-muted);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-align: right;
	text-transform: uppercase;
}

.gpm-ego-panorama__metrics,
.gpm-ego-panorama__grid {
	display: grid;
	gap: 0.9rem;
}

.gpm-ego-panorama__metrics {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gpm-ego-panorama__metrics article,
.gpm-ego-panorama-card {
	background: #f6f8fb;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
}

.gpm-ego-panorama__metrics article {
	display: grid;
	gap: 0.3rem;
	padding: 0.95rem;
}

.gpm-ego-panorama__metrics span {
	color: var(--gpm-muted);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.25;
	text-transform: uppercase;
}

.gpm-ego-panorama__metrics strong {
	color: var(--gpm-red);
	font-size: 1.8rem;
	line-height: 1;
}

.gpm-ego-panorama__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gpm-ego-panorama-card {
	display: grid;
	gap: 0.75rem;
	padding: 1rem;
}

.gpm-ego-panorama-card h4 {
	color: var(--gpm-primary);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.3;
	margin: 0;
	text-transform: uppercase;
}

.gpm-ego-panorama-card p {
	color: var(--gpm-muted);
	line-height: 1.55;
	margin: 0;
}

.gpm-ego-panorama-card ul {
	display: grid;
	gap: 0.65rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gpm-ego-panorama-card li {
	border-left: 3px solid var(--gpm-red);
	display: grid;
	gap: 0.25rem;
	padding-left: 0.75rem;
}

.gpm-ego-panorama-card strong {
	color: var(--gpm-primary);
	font-size: 0.78rem;
	line-height: 1.35;
}

.gpm-ego-panorama-card span {
	color: var(--gpm-ink);
	line-height: 1.5;
}

.gpm-ego-panorama-card small {
	color: var(--gpm-red);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.gpm-ego-rays {
	display: grid;
	gap: 0.85rem;
}

.gpm-ego-rays__empty {
	background: #f6f8fb;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	color: var(--gpm-muted);
	margin: 0;
	padding: 1rem;
}

.gpm-ego-ray-group {
	background: #f6f8fb;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	overflow: hidden;
}

.gpm-ego-ray-group summary {
	align-items: center;
	color: var(--gpm-primary);
	cursor: pointer;
	display: flex;
	font-weight: 900;
	justify-content: space-between;
	list-style: none;
	padding: 1rem 1.1rem;
}

.gpm-ego-ray-group summary::-webkit-details-marker {
	display: none;
}

.gpm-ego-ray-group summary::after {
	color: var(--gpm-red);
	content: "\f347";
	font-family: dashicons;
	font-size: 1rem;
	transition: transform 160ms ease;
}

.gpm-ego-ray-group[open] summary::after {
	transform: rotate(180deg);
}

.gpm-ego-ray-group summary strong {
	color: var(--gpm-red);
	font-size: 0.76rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gpm-ego-ray-group__grid {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 0 1rem 1rem;
}

.gpm-ego-ray-card {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	display: grid;
	gap: 0.85rem;
	padding: 1rem;
}

.gpm-ego-ray-card > header {
	align-items: start;
	border-bottom: 1px solid rgba(13, 35, 58, 0.08);
	cursor: pointer;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding-bottom: 0.75rem;
}

.gpm-ego-ray-card__title {
	background: transparent;
	border: 0;
	color: var(--gpm-primary);
	cursor: pointer;
	font: inherit;
	font-size: 1rem;
	line-height: 1.3;
	margin: 0;
	padding: 0;
	text-align: left;
}

.gpm-ego-ray-card__title:hover,
.gpm-ego-ray-card__title:focus-visible {
	color: var(--gpm-red);
	outline: none;
	text-decoration: underline;
}

.gpm-ego-ray-card p {
	color: var(--gpm-muted);
	font-size: 0.84rem;
	line-height: 1.45;
	margin: 0.25rem 0 0;
}

.gpm-ego-ray-card > header > strong {
	color: var(--gpm-red);
	flex: 0 0 auto;
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	line-height: 1.35;
	max-width: 160px;
	text-align: right;
	text-transform: uppercase;
}

.gpm-ego-ray-card > header .gpm-ego-metrics {
	flex: 0 0 auto;
	max-width: min(180px, 42%);
}

.gpm-ego-ray-card__body {
	display: grid;
	gap: 0.75rem;
}

.gpm-ego-ray-card__body section {
	background: #f6f8fb;
	border-left: 3px solid var(--gpm-red);
	border-radius: 8px;
	display: grid;
	gap: 0.45rem;
	padding: 0.75rem;
}

.gpm-ego-ray-card__body h5 {
	color: var(--gpm-primary);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin: 0;
	text-transform: uppercase;
}

.gpm-ego-ray-card__body ul {
	display: grid;
	gap: 0.4rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gpm-ego-ray-card__body li {
	display: grid;
	gap: 0.15rem;
}

.gpm-ego-ray-card__body span {
	color: var(--gpm-ink);
	line-height: 1.5;
}

.gpm-ego-ray-card__body small {
	color: var(--gpm-red);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.gpm-ego-layout {
	display: grid;
	gap: 1.35rem;
	grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.75fr);
}

.gpm-ego-list-panel,
.gpm-ego-study,
.gpm-ego-form {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(7, 21, 36, 0.06);
	color: var(--gpm-ink);
}

.gpm-ego-list-panel {
	overflow: hidden;
}

.gpm-ego-list-panel > header,
.gpm-ego-study > header,
.gpm-ego-form > header,
.gpm-ego-form > footer {
	align-items: center;
	border-bottom: 1px solid rgba(13, 35, 58, 0.1);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 1.1rem 1.25rem;
}

.gpm-ego-form > footer {
	border-bottom: 0;
	border-top: 1px solid rgba(13, 35, 58, 0.1);
}

.gpm-ego-list-panel h3,
.gpm-ego-study h3,
.gpm-ego-form h3 {
	color: var(--gpm-primary);
	font-size: 1.15rem;
	line-height: 1.3;
	margin: 0;
}

.gpm-ego-list-panel > header span,
.gpm-ego-form > footer > span {
	color: var(--gpm-muted);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gpm-ego-list {
	display: grid;
	gap: 0.35rem;
	list-style: none;
	margin: 0;
	max-height: 560px;
	overflow: auto;
	padding: 0.85rem;
}

.gpm-ego-list-card {
	align-items: center;
	background: transparent;
	border-left: 4px solid transparent;
	border-radius: 8px;
	color: inherit;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 0.9rem;
	width: 100%;
}

.gpm-ego-list-card__select {
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: grid;
	gap: 0.55rem;
	min-width: 0;
	padding: 0;
	text-align: left;
	width: 100%;
}

.gpm-ego-list li.is-active .gpm-ego-list-card {
	background: #e8f1fb;
	border-left-color: var(--gpm-red);
}

.gpm-ego-list__top {
	align-items: start;
	display: flex;
	gap: 0.75rem;
	justify-content: space-between;
}

.gpm-ego-list__title {
	background: transparent;
	border: 0;
	color: var(--gpm-primary);
	cursor: pointer;
	font-size: 0.98rem;
	font: inherit;
	line-height: 1.35;
	padding: 0;
	text-align: left;
	text-decoration: none;
}

.gpm-ego-list__title:hover,
.gpm-ego-list__title:focus-visible {
	color: var(--gpm-red);
	outline: none;
	text-decoration: underline;
}

.gpm-ego-list em {
	color: var(--gpm-red);
	font-size: 0.68rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.gpm-ego-list small,
.gpm-ego-empty {
	color: var(--gpm-muted);
	font-size: 0.82rem;
}

.gpm-ego-metrics {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.42rem;
	justify-content: flex-end;
}

.gpm-ego-metric {
	--gpm-ego-metric-bg: var(--gpm-primary);
	align-items: center;
	aspect-ratio: 1;
	background: var(--gpm-ego-metric-bg);
	border: 0;
	border-radius: 999px;
	color: #ffffff;
	cursor: help;
	display: inline-flex;
	flex: 0 0 auto;
	height: clamp(2rem, 1.35rem + 1.4vw, 2.55rem);
	justify-content: center;
	min-width: clamp(2rem, 1.35rem + 1.4vw, 2.55rem);
	padding: 0.2rem;
	position: relative;
}

.gpm-ego-metric--duels {
	--gpm-ego-metric-bg: var(--gpm-primary);
}

.gpm-ego-metric--wins {
	--gpm-ego-metric-bg: var(--gpm-red);
}

.gpm-ego-metric--days {
	--gpm-ego-metric-bg: #b07a1f;
}

.gpm-ego-metric.is-inactive {
	--gpm-ego-metric-bg: #8a929e;
	color: #ffffff;
}

.gpm-ego-metric__value {
	font-size: clamp(0.62rem, 0.5rem + 0.35vw, 0.88rem);
	font-variant-numeric: tabular-nums;
	line-height: 1;
	max-width: 4ch;
	overflow: hidden;
	text-align: center;
	text-overflow: clip;
	white-space: nowrap;
}

.gpm-ego-metric::after {
	background: #071524;
	border-radius: 6px;
	bottom: calc(100% + 0.5rem);
	color: #ffffff;
	content: attr(data-gpm-tooltip);
	font-size: 0.72rem;
	left: 50%;
	line-height: 1.25;
	max-width: 220px;
	opacity: 0;
	padding: 0.42rem 0.55rem;
	pointer-events: none;
	position: absolute;
	text-align: center;
	text-transform: none;
	transform: translate(-50%, 0.2rem);
	transition: opacity 140ms ease, transform 140ms ease;
	white-space: nowrap;
	z-index: 5;
}

.gpm-ego-metric:hover::after,
.gpm-ego-metric:focus-visible::after {
	opacity: 1;
	transform: translate(-50%, 0);
}

.gpm-ego-empty {
	background: #f6f8fb;
	border-radius: 8px;
	padding: 1rem;
}

.gpm-ego-study {
	display: grid;
	gap: 1rem;
	padding-bottom: 1.25rem;
}

.gpm-ego-study__empty {
	align-content: center;
	color: var(--gpm-muted);
	display: grid;
	gap: 0.65rem;
	justify-items: center;
	min-height: 340px;
	padding: 2rem;
	text-align: center;
}

.gpm-ego-study__empty .dashicons {
	align-items: center;
	background: #e8f1fb;
	border-radius: 8px;
	color: var(--gpm-primary);
	display: inline-flex;
	font-size: 1.8rem;
	height: 58px;
	justify-content: center;
	width: 58px;
}

.gpm-ego-study > header {
	background: #f6f8fb;
}

.gpm-ego-study__chips,
.gpm-ego-tags,
.gpm-ego-study__actions,
.gpm-ego-form > footer > div {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.gpm-ego-chip {
	background: #edf3fa;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 999px;
	color: var(--gpm-primary);
	display: inline-flex;
	font-size: 0.76rem;
	font-weight: 700;
	line-height: 1.2;
	padding: 0.38rem 0.65rem;
}

.gpm-ego-chip--danger {
	background: rgba(138, 12, 20, 0.08);
	border-color: rgba(138, 12, 20, 0.22);
	color: var(--gpm-red);
	text-transform: uppercase;
}

.gpm-ego-chip--gold {
	background: #e8f1fb;
	color: var(--gpm-primary);
	text-transform: uppercase;
}

.gpm-ego-study__actions button,
.gpm-ego-form > header button {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--gpm-primary);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 800;
	gap: 0.25rem;
	padding: 0;
}

.gpm-ego-study__actions button.is-danger {
	color: var(--gpm-red);
}

.gpm-ego-study__summary {
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	padding: 0 1.25rem;
}

.gpm-ego-study h4,
.gpm-ego-circles h4,
.gpm-ego-associations h4 {
	color: var(--gpm-primary);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.3;
	margin: 0 0 0.7rem;
	text-transform: uppercase;
}

.gpm-ego-study blockquote {
	color: var(--gpm-ink);
	font-size: 0.95rem;
	font-style: italic;
	line-height: 1.55;
	margin: 0;
}

.gpm-ego-beliefs,
.gpm-ego-associations,
.gpm-ego-circles {
	margin: 0 1.25rem;
}

.gpm-ego-beliefs,
.gpm-ego-associations {
	background: #f6f8fb;
	border-left: 3px solid var(--gpm-blue-accent);
	border-radius: 8px;
	padding: 1rem;
}

.gpm-ego-beliefs p,
.gpm-ego-associations p,
.gpm-ego-circles p {
	color: var(--gpm-muted);
	line-height: 1.55;
	margin: 0 0 0.45rem;
}

.gpm-ego-circles__grid {
	display: grid;
	gap: 0.9rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gpm-ego-circles article {
	background: #f6f8fb;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	padding: 1rem;
}

.gpm-ego-circles h5 {
	align-items: center;
	color: var(--gpm-primary);
	display: flex;
	font-size: 0.82rem;
	gap: 0.4rem;
	line-height: 1.35;
	margin: 0 0 0.6rem;
	text-transform: uppercase;
}

.gpm-ego-form {
	display: grid;
}

.gpm-ego-form__grid,
.gpm-ego-form__notes {
	display: grid;
	gap: 1rem;
	padding: 1.25rem;
}

.gpm-ego-form__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gpm-ego-form__notes {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding-top: 0;
}

.gpm-ego-form label,
.gpm-ego-centers legend,
.gpm-ego-form label > span {
	color: var(--gpm-primary);
	display: grid;
	font-size: 0.78rem;
	font-weight: 800;
	gap: 0.4rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gpm-ego-form input,
.gpm-ego-form select,
.gpm-ego-form textarea {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 8px;
	color: var(--gpm-ink);
	font: inherit;
	min-height: 44px;
	padding: 0.65rem 0.75rem;
	width: 100%;
}

.gpm-ego-form textarea {
	min-height: 112px;
	resize: vertical;
	text-transform: none;
}

.gpm-ego-centers {
	border: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 0;
	padding: 0 1.25rem 1.25rem;
}

.gpm-ego-centers legend {
	flex-basis: 100%;
}

.gpm-ego-centers label {
	display: block;
	position: relative;
}

.gpm-ego-centers input {
	opacity: 0;
	position: absolute;
}

.gpm-ego-centers span {
	background: #edf3fa;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 999px;
	color: var(--gpm-primary);
	display: inline-flex;
	font-size: 0.82rem;
	font-weight: 700;
	padding: 0.5rem 0.75rem;
}

.gpm-ego-centers input:checked + span {
	background: var(--gpm-primary);
	color: #ffffff;
}

.gpm-ego-new {
	display: grid;
	gap: 1.35rem;
}

.gpm-ego-new__hero {
	display: grid;
	gap: 0.45rem;
	max-width: 860px;
}

.gpm-ego-new__hero .gpm-kicker {
	align-items: center;
	color: var(--gpm-red);
	display: inline-flex;
	gap: 0.4rem;
}

.gpm-ego-new__hero h2 {
	color: var(--gpm-primary);
	font-size: clamp(2rem, 4vw, 3.35rem);
	line-height: 1.05;
	margin: 0;
}

.gpm-ego-new__hero p:not(.gpm-kicker) {
	color: var(--gpm-muted);
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0;
}

.gpm-ego-new__back {
	align-items: center;
	color: var(--gpm-primary);
	display: inline-flex;
	font-size: 0.84rem;
	font-weight: 800;
	gap: 0.3rem;
	text-decoration: none;
	width: max-content;
}

.gpm-ego-new-form {
	display: grid;
	gap: 1rem;
}

.gpm-ego-new-section {
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(7, 21, 36, 0.06);
	overflow: hidden;
}

.gpm-ego-new-section summary {
	align-items: center;
	border-bottom: 1px solid rgba(13, 35, 58, 0.1);
	color: var(--gpm-primary);
	cursor: pointer;
	display: grid;
	gap: 0.8rem;
	grid-template-columns: auto minmax(0, 1fr) auto;
	list-style: none;
	padding: 1.15rem 1.25rem;
}

.gpm-ego-new-section summary::-webkit-details-marker {
	display: none;
}

.gpm-ego-new-section summary strong {
	font-size: clamp(1.35rem, 2vw, 1.85rem);
	line-height: 1.25;
}

.gpm-ego-new-section__icon {
	align-items: center;
	background: #e8f1fb;
	border-radius: 8px;
	color: var(--gpm-primary);
	display: inline-flex;
	height: 40px;
	justify-content: center;
	width: 40px;
}

.gpm-ego-new-section__toggle {
	transition: transform 0.2s ease;
}

.gpm-ego-new-section[open] .gpm-ego-new-section__toggle {
	transform: rotate(180deg);
}

.gpm-ego-new-section[open] summary {
	background: var(--gpm-primary-dark);
	color: #ffffff;
}

.gpm-ego-new-section[open] summary strong,
.gpm-ego-new-section[open] summary .dashicons,
.gpm-ego-lab-card[open] summary strong {
	color: #ffffff;
}

.gpm-ego-new-section__body {
	display: grid;
	gap: 1.25rem;
	padding: 1.25rem;
}

.gpm-ego-context {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gpm-ego-context article {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	display: grid;
	gap: 0.35rem;
	padding: 0.95rem;
}

.gpm-ego-context strong {
	color: var(--gpm-red);
	font-size: 0.88rem;
}

.gpm-ego-context span {
	background: #e8f1fb;
	border-radius: 999px;
	color: var(--gpm-primary);
	font-size: 0.7rem;
	font-weight: 800;
	justify-self: start;
	padding: 0.2rem 0.45rem;
}

.gpm-ego-context p {
	color: var(--gpm-muted);
	font-size: 0.84rem;
	line-height: 1.45;
	margin: 0;
}

.gpm-ego-new-grid,
.gpm-ego-new-two,
.gpm-ego-new-four {
	display: grid;
	gap: 1rem;
}

.gpm-ego-new-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gpm-ego-new-two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gpm-ego-new-four {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gpm-ego-new-form label,
.gpm-ego-new-form fieldset legend,
.gpm-ego-repeat h4 {
	color: var(--gpm-primary);
	display: grid;
	font-size: 0.78rem;
	font-weight: 800;
	gap: 0.42rem;
	letter-spacing: 0.06em;
	margin: 0;
	text-transform: uppercase;
}

.gpm-ego-new-form input,
.gpm-ego-new-form select,
.gpm-ego-new-form textarea {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 8px;
	color: var(--gpm-ink);
	font: inherit;
	font-weight: 400;
	min-height: 44px;
	padding: 0.7rem 0.8rem;
	text-transform: none;
	width: 100%;
}

.gpm-ego-new-form textarea {
	line-height: 1.55;
	min-height: 120px;
	resize: vertical;
}

.gpm-ego-new-priority {
	border: 0;
	display: grid;
	gap: 0.45rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
	padding: 0;
}

.gpm-ego-new-priority legend {
	grid-column: 1 / -1;
}

.gpm-ego-new-priority label {
	display: block;
	position: relative;
}

.gpm-ego-new-priority input {
	opacity: 0;
	position: absolute;
}

.gpm-ego-new-priority span {
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(138, 12, 20, 0.22);
	border-radius: 8px;
	color: var(--gpm-muted);
	display: flex;
	font-size: 0.82rem;
	font-weight: 800;
	justify-content: center;
	min-height: 44px;
	padding: 0.6rem;
}

.gpm-ego-new-priority input:checked + span {
	background: #e8f1fb;
	border-color: var(--gpm-blue-accent);
	color: var(--gpm-primary);
}

.gpm-ego-centers--new {
	padding: 0;
}

.gpm-ego-repeat {
	background: #f6f8fb;
	border: 1px solid rgba(13, 35, 58, 0.08);
	border-radius: 8px;
	display: grid;
	gap: 0.8rem;
	padding: 1rem;
}

.gpm-ego-repeat__row {
	display: grid;
	gap: 0.65rem;
	grid-template-columns: minmax(180px, 1.5fr) minmax(130px, 0.8fr) minmax(130px, 0.8fr) minmax(120px, 0.8fr) auto;
}

.gpm-ego-repeat[data-gpm-ego-repeat="alert_flavors"] .gpm-ego-repeat__row {
	grid-template-columns: minmax(220px, 1.5fr) minmax(150px, 0.9fr) minmax(90px, 0.5fr) auto;
}

.gpm-ego-repeat__row button,
.gpm-ego-repeat li button {
	align-items: center;
	background: var(--gpm-red);
	border: 0;
	border-radius: 8px;
	color: #ffffff;
	cursor: pointer;
	display: inline-flex;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
}

.gpm-ego-repeat ul {
	display: grid;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gpm-ego-repeat li {
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	color: var(--gpm-ink);
	display: flex;
	gap: 0.75rem;
	justify-content: space-between;
	padding: 0.65rem 0.75rem;
}

.gpm-ego-repeat li button {
	background: transparent;
	color: var(--gpm-red);
	min-height: 28px;
	min-width: 28px;
}

.gpm-ego-new-footer {
	align-items: center;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 1rem 1.25rem;
	position: sticky;
	bottom: 1rem;
	z-index: 2;
}

.gpm-ego-new-footer span {
	color: var(--gpm-primary);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.gpm-ego-lab {
	--gpm-ego-lab-accent: var(--gpm-red);
	background: linear-gradient(180deg, rgba(232, 241, 251, 0.58), rgba(246, 248, 251, 0));
	margin: -1.5rem -1.5rem 0;
	padding: 1.5rem;
}

.gpm-ego-lab__hero {
	display: grid;
	gap: 0.45rem;
	margin-bottom: 2rem;
	max-width: 860px;
}

.gpm-ego-lab__hero h2 {
	color: #071523;
	font-size: clamp(2.3rem, 4vw, 4rem);
	letter-spacing: 0;
	line-height: 1;
	margin: 0;
}

.gpm-ego-lab__hero .gpm-kicker {
	align-items: center;
	color: var(--gpm-red);
	display: inline-flex;
	gap: 0.45rem;
}

.gpm-ego-lab__hero p:not(.gpm-kicker) {
	color: #442528;
	font-size: 1.08rem;
	line-height: 1.55;
	margin: 0;
	max-width: 720px;
}

.gpm-ego-lab-card {
	border-color: rgba(112, 12, 20, 0.12);
	box-shadow: 0 16px 38px rgba(7, 21, 36, 0.08);
	position: relative;
}

.gpm-ego-lab-card::before {
	background: var(--gpm-red);
	border-radius: 8px 0 0 8px;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: opacity 140ms ease;
	width: 5px;
	z-index: 1;
}

.gpm-ego-lab-card:has(input:focus, select:focus, textarea:focus)::before {
	opacity: 1;
}

.gpm-ego-lab-card summary {
	background: rgba(255, 255, 255, 0.92);
	grid-template-columns: auto minmax(0, 1fr) auto auto;
	padding: 1rem 1.15rem;
}

.gpm-ego-lab-card summary strong {
	color: #18202a;
	font-size: clamp(1.25rem, 2.2vw, 1.8rem);
	font-weight: 800;
	letter-spacing: 0;
}

.gpm-ego-lab-card .gpm-ego-new-section__icon {
	background: rgba(138, 12, 20, 0.08);
	color: var(--gpm-red);
}

.gpm-ego-help-icon {
	color: rgba(89, 65, 63, 0.8);
	font-size: 1.05rem;
	height: 1.05rem;
	width: 1.05rem;
}

.gpm-ego-lab-grid {
	display: grid;
	gap: 1rem;
}

.gpm-ego-lab-grid--description {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.gpm-ego-lab-grid--description > label:nth-child(1),
.gpm-ego-lab-grid--description > label:nth-child(2) {
	grid-column: span 3;
}

.gpm-ego-lab-grid--description > label,
.gpm-ego-lab-grid--description > fieldset {
	grid-column: span 2;
}

.gpm-ego-lab-grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gpm-ego-lab-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gpm-ego-context--compact article {
	box-shadow: 0 8px 24px rgba(7, 21, 36, 0.04);
	min-height: 112px;
}

.gpm-ego-lab-form label > span,
.gpm-ego-lab-form fieldset legend,
.gpm-ego-lab-form h4 {
	color: #0b233b;
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gpm-ego-lab-form input,
.gpm-ego-lab-form select,
.gpm-ego-lab-form textarea {
	border-color: rgba(138, 12, 20, 0.18);
	border-radius: 6px;
	box-shadow: inset 0 -1px 0 rgba(138, 12, 20, 0.16);
	font-weight: 400;
}

.gpm-ego-lab-form input:focus,
.gpm-ego-lab-form select:focus,
.gpm-ego-lab-form textarea:focus {
	border-color: rgba(138, 12, 20, 0.58);
	box-shadow: 0 0 0 3px rgba(138, 12, 20, 0.12);
	outline: none;
}

.gpm-ego-repeat--lab,
.gpm-ego-mini-repeat,
.gpm-ego-line-repeat,
.gpm-ego-memory-repeat,
.gpm-ego-need-repeat,
.gpm-ego-compact-repeat {
	background: #f6f8fb;
	border: 1px solid rgba(13, 35, 58, 0.08);
	border-radius: 8px;
	display: grid;
	gap: 0.75rem;
	padding: 1rem;
}

.gpm-ego-mini-repeat h4,
.gpm-ego-line-repeat h4,
.gpm-ego-memory-repeat h4,
.gpm-ego-need-repeat h4,
.gpm-ego-compact-repeat h4 {
	border-bottom: 2px solid rgba(138, 12, 20, 0.22);
	padding-bottom: 0.45rem;
}

.gpm-ego-repeat__row--alert {
	grid-template-columns: minmax(220px, 1fr) minmax(140px, 0.6fr) minmax(110px, 0.35fr) auto;
}

	.gpm-ego-mini-repeat button,
	.gpm-ego-line-repeat button,
	.gpm-ego-memory-repeat button,
	.gpm-ego-need-repeat button,
	.gpm-ego-compact-repeat button {
	align-items: center;
	background: var(--gpm-red);
	border: 0;
	border-radius: 6px;
	color: #ffffff;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 0.78rem;
	font-weight: 900;
	justify-content: center;
	justify-self: end;
	min-height: 34px;
		padding: 0.45rem 0.75rem;
	}

	.gpm-ego-repeat-add-button {
		aspect-ratio: 1;
		height: 42px;
		min-height: 42px;
		padding: 0 !important;
		width: 42px;
	}

	.gpm-ego-repeat-add-button .dashicons {
		font-size: 1.15rem;
		height: 1.15rem;
		width: 1.15rem;
	}

.gpm-ego-line-repeat > div,
.gpm-ego-compact-repeat > div {
	display: grid;
	gap: 0.55rem;
	grid-template-columns: minmax(0, 1fr) auto;
}

.gpm-ego-compact-repeat > div {
	grid-template-columns: minmax(180px, 1fr) minmax(120px, 0.35fr) minmax(90px, 0.25fr) auto;
}

.gpm-ego-mini-repeat ul,
.gpm-ego-line-repeat ul,
.gpm-ego-memory-repeat ul,
.gpm-ego-need-repeat ul,
.gpm-ego-compact-repeat ul {
	display: grid;
	gap: 0.45rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gpm-ego-mini-repeat li,
.gpm-ego-line-repeat li,
.gpm-ego-memory-repeat li,
.gpm-ego-need-repeat li,
.gpm-ego-compact-repeat li {
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.08);
	border-radius: 6px;
	color: var(--gpm-ink);
	display: flex;
	gap: 0.75rem;
	justify-content: space-between;
	line-height: 1.45;
	padding: 0.65rem 0.75rem;
}

	.gpm-ego-mini-repeat li button,
	.gpm-ego-line-repeat li button,
	.gpm-ego-memory-repeat li button,
	.gpm-ego-need-repeat li button,
	.gpm-ego-compact-repeat li button {
	background: transparent;
	color: var(--gpm-red);
	justify-self: auto;
	min-height: 28px;
		padding: 0;
		width: 28px;
	}

	.gpm-ego-repeat-item__actions {
		align-items: center;
		display: inline-flex;
		flex: 0 0 auto;
		gap: 0.35rem;
	}

	.gpm-ego-repeat-item__actions button:first-child {
		color: var(--gpm-primary);
	}

	.gpm-confirm-modal[hidden] {
		display: none;
	}

	.gpm-confirm-modal {
		inset: 0;
		position: fixed;
		z-index: 100000;
	}

	.gpm-confirm-modal__backdrop {
		background: rgba(7, 21, 36, 0.55);
		inset: 0;
		position: absolute;
	}

	.gpm-confirm-modal__dialog {
		background: #ffffff;
		border: 1px solid rgba(13, 35, 58, 0.12);
		border-radius: 10px;
		box-shadow: 0 26px 70px rgba(7, 21, 36, 0.26);
		color: var(--gpm-ink);
		left: 50%;
		max-width: min(92vw, 460px);
		padding: 1.5rem;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
	}

	.gpm-confirm-modal__dialog h2 {
		color: var(--gpm-red);
		font-size: 1.65rem;
		line-height: 1.1;
		margin: 0 0 0.65rem;
	}

	.gpm-confirm-modal__dialog p:not(.gpm-kicker) {
		color: var(--gpm-muted);
		line-height: 1.55;
		margin: 0;
	}

	.gpm-confirm-modal__actions {
		display: flex;
		flex-wrap: wrap;
		gap: 0.75rem;
		justify-content: flex-end;
		margin-top: 1.25rem;
	}

	.gpm-button--danger {
		background: var(--gpm-red);
		color: #ffffff;
	}

	/* El modal de confirmación se inserta directamente en <body>, fuera de
	 * .gpm-shell. En el tema claro no hereda --gpm-red, por lo que el botón
	 * de eliminación quedaba blanco sobre blanco. */
	html:not([data-gpm-theme="dark"]) .gpm-confirm-modal__actions button.gpm-button.gpm-button--danger[data-gpm-confirm-ok] {
		background: #dc2626 !important;
		background-color: #dc2626 !important;
		border-color: #b91c1c !important;
		color: #ffffff !important;
	}

	html:not([data-gpm-theme="dark"]) .gpm-confirm-modal__actions button.gpm-button.gpm-button--danger[data-gpm-confirm-ok]:hover,
	html:not([data-gpm-theme="dark"]) .gpm-confirm-modal__actions button.gpm-button.gpm-button--danger[data-gpm-confirm-ok]:focus-visible {
		background: #b91c1c !important;
		background-color: #b91c1c !important;
		border-color: #991b1b !important;
	}

.gpm-ego-change-stack {
	gap: 1rem;
}

/* Theme switcher and dark mode inspired by the submitted "Santuario Profundo" reference. */
.gpm-member-toolbar {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	margin: 0 0 1rem;
}

.gpm-theme-toggle {
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 999px;
	box-shadow: 0 10px 24px rgba(7, 21, 36, 0.08);
	color: var(--gpm-primary, #0d233a);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 0.86rem;
	font-weight: 700;
	gap: 0.45rem;
	min-height: 40px;
	padding: 0.55rem 0.85rem;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
	white-space: nowrap;
}

.gpm-theme-toggle:hover,
.gpm-theme-toggle:focus-visible {
	border-color: var(--gpm-red, #700c14);
	box-shadow: 0 14px 30px rgba(7, 21, 36, 0.13);
	outline: none;
	transform: translateY(-1px);
}

.gpm-theme-toggle .dashicons {
	font-size: 1rem;
	height: 1rem;
	width: 1rem;
}

html[data-gpm-theme="dark"] {
	color-scheme: dark;
}

html[data-gpm-theme="dark"] body:has(.gpm-shell),
html[data-gpm-theme="dark"] body:has(.gpm-instructor-app),
html[data-gpm-theme="dark"] .gpm-dashboard-main,
html[data-gpm-theme="dark"] .single-layout:has(.gpm-shell) {
	background: #071422;
}

html[data-gpm-theme="dark"] .gpm-shell,
html[data-gpm-theme="dark"] .gpm-instructor-app {
	--gpm-ink: #d7e3f8;
	--gpm-muted: #c4c6cc;
	--gpm-line: rgba(142, 145, 150, 0.26);
	--gpm-surface: #14202f;
	--gpm-soft: #071422;
	--gpm-primary: #d7e3f8;
	--gpm-primary-dark: #030f1d;
	--gpm-blue-accent: #fdba49;
	--gpm-red: #8a2124;
	--gpm-dark-card: #14202f;
	--gpm-dark-card-high: #1f2b3a;
	--gpm-dark-card-highest: #2a3645;
	--gpm-dark-field: #030f1d;
	--gpm-gold: #fdba49;
	--gpm-gold-text: #281800;
	background:
		radial-gradient(circle at 80% 0%, rgba(253, 186, 73, 0.07), transparent 34rem),
		linear-gradient(180deg, #071422 0%, #030f1d 100%);
	color: var(--gpm-ink);
}

html[data-gpm-theme="dark"] .gpm-member-toolbar {
	margin-bottom: 1rem;
}

html[data-gpm-theme="dark"] .gpm-theme-toggle {
	background: #14202f;
	border-color: rgba(253, 186, 73, 0.34);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-theme-toggle:hover,
html[data-gpm-theme="dark"] .gpm-theme-toggle:focus-visible {
	background: #1f2b3a;
	border-color: #fdba49;
	box-shadow: 0 0 0 3px rgba(253, 186, 73, 0.16), 0 14px 34px rgba(0, 0, 0, 0.28);
}

html[data-gpm-theme="dark"] .gpm-password-field button {
	background: var(--gpm-gold);
	border-color: var(--gpm-gold);
	color: var(--gpm-gold-text);
}

html[data-gpm-theme="dark"] .gpm-login__panel,
html[data-gpm-theme="dark"] .gpm-tabs,
html[data-gpm-theme="dark"] .gpm-panel,
html[data-gpm-theme="dark"] .gpm-status-card,
html[data-gpm-theme="dark"] .gpm-ring-card,
html[data-gpm-theme="dark"] .gpm-course-card,
html[data-gpm-theme="dark"] .gpm-course-progress,
html[data-gpm-theme="dark"] .gpm-module,
html[data-gpm-theme="dark"] .gpm-lesson-card,
html[data-gpm-theme="dark"] .gpm-vault-note,
html[data-gpm-theme="dark"] .gpm-vault-hint,
html[data-gpm-theme="dark"] .gpm-profile-panel,
html[data-gpm-theme="dark"] .gpm-course-basic,
html[data-gpm-theme="dark"] .gpm-module-structure,
html[data-gpm-theme="dark"] .gpm-access-form,
html[data-gpm-theme="dark"] .gpm-access-card,
html[data-gpm-theme="dark"] .gpm-cm-card,
html[data-gpm-theme="dark"] .gpm-enrollment-matrix,
html[data-gpm-theme="dark"] .gpm-crm-import,
html[data-gpm-theme="dark"] .gpm-student-directory,
html[data-gpm-theme="dark"] .gpm-stitch-panel,
html[data-gpm-theme="dark"] .gpm-stitch-side-block,
html[data-gpm-theme="dark"] .gpm-instructor-section,
html[data-gpm-theme="dark"] .gpm-instructor-card,
html[data-gpm-theme="dark"] .gpm-instructor-stats article,
html[data-gpm-theme="dark"] .gpm-instructor-course,
html[data-gpm-theme="dark"] .gpm-modal__dialog,
html[data-gpm-theme="dark"] .gpm-image-crop-modal__dialog {
	background: var(--gpm-dark-card, #14202f);
	border-color: rgba(142, 145, 150, 0.22);
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
	color: var(--gpm-ink);
}

html[data-gpm-theme="dark"] .gpm-instructor-notice,
html[data-gpm-theme="dark"] .gpm-instructor-hero {
	background: #14202f;
	border-color: rgba(142, 145, 150, 0.22);
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}

html[data-gpm-theme="dark"] .gpm-cm-card[open] > .gpm-cm-summary {
	border-bottom-color: rgba(142, 145, 150, 0.22);
}

html[data-gpm-theme="dark"] .gpm-cm-summary:hover {
	background: rgba(215, 227, 248, 0.04);
}

html[data-gpm-theme="dark"] .gpm-cm-summary__body strong {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-cm-card--course > .gpm-cm-card__body {
	background: rgba(215, 227, 248, 0.03);
}

html[data-gpm-theme="dark"] .gpm-content-manager__children,
html[data-gpm-theme="dark"] .gpm-content-manager__children .gpm-cm-card {
	border-color: rgba(142, 145, 150, 0.22);
}

html[data-gpm-theme="dark"] .gpm-content-manager__empty {
	background: rgba(215, 227, 248, 0.03);
	border-color: rgba(142, 145, 150, 0.3);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-content-manager__form input,
html[data-gpm-theme="dark"] .gpm-content-manager__form select,
html[data-gpm-theme="dark"] .gpm-content-manager__form textarea {
	background: #0d1b2a;
	border-color: rgba(142, 145, 150, 0.28);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-content-manager__form label > span {
	color: #8a9ab0;
}

html[data-gpm-theme="dark"] .gpm-status-pill--publish {
	background: rgba(52, 168, 83, 0.16);
	color: #7fe0a0;
}

html[data-gpm-theme="dark"] .gpm-status-pill--draft {
	background: rgba(215, 227, 248, 0.08);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-status-pill--archived {
	background: rgba(253, 186, 73, 0.16);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-instructor-notice--inline.gpm-instructor-notice--success {
	background: rgba(52, 168, 83, 0.14);
	border-color: #34a853;
	color: #7fe0a0;
}

html[data-gpm-theme="dark"] .gpm-instructor-notice--inline.gpm-instructor-notice--success .dashicons {
	color: #7fe0a0;
}

html[data-gpm-theme="dark"] .gpm-instructor-notice--inline.gpm-instructor-notice--error {
	background: rgba(138, 33, 36, 0.2);
	border-color: #8a2124;
	color: #f3a3a6;
}

html[data-gpm-theme="dark"] .gpm-instructor-notice--inline.gpm-instructor-notice--error .dashicons {
	color: #f3a3a6;
}

html[data-gpm-theme="dark"] .gpm-instructor-pending li {
	background: #1f2b3a;
	border-color: rgba(142, 145, 150, 0.22);
	border-left-color: rgba(138, 33, 36, 0.70);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-instructor-sidebar,
html[data-gpm-theme="dark"] .gpm-instructor-topbar {
	background: rgba(16, 28, 43, 0.96);
	border-color: rgba(68, 71, 76, 0.9);
	box-shadow: 8px 0 28px rgba(0, 0, 0, 0.18);
}

html[data-gpm-theme="dark"] .gpm-instructor-sidebar nav a,
html[data-gpm-theme="dark"] .gpm-instructor-sidebar .gpm-instructor-nav-panel > a:not(.gpm-instructor-new):not(.gpm-instructor-support) {
	color: #c8d8f0;
}

html[data-gpm-theme="dark"] .gpm-instructor-topbar {
	backdrop-filter: blur(16px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
}

html[data-gpm-theme="dark"] .gpm-hero {
	background:
		linear-gradient(var(--gpm-hero-overlay), var(--gpm-hero-overlay)),
		#071422;
	border: 0;
	box-shadow: none;
}

html[data-gpm-theme="dark"] .gpm-hero--with-image {
	background:
		linear-gradient(var(--gpm-hero-overlay), var(--gpm-hero-overlay)),
		var(--gpm-hero-image) center / cover no-repeat,
		#071422;
}

html[data-gpm-theme="dark"] .gpm-identity-card {
	background: rgba(20, 32, 47, 0.74);
	border-color: rgba(253, 186, 73, 0.22);
	box-shadow: 0 18px 52px rgba(0, 0, 0, 0.28);
}

html[data-gpm-theme="dark"] .gpm-identity-data div,
html[data-gpm-theme="dark"] .gpm-metrics span,
html[data-gpm-theme="dark"] .gpm-clean-list li,
html[data-gpm-theme="dark"] .gpm-fixation-cards li,
html[data-gpm-theme="dark"] .gpm-materials li,
html[data-gpm-theme="dark"] .gpm-vault-index li,
html[data-gpm-theme="dark"] .gpm-module-item,
html[data-gpm-theme="dark"] .gpm-stitch-video,
html[data-gpm-theme="dark"] .gpm-cover-field,
html[data-gpm-theme="dark"] .gpm-cover-field input {
	background: #14202f;
	border-color: rgba(142, 145, 150, 0.22);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-image-dropzone {
	background: #1a2535;
	border-color: rgba(142, 145, 150, 0.30);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-image-dropzone.is-dragging,
html[data-gpm-theme="dark"] .gpm-image-dropzone:hover {
	background: #1f2b3a;
	border-color: rgba(253, 186, 73, 0.40);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.20);
}

html[data-gpm-theme="dark"] .gpm-image-dropzone > .dashicons {
	color: rgba(196, 198, 204, 0.45);
}

html[data-gpm-theme="dark"] .gpm-image-dropzone strong {
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-image-dropzone small {
	color: #8a9ab0;
}

html[data-gpm-theme="dark"] .gpm-image-thumb {
	background: #1a2535;
	border-color: rgba(142, 145, 150, 0.30);
}

html[data-gpm-theme="dark"] .gpm-image-thumb:hover,
html[data-gpm-theme="dark"] .gpm-image-thumb.is-dragging {
	border-color: rgba(253, 186, 73, 0.40);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.20);
}

html[data-gpm-theme="dark"] .gpm-image-thumb__placeholder {
	color: rgba(196, 198, 204, 0.45);
}

html[data-gpm-theme="dark"] .gpm-image-uploader__meta strong {
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-stitch-attach,
html[data-gpm-theme="dark"] .gpm-student-directory footer,
html[data-gpm-theme="dark"] .gpm-student-table > div:first-child,
html[data-gpm-theme="dark"] .gpm-enrollment-row--head,
html[data-gpm-theme="dark"] .gpm-course-cover {
	background: #1f2b3a;
	border-color: rgba(253, 186, 73, 0.22);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-user-tab,
html[data-gpm-theme="dark"] .gpm-bulk-toolbar,
html[data-gpm-theme="dark"] .gpm-bulk-toolbar select {
	background: #1f2b3a;
	border-color: rgba(253, 186, 73, 0.22);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-user-tab.is-active {
	background: var(--gpm-primary);
	color: #10161f;
}

html[data-gpm-theme="dark"] .gpm-course-cover span,
html[data-gpm-theme="dark"] .gpm-course-cover p,
html[data-gpm-theme="dark"] .gpm-course-cover .dashicons {
	color: #6b7a90;
}

html[data-gpm-theme="dark"] .gpm-ring-card,
html[data-gpm-theme="dark"] .gpm-course-card,
html[data-gpm-theme="dark"] .gpm-course-basic,
html[data-gpm-theme="dark"] .gpm-access-form,
html[data-gpm-theme="dark"] .gpm-access-card {
	background: linear-gradient(180deg, #1f2b3a, #14202f);
}

html[data-gpm-theme="dark"] .gpm-enrollment-row {
	background: #14202f;
	border-color: rgba(142, 145, 150, 0.22);
}

html[data-gpm-theme="dark"] .gpm-enrollment-course-list label,
html[data-gpm-theme="dark"] .gpm-enrollment-user i {
	background: #1f2b3a;
	border-color: rgba(142, 145, 150, 0.24);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-enrollment-course-list strong,
html[data-gpm-theme="dark"] .gpm-enrollment-user strong {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-lesson-block {
	background: #1f2b3a;
	border-left-color: rgba(253, 186, 73, 0.55);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-lesson-block--task {
	border-left-color: #8a2124;
}

html[data-gpm-theme="dark"] .gpm-lesson-block strong {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-module-item__head,
html[data-gpm-theme="dark"] .gpm-rich-toolbar,
html[data-gpm-theme="dark"] .gpm-icon-picker__panel {
	background: var(--gpm-dark-card-highest, #2a3645);
	border-color: rgba(142, 145, 150, 0.22);
}

html[data-gpm-theme="dark"] .gpm-panel--privacy,
html[data-gpm-theme="dark"] .gpm-stitch-side-block--task {
	background:
		linear-gradient(135deg, rgba(138, 33, 36, 0.16), transparent 58%),
		var(--gpm-dark-card, #14202f);
	border-color: rgba(255, 179, 175, 0.22);
}

html[data-gpm-theme="dark"] .gpm-instructor-tip {
	background:
		linear-gradient(135deg, rgba(253, 186, 73, 0.11), transparent 44%),
		#101c2b;
	border: 1px solid rgba(253, 186, 73, 0.2);
	box-shadow: 0 16px 44px rgba(0, 0, 0, 0.26);
}

html[data-gpm-theme="dark"] :where(
	.gpm-shell,
	.gpm-instructor-app
) :where(h1, h2, h3, h4, h5, strong, em, label, legend, .gpm-instructor-topbar > strong, .gpm-instructor-brand strong, .gpm-instructor-user, .gpm-profile-panel__head h1) {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] :where(
	.gpm-shell,
	.gpm-instructor-app
) :where(p, small, span, dd, dt, .gpm-muted, .gpm-section-heading > p, .gpm-access-head span, .gpm-access-card p, .gpm-module-item__body div, .gpm-student-table span, .gpm-student-directory footer) {
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-kicker,
html[data-gpm-theme="dark"] .gpm-breadcrumb span:last-child,
html[data-gpm-theme="dark"] .gpm-stat,
html[data-gpm-theme="dark"] .gpm-metrics strong,
html[data-gpm-theme="dark"] .gpm-ring span,
html[data-gpm-theme="dark"] .gpm-ring-card strong,
html[data-gpm-theme="dark"] .gpm-course-card h3,
html[data-gpm-theme="dark"] .gpm-instructor-brand strong,
html[data-gpm-theme="dark"] .gpm-access-icon,
html[data-gpm-theme="dark"] .gpm-resource-link {
	color: #fdba49 !important;
}

html[data-gpm-theme="dark"] .gpm-button--primary,
html[data-gpm-theme="dark"] .gpm-instructor-actions .is-primary,
html[data-gpm-theme="dark"] .gpm-module-structure > header form button,
html[data-gpm-theme="dark"] .gpm-access-form > .gpm-button,
html[data-gpm-theme="dark"] .gpm-mini-button:not(.gpm-mini-button--danger) {
	background: #fdba49;
	border-color: #fdba49;
	box-shadow: 0 8px 24px rgba(253, 186, 73, 0.18);
	color: #281800 !important;
}

html[data-gpm-theme="dark"] .gpm-button--start {
	background: var(--gpm-red);
	border-color: var(--gpm-red);
	box-shadow: none;
	color: #ffffff !important;
}

html[data-gpm-theme="dark"] .gpm-button--primary:hover,
html[data-gpm-theme="dark"] .gpm-instructor-actions .is-primary:hover,
html[data-gpm-theme="dark"] .gpm-mini-button:not(.gpm-mini-button--danger):hover {
	background: #8a2124;
	border-color: #8a2124;
	box-shadow: 0 12px 28px rgba(138, 33, 36, 0.30);
	color: #ffdad6 !important;
}

html[data-gpm-theme="dark"] .gpm-inline-edit {
	background: rgba(215, 227, 248, 0.04);
	border-color: rgba(142, 145, 150, 0.22);
}

html[data-gpm-theme="dark"] .gpm-inline-edit summary {
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-inline-edit input,
html[data-gpm-theme="dark"] .gpm-inline-edit textarea,
html[data-gpm-theme="dark"] .gpm-inline-actions button,
html[data-gpm-theme="dark"] .gpm-icon-action {
	background: #1f2b3a;
	border-color: rgba(142, 145, 150, 0.22);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-button--dark,
html[data-gpm-theme="dark"] .gpm-instructor-new,
html[data-gpm-theme="dark"] .gpm-mini-button--danger,
html[data-gpm-theme="dark"] .gpm-vault-modules button.is-active,
html[data-gpm-theme="dark"] .gpm-instructor-sidebar nav a.is-active,
html[data-gpm-theme="dark"] .gpm-instructor-sidebar .gpm-instructor-nav-panel > a.is-active:not(.gpm-instructor-new):not(.gpm-instructor-support) {
	background: #8a2124;
	border-color: #8a2124;
	color: #ffdad6 !important;
}

/* Botões outline âmbar no dark mode */
html[data-gpm-theme="dark"] .gpm-button--light,
html[data-gpm-theme="dark"] .gpm-button--secondary,
html[data-gpm-theme="dark"] .gpm-instructor-actions a:not(.is-primary),
html[data-gpm-theme="dark"] .gpm-vault-modules button {
	background: transparent;
	border-color: rgba(253, 186, 73, 0.34);
	color: #fdba49 !important;
}

/* Hover outline âmbar → outline vermelho + texto vermelho */
html[data-gpm-theme="dark"] .gpm-button--light:hover,
html[data-gpm-theme="dark"] .gpm-instructor-actions a:not(.is-primary):hover,
html[data-gpm-theme="dark"] .gpm-vault-modules button:hover {
	background: transparent;
	border-color: #8a2124;
	color: #ffdad6 !important;
	box-shadow: 0 0 0 1px #8a2124;
}

/* mini-button--danger hover no dark mode */
html[data-gpm-theme="dark"] .gpm-mini-button--danger:hover {
	background: #6a1518;
	border-color: #6a1518;
	color: #ffdad6 !important;
}

html[data-gpm-theme="dark"] .gpm-tabs a {
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-tabs a:hover,
html[data-gpm-theme="dark"] .gpm-instructor-sidebar nav a:hover,
html[data-gpm-theme="dark"] .gpm-instructor-sidebar .gpm-instructor-nav-panel > a:not(.gpm-instructor-new):not(.gpm-instructor-support):hover {
	background: #2a3645;
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-pill,
html[data-gpm-theme="dark"] .gpm-course-meta span,
html[data-gpm-theme="dark"] .gpm-badges li,
html[data-gpm-theme="dark"] .gpm-clean-list li span,
html[data-gpm-theme="dark"] .gpm-module-badge,
html[data-gpm-theme="dark"] .gpm-student-table mark {
	background: rgba(253, 186, 73, 0.12);
	border-color: rgba(253, 186, 73, 0.28);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-progress {
	background: rgba(215, 227, 248, 0.12);
}

html[data-gpm-theme="dark"] .gpm-progress span {
	background: linear-gradient(90deg, #8a2124, #fdba49);
}

html[data-gpm-theme="dark"] .gpm-ring {
	background:
		radial-gradient(circle at center, #14202f 0 55%, transparent 56%),
		conic-gradient(var(--gpm-ring-color) calc(var(--gpm-value) * 1%), rgba(215, 227, 248, 0.12) 0);
}

html[data-gpm-theme="dark"] .gpm-ring::after {
	background: #101c2b;
	border-color: rgba(253, 186, 73, 0.16);
}

html[data-gpm-theme="dark"] input,
html[data-gpm-theme="dark"] select,
html[data-gpm-theme="dark"] textarea,
html[data-gpm-theme="dark"] .gpm-instructor-topbar input,
html[data-gpm-theme="dark"] .gpm-vault input,
html[data-gpm-theme="dark"] .gpm-vault select,
html[data-gpm-theme="dark"] .gpm-vault textarea,
html[data-gpm-theme="dark"] .gpm-course-basic input,
html[data-gpm-theme="dark"] .gpm-course-basic select,
html[data-gpm-theme="dark"] .gpm-course-basic textarea,
html[data-gpm-theme="dark"] .gpm-module-structure input,
html[data-gpm-theme="dark"] .gpm-module-structure select,
html[data-gpm-theme="dark"] .gpm-access-form input,
html[data-gpm-theme="dark"] .gpm-access-form select,
html[data-gpm-theme="dark"] .gpm-access-form textarea,
html[data-gpm-theme="dark"] .gpm-enrollment-search input,
html[data-gpm-theme="dark"] .gpm-student-filters input,
html[data-gpm-theme="dark"] .gpm-student-filters select,
html[data-gpm-theme="dark"] .gpm-profile-panel input,
html[data-gpm-theme="dark"] .gpm-profile-panel select,
html[data-gpm-theme="dark"] .gpm-profile-panel textarea {
	background: #030f1d;
	border-color: rgba(142, 145, 150, 0.34);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-member-contact-status {
	color: #86efac;
}

html[data-gpm-theme="dark"] .gpm-member-contact-picker > span {
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-contact-picker-button,
html[data-gpm-theme="dark"] .gpm-contact-picker-option {
	background: #030f1d;
	border-color: rgba(142, 145, 150, 0.34);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-contact-picker-results {
	border-color: rgba(142, 145, 150, 0.28);
}

html[data-gpm-theme="dark"] .gpm-contact-picker-option:hover,
html[data-gpm-theme="dark"] .gpm-contact-picker-option:focus-visible,
html[data-gpm-theme="dark"] .gpm-contact-picker-modal__close:hover,
html[data-gpm-theme="dark"] .gpm-contact-picker-modal__close:focus-visible {
	background: #1f2b3a;
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-access-form--users input[readonly] {
	background: #101c2b;
	border-color: rgba(134, 239, 172, 0.34);
	color: #cbd5e1;
}

html[data-gpm-theme="dark"] .gpm-form-notice {
	background: rgba(253, 186, 73, 0.06);
	border-color: rgba(253, 186, 73, 0.24);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-form-notice .dashicons {
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-vault-trusted,
html[data-gpm-theme="dark"] .gpm-vault-secondary-actions {
	background: rgba(253, 186, 73, 0.06);
	border-color: rgba(253, 186, 73, 0.18);
}

html[data-gpm-theme="dark"] .gpm-vault-trusted strong {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-vault-trusted small {
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-vault-secondary-actions .gpm-link-button {
	background: #1f2b3a;
	border-color: rgba(253, 186, 73, 0.24);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-vault-secondary-actions .gpm-link-button:hover,
html[data-gpm-theme="dark"] .gpm-vault-secondary-actions .gpm-link-button:focus-visible {
	border-color: #fdba49;
	box-shadow: 0 0 0 3px rgba(253, 186, 73, 0.12);
}

html[data-gpm-theme="dark"] input::placeholder,
html[data-gpm-theme="dark"] textarea::placeholder {
	color: rgba(196, 198, 204, 0.62);
}

html[data-gpm-theme="dark"] input:focus,
html[data-gpm-theme="dark"] select:focus,
html[data-gpm-theme="dark"] textarea:focus,
html[data-gpm-theme="dark"] .gpm-icon-picker[open] summary {
	border-color: #fdba49;
	box-shadow: 0 0 0 3px rgba(253, 186, 73, 0.16);
	outline: none;
}

html[data-gpm-theme="dark"] .gpm-instructor-card label,
html[data-gpm-theme="dark"] .gpm-instructor-card label span,
html[data-gpm-theme="dark"] .gpm-instructor-card > label,
html[data-gpm-theme="dark"] .gpm-course-basic label,
html[data-gpm-theme="dark"] .gpm-course-basic label span,
html[data-gpm-theme="dark"] .gpm-stitch-panel label,
html[data-gpm-theme="dark"] .gpm-stitch-panel label span {
	color: #c4c6cc !important;
}

html[data-gpm-theme="dark"] .gpm-rich-toolbar button,
html[data-gpm-theme="dark"] .gpm-icon-picker summary,
html[data-gpm-theme="dark"] .gpm-icon-picker label > span,
html[data-gpm-theme="dark"] .gpm-icon-picker summary > span {
	background: #101c2b;
	border-color: rgba(142, 145, 150, 0.24);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-rich-toolbar button:hover,
html[data-gpm-theme="dark"] .gpm-icon-picker label > span:hover,
html[data-gpm-theme="dark"] .gpm-icon-picker input:checked + span {
	background: #fdba49;
	border-color: #fdba49;
	color: #281800;
}

html[data-gpm-theme="dark"] .gpm-rich-toolbar button:focus,
html[data-gpm-theme="dark"] .gpm-rich-toolbar button:active {
	background: #101c2b;
	border-color: rgba(142, 145, 150, 0.24);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-rich-toolbar button:focus-visible {
	box-shadow: 0 0 0 2px rgba(253, 186, 73, 0.38);
}

html[data-gpm-theme="dark"] .gpm-rich-editor.is-dragging-image,
html[data-gpm-theme="dark"] .gpm-html-editor.is-dragging-image {
	border-color: #fdba49;
	box-shadow: 0 0 0 3px rgba(253, 186, 73, 0.14);
}

html[data-gpm-theme="dark"] .gpm-access-icon,
html[data-gpm-theme="dark"] .gpm-student-table i {
	background: #101c2b;
	border: 1px solid rgba(253, 186, 73, 0.18);
}

html[data-gpm-theme="dark"] .gpm-student-table button.gpm-user-identity-button:hover,
html[data-gpm-theme="dark"] .gpm-student-table button.gpm-user-identity-button:focus-visible {
	background: rgba(253, 186, 73, 0.08);
	color: #fdba49;
	outline-color: rgba(253, 186, 73, 0.28);
}

html[data-gpm-theme="dark"] .gpm-toast {
	background: #14202f;
	border-color: rgba(142, 145, 150, 0.24);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-modal__backdrop,
html[data-gpm-theme="dark"] .gpm-image-crop-modal__backdrop {
	background: rgba(3, 15, 29, 0.78);
}

html[data-gpm-theme="dark"] .gpm-image-crop-modal canvas {
	background: #030f1d;
	border-color: rgba(253, 186, 73, 0.18);
}

html[data-gpm-theme="dark"] .gpm-image-crop-modal .gpm-image-crop-modal__dialog footer button[data-gpm-image-crop-apply] {
	background-color: #fdba49 !important;
	border-color: #fdba49 !important;
	box-shadow: 0 10px 22px rgba(253, 186, 73, 0.18) !important;
	color: #281800 !important;
}

html[data-gpm-theme="dark"] .gpm-image-crop-modal .gpm-image-crop-modal__dialog footer button[data-gpm-image-crop-cancel] {
	background-color: #101c2b !important;
	border-color: rgba(253, 186, 73, 0.28) !important;
	color: #fdba49 !important;
}

@media (max-width: 720px) {
	.gpm-member-toolbar {
		justify-content: stretch;
	}

	.gpm-member-toolbar .gpm-theme-toggle,
	.gpm-instructor-topbar .gpm-theme-toggle {
		justify-content: center;
		width: 100%;
	}

		.gpm-habits__head,
		.gpm-ego__head,
		.gpm-ego-panorama__head,
		.gpm-habits__actions,
		.gpm-ego__actions,
		.gpm-habit-item,
		.gpm-habit-item__side {
		align-items: stretch;
		flex-direction: column;
	}

		.gpm-habits-search,
		.gpm-ego-search,
		.gpm-habits__actions .gpm-button,
		.gpm-ego__actions .gpm-button {
			width: 100%;
		}

		.gpm-habits-summary,
			.gpm-habit-create,
				.gpm-habits-grid,
				.gpm-ego-panorama__metrics,
				.gpm-ego-panorama__grid,
				.gpm-ego-ray-group__grid,
				.gpm-ego-layout,
			.gpm-ego-context,
			.gpm-ego-new-grid,
			.gpm-ego-new-two,
			.gpm-ego-new-four,
			.gpm-ego-lab-grid--description,
			.gpm-ego-lab-grid--two,
			.gpm-ego-lab-grid--three,
			.gpm-ego-line-repeat > div,
			.gpm-ego-compact-repeat > div,
			.gpm-ego-repeat__row,
			.gpm-ego-form__grid,
			.gpm-ego-form__notes,
			.gpm-ego-study__summary,
			.gpm-ego-circles__grid {
				grid-template-columns: 1fr;
			}

			.gpm-ego-lab {
				margin-left: -1rem;
				margin-right: -1rem;
				padding: 1rem;
			}

			.gpm-ego-lab-grid--description > label,
			.gpm-ego-lab-grid--description > fieldset,
			.gpm-ego-lab-grid--description > label:nth-child(1),
			.gpm-ego-lab-grid--description > label:nth-child(2) {
				grid-column: auto;
			}

			.gpm-ego-new-footer {
				align-items: stretch;
				flex-direction: column;
				position: static;
			}

	.gpm-habit-icon-picker {
		grid-template-columns: repeat(6, 34px);
	}

	.gpm-habit-item__side {
		justify-content: flex-start;
	}
}

html[data-gpm-theme="dark"] .gpm-student-sidebar {
	background: rgba(16, 28, 43, 0.96);
	border-right-color: rgba(68, 71, 76, 0.9);
}

html[data-gpm-theme="dark"] .gpm-student-brand {
	border-bottom-color: rgba(68, 71, 76, 0.6);
}

html[data-gpm-theme="dark"] .gpm-student-brand__info strong {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-student-brand__institution {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-student-course-links a {
	border-left-color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-student-menu-toggle {
	background: #fdba49;
	color: #281800;
}

html[data-gpm-theme="dark"] .gpm-student-menu-toggle:hover,
html[data-gpm-theme="dark"] .gpm-student-menu-toggle:focus-visible {
	background: #f0ad3a;
}

html[data-gpm-theme="dark"] .gpm-student-brand__info span {
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-student-nav a,
html[data-gpm-theme="dark"] .gpm-student-course-links a,
html[data-gpm-theme="dark"] .gpm-student-new-entry {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(142, 145, 150, 0.26);
	color: #c8d8f0;
}

html[data-gpm-theme="dark"] .gpm-student-nav a:hover,
html[data-gpm-theme="dark"] .gpm-student-course-links a:hover,
html[data-gpm-theme="dark"] .gpm-student-course-links a:focus-visible,
html[data-gpm-theme="dark"] .gpm-student-new-entry:hover,
html[data-gpm-theme="dark"] .gpm-student-new-entry:focus-visible {
	background: #2a3645;
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-student-nav a.is-active,
html[data-gpm-theme="dark"] .gpm-student-course-links a.is-active,
html[data-gpm-theme="dark"] .gpm-student-new-entry.is-active {
	background: #fdba49;
	border-color: #fdba49;
	color: #281800;
}

html[data-gpm-theme="dark"] .gpm-student-nav a.is-active .dashicons,
html[data-gpm-theme="dark"] .gpm-student-course-links a.is-active .dashicons,
html[data-gpm-theme="dark"] .gpm-student-new-entry.is-active .dashicons {
	color: currentColor;
}

html[data-gpm-theme="dark"] .gpm-student-nav a.gpm-nav-cursos,
html[data-gpm-theme="dark"] .gpm-student-nav a.gpm-nav-cursos.is-active {
	background: rgba(59, 130, 246, 0.18);
	border-color: #3b82f6;
	color: #93c5fd;
}

html[data-gpm-theme="dark"] .gpm-premium-pill {
	background: rgba(253, 186, 73, 0.18);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-student-nav a.is-active .gpm-premium-pill {
	background: rgba(40, 24, 0, 0.25);
	color: #281800;
}

html[data-gpm-theme="dark"] .gpm-premium-locked__icon {
	background: rgba(253, 186, 73, 0.18);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-ip-bento-card__locked .dashicons {
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-premium-locked p,
html[data-gpm-theme="dark"] .gpm-ip-bento-card__locked p {
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-field-modal__dialog label.gpm-premium-feature-option {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(142, 145, 150, 0.22);
}

html[data-gpm-theme="dark"] .gpm-field-modal__dialog label.gpm-premium-feature-option:hover {
	background: rgba(255, 255, 255, 0.08);
}

html[data-gpm-theme="dark"] .gpm-field-modal__dialog label.gpm-premium-feature-option:has(input:checked) {
	background: rgba(253, 186, 73, 0.12);
	border-color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-field-modal__dialog .gpm-premium-feature-option input[type="checkbox"] {
	accent-color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-field-modal__dialog .gpm-premium-feature-option span {
	color: #d7e3f8;
}


html[data-gpm-theme="dark"] .gpm-ip-stat-card,
html[data-gpm-theme="dark"] .gpm-ip-bento-card {
	background: #14202f;
	border-color: rgba(68, 71, 76, 0.85);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.2);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] :is(.gpm-home-panel, .gpm-student-questions-list > article) {
	background: #14202f;
	border-color: rgba(215, 227, 248, 0.16);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.2);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] :is(.gpm-home-panel__head h2, .gpm-home-panel__body h3, .gpm-home-questions a, .gpm-student-questions-list h2) {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] :is(.gpm-home-panel__body, .gpm-home-panel__empty, .gpm-home-questions small, .gpm-student-question-answer p) {
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] :is(.gpm-home-notice__content a, .gpm-home-panel__actions > a:not(.gpm-button)) {
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-home-panel__icon {
	background: rgba(253, 186, 73, 0.14);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-home-panel--questions .gpm-home-panel__icon {
	background: #1f2b3a;
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-home-panel--testimonial .gpm-home-panel__icon {
	background: rgba(138, 33, 36, 0.35);
	color: #ffdad6;
}

html[data-gpm-theme="dark"] .gpm-home-panel__badge,
html[data-gpm-theme="dark"] .gpm-question-status.is-pending {
	background: rgba(253, 186, 73, 0.14);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-question-status.is-answered {
	background: rgba(74, 222, 128, 0.13);
	color: #86efac;
}

html[data-gpm-theme="dark"] .gpm-home-milestone-card--plan,
html[data-gpm-theme="dark"] .gpm-home-milestone-card--gathering {
	background: #1f2b3a;
}

html[data-gpm-theme="dark"] .gpm-home-milestone-card--graduation {
	background: linear-gradient(145deg, #8a2124, #3a0002);
}

html[data-gpm-theme="dark"] .gpm-home-milestone-card .gpm-button--light {
	background: #fdba49;
	border-color: #fdba49;
	color: #071422 !important;
}

html[data-gpm-theme="dark"] .gpm-student-question-answer {
	background: #1f2b3a;
	border-left-color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-ip-stat-card strong,
html[data-gpm-theme="dark"] .gpm-ip-stat-card > span:not(.dashicons),
html[data-gpm-theme="dark"] .gpm-ip-bento-card h2,
html[data-gpm-theme="dark"] .gpm-ip-bento-card blockquote,
html[data-gpm-theme="dark"] .gpm-ip-timeline li,
html[data-gpm-theme="dark"] .gpm-ip-bento-card button {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-ip-eyebrow,
html[data-gpm-theme="dark"] .gpm-ip-stat-card small {
	color: #fdba49 !important;
}

html[data-gpm-theme="dark"] .gpm-ip-bento-card p,
html[data-gpm-theme="dark"] .gpm-ip-bento-card__footer em,
html[data-gpm-theme="dark"] .gpm-ip-timeline span {
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-ip-card-icon {
	background: rgba(253, 186, 73, 0.14);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-ip-card-icon--red {
	background: rgba(138, 33, 36, 0.35);
	color: #ffdad6;
}

html[data-gpm-theme="dark"] .gpm-ip-card-icon--muted,
html[data-gpm-theme="dark"] .gpm-ip-chip {
	background: #2a3645;
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-ip-ring {
	background:
		radial-gradient(#14202f 56%, transparent 57%),
		conic-gradient(#fdba49 var(--gpm-ring-value), #2a3645 0);
}

html[data-gpm-theme="dark"] .gpm-ip-ring span {
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-ip-bento-card--habits {
	border-color: rgba(253, 186, 73, 0.24);
}

html[data-gpm-theme="dark"] .gpm-ip-bento-card--ego {
	background: #8a2124;
	border-color: #8a2124;
}

html[data-gpm-theme="dark"] .gpm-ip-bento-card--ego button {
	background: #fdba49;
	color: #281800;
}

html[data-gpm-theme="dark"] .gpm-ip-timeline {
	border-left-color: #44474c;
}

html[data-gpm-theme="dark"] .gpm-ip-timeline li::before {
	background: #44474c;
}

html[data-gpm-theme="dark"] .gpm-ip-timeline li.is-done::before {
	background: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-diaries__head h2,
html[data-gpm-theme="dark"] .gpm-habits__head h2,
html[data-gpm-theme="dark"] .gpm-ego__head h2,
html[data-gpm-theme="dark"] .gpm-ego-new__hero h2,
html[data-gpm-theme="dark"] .gpm-ego-lab__hero h2,
html[data-gpm-theme="dark"] .gpm-ego-new-section summary,
html[data-gpm-theme="dark"] .gpm-ego-lab-card summary strong,
html[data-gpm-theme="dark"] .gpm-diary-card h3,
html[data-gpm-theme="dark"] .gpm-diary-editor h3,
html[data-gpm-theme="dark"] .gpm-diary-suggestions h3,
html[data-gpm-theme="dark"] .gpm-diary-list h3,
html[data-gpm-theme="dark"] .gpm-diary-notes h3,
html[data-gpm-theme="dark"] .gpm-diary-suggestions strong,
html[data-gpm-theme="dark"] .gpm-habit-stat strong,
html[data-gpm-theme="dark"] .gpm-habit-board h3,
html[data-gpm-theme="dark"] .gpm-habit-reminders h3,
html[data-gpm-theme="dark"] .gpm-habit-calendar h3,
html[data-gpm-theme="dark"] .gpm-habit-item strong,
html[data-gpm-theme="dark"] .gpm-habit-reminders strong,
html[data-gpm-theme="dark"] .gpm-ego-list-panel h3,
html[data-gpm-theme="dark"] .gpm-ego-panorama__head h3,
html[data-gpm-theme="dark"] .gpm-ego-panorama-card h4,
html[data-gpm-theme="dark"] .gpm-ego-panorama-card strong,
html[data-gpm-theme="dark"] .gpm-ego-study h3,
html[data-gpm-theme="dark"] .gpm-ego-form h3,
html[data-gpm-theme="dark"] .gpm-ego-new-form label,
html[data-gpm-theme="dark"] .gpm-ego-new-form fieldset legend,
html[data-gpm-theme="dark"] .gpm-ego-repeat h4,
html[data-gpm-theme="dark"] .gpm-ego-lab-form label > span,
html[data-gpm-theme="dark"] .gpm-ego-lab-form fieldset legend,
html[data-gpm-theme="dark"] .gpm-ego-lab-form h4,
html[data-gpm-theme="dark"] .gpm-ego-list__title,
html[data-gpm-theme="dark"] .gpm-ego-study h4,
html[data-gpm-theme="dark"] .gpm-ego-circles h4,
html[data-gpm-theme="dark"] .gpm-ego-associations h4 {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-diaries__head p:not(.gpm-kicker),
html[data-gpm-theme="dark"] .gpm-habits__head p:not(.gpm-kicker),
html[data-gpm-theme="dark"] .gpm-ego__head p:not(.gpm-kicker),
html[data-gpm-theme="dark"] .gpm-ego-new__hero p:not(.gpm-kicker),
html[data-gpm-theme="dark"] .gpm-ego-lab__hero p:not(.gpm-kicker),
html[data-gpm-theme="dark"] .gpm-diary-card p,
html[data-gpm-theme="dark"] .gpm-diary-editor header p,
html[data-gpm-theme="dark"] .gpm-diary-editor footer span,
html[data-gpm-theme="dark"] .gpm-diary-suggestions span,
html[data-gpm-theme="dark"] .gpm-habit-stat small,
html[data-gpm-theme="dark"] .gpm-habit-item__main span:not(.dashicons),
html[data-gpm-theme="dark"] .gpm-habit-item__side > span,
html[data-gpm-theme="dark"] .gpm-habit-reminders small,
html[data-gpm-theme="dark"] .gpm-habit-reminders li,
html[data-gpm-theme="dark"] .gpm-habit-calendar header span,
html[data-gpm-theme="dark"] .gpm-habit-calendar__days span,
html[data-gpm-theme="dark"] .gpm-habit-calendar p,
html[data-gpm-theme="dark"] .gpm-ego-list small,
html[data-gpm-theme="dark"] .gpm-ego-panorama__head > span,
html[data-gpm-theme="dark"] .gpm-ego-panorama__metrics span,
html[data-gpm-theme="dark"] .gpm-ego-panorama-card p,
html[data-gpm-theme="dark"] .gpm-ego-empty,
html[data-gpm-theme="dark"] .gpm-ego-study__empty,
html[data-gpm-theme="dark"] .gpm-ego-beliefs p,
html[data-gpm-theme="dark"] .gpm-ego-associations p,
html[data-gpm-theme="dark"] .gpm-ego-circles p,
html[data-gpm-theme="dark"] .gpm-ego-form > footer > span,
html[data-gpm-theme="dark"] .gpm-ego-study blockquote {
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-diaries-search,
html[data-gpm-theme="dark"] .gpm-habits-search,
html[data-gpm-theme="dark"] .gpm-ego-search,
html[data-gpm-theme="dark"] .gpm-ego-panorama,
html[data-gpm-theme="dark"] .gpm-diary-create,
html[data-gpm-theme="dark"] .gpm-habit-create,
html[data-gpm-theme="dark"] .gpm-ego-list-panel,
html[data-gpm-theme="dark"] .gpm-ego-study,
html[data-gpm-theme="dark"] .gpm-ego-form,
html[data-gpm-theme="dark"] .gpm-ego-new-section,
html[data-gpm-theme="dark"] .gpm-ego-new-footer,
html[data-gpm-theme="dark"] .gpm-ego-lab-card,
html[data-gpm-theme="dark"] .gpm-diary-card,
html[data-gpm-theme="dark"] .gpm-diary-editor,
html[data-gpm-theme="dark"] .gpm-diary-suggestions,
html[data-gpm-theme="dark"] .gpm-diary-list,
html[data-gpm-theme="dark"] .gpm-diary-notes,
html[data-gpm-theme="dark"] .gpm-habit-stat,
html[data-gpm-theme="dark"] .gpm-habit-board,
html[data-gpm-theme="dark"] .gpm-habit-reminders,
html[data-gpm-theme="dark"] .gpm-habit-calendar {
	background: #14202f;
	border-color: rgba(68, 71, 76, 0.85);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.2);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-diaries-search input,
html[data-gpm-theme="dark"] .gpm-habits-search input,
html[data-gpm-theme="dark"] .gpm-ego-search input,
html[data-gpm-theme="dark"] .gpm-diary-create input,
html[data-gpm-theme="dark"] .gpm-habit-create input,
html[data-gpm-theme="dark"] .gpm-ego-form input,
html[data-gpm-theme="dark"] .gpm-ego-form select,
html[data-gpm-theme="dark"] .gpm-ego-form textarea,
html[data-gpm-theme="dark"] .gpm-ego-new-form input,
html[data-gpm-theme="dark"] .gpm-ego-new-form select,
html[data-gpm-theme="dark"] .gpm-ego-new-form textarea,
html[data-gpm-theme="dark"] .gpm-ego-lab-form input,
html[data-gpm-theme="dark"] .gpm-ego-lab-form select,
html[data-gpm-theme="dark"] .gpm-ego-lab-form textarea,
html[data-gpm-theme="dark"] .gpm-diary-editor input,
html[data-gpm-theme="dark"] .gpm-diary-editor select,
html[data-gpm-theme="dark"] .gpm-diary-editor textarea {
	background: #071422;
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-diaries-search input::placeholder,
html[data-gpm-theme="dark"] .gpm-habits-search input::placeholder,
html[data-gpm-theme="dark"] .gpm-ego-search input::placeholder,
html[data-gpm-theme="dark"] .gpm-diary-create input::placeholder,
html[data-gpm-theme="dark"] .gpm-habit-create input::placeholder,
html[data-gpm-theme="dark"] .gpm-ego-form input::placeholder,
html[data-gpm-theme="dark"] .gpm-ego-form textarea::placeholder,
html[data-gpm-theme="dark"] .gpm-ego-new-form input::placeholder,
html[data-gpm-theme="dark"] .gpm-ego-new-form textarea::placeholder,
html[data-gpm-theme="dark"] .gpm-diary-editor input::placeholder,
html[data-gpm-theme="dark"] .gpm-diary-editor textarea::placeholder {
	color: #728093;
}

html[data-gpm-theme="dark"] .gpm-diary-editor header,
html[data-gpm-theme="dark"] .gpm-diary-editor footer,
html[data-gpm-theme="dark"] .gpm-diary-select-row,
html[data-gpm-theme="dark"] .gpm-diary-editor > label:not(.gpm-diary-select-row):not(.gpm-diary-rich-field),
html[data-gpm-theme="dark"] .gpm-diary-rich-field,
html[data-gpm-theme="dark"] .gpm-diary-list button,
html[data-gpm-theme="dark"] .gpm-diary-count,
html[data-gpm-theme="dark"] .gpm-diary-notes li,
html[data-gpm-theme="dark"] .gpm-habit-item,
html[data-gpm-theme="dark"] .gpm-habit-empty,
html[data-gpm-theme="dark"] .gpm-ego-list li.is-active .gpm-ego-list-card,
html[data-gpm-theme="dark"] .gpm-ego-panorama__metrics article,
html[data-gpm-theme="dark"] .gpm-ego-panorama-card,
html[data-gpm-theme="dark"] .gpm-ego-empty,
html[data-gpm-theme="dark"] .gpm-ego-study > header,
html[data-gpm-theme="dark"] .gpm-ego-beliefs,
html[data-gpm-theme="dark"] .gpm-ego-associations,
html[data-gpm-theme="dark"] .gpm-ego-circles article,
html[data-gpm-theme="dark"] .gpm-ego-context article,
html[data-gpm-theme="dark"] .gpm-ego-repeat,
html[data-gpm-theme="dark"] .gpm-ego-repeat li,
html[data-gpm-theme="dark"] .gpm-ego-repeat--lab,
html[data-gpm-theme="dark"] .gpm-ego-mini-repeat,
html[data-gpm-theme="dark"] .gpm-ego-line-repeat,
html[data-gpm-theme="dark"] .gpm-ego-memory-repeat,
html[data-gpm-theme="dark"] .gpm-ego-need-repeat,
html[data-gpm-theme="dark"] .gpm-ego-compact-repeat,
html[data-gpm-theme="dark"] .gpm-ego-mini-repeat li,
html[data-gpm-theme="dark"] .gpm-ego-line-repeat li,
html[data-gpm-theme="dark"] .gpm-ego-memory-repeat li,
html[data-gpm-theme="dark"] .gpm-ego-need-repeat li,
html[data-gpm-theme="dark"] .gpm-ego-compact-repeat li {
	background: #1f2b3a;
	border-color: rgba(68, 71, 76, 0.85);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-ego-panorama-card span {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-ego-rays__empty,
html[data-gpm-theme="dark"] .gpm-ego-ray-group,
html[data-gpm-theme="dark"] .gpm-ego-ray-card,
html[data-gpm-theme="dark"] .gpm-ego-ray-card__body section {
	background: #1f2b3a;
	border-color: rgba(68, 71, 76, 0.85);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-ego-ray-card {
	background: #14202f;
}

html[data-gpm-theme="dark"] .gpm-ego-ray-card > header {
	border-color: rgba(68, 71, 76, 0.85);
}

html[data-gpm-theme="dark"] .gpm-ego-ray-group summary,
html[data-gpm-theme="dark"] .gpm-ego-ray-card__title,
html[data-gpm-theme="dark"] .gpm-ego-ray-card__body h5 {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-ego-ray-group summary strong,
html[data-gpm-theme="dark"] .gpm-ego-ray-group summary::after,
html[data-gpm-theme="dark"] .gpm-ego-ray-card > header > strong,
html[data-gpm-theme="dark"] .gpm-ego-ray-card__body small {
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-ego-rays__empty,
html[data-gpm-theme="dark"] .gpm-ego-ray-card p,
html[data-gpm-theme="dark"] .gpm-ego-ray-card__body p {
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-ego-ray-card__body span {
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-ego-ray-card__body section {
	border-left-color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-diary-icon,
html[data-gpm-theme="dark"] .gpm-diary-icon-picker span,
html[data-gpm-theme="dark"] .gpm-diary-card button,
html[data-gpm-theme="dark"] .gpm-diary-list button,
html[data-gpm-theme="dark"] .gpm-diary-notes button,
html[data-gpm-theme="dark"] .gpm-diary-editor header > div > .dashicons,
html[data-gpm-theme="dark"] .gpm-diary-editor header button,
html[data-gpm-theme="dark"] .gpm-habit-stat span,
html[data-gpm-theme="dark"] .gpm-habit-create label,
html[data-gpm-theme="dark"] .gpm-habit-create label > span,
html[data-gpm-theme="dark"] .gpm-habit-icon-picker legend,
html[data-gpm-theme="dark"] .gpm-habit-item__icon,
html[data-gpm-theme="dark"] .gpm-habit-board > header button,
html[data-gpm-theme="dark"] .gpm-habit-action,
html[data-gpm-theme="dark"] .gpm-ego-list-panel > header span,
html[data-gpm-theme="dark"] .gpm-ego-list em,
html[data-gpm-theme="dark"] .gpm-ego-panorama__metrics strong,
html[data-gpm-theme="dark"] .gpm-ego-panorama-card small,
html[data-gpm-theme="dark"] .gpm-ego-form label,
html[data-gpm-theme="dark"] .gpm-ego-form label > span,
html[data-gpm-theme="dark"] .gpm-ego-centers legend,
html[data-gpm-theme="dark"] .gpm-ego-new__back,
html[data-gpm-theme="dark"] .gpm-ego-new__hero .gpm-kicker,
html[data-gpm-theme="dark"] .gpm-ego-lab__hero .gpm-kicker,
html[data-gpm-theme="dark"] .gpm-ego-context strong,
html[data-gpm-theme="dark"] .gpm-ego-new-footer span,
html[data-gpm-theme="dark"] .gpm-ego-study__actions button,
html[data-gpm-theme="dark"] .gpm-ego-form > header button,
html[data-gpm-theme="dark"] .gpm-ego-circles h5 {
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-diary-icon,
html[data-gpm-theme="dark"] .gpm-habit-icon-picker span,
html[data-gpm-theme="dark"] .gpm-habit-item__icon,
html[data-gpm-theme="dark"] .gpm-ego-study__empty .dashicons,
html[data-gpm-theme="dark"] .gpm-ego-chip,
html[data-gpm-theme="dark"] .gpm-ego-new-section__icon,
html[data-gpm-theme="dark"] .gpm-ego-context span,
html[data-gpm-theme="dark"] .gpm-ego-new-priority input:checked + span,
html[data-gpm-theme="dark"] .gpm-ego-centers span {
	background: rgba(253, 186, 73, 0.14);
}

html[data-gpm-theme="dark"] .gpm-diary-icon-picker input:checked + span,
html[data-gpm-theme="dark"] .gpm-habit-icon-picker input:checked + span,
html[data-gpm-theme="dark"] .gpm-habit-check[aria-pressed="true"],
html[data-gpm-theme="dark"] .gpm-ego-centers input:checked + span {
	background: #fdba49;
	color: #281800;
}

html[data-gpm-theme="dark"] .gpm-ego-new-section summary {
	border-color: rgba(68, 71, 76, 0.85);
}

html[data-gpm-theme="dark"] .gpm-ego-metric--duels {
	--gpm-ego-metric-bg: #d7e3f8;
	color: #071524;
}

html[data-gpm-theme="dark"] .gpm-ego-metric--wins {
	--gpm-ego-metric-bg: #fdba49;
	color: #281800;
}

html[data-gpm-theme="dark"] .gpm-ego-metric--days {
	--gpm-ego-metric-bg: #9f4f5b;
	color: #ffffff;
}

html[data-gpm-theme="dark"] .gpm-ego-metric.is-inactive {
	--gpm-ego-metric-bg: #505966;
	color: #d7dde8;
}

html[data-gpm-theme="dark"] .gpm-ego-new-priority span {
	background: #071422;
	border-color: rgba(253, 186, 73, 0.24);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-ego-repeat__row button {
	background: #fdba49;
	color: #281800;
}

html[data-gpm-theme="dark"] .gpm-ego-lab {
	background: linear-gradient(180deg, rgba(3, 15, 29, 0.88), rgba(7, 20, 34, 0));
}

html[data-gpm-theme="dark"] .gpm-ego-lab-card summary {
	background: #14202f;
}

html[data-gpm-theme="dark"] .gpm-ego-new-section[open] summary,
html[data-gpm-theme="dark"] .gpm-ego-lab-card[open] summary {
	background: #071524;
	color: #ffffff;
}

html[data-gpm-theme="dark"] .gpm-ego-new-section[open] summary strong,
html[data-gpm-theme="dark"] .gpm-ego-new-section[open] summary .dashicons,
html[data-gpm-theme="dark"] .gpm-ego-lab-card[open] summary strong {
	color: #ffffff;
}

html[data-gpm-theme="dark"] .gpm-ego-lab-card::before {
	background: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-ego-lab-card .gpm-ego-new-section__icon {
	background: rgba(253, 186, 73, 0.14);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-ego-lab-form input:focus,
html[data-gpm-theme="dark"] .gpm-ego-lab-form select:focus,
html[data-gpm-theme="dark"] .gpm-ego-lab-form textarea:focus {
	border-color: #fdba49;
	box-shadow: 0 0 0 3px rgba(253, 186, 73, 0.14);
}

		html[data-gpm-theme="dark"] .gpm-confirm-modal__backdrop {
			background: rgba(3, 15, 29, 0.72);
		}

	html[data-gpm-theme="dark"] .gpm-confirm-modal__dialog {
		background: #14202f;
		border-color: rgba(253, 186, 73, 0.18);
		box-shadow: 0 26px 70px rgba(0, 0, 0, 0.42);
		color: #d7e3f8;
	}

	html[data-gpm-theme="dark"] .gpm-confirm-modal__dialog h2 {
		color: #fdba49;
	}

	html[data-gpm-theme="dark"] .gpm-confirm-modal__dialog p:not(.gpm-kicker) {
		color: #c4c6cc;
	}

	html[data-gpm-theme="dark"] .gpm-field-modal__backdrop {
		background: rgba(3, 15, 29, 0.72);
	}

	html[data-gpm-theme="dark"] .gpm-field-modal__dialog {
		background: #14202f;
		border-color: rgba(253, 186, 73, 0.18);
		box-shadow: 0 26px 70px rgba(0, 0, 0, 0.42);
		color: #d7e3f8;
	}

	html[data-gpm-theme="dark"] .gpm-field-modal__dialog h2 {
		color: #fdba49;
	}

	html[data-gpm-theme="dark"] .gpm-field-modal__dialog > p,
	html[data-gpm-theme="dark"] .gpm-field-modal__dialog label > span {
		color: #c4c6cc;
	}

	html[data-gpm-theme="dark"] .gpm-field-modal__dialog select,
	html[data-gpm-theme="dark"] .gpm-field-modal__dialog input {
		background: #030f1d;
		border-color: rgba(142, 145, 150, 0.34);
		color: #d7e3f8;
	}

	html[data-gpm-theme="dark"] .gpm-ego-repeat-item__actions button:first-child {
		color: #fdba49;
	}

	html[data-gpm-theme="dark"] .gpm-ego-mini-repeat button,
	html[data-gpm-theme="dark"] .gpm-ego-line-repeat button,
html[data-gpm-theme="dark"] .gpm-ego-memory-repeat button,
html[data-gpm-theme="dark"] .gpm-ego-need-repeat button,
html[data-gpm-theme="dark"] .gpm-ego-compact-repeat button {
	background: #fdba49;
	color: #281800;
}

html[data-gpm-theme="dark"] .gpm-ego-mini-repeat li button,
html[data-gpm-theme="dark"] .gpm-ego-line-repeat li button,
html[data-gpm-theme="dark"] .gpm-ego-memory-repeat li button,
html[data-gpm-theme="dark"] .gpm-ego-need-repeat li button,
html[data-gpm-theme="dark"] .gpm-ego-compact-repeat li button {
	background: transparent;
	color: #ffb3af;
}

	html[data-gpm-theme="dark"] .gpm-ego-repeat li button {
		background: transparent;
		color: #ffb3af;
	}

	html[data-gpm-theme="dark"] .gpm-ego-repeat-item__actions button:first-child {
		color: #fdba49;
	}

html[data-gpm-theme="dark"] .gpm-habit-week span::before {
	background: rgba(253, 186, 73, 0.18);
}

html[data-gpm-theme="dark"] .gpm-habit-week span.is-today,
html[data-gpm-theme="dark"] .gpm-habit-check {
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-habit-week span.is-today::before,
html[data-gpm-theme="dark"] .gpm-habit-reminders li > span {
	background: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-habit-check {
	background: #071422;
	border-color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-habit-calendar__grid span {
	background: rgba(253, 186, 73, var(--gpm-calendar-alpha, 0.08));
	border-color: rgba(253, 186, 73, 0.2);
}

html[data-gpm-theme="dark"] .gpm-habit-calendar__grid span.is-today {
	box-shadow: inset 0 0 0 2px #fdba49;
}

html[data-gpm-theme="dark"] .gpm-habit-action--danger {
	color: #ffb3af;
}

html[data-gpm-theme="dark"] .gpm-ego-list-panel > header,
html[data-gpm-theme="dark"] .gpm-ego-panorama-card li,
html[data-gpm-theme="dark"] .gpm-ego-study > header,
html[data-gpm-theme="dark"] .gpm-ego-form > header,
html[data-gpm-theme="dark"] .gpm-ego-form > footer {
	border-color: rgba(68, 71, 76, 0.85);
}

html[data-gpm-theme="dark"] .gpm-ego-list i {
	background: rgba(253, 186, 73, 0.16);
}

html[data-gpm-theme="dark"] .gpm-ego-list i::before {
	background: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-ego-list li.is-active .gpm-ego-list-card {
	border-left-color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-ego-chip,
html[data-gpm-theme="dark"] .gpm-ego-chip--gold,
html[data-gpm-theme="dark"] .gpm-ego-centers span {
	border-color: rgba(253, 186, 73, 0.28);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-ego-chip--danger,
html[data-gpm-theme="dark"] .gpm-ego-study__actions button.is-danger {
	background: rgba(138, 33, 36, 0.25);
	border-color: rgba(255, 179, 175, 0.32);
	color: #ffb3af;
}

html[data-gpm-theme="dark"] .gpm-ego-beliefs,
html[data-gpm-theme="dark"] .gpm-ego-associations {
	border-left-color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-diary-card--critical .gpm-diary-icon {
	background: rgba(138, 33, 36, 0.35);
	color: #ffdad6;
}

html[data-gpm-theme="dark"] .gpm-diary-suggestions {
	border-left-color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-student-sidebar__bottom {
	border-top-color: rgba(68, 71, 76, 0.6);
}

html[data-gpm-theme="dark"] .gpm-student-sidebar__bottom .gpm-theme-toggle,
html[data-gpm-theme="dark"] .gpm-student-back {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(142, 145, 150, 0.26);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-student-sidebar__bottom .gpm-theme-toggle:hover,
html[data-gpm-theme="dark"] .gpm-student-back:hover {
	background: #2a3645;
	color: #fdba49;
}

/* Mobile: sidebar vira topbar */
@media (max-width: 860px) {
	.gpm-student-app {
		grid-template-columns: 1fr;
	}

	.gpm-student-sidebar {
		align-items: center;
		border-bottom: 1px solid var(--gpm-line);
		border-right: 0;
		display: grid;
		gap: 0.55rem;
		grid-template-columns: minmax(0, 1fr);
		height: auto;
		overflow: visible;
		padding: 0.65rem 1rem 0.8rem;
		position: relative;
		width: 100%;
		z-index: 30;
	}

	.gpm-student-brand__info {
		gap: 0;
	}

	.gpm-student-brand__info strong {
		font-size: 1rem;
		line-height: 1.15;
		white-space: nowrap;
	}

	.gpm-student-brand__info span {
		display: none;
	}

	.gpm-student-brand {
		align-items: center;
		border-bottom: 0;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		min-width: 0;
		margin-bottom: 0;
		padding: 0 0.15rem;
		width: 100%;
	}

	.gpm-student-brand__institution {
		flex: 0 0 72px;
		justify-content: flex-start;
		width: 72px;
	}

	.gpm-student-brand__logo {
		height: 72px;
		width: 72px;
	}

	.gpm-student-brand__info {
		flex: 1;
		text-align: left;
	}

	.gpm-student-menu-toggle {
		display: inline-flex;
	}

	.gpm-student-sidebar__collapse,
	.gpm-student-sidebar-reopen {
		display: none !important;
	}

	/* Painel de navegação do aluno: some por padrão e, ao abrir, sobrepõe o
	   conteúdo como um painel translúcido com blur, no mesmo padrão do menu
	   mobile do site (site-header/style.css, .main-navigation) e do painel
	   lateral de posts (base.css, .mobile-sidebar-panel). Não empurra mais o
	   conteúdo para baixo. */
	.gpm-student-nav-panel {
		display: none;
	}

	.gpm-student-sidebar.is-menu-open .gpm-student-nav-panel {
		background-color: rgba(255, 255, 255, 0.92);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		border-bottom: 1px solid var(--gpm-line);
		box-shadow: var(--shadow-md, 0 12px 28px rgba(0, 0, 0, 0.18));
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		left: 0;
		max-height: min(75vh, 560px);
		overflow-y: auto;
		padding: 0.85rem 1rem 1.1rem;
		position: absolute;
		right: 0;
		top: 100%;
		z-index: 60;
	}

	html[data-gpm-theme="dark"] .gpm-student-sidebar.is-menu-open .gpm-student-nav-panel {
		background-color: rgba(16, 28, 43, 0.92);
		border-bottom-color: rgba(253, 186, 73, 0.16);
		box-shadow: 0 16px 42px rgba(0, 0, 0, 0.28);
	}

	.gpm-student-nav {
		display: grid;
		gap: 0.3rem;
		margin: 0;
		width: 100%;
	}

	.gpm-student-nav a {
		font-size: 0.9rem;
		min-height: 40px;
		padding: 0.6rem 0.75rem;
		white-space: nowrap;
	}

	.gpm-student-nav a,
	.gpm-student-course-links a,
	.gpm-student-new-entry,
	.gpm-student-nav a:hover,
	.gpm-student-course-links a:hover,
	.gpm-student-new-entry:hover,
	.gpm-student-nav a.is-active,
	.gpm-student-course-links a.is-active,
	.gpm-student-new-entry.is-active,
	.gpm-student-nav a.gpm-nav-cursos,
	.gpm-student-nav a.gpm-nav-cursos.is-active,
	.gpm-student-nav a.gpm-nav-cursos:hover {
		background: transparent;
		border: 0;
		color: var(--gpm-primary);
		justify-content: center;
		text-align: center;
	}

	html[data-gpm-theme="dark"] .gpm-student-nav a,
	html[data-gpm-theme="dark"] .gpm-student-course-links a,
	html[data-gpm-theme="dark"] .gpm-student-new-entry,
	html[data-gpm-theme="dark"] .gpm-student-nav a:hover,
	html[data-gpm-theme="dark"] .gpm-student-course-links a:hover,
	html[data-gpm-theme="dark"] .gpm-student-new-entry:hover,
	html[data-gpm-theme="dark"] .gpm-student-nav a.is-active,
	html[data-gpm-theme="dark"] .gpm-student-course-links a.is-active,
	html[data-gpm-theme="dark"] .gpm-student-new-entry.is-active,
	html[data-gpm-theme="dark"] .gpm-student-nav a.gpm-nav-cursos,
	html[data-gpm-theme="dark"] .gpm-student-nav a.gpm-nav-cursos.is-active {
		background: transparent;
		border-color: transparent;
		color: var(--gpm-primary);
	}

	.gpm-student-sidebar__bottom {
		border-top: 1px solid var(--gpm-line);
		display: grid;
		gap: 0.3rem;
		grid-template-columns: 1fr;
		margin-top: 0.5rem;
		padding-top: 0.5rem;
	}

	.gpm-student-new-entry,
	.gpm-student-sidebar__bottom .gpm-theme-toggle,
	.gpm-student-back {
		font-size: 0.78rem;
		min-height: 40px;
		padding: 0.55rem 0.65rem;
	}

	.gpm-student-back {
		justify-content: center;
	}

	.gpm-student-sidebar__bottom .gpm-theme-toggle,
	.gpm-student-back,
	.gpm-student-sidebar__bottom .gpm-theme-toggle:hover,
	.gpm-student-back:hover {
		background: transparent;
		border: 0;
		color: var(--gpm-primary);
		justify-content: center;
		text-align: center;
	}

	html[data-gpm-theme="dark"] .gpm-student-sidebar__bottom .gpm-theme-toggle,
	html[data-gpm-theme="dark"] .gpm-student-back,
	html[data-gpm-theme="dark"] .gpm-student-sidebar__bottom .gpm-theme-toggle:hover,
	html[data-gpm-theme="dark"] .gpm-student-back:hover {
		background: transparent;
		border-color: transparent;
		color: var(--gpm-primary);
	}

	.gpm-student-main {
		padding: 1rem;
	}

	.gpm-ip-stats,
	.gpm-ip-bento {
		grid-template-columns: 1fr;
	}

	.gpm-ip-bento-card--diary,
	.gpm-ip-bento-card--habits,
	.gpm-ip-bento-card--ego,
	.gpm-ip-bento-card--project {
		grid-column: auto;
	}

	.gpm-ip-bento-card--habits {
		align-items: flex-start;
		flex-direction: column;
	}

	.gpm-diaries__head,
	.gpm-diaries__actions,
	.gpm-diary-editor header,
	.gpm-diary-editor footer {
		align-items: stretch;
		flex-direction: column;
	}

	.gpm-diaries-search {
		width: 100%;
	}

	.gpm-diary-create,
	.gpm-diary-cards {
		grid-template-columns: 1fr;
	}

	.gpm-diary-card,
	.gpm-diary-editor,
	.gpm-diaries-side {
		grid-column: 1 / -1;
	}

	.gpm-diary-editor {
		min-height: 520px;
	}
}
/* Pedagogical CRUD manager: rebuilt as a clearer, card-based hierarchy. */
.gpm-content-manager {
	display: grid;
	gap: 1.5rem;
}

.gpm-content-manager__head h2 {
	color: var(--gpm-primary);
	font-size: 1.2rem;
	font-weight: 580;
	margin: 0.2rem 0 0.35rem;
}

.gpm-content-manager__head p {
	color: var(--gpm-muted);
	font-size: 0.92rem;
	margin: 0;
}

.gpm-content-manager__empty {
	background: var(--gpm-soft);
	border: 1px dashed rgba(13, 35, 58, 0.22);
	border-radius: 12px;
	color: var(--gpm-muted);
	padding: 1.5rem;
	text-align: center;
}

.gpm-content-manager__list {
	display: grid;
	gap: 1rem;
}

.gpm-cm-card {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 14px;
	overflow: hidden;
}

.gpm-cm-card + .gpm-cm-card {
	margin-top: 0;
}

.gpm-cm-card[open] > .gpm-cm-summary {
	border-bottom: 1px solid rgba(13, 35, 58, 0.12);
}

.gpm-cm-card[open] > .gpm-cm-summary .gpm-cm-summary__chevron {
	transform: rotate(180deg);
}

.gpm-cm-summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 0.85rem;
	list-style: none;
	padding: 1rem 1.25rem;
}

.gpm-cm-summary::-webkit-details-marker {
	display: none;
}

.gpm-cm-summary:hover {
	background: rgba(13, 35, 58, 0.03);
}

.gpm-cm-summary__icon {
	color: var(--gpm-blue-accent);
	flex: 0 0 auto;
	font-size: 1.2rem;
	height: 1.2rem;
	width: 1.2rem;
}

.gpm-cm-summary__body {
	display: grid;
	flex: 1 1 auto;
	gap: 0.15rem;
	min-width: 0;
}

.gpm-cm-summary__body strong {
	color: var(--gpm-primary);
	font-weight: 700;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gpm-cm-summary__body small {
	color: var(--gpm-muted);
	font-size: 0.8rem;
}

.gpm-cm-summary__chevron {
	color: var(--gpm-muted);
	flex: 0 0 auto;
	transition: transform 160ms ease;
}

.gpm-status-pill {
	border-radius: var(--radius-full, 999px);
	flex: 0 0 auto;
	font-size: 0.7rem;
	font-weight: 900;
	padding: 0.3rem 0.65rem;
	text-transform: uppercase;
	white-space: nowrap;
}

.gpm-status-pill--publish {
	background: rgba(23, 107, 58, 0.12);
	color: #176b3a;
}

.gpm-status-pill--draft {
	background: rgba(13, 35, 58, 0.1);
	color: var(--gpm-muted);
}

.gpm-status-pill--archived {
	background: rgba(180, 120, 8, 0.14);
	color: #8a5a06;
}

.gpm-cm-card__body {
	padding: 1.25rem;
}

.gpm-cm-card--course > .gpm-cm-card__body {
	background: var(--gpm-soft);
}

.gpm-cm-card--module,
.gpm-cm-card--lesson {
	border-color: rgba(13, 35, 58, 0.1);
}

.gpm-cm-card--module .gpm-cm-summary__icon {
	color: var(--gpm-primary);
}

.gpm-cm-card--lesson .gpm-cm-summary__icon {
	color: var(--gpm-red);
}

.gpm-cm-card--study .gpm-cm-summary__icon {
	color: var(--gpm-primary);
}

.gpm-cm-card--study-item .gpm-cm-summary__icon {
	color: var(--gpm-red);
}

.gpm-cm-card--study-item .gpm-cm-summary__body small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gpm-study-item-excerpt {
	background: var(--gpm-soft);
	border-left: 3px solid var(--gpm-blue-accent, var(--gpm-primary));
	color: var(--gpm-primary);
	font-size: 0.92rem;
	font-style: italic;
	line-height: 1.55;
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
}

.gpm-study-excerpt-field,
.gpm-study-note-field {
	grid-column: 1 / -1;
}

.gpm-study-excerpt-field textarea {
	box-sizing: border-box;
	width: 100%;
}

.gpm-study-note-field .gpm-rich-editor {
	box-sizing: border-box;
	width: 100%;
}

.gpm-study-note-field .gpm-rich-editor textarea {
	box-sizing: border-box;
	min-height: 170px;
	width: 100%;
}

.gpm-study-item-toolbar {
	display: flex;
	justify-content: flex-start;
	margin-bottom: 0.85rem;
}

.gpm-study-item-open-link {
	align-items: center;
	display: inline-flex;
	gap: 0.35rem;
	margin-left: 0;
	text-decoration: none;
}

.gpm-study-item-open-link .dashicons {
	font-size: 1rem;
	height: 1rem;
	width: 1rem;
}

.gpm-content-manager__form {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.gpm-content-manager__form label {
	display: grid;
	gap: 0.35rem;
}

.gpm-content-manager__form label > span {
	color: #33445a;
	font-size: 0.86rem;
	font-weight: 560;
}

.gpm-content-manager__form input,
.gpm-content-manager__form select,
.gpm-content-manager__form textarea {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 10px;
	font: inherit;
	font-size: 0.92rem;
	min-height: 44px;
	padding: 0.65rem 0.8rem;
}

.gpm-content-manager__form textarea {
	min-height: 90px;
}

.gpm-content-manager__form .gpm-rich-field,
.gpm-content-manager__form .gpm-image-field,
.gpm-content-manager__form label:has(input[name="title"]) {
	grid-column: 1 / -1;
}

.gpm-content-manager__save {
	grid-column: 1 / -1;
	justify-self: start;
	margin-top: 0.25rem;
}

.gpm-content-manager__children {
	border-top: 1px solid rgba(13, 35, 58, 0.1);
	display: grid;
	gap: 0.85rem;
	margin-top: 1.25rem;
	padding-top: 1.25rem;
}

.gpm-content-manager__children .gpm-cm-card {
	border-left: 3px solid rgba(13, 35, 58, 0.14);
	border-radius: 10px;
}

.gpm-content-manager__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.85rem;
}

@media (max-width: 640px) {
	/* "Cursos creados": cabeçalho do card (ícone + título + pill de status +
	   seta) ganha permissão para quebrar linha em telas pequenas, em vez de
	   espremer o título contra o pill. */
	.gpm-cm-summary {
		flex-wrap: wrap;
		gap: 0.5rem 0.7rem;
		padding: 0.85rem 1rem;
	}

	.gpm-cm-summary__body {
		flex-basis: 100%;
		order: 3;
	}

	.gpm-status-pill {
		margin-left: auto;
	}

	.gpm-cm-card__body {
		padding: 1rem;
	}

	.gpm-content-manager__form {
		grid-template-columns: 1fr;
	}

	.gpm-content-manager__children {
		margin-top: 1rem;
		padding-top: 1rem;
	}
}

/* Organizer screen. */
.gpm-organizer {
	display: grid;
	gap: 1.5rem;
	margin: 0 auto;
	max-width: 1160px;
	width: 100%;
}

.gpm-organizer-hero {
	align-items: end;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-organizer-hero h1 {
	color: var(--gpm-heading, #0d233a);
	font-size: clamp(2rem, 5vw, 3.8rem);
	line-height: 1;
	margin: 0;
}

.gpm-organizer-hero p {
	color: var(--gpm-muted, #59687c);
	font-size: 1.08rem;
	margin: 0.35rem 0 0;
}

.gpm-organizer-hero__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: flex-end;
}

.gpm-organizer-search {
	align-items: center;
	background: rgba(13, 35, 58, 0.06);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	color: var(--gpm-muted, #59687c);
	display: inline-flex;
	gap: 0.45rem;
	min-height: 42px;
	padding: 0 0.8rem;
	width: min(320px, 100%);
}

.gpm-organizer-search input {
	background: transparent;
	border: 0;
	box-shadow: none;
	color: inherit;
	min-height: 38px;
	padding: 0;
	width: 100%;
}

.gpm-organizer-switch {
	background: rgba(13, 35, 58, 0.06);
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-radius: 8px;
	display: inline-flex;
	padding: 0.25rem;
}

.gpm-organizer-switch button,
.gpm-organizer-card button,
.gpm-organizer-primary,
.gpm-organizer-danger {
	align-items: center;
	border-radius: 6px;
	cursor: pointer;
	display: inline-flex;
	font-weight: 800;
	gap: 0.35rem;
	justify-content: center;
	min-height: 40px;
	padding: 0.58rem 0.9rem;
	text-decoration: none;
}

.gpm-organizer-switch button {
	background: transparent;
	border: 0;
	color: var(--gpm-muted, #59687c);
}

.gpm-organizer-switch button.is-active {
	background: #0d233a;
	color: #fff;
}

.gpm-organizer-primary {
	background: #700c14;
	border: 1px solid #700c14;
	box-shadow: 0 12px 24px rgba(112, 12, 20, 0.18);
	color: #fff;
}

.gpm-organizer-primary:hover,
.gpm-organizer-primary:focus {
	background: #9f1239;
	border-color: #9f1239;
	color: #fff;
}

.gpm-organizer-danger {
	background: rgba(159, 18, 57, 0.1);
	border: 1px solid rgba(159, 18, 57, 0.35);
	color: #9f1239;
}

.gpm-organizer-grid {
	align-items: start;
	display: grid;
	gap: 1.4rem;
	grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
}

.gpm-organizer-left,
.gpm-organizer-bottom {
	display: grid;
	gap: 1rem;
}

.gpm-organizer-bottom {
	align-items: start;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gpm-organizer-card {
	background: var(--gpm-surface, #fff);
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 8px;
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
	color: var(--gpm-text, #102033);
	padding: 1.2rem;
}

.gpm-organizer-card header,
.gpm-organizer-card__head {
	align-items: center;
	display: flex;
	gap: 0.8rem;
	justify-content: space-between;
}

.gpm-organizer-card__head span,
.gpm-organizer-effort span,
.gpm-organizer-bottom header span {
	color: #700c14;
	display: block;
	font-size: 0.74rem;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.gpm-organizer-card__head strong,
.gpm-organizer-bottom header strong {
	color: var(--gpm-heading, #0d233a);
	font-size: 1rem;
}

.gpm-organizer-card__head button,
.gpm-organizer-agenda header button,
.gpm-organizer-form-card header button {
	background: rgba(13, 35, 58, 0.06);
	border: 1px solid rgba(13, 35, 58, 0.12);
	color: var(--gpm-heading, #0d233a);
}

.gpm-organizer-calendar header {
	margin-bottom: 1rem;
}

.gpm-organizer-calendar header strong {
	font-size: 1.1rem;
}

.gpm-organizer-calendar header div {
	display: flex;
	gap: 0.35rem;
}

.gpm-organizer-calendar header button {
	background: transparent;
	border: 0;
	color: inherit;
	min-height: 34px;
	padding: 0.2rem;
	width: 34px;
}

.gpm-organizer-weekdays,
.gpm-organizer-days {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	text-align: center;
}

.gpm-organizer-weekdays {
	color: #700c14;
	font-size: 0.7rem;
	font-weight: 800;
	margin-bottom: 0.45rem;
	text-transform: uppercase;
}

.gpm-organizer-days button {
	aspect-ratio: 1;
	background: transparent;
	border: 0;
	color: inherit;
	font-size: 0.98rem;
	min-height: auto;
	padding: 0;
	position: relative;
}

.gpm-organizer-days button.is-outside {
	color: rgba(89, 104, 124, 0.55);
}

.gpm-organizer-days button.is-today {
	color: #700c14;
	font-weight: 900;
}

.gpm-organizer-days button.is-selected {
	background: #fdba49;
	color: #281800;
}

.gpm-organizer-days button.has-items::after {
	background: currentColor;
	border-radius: 999px;
	bottom: 0.28rem;
	content: "";
	height: 4px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 4px;
}

.gpm-organizer-task-list {
	display: grid;
	gap: 0.6rem;
	margin-top: 0.9rem;
}

.gpm-organizer-task,
.gpm-organizer-mini-list li {
	align-items: start;
	background: rgba(13, 35, 58, 0.04);
	border: 1px solid rgba(13, 35, 58, 0.08);
	border-radius: 8px;
	display: grid;
	gap: 0.65rem;
	grid-template-columns: auto minmax(0, 1fr) auto;
	padding: 0.72rem;
}

.gpm-organizer-task input,
.gpm-organizer-agenda-item input,
.gpm-organizer-mini-list input {
	accent-color: #700c14;
	height: 1rem;
	margin-top: 0.18rem;
	width: 1rem;
}

.gpm-organizer-task strong,
.gpm-organizer-agenda-item strong {
	color: var(--gpm-heading, #0d233a);
	display: block;
	line-height: 1.25;
}

.gpm-organizer-task span,
.gpm-organizer-agenda-item p,
.gpm-organizer-agenda-item small,
.gpm-organizer-empty,
.gpm-organizer-effort p {
	color: var(--gpm-muted, #59687c);
}

.gpm-organizer-task button,
.gpm-organizer-mini-list button {
	background: transparent;
	border: 0;
	color: inherit;
	min-height: 30px;
	padding: 0.2rem;
	width: 30px;
}

.gpm-organizer-task.is-done,
.gpm-organizer-agenda-item.is-done {
	opacity: 0.62;
}

.gpm-organizer-task.is-done strong,
.gpm-organizer-agenda-item.is-done strong {
	text-decoration: line-through;
}

.gpm-organizer-effort {
	border-left: 4px solid #fdba49;
}

.gpm-organizer-effort strong {
	display: block;
	font-size: 1.35rem;
	margin-top: 0.35rem;
}

.gpm-organizer-progress {
	background: rgba(13, 35, 58, 0.12);
	border-radius: 999px;
	height: 6px;
	margin: 1rem 0 0.7rem;
	overflow: hidden;
}

.gpm-organizer-progress i {
	background: #fdba49;
	display: block;
	height: 100%;
	width: 0;
}

.gpm-organizer-agenda {
	min-height: 560px;
}

.gpm-organizer-agenda > header {
	border-bottom: 1px solid rgba(13, 35, 58, 0.1);
	margin: -1.2rem -1.2rem 1rem;
	padding: 1.2rem;
}

.gpm-organizer-agenda > header strong {
	color: var(--gpm-heading, #0d233a);
	display: block;
	font-size: 1.2rem;
}

.gpm-organizer-agenda > header span {
	color: var(--gpm-muted, #59687c);
}

.gpm-organizer-timeline {
	display: grid;
	gap: 0.55rem;
}

.gpm-organizer-agenda-row {
	display: grid;
	gap: 0.8rem;
	grid-template-columns: 72px minmax(0, 1fr);
}

.gpm-organizer-agenda-time {
	color: var(--gpm-muted, #59687c);
	font-weight: 700;
	padding-top: 1rem;
	text-align: right;
}

.gpm-organizer-agenda-item {
	background: rgba(13, 35, 58, 0.06);
	border-left: 4px solid #fdba49;
	border-radius: 8px;
	display: grid;
	gap: 0.7rem;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 1rem;
}

.gpm-organizer-agenda-item[data-category="trabajo"] {
	border-left-color: #fb7185;
}

.gpm-organizer-agenda-item[data-category="relaciones"] {
	border-left-color: #9db6d8;
}

.gpm-organizer-agenda-item[data-category="recordatorio"] {
	border-left-color: #fca5a5;
}

.gpm-organizer-agenda-item[data-category="fijo"] {
	border-left-color: #64748b;
}

.gpm-organizer-agenda-item p {
	margin: 0.35rem 0 0;
}

.gpm-organizer-agenda-meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 0.55rem;
}

.gpm-organizer-week-plan {
	display: grid;
	gap: 1rem;
}

.gpm-organizer-week-grid {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(7, minmax(128px, 1fr));
	overflow-x: auto;
	padding-bottom: 0.2rem;
}

.gpm-organizer-week-day {
	background: rgba(13, 35, 58, 0.035);
	border: 1px solid rgba(13, 35, 58, 0.08);
	border-radius: 8px;
	display: grid;
	gap: 0.75rem;
	min-width: 128px;
	padding: 0.75rem;
}

.gpm-organizer-week-day__head {
	align-items: start;
	display: grid;
}

.gpm-organizer-week-day__head strong {
	color: var(--gpm-heading, #0d233a);
	font-size: 0.92rem;
}

.gpm-organizer-week-day__list {
	display: grid;
	gap: 0.55rem;
}

.gpm-organizer-week-day__list .gpm-organizer-empty {
	font-size: 0.82rem;
	margin: 0;
}

.gpm-organizer-week-block {
	background: #ffffff;
	border: 1px solid rgba(13, 35, 58, 0.1);
	border-left: 4px solid #fdba49;
	border-radius: 7px;
	display: grid;
	gap: 0.45rem;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 0.65rem;
}

.gpm-organizer-week-block[data-kind="commitment"] {
	border-left-color: #9db6d8;
}

.gpm-organizer-week-block[data-category="fijo"] {
	border-left-color: #64748b;
}

.gpm-organizer-week-block strong {
	color: var(--gpm-heading, #0d233a);
	display: block;
	font-size: 0.88rem;
	line-height: 1.25;
}

.gpm-organizer-week-block small {
	color: var(--gpm-muted, #59687c);
	display: block;
	font-size: 0.72rem;
	line-height: 1.3;
	margin-top: 0.25rem;
}

.gpm-organizer-week-block button {
	background: transparent;
	border: 0;
	color: inherit;
	min-height: 28px;
	padding: 0.15rem;
	width: 28px;
}

.gpm-organizer-form {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 1rem;
}

.gpm-organizer-form label,
.gpm-organizer-mini-form {
	display: grid;
	gap: 0.35rem;
}

.gpm-organizer-form label span {
	color: var(--gpm-heading, #0d233a);
	font-size: 0.82rem;
	font-weight: 800;
}

.gpm-organizer-form input,
.gpm-organizer-form select,
.gpm-organizer-form textarea,
.gpm-organizer-mini-form input {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(112, 12, 20, 0.2);
	border-radius: 6px;
	color: #0d233a;
	min-height: 42px;
	padding: 0.7rem 0.8rem;
	width: 100%;
}

.gpm-organizer-form textarea {
	min-height: 96px;
	resize: vertical;
}

.gpm-organizer-form__wide,
.gpm-organizer-form footer {
	grid-column: 1 / -1;
}

.gpm-organizer-form[data-kind="commitment"] .gpm-organizer-schedule-weekday,
.gpm-organizer-form[data-kind="block"] .gpm-organizer-schedule-date {
	display: none;
}

.gpm-organizer-form footer {
	align-items: center;
	display: flex;
	gap: 0.65rem;
	justify-content: flex-end;
}

.gpm-organizer-mini-form {
	grid-template-columns: minmax(0, 1fr) auto;
	margin-top: 1rem;
}

.gpm-organizer-area-form {
	display: grid;
	gap: 0.6rem;
	grid-template-columns: 1fr;
	margin-top: 1rem;
}

.gpm-organizer-area-manager {
	margin-top: 0;
	max-width: 720px;
	width: 100%;
}

.gpm-organizer-mini-form button {
	background: #0d233a;
	border: 1px solid #0d233a;
	color: #fff;
	min-width: 42px;
	padding: 0;
}

.gpm-organizer-area-form input {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(112, 12, 20, 0.2);
	border-radius: 6px;
	color: #0d233a;
	min-height: 42px;
	padding: 0.7rem 0.8rem;
	width: 100%;
}

.gpm-organizer-area-form button[data-gpm-organizer-area-reset] {
	background: rgba(13, 35, 58, 0.06);
	border: 1px solid rgba(13, 35, 58, 0.12);
	color: var(--gpm-heading, #0d233a);
}

.gpm-organizer-area-form button {
	width: 100%;
}

.gpm-organizer-mini-list {
	display: grid;
	gap: 0.55rem;
	list-style: none;
	margin: 0.9rem 0 0;
	padding: 0;
}

.gpm-organizer-mini-list li {
	grid-template-columns: auto minmax(0, 1fr) auto;
}

.gpm-organizer-area-list {
	display: grid;
	gap: 0.5rem;
	list-style: none;
	margin: 0.9rem 0 0;
	padding: 0;
}

.gpm-organizer-area-list li {
	align-items: center;
	background: rgba(13, 35, 58, 0.04);
	border: 1px solid rgba(13, 35, 58, 0.08);
	border-radius: 8px;
	display: flex;
	gap: 0.65rem;
	justify-content: space-between;
	padding: 0.65rem 0.75rem;
}

.gpm-organizer-area-list span {
	color: var(--gpm-heading, #0d233a);
	font-weight: 400;
}

.gpm-organizer-area-list div {
	display: flex;
	gap: 0.25rem;
}

.gpm-organizer-area-list button {
	background: transparent;
	border: 0;
	color: inherit;
	min-height: 30px;
	padding: 0.2rem;
	width: 30px;
}

html[data-gpm-theme="dark"] .gpm-organizer-hero h1,
html[data-gpm-theme="dark"] .gpm-organizer-card__head strong,
html[data-gpm-theme="dark"] .gpm-organizer-bottom header strong,
html[data-gpm-theme="dark"] .gpm-organizer-task strong,
html[data-gpm-theme="dark"] .gpm-organizer-agenda-item strong,
html[data-gpm-theme="dark"] .gpm-organizer-week-day__head strong,
html[data-gpm-theme="dark"] .gpm-organizer-week-block strong,
html[data-gpm-theme="dark"] .gpm-organizer-area-list span,
html[data-gpm-theme="dark"] .gpm-organizer-agenda > header strong,
html[data-gpm-theme="dark"] .gpm-organizer-form label span {
	color: #eef4ff;
}

html[data-gpm-theme="dark"] .gpm-organizer-card {
	background: #101d2c;
	border-color: rgba(255, 255, 255, 0.1);
	box-shadow: none;
	color: #eef4ff;
}

html[data-gpm-theme="dark"] .gpm-organizer-search,
html[data-gpm-theme="dark"] .gpm-organizer-switch,
html[data-gpm-theme="dark"] .gpm-organizer-task,
html[data-gpm-theme="dark"] .gpm-organizer-mini-list li,
html[data-gpm-theme="dark"] .gpm-organizer-agenda-item,
html[data-gpm-theme="dark"] .gpm-organizer-week-day,
html[data-gpm-theme="dark"] .gpm-organizer-week-block,
html[data-gpm-theme="dark"] .gpm-organizer-area-list li,
html[data-gpm-theme="dark"] .gpm-organizer-area-form button[data-gpm-organizer-area-reset],
html[data-gpm-theme="dark"] .gpm-organizer-card__head button,
html[data-gpm-theme="dark"] .gpm-organizer-agenda header button,
html[data-gpm-theme="dark"] .gpm-organizer-form-card header button {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.1);
	color: #eef4ff;
}

html[data-gpm-theme="dark"] .gpm-organizer-card__head span,
html[data-gpm-theme="dark"] .gpm-organizer-effort span,
html[data-gpm-theme="dark"] .gpm-organizer-bottom header span,
html[data-gpm-theme="dark"] .gpm-organizer-weekdays,
html[data-gpm-theme="dark"] .gpm-organizer-days button.is-today {
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-organizer-switch button.is-active,
html[data-gpm-theme="dark"] .gpm-organizer-mini-form button {
	background: #fdba49;
	border-color: #fdba49;
	color: #281800;
}

html[data-gpm-theme="dark"] .gpm-organizer-form input,
html[data-gpm-theme="dark"] .gpm-organizer-form select,
html[data-gpm-theme="dark"] .gpm-organizer-form textarea,
html[data-gpm-theme="dark"] .gpm-organizer-area-form input,
html[data-gpm-theme="dark"] .gpm-organizer-mini-form input {
	background: #0b1624;
	border-color: rgba(253, 186, 73, 0.24);
	color: #eef4ff;
}

@media (max-width: 980px) {
	.gpm-organizer-hero {
		align-items: stretch;
		flex-direction: column;
	}

	.gpm-organizer-hero__actions {
		justify-content: flex-start;
	}

		.gpm-organizer-grid,
		.gpm-organizer-bottom {
			grid-template-columns: 1fr;
		}

		.gpm-organizer-week-grid {
			grid-template-columns: repeat(7, minmax(150px, 1fr));
		}

		.gpm-organizer-agenda {
			min-height: auto;
	}
}

@media (max-width: 640px) {
	.gpm-organizer {
		gap: 1rem;
	}

	.gpm-organizer-hero h1 {
		font-size: 2.15rem;
	}

	.gpm-organizer-hero__actions,
	.gpm-organizer-search,
	.gpm-organizer-switch,
	.gpm-organizer-primary {
		width: 100%;
	}

	.gpm-organizer-switch button {
		flex: 1;
	}

	.gpm-organizer-card {
		padding: 1rem;
	}

	.gpm-organizer-agenda > header {
		align-items: stretch;
		flex-direction: column;
		margin: -1rem -1rem 1rem;
		padding: 1rem;
	}

	.gpm-organizer-agenda-row {
		grid-template-columns: 48px minmax(0, 1fr);
	}

	.gpm-organizer-agenda-time {
		font-size: 0.82rem;
	}

	.gpm-organizer-form {
		grid-template-columns: 1fr;
	}

		.gpm-organizer-form footer {
			align-items: stretch;
			flex-direction: column-reverse;
		}

		.gpm-organizer-area-form {
			grid-template-columns: 1fr;
		}
	}

/* Minimal course catalog. */
.gpm-course-catalog {
	margin: 0 auto;
	max-width: 1120px;
	width: 100%;
}

.gpm-course-catalog__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 360px));
	justify-content: start;
}

.gpm-course-catalog__card {
	aspect-ratio: 16 / 9;
	background: #111827;
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.16);
	color: #fff;
	display: block;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.gpm-course-catalog__card img,
.gpm-course-catalog__placeholder {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.gpm-course-catalog__placeholder {
	background:
		linear-gradient(135deg, rgba(17, 24, 39, 0.86), rgba(55, 65, 81, 0.72)),
		repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.12) 0 1px, transparent 1px 12px);
}

.gpm-course-catalog__shade {
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.04), rgba(15, 23, 42, 0.78));
	inset: 0;
	position: absolute;
	z-index: 1;
}

.gpm-course-catalog__title {
	bottom: 0.85rem;
	font-size: 1rem;
	font-weight: 700;
	left: 0.9rem;
	line-height: 1.25;
	overflow-wrap: anywhere;
	position: absolute;
	right: 3.2rem;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.36);
	z-index: 2;
}

.gpm-course-catalog__lock {
	align-items: center;
	background: rgba(15, 23, 42, 0.82);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	display: inline-flex;
	height: 2.25rem;
	justify-content: center;
	position: absolute;
	right: 0.8rem;
	top: 0.8rem;
	width: 2.25rem;
	z-index: 2;
}

.gpm-course-catalog__card.is-locked img,
.gpm-course-catalog__card.is-locked .gpm-course-catalog__placeholder {
	filter: saturate(0.72) brightness(0.78);
}

.gpm-course-catalog__card.is-open:focus,
.gpm-course-catalog__card.is-open:hover {
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.22);
	transform: translateY(-2px);
}

/* CRM Kanban embedded in the instructor-only Visión General view. */
.gpm-instructor-main > .gpm-instructor-crm {
	max-width: none;
	min-width: 0;
	overflow: hidden;
	width: 100%;
}

.gpm-crm-pagehead { padding-bottom: 0.15rem; }
.gpm-instructor-crm .gl-kanban-page h2,
.gpm-instructor-crm .gl-kanban-page h3,
.gpm-instructor-crm .gl-kanban-page h4 {
	color: #172b4d !important;
	font-family: inherit;
	font-weight: 600 !important;
}

.gpm-instructor-crm .gl-kanban-layout { box-sizing: border-box; }
.gpm-instructor-crm .gl-card-modal { font-family: Raleway, var(--font-body, sans-serif); }

@media (max-width: 980px) {
	.gpm-instructor-main > .gpm-instructor-crm { overflow: visible; }
}

/* CRM typography always follows the instructor dashboard. */
.gpm-instructor-crm .gl-kanban-page,
.gpm-instructor-crm .gl-kanban-page :where(button, input, select, textarea) {
	font-family: inherit !important;
}

/* CRM dark mode: same depth, border and accent roles used by Miembros Gnosis. */
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-kanban-page {
	--gl-navy: #d7e3f8;
	--gl-text: #c4c6cc;
	--gl-muted: #8a9ab0;
	--gl-board: #071422;
	--gl-list: #14202f;
	--gl-border: rgba(142, 145, 150, 0.24);
	--gl-blue: #fdba49;
	--gl-blue-hover: #e5a83f;
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-kanban-layout {
	background: transparent;
	scrollbar-color: #46576c transparent;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-kanban-column {
	background: #14202f;
	border: 1px solid rgba(142, 145, 150, 0.18);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18), 0 1px 0 rgba(255, 255, 255, 0.025) inset;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-stage-item {
	background: #14202f;
	border-color: rgba(142, 145, 150, 0.18);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-stage-item:hover { background: #1a2b3f; }
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-stage-item.is-active {
	background: #fdba49;
	border-color: #fdba49;
	color: #281800;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-stage-item.is-drag-over {
	background: #1a2b3f;
	box-shadow: inset 0 0 0 2px #fdba49, 0 12px 28px rgba(0, 0, 0, 0.2);
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-stage-count { color: #8a9ab0 !important; }

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-kanban-filters-bar {
	background: #101c2b;
	border: 1px solid rgba(142, 145, 150, 0.22);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-kanban-filters-bar label { color: #c4c6cc; }

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-order-option {
	background: #030f1d;
	border-color: rgba(142, 145, 150, 0.34);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-order-option.is-active {
	background: #fdba49;
	border-color: #fdba49;
	color: #281800;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-card-move {
	background: #2a3645;
	color: #c8d8f0;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-card-move:hover { background: #344256; color: #fdba49; }

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-group-divider { color: #8a9ab0; }
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-group-divider::after { background: rgba(142, 145, 150, 0.24); }

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-lead-card {
	background: #1f2b3a;
	border: 1px solid rgba(142, 145, 150, 0.2);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.28), 0 1px 0 rgba(255, 255, 255, 0.025) inset;
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-lead-card:hover {
	background: #243246;
	border-color: rgba(253, 186, 73, 0.26);
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.3);
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-card-name-row h3 {
	color: #e4ecf8 !important;
	font-weight: 500 !important;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-card-meta { color: #9ba9bc; }
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-card-edit-icon {
	background: #2a3645;
	color: #c8d8f0;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm :where(.gl-load-more, .gl-loading, .gl-empty) { color: #aab8cb !important; }
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-load-more:hover {
	background: #1f2b3a !important;
	color: #fdba49 !important;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-kanban-notice.is-success,
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-kanban-notice.is-error {
	background: #14202f;
	color: #d7e3f8;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.3);
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-modal-backdrop { background: rgba(3, 15, 29, 0.84); }
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-card-details {
	background: #101c2b;
	border: 1px solid rgba(142, 145, 150, 0.24);
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.56);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-modal-header {
	border-bottom: 1px solid rgba(142, 145, 150, 0.14);
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-modal-header > .dashicons,
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-section-heading > .dashicons { color: #8a9ab0; }
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-modal-header p,
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-sidebar-label,
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-sidebar-info { color: #8a9ab0; }

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-modal-title-input {
	color: #e4ecf8 !important;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-modal-title-input:hover,
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-modal-title-input:focus {
	background: #1f2b3a !important;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-modal-close {
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-modal-close:hover { background: #2a3645; }

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-section-heading h4,
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-events li,
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-sidebar-info strong {
	color: #d7e3f8 !important;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-contact-fields label { color: #aab8cb; }
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-tag-options input { accent-color: #fdba49; }
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-events ul {
	background: #14202f;
	border: 1px solid rgba(142, 145, 150, 0.18);
	box-shadow: none;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-sidebar-action {
	background: #1f2b3a;
	border: 1px solid rgba(142, 145, 150, 0.22);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-sidebar-action:hover {
	background: #2a3645;
	border-color: rgba(253, 186, 73, 0.36);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-whatsapp-action {
	background: #15352d;
	border-color: rgba(88, 214, 141, 0.3);
	color: #a8e6c1;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-whatsapp-action:hover {
	background: #1b4538;
	border-color: rgba(127, 224, 160, 0.5);
	color: #c9f5d8;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-modal-footer {
	background: #101c2b;
	border-top-color: rgba(142, 145, 150, 0.2);
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-kanban-page.is-embedded .button {
	background: #1f2b3a;
	border-color: rgba(142, 145, 150, 0.28);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-kanban-page.is-embedded .button:hover {
	background: #2a3645;
	border-color: rgba(253, 186, 73, 0.4);
	color: #fdba49;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-kanban-page.is-embedded .button-primary {
	background: #fdba49;
	border-color: #fdba49;
	color: #281800;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-kanban-page.is-embedded .button-primary:hover {
	background: #e5a83f;
	border-color: #e5a83f;
	color: #281800;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-response-card {
	background: #14202f;
	border-color: rgba(142, 145, 150, 0.22);
	color: #c4c6cc;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-frontend-responses > h2,
html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-response-card :where(h2, h3, dt) {
	color: #d7e3f8 !important;
}

/* CRM form controls reuse the instructor dashboard field metrics. */
.gpm-instructor-crm .gl-kanban-page :where(
	input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not(.gl-modal-title-input),
	select,
	textarea
) {
	background: #f9fbfe;
	border: 1px solid #d8e0ec;
	border-radius: var(--radius-sm, 4px);
	color: var(--gpm-primary, #0d233a);
	font: inherit;
	font-size: 0.86rem !important;
	line-height: 1.4;
	min-height: 42px;
	padding: 0.78rem 0.9rem !important;
}

.gpm-instructor-crm .gl-kanban-page textarea {
	line-height: 1.5;
}

.gpm-instructor-crm .gl-kanban-page :where(
	input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not(.gl-modal-title-input),
	select,
	textarea
):focus {
	border-color: var(--gpm-primary, #0d233a);
	box-shadow: 0 0 0 3px rgba(13, 35, 58, 0.12);
	outline: none;
}

.gpm-instructor-crm .gl-kanban-page :where(.gl-contact-fields label, .gl-kanban-filters-bar label) {
	font-size: 0.78rem;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-kanban-page :where(
	input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not(.gl-modal-title-input),
	select,
	textarea
) {
	background: #030f1d;
	border-color: rgba(142, 145, 150, 0.34);
	color: #d7e3f8;
}

html[data-gpm-theme="dark"] .gpm-instructor-crm .gl-kanban-page :where(
	input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not(.gl-modal-title-input),
	select,
	textarea
):focus {
	border-color: #fdba49;
	box-shadow: 0 0 0 3px rgba(253, 186, 73, 0.16);
}

/* Contextual course workspaces and shared storefronts. */
.gpm-course-showcase {
	display: grid;
	gap: 1rem;
	margin: 0 0 2rem;
}

.gpm-course-showcase__head {
	align-items: end;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-course-showcase__head h2 {
	color: var(--gpm-primary);
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	margin: 0 0 0.25rem;
}

.gpm-course-showcase__head p {
	color: var(--gpm-muted);
	margin: 0;
}

.gpm-course-showcase__head > span {
	background: rgba(13, 35, 58, 0.08);
	border-radius: 999px;
	color: var(--gpm-primary);
	font-weight: 800;
	min-width: 34px;
	padding: 0.35rem 0.65rem;
	text-align: center;
}

.gpm-course-showcase__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gpm-course-showcase__empty {
	background: rgba(255, 255, 255, 0.72);
	border: 1px dashed rgba(13, 35, 58, 0.2);
	border-radius: 12px;
	color: var(--gpm-muted);
	margin: 0;
	padding: 1.25rem;
}

.gpm-showcase-card {
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(7, 21, 36, 0.05);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
}

.gpm-showcase-card__media {
	align-items: center;
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, #0d233a, #173d61);
	color: rgba(255, 255, 255, 0.7);
	display: flex;
	justify-content: center;
	position: relative;
}

a.gpm-showcase-card__media {
	cursor: pointer;
	text-decoration: none;
}

a.gpm-showcase-card__media:focus-visible {
	outline: 3px solid var(--gpm-blue-accent, #173d61);
	outline-offset: -3px;
}

.gpm-showcase-card__media > img {
	height: 100%;
	object-fit: cover;
	transition: transform 180ms ease;
	width: 100%;
}

a.gpm-showcase-card__media:hover > img,
a.gpm-showcase-card__media:focus-visible > img {
	transform: scale(1.025);
}

.gpm-showcase-card__media > .dashicons:not(.gpm-showcase-card__lock) {
	font-size: 2.75rem;
	height: 2.75rem;
	width: 2.75rem;
}

.gpm-showcase-card__lock {
	align-items: center;
	background: rgba(13, 35, 58, 0.9);
	border: 2px solid rgba(255, 255, 255, 0.7);
	border-radius: 50%;
	color: #fff;
	display: flex;
	height: 46px;
	justify-content: center;
	position: absolute;
	right: 1rem;
	top: 1rem;
	width: 46px;
}

.gpm-showcase-card.is-locked .gpm-showcase-card__media img {
	filter: grayscale(0.86) saturate(0.35);
}

.gpm-showcase-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1rem;
}

.gpm-showcase-card__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.gpm-showcase-card__badges span {
	background: rgba(112, 12, 20, 0.09);
	border-radius: 999px;
	color: #700c14;
	font-size: 0.72rem;
	font-weight: 800;
	padding: 0.28rem 0.55rem;
	text-transform: uppercase;
}

.gpm-showcase-card__badges .is-status {
	background: rgba(13, 35, 58, 0.08);
	color: var(--gpm-primary);
}

.gpm-showcase-card h3 {
	color: var(--gpm-primary);
	font-size: 1.12rem;
	line-height: 1.3;
	margin: 0;
	min-width: 0;
	overflow-wrap: anywhere;
}

.gpm-showcase-card__body > p {
	color: var(--gpm-muted);
	display: -webkit-box;
	font-size: 0.88rem;
	line-height: 1.55;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.gpm-showcase-card__meta {
	color: var(--gpm-muted);
	display: flex;
	font-size: 0.8rem;
	gap: 0.75rem;
	margin-top: auto;
}

.gpm-showcase-card footer {
	align-items: center;
	display: flex;
	min-height: 46px;
}

.gpm-showcase-card footer .gpm-button {
	justify-content: center;
	width: 100%;
}

.gpm-showcase-card__reason {
	align-items: center;
	color: var(--gpm-muted);
	display: flex;
	font-size: 0.82rem;
	font-weight: 700;
	gap: 0.4rem;
}

.gpm-showcase-card__progress {
	align-items: center;
	display: grid;
	gap: 0.65rem;
	grid-template-columns: 1fr auto;
}

.gpm-showcase-card__progress > div {
	background: rgba(13, 35, 58, 0.1);
	border-radius: 999px;
	height: 7px;
	overflow: hidden;
}

.gpm-showcase-card__progress > div span {
	background: #700c14;
	display: block;
	height: 100%;
}

.gpm-student-course-showcase__head {
	margin-bottom: 2rem;
}

.gpm-student-course-showcase__head h1 {
	color: var(--gpm-primary);
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	margin: 0.2rem 0 0.45rem;
}

.gpm-student-course-showcase__head p:last-child {
	color: var(--gpm-muted);
	margin: 0;
}

.gpm-course-create {
	display: grid;
	gap: 1rem;
	margin: 0 auto;
	max-width: 1120px;
}

.gpm-course-create__section {
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 14px;
	display: grid;
	gap: 1.25rem;
	padding: clamp(1rem, 3vw, 1.5rem);
}

.gpm-course-create__section > header {
	align-items: start;
	display: flex;
	gap: 0.85rem;
}

.gpm-course-create__section > header > span {
	align-items: center;
	background: var(--gpm-primary);
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-weight: 800;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.gpm-course-create__section h2,
.gpm-course-create__section header p {
	margin: 0;
}

.gpm-course-create__section header p {
	color: var(--gpm-muted);
	font-size: 0.88rem;
	margin-top: 0.25rem;
}

.gpm-course-create__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gpm-course-create label,
.gpm-course-create__section > label {
	align-self: start;
	display: grid;
	gap: 0.4rem;
}

.gpm-course-create input:not([type="checkbox"]):not([type="radio"]),
.gpm-course-create select {
	box-sizing: border-box;
	height: 46px;
	min-height: 46px;
	width: 100%;
}

.gpm-course-create__grid > .gpm-rich-field,
.gpm-course-create__grid > .gpm-image-field {
	grid-column: 1 / -1;
}

.gpm-course-create .gpm-course-planning-fields,
.gpm-course-settings-form .gpm-course-planning-fields {
	align-self: start;
	grid-column: 1 / -1;
}

.gpm-course-create .gpm-course-planning-fields label,
.gpm-course-settings-form .gpm-course-planning-fields label,
.gpm-content-manager__form > label {
	align-content: start;
	align-self: start;
}

.gpm-course-create .gpm-course-planning-fields :is(input, select),
.gpm-course-settings-form .gpm-course-planning-fields :is(input, select),
.gpm-content-manager__form > label > :is(input, select) {
	height: 46px;
	min-height: 46px;
}

.gpm-initial-items {
	display: grid;
	gap: 0.6rem;
}

.gpm-initial-item {
	align-items: center !important;
	background: #f6f7f9;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 10px;
	display: grid !important;
	gap: 0.65rem !important;
	grid-template-columns: auto auto minmax(0, 1fr) auto;
	padding: 0.55rem;
}

.gpm-initial-item > input {
	background: #fff;
}

.gpm-initial-item > button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 8px;
	color: #700c14;
	cursor: pointer;
	display: flex;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.gpm-course-create__footer {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 12px;
	display: flex;
	justify-content: space-between;
	padding: 1rem;
}

.gpm-course-workspace-tabs {
	align-self: start;
	border-bottom: 1px solid rgba(13, 35, 58, 0.14);
	display: flex;
	gap: 0.25rem;
	margin-bottom: 1.25rem;
	overflow-x: auto;
}

.gpm-course-workspace-tabs a {
	border-bottom: 3px solid transparent;
	color: var(--gpm-muted);
	font-weight: 700;
	min-height: 44px;
	padding: 0.75rem 1rem;
	text-decoration: none;
	white-space: nowrap;
}

.gpm-course-workspace-tabs a.is-active {
	border-bottom-color: #700c14;
	color: #700c14;
}

.gpm-course-workspace {
	min-width: 0;
}

.gpm-workspace-summary,
.gpm-workspace-content,
.gpm-module-editor,
.gpm-workspace-settings {
	display: grid;
	gap: 1rem;
}

.gpm-workspace-summary__stats {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gpm-workspace-summary__stats > a,
.gpm-workspace-next,
.gpm-workspace-simple,
.gpm-workspace-content,
.gpm-module-editor,
.gpm-workspace-settings {
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 14px;
	padding: 1.25rem;
}

.gpm-workspace-summary__stats > a {
	display: grid;
	gap: 0.35rem;
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.gpm-workspace-summary__stats > a:hover,
.gpm-workspace-summary__stats > a:focus-visible,
.gpm-workspace-next:hover,
.gpm-workspace-next:focus-visible,
.gpm-workspace-simple:hover,
.gpm-workspace-simple:focus-visible {
	border-color: var(--gpm-primary);
	box-shadow: 0 12px 28px rgba(7, 21, 36, 0.12);
	outline: none;
	transform: translateY(-1px);
}

.gpm-workspace-summary__stats strong {
	color: var(--gpm-primary);
	font-size: 2rem;
}

.gpm-workspace-summary__stats span,
.gpm-workspace-next p:not(.gpm-kicker) {
	color: var(--gpm-muted);
}

.gpm-workspace-next h2 {
	color: var(--gpm-primary);
	font-size: clamp(1.1rem, 2vw, 1.35rem);
	line-height: 1.3;
	margin: 0.2rem 0;
}

.gpm-workspace-next p {
	margin-block: 0.2rem;
}

.gpm-workspace-next,
.gpm-workspace-simple {
	align-items: center;
	display: flex;
	gap: 1.25rem;
	justify-content: space-between;
	text-decoration: none;
}

.gpm-workspace-next,
.gpm-workspace-simple,
.gpm-workspace-next:visited,
.gpm-workspace-simple:visited {
	color: inherit;
}

.gpm-workspace-simple h2 {
	color: var(--gpm-primary);
	margin: 0 0 0.3rem;
}

.gpm-workspace-simple p {
	color: var(--gpm-muted);
}

.gpm-workspace-simple > .dashicons {
	color: #700c14;
	font-size: 2.5rem;
	height: 2.5rem;
	width: 2.5rem;
}

.gpm-workspace-content > header,
.gpm-module-editor__head,
.gpm-workspace-settings > header {
	align-items: start;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-workspace-content h2,
.gpm-module-editor h2,
.gpm-workspace-settings h2 {
	color: var(--gpm-primary);
	margin: 0 0 0.3rem;
}

.gpm-workspace-content header p,
.gpm-module-editor__head p,
.gpm-module-editor__head span,
.gpm-workspace-settings header p {
	color: var(--gpm-muted);
	margin: 0;
}

.gpm-workspace-add-module {
	align-items: end;
	background: #f6f7f9;
	border-radius: 12px;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: 1fr auto;
	padding: 1rem;
}

.gpm-workspace-add-module label {
	display: grid;
	gap: 0.35rem;
}

.gpm-workspace-add-module input {
	height: 46px;
}

.gpm-instructor-app :where(
	.gpm-course-create,
	.gpm-workspace-content,
	.gpm-module-editor,
	.gpm-workspace-settings,
	.gpm-agenda-filter,
	[data-gpm-group-form]
) label > span,
.gpm-instructor-app :where(.gpm-course-create, .gpm-module-editor, .gpm-workspace-settings, [data-gpm-group-form]) legend {
	color: var(--gpm-ink);
	font-size: 0.86rem;
	font-weight: 650;
}

.gpm-instructor-app :where(
	.gpm-course-create,
	.gpm-workspace-content,
	.gpm-module-editor,
	.gpm-workspace-settings,
	.gpm-agenda-filter,
	[data-gpm-group-form]
) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]), select, textarea) {
	background: #fff;
	border: 1px solid var(--gpm-line, rgba(13, 35, 58, 0.18));
	border-radius: 10px;
	box-sizing: border-box;
	color: var(--gpm-ink);
	font: inherit;
	font-size: 0.92rem;
	line-height: 1.35;
	min-height: 46px;
	padding: 0.72rem 0.85rem;
	width: 100%;
}

.gpm-instructor-app :where(.gpm-course-create, .gpm-workspace-content, .gpm-module-editor, .gpm-workspace-settings, [data-gpm-group-form]) textarea {
	min-height: 104px;
	resize: vertical;
}

.gpm-instructor-app :where(
	.gpm-course-create,
	.gpm-workspace-content,
	.gpm-module-editor,
	.gpm-workspace-settings,
	.gpm-agenda-filter,
	[data-gpm-group-form]
) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea):focus {
	border-color: var(--gpm-primary);
	box-shadow: 0 0 0 3px rgba(13, 35, 58, 0.12);
	outline: none;
}

.gpm-workspace-module-list {
	display: grid;
	gap: 0.65rem;
}

.gpm-workspace-module-row {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 12px;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: auto auto minmax(0, 1fr);
	padding: 0.85rem;
	position: relative;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.gpm-workspace-module-row--sub {
	margin-left: 2rem;
	background: #f8f9fb;
}

.gpm-workspace-module-row:hover,
.gpm-workspace-module-row:focus-within {
	border-color: var(--gpm-primary);
	box-shadow: 0 10px 24px rgba(7, 21, 36, 0.1);
}

.gpm-workspace-module-row__link {
	align-items: center;
	color: inherit;
	display: grid;
	gap: 0.85rem;
	grid-template-columns: minmax(0, 1fr) auto auto;
	min-width: 0;
	text-decoration: none;
}

.gpm-workspace-module-row__number {
	color: var(--gpm-muted);
	font-size: 0.82rem;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	white-space: nowrap;
}

.gpm-workspace-module-row--static {
	grid-template-columns: minmax(0, 1fr);
}

.gpm-workspace-module-row__copy h3[data-gpm-module-title] {
	border-radius: 6px;
	cursor: text;
	padding: 0.1rem 0.3rem;
	margin: -0.1rem -0.3rem;
}

.gpm-workspace-module-row__copy h3[data-gpm-module-title]:hover,
.gpm-workspace-module-row__copy h3[data-gpm-module-title]:focus-visible {
	background: rgba(13, 35, 58, 0.08);
	outline: none;
}

.gpm-workspace-module-row__title-input {
	border: 1px solid rgba(13, 35, 58, 0.35);
	border-radius: 6px;
	font: inherit;
	font-weight: 700;
	padding: 0.1rem 0.3rem;
	width: 100%;
}

.gpm-module-context-menu {
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 10px;
	box-shadow: 0 12px 30px rgba(13, 35, 58, 0.18);
	list-style: none;
	margin: 0;
	padding: 0.35rem;
	position: fixed;
	z-index: 10000;
}

.gpm-module-context-menu button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 6px;
	color: var(--gpm-primary);
	cursor: pointer;
	display: flex;
	font-size: 0.86rem;
	gap: 0.5rem;
	padding: 0.5rem 0.65rem;
	text-align: left;
	white-space: nowrap;
	width: 100%;
}

.gpm-module-context-menu button:hover {
	background: rgba(13, 35, 58, 0.08);
}

.gpm-workspace-module-row > .gpm-module-drag {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 8px;
	color: var(--gpm-muted);
	cursor: grab;
	display: inline-flex;
	height: 40px;
	justify-content: center;
	padding: 0;
	width: 40px;
}

.gpm-workspace-module-row > .gpm-module-drag:focus-visible {
	box-shadow: 0 0 0 3px rgba(13, 35, 58, 0.16);
	outline: none;
}

.gpm-workspace-module-row > .gpm-module-indent {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 6px;
	color: var(--gpm-muted);
	cursor: pointer;
	display: inline-flex;
	height: 24px;
	justify-content: center;
	opacity: 0.35;
	padding: 0;
	width: 20px;
}

.gpm-workspace-module-row > .gpm-module-indent .dashicons {
	font-size: 16px;
	height: 16px;
	width: 16px;
}

.gpm-workspace-module-row > .gpm-module-indent:hover,
.gpm-workspace-module-row > .gpm-module-indent:focus-visible {
	background: rgba(13, 35, 58, 0.08);
	opacity: 1;
}

.gpm-workspace-module-row > .gpm-module-indent:focus-visible {
	box-shadow: 0 0 0 3px rgba(13, 35, 58, 0.16);
	outline: none;
}

.gpm-workspace-module-row--sub > .gpm-module-indent .dashicons {
	transform: rotate(180deg);
}

.gpm-workspace-module-row__action {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 8px;
	color: var(--gpm-primary);
	display: inline-flex;
	font-size: 0.86rem;
	font-weight: 700;
	justify-content: center;
	min-height: 42px;
	padding: 0.65rem 1rem;
}

.gpm-instructor-app .gpm-workspace-module-row h3,
.gpm-workspace-module-row p {
	margin: 0;
}

.gpm-workspace-module-row.is-dragging {
	opacity: 0.55;
}

.gpm-module-editor .gpm-rich-toolbar {
	flex-wrap: wrap;
}

.gpm-module-editor__cards .gpm-card-builder {
	grid-column: 1 / -1;
}

.gpm-card-builder,
.gpm-card-builder__list {
	display: grid;
	gap: 0.85rem;
}

.gpm-card-builder__head {
	align-items: flex-start;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-card-builder__head :is(h3, p) {
	margin: 0;
}

.gpm-card-builder__head p,
.gpm-card-builder__import small {
	color: var(--gpm-muted);
	font-size: 0.84rem;
}

.gpm-card-builder__actions,
.gpm-card-builder__item-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.gpm-card-builder__empty {
	border: 1px dashed rgba(13, 35, 58, 0.2);
	border-radius: 10px;
	color: var(--gpm-muted);
	padding: 1rem;
}

.gpm-workspace-forms {
	display: grid;
	gap: 0.85rem;
}

.gpm-workspace-forms > header {
	align-items: flex-start;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-workspace-forms > header :is(h2, p) {
	margin: 0;
}

.gpm-workspace-forms > header p {
	color: var(--gpm-muted);
	font-size: 0.84rem;
}

.gpm-workspace-forms__list {
	display: grid;
	gap: 0.65rem;
}

.gpm-workspace-forms__item {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	padding: 0.85rem 1rem;
}

.gpm-workspace-forms__item > div {
	display: grid;
	gap: 0.2rem;
	margin-right: auto;
}

.gpm-workspace-forms__item span {
	color: var(--gpm-muted);
	font-size: 0.82rem;
}

.gpm-workspace-forms__shortcode,
.gpm-workspace-forms__shortcode-hint code {
	background: rgba(13, 35, 58, 0.06);
	border-radius: 6px;
	font-size: 0.82rem;
	padding: 0.2rem 0.5rem;
}

.gpm-workspace-forms__shortcode-hint {
	color: var(--gpm-muted);
	font-size: 0.84rem;
	margin: 0;
}

.gpm-card-builder__item {
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 10px;
	overflow: visible;
}

.gpm-card-builder__item > summary {
	align-items: center;
	cursor: pointer;
	display: grid;
	gap: 0.65rem;
	grid-template-columns: auto minmax(0, 1fr) auto;
	list-style: none;
	padding: 0.8rem;
}

.gpm-card-builder__item > summary::-webkit-details-marker {
	display: none;
}

.gpm-card-builder__status {
	background: rgba(13, 35, 58, 0.08);
	border-radius: 999px;
	color: var(--gpm-muted);
	font-size: 0.72rem;
	font-weight: 700;
	padding: 0.3rem 0.55rem;
}

.gpm-card-builder__fields {
	border-top: 1px solid rgba(13, 35, 58, 0.1);
	display: grid;
	gap: 0.75rem;
	padding: 0.85rem;
}

.gpm-card-builder__field {
	display: grid;
	gap: 0.35rem;
	font-weight: 700;
}

.gpm-card-builder__item-actions button,
.gpm-fixation-study button {
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 8px;
	color: var(--gpm-primary);
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	min-height: 40px;
	padding: 0.55rem 0.8rem;
}

.gpm-card-builder__import {
	display: grid;
	gap: 0.35rem;
	max-width: 560px;
}

.gpm-card-builder__preview {
	border-top: 1px solid rgba(13, 35, 58, 0.1);
	padding-top: 1rem;
}

.gpm-fixation-study {
	background: #f7f8fa;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 14px;
	display: grid;
	gap: 0.8rem;
	margin-top: 1rem;
	outline: none;
	padding: 1rem;
}

.gpm-fixation-study:focus-visible {
	box-shadow: 0 0 0 3px rgba(142, 17, 36, 0.2);
}

.gpm-fixation-study__head {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-fixation-study__head span,
.gpm-fixation-study__position {
	color: var(--gpm-muted);
	font-size: 0.78rem;
}

/* Quiz builder (formulario de módulo) — reutiliza la misma gramática visual que el card builder. */
.gpm-module-editor__form-quiz > .gpm-quiz-builder {
	grid-column: 1 / -1;
}

.gpm-quiz-builder,
.gpm-quiz-builder__list {
	display: grid;
	gap: 0.85rem;
}

.gpm-quiz-builder__form {
	display: grid;
	gap: 0.85rem;
}

.gpm-quiz-builder__head {
	align-items: flex-start;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.gpm-quiz-builder__head :is(h3, p) {
	margin: 0;
}

.gpm-quiz-builder__head p {
	color: var(--gpm-muted);
	font-size: 0.84rem;
}

.gpm-quiz-builder__actions,
.gpm-quiz-builder__item-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.gpm-quiz-builder__empty {
	border: 1px dashed rgba(13, 35, 58, 0.2);
	border-radius: 10px;
	color: var(--gpm-muted);
	padding: 1rem;
}

.gpm-quiz-builder__item {
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 10px;
	overflow: clip;
}

.gpm-quiz-builder__item > summary {
	align-items: center;
	background: var(--gpm-primary);
	color: #fff;
	cursor: pointer;
	display: grid;
	gap: 0.65rem;
	grid-template-columns: auto minmax(0, 1fr);
	list-style: none;
	padding: 0.8rem;
	text-align: left;
}

.gpm-quiz-builder__item > summary :is(.dashicons, strong) {
	color: inherit;
}

.gpm-quiz-builder__item > summary strong {
	min-width: 0;
}

.gpm-quiz-builder__item > summary:focus-visible {
	outline: 3px solid var(--gpm-gold, #fdba49);
	outline-offset: -3px;
}

.gpm-quiz-builder__item > summary::-webkit-details-marker {
	display: none;
}

.gpm-quiz-builder__fields {
	border-top: 1px solid rgba(13, 35, 58, 0.1);
	display: grid;
	gap: 0.75rem;
	padding: 0.85rem;
}

.gpm-quiz-builder__fields label {
	display: grid;
	gap: 0.35rem;
	font-weight: 700;
}

.gpm-quiz-builder__fields textarea,
.gpm-quiz-builder__fields select,
.gpm-quiz-builder__fields input[type="text"],
.gpm-quiz-builder__fields input[type="number"] {
	width: 100%;
}

.gpm-quiz-builder__item-actions button {
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.18);
	border-radius: 8px;
	color: var(--gpm-primary);
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	min-height: 40px;
	padding: 0.55rem 0.8rem;
}

.gpm-quiz-builder__options {
	background: rgba(13, 35, 58, 0.03);
	border-radius: 8px;
	display: grid;
	gap: 0.6rem;
	padding: 0.75rem;
}

.gpm-quiz-builder__allow-multiple {
	align-items: center;
	display: flex;
	gap: 0.5rem;
	font-weight: 600 !important;
}

.gpm-quiz-builder__paste-help {
	color: var(--gpm-muted);
	font-size: 0.84rem;
	margin: 0;
}

.gpm-quiz-builder__option-list {
	display: grid;
	gap: 0.5rem;
}

.gpm-quiz-builder__option {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.14);
	border-radius: 8px;
	display: grid;
	gap: 0.5rem;
	grid-template-columns: minmax(0, 1fr) auto auto;
	padding: 0.5rem 0.65rem;
}

.gpm-quiz-builder__option label {
	align-items: center;
	display: flex;
	gap: 0.35rem;
	font-size: 0.82rem;
	font-weight: 600;
	white-space: nowrap;
}

.gpm-quiz-builder__option button {
	background: transparent;
	border: 0;
	color: var(--gpm-muted);
	cursor: pointer;
	font-size: 1.1rem;
	line-height: 1;
}

html[data-gpm-theme="dark"] :is(.gpm-quiz-builder__item, .gpm-quiz-builder__option, .gpm-quiz-builder__item-actions button) {
	background: #1b2937;
	border-color: rgba(253, 186, 73, 0.18);
}

html[data-gpm-theme="dark"] .gpm-quiz-builder__options {
	background: rgba(253, 186, 73, 0.06);
}

html[data-gpm-theme="dark"] .gpm-quiz-builder__empty {
	border-color: rgba(253, 186, 73, 0.24);
}

.gpm-fixation-study__head h5 {
	font-size: 1.05rem;
	margin: 0.1rem 0 0;
}

.gpm-fixation-study__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.gpm-fixation-study__progress {
	background: rgba(13, 35, 58, 0.1);
	border-radius: 999px;
	height: 6px;
	overflow: hidden;
}

.gpm-fixation-study__progress > span {
	background: var(--gpm-primary);
	display: block;
	height: 100%;
	transition: width 180ms ease;
}

.gpm-fixation-study__position {
	text-align: right;
}

.gpm-fixation-study__stage {
	cursor: pointer;
	perspective: 1200px;
}

.gpm-fixation-card {
	min-height: 250px;
}

.gpm-fixation-card__inner {
	display: grid;
	min-height: 250px;
	transform-style: preserve-3d;
	transition: transform 420ms ease;
}

.gpm-fixation-card.is-flipped .gpm-fixation-card__inner {
	transform: rotateY(180deg);
}

.gpm-fixation-card__face {
	backface-visibility: hidden;
	background: linear-gradient(145deg, #102a43, #8e1124);
	border-radius: 12px;
	color: #fff;
	display: grid;
	grid-area: 1 / 1;
	place-content: center;
	padding: clamp(1.25rem, 4vw, 2.5rem);
	text-align: center;
}

.gpm-fixation-card__face > span {
	color: #fdba49;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gpm-fixation-card__face .gpm-rich-content {
	color: inherit;
	font-size: clamp(1rem, 2vw, 1.25rem);
}

.gpm-fixation-card__back {
	background: #fff;
	color: var(--gpm-primary);
	transform: rotateY(180deg);
}

.gpm-fixation-study__controls,
.gpm-fixation-study__rating,
.gpm-fixation-study__complete {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: center;
}

.gpm-fixation-study__controls [data-gpm-card-flip],
.gpm-fixation-study__rating [data-gpm-card-rate="understood"] {
	background: var(--gpm-primary);
	color: #fff;
}

.gpm-fixation-study__rating [data-gpm-card-rate="review"] {
	border-color: var(--gpm-secondary, #8e1124);
	color: var(--gpm-secondary, #8e1124);
}

.gpm-fixation-study__complete {
	align-items: center;
	background: rgba(13, 35, 58, 0.06);
	border-radius: 10px;
	padding: 0.9rem;
}

.gpm-fixation-study__complete :is(h6, p) {
	margin: 0;
}

.gpm-instructor-app .gpm-workspace-module-row h3 {
	color: var(--gpm-primary);
	font-size: clamp(0.95rem, 1.2vw, 1.08rem);
	font-weight: 600;
	line-height: 1.35;
	min-width: 0;
	overflow-wrap: anywhere;
}

.gpm-workspace-module-row p {
	color: var(--gpm-muted);
	font-size: 0.82rem;
	margin-top: 0.2rem;
}

.gpm-module-editor__form {
	display: grid;
	gap: 1.25rem;
}

.gpm-module-editor__section {
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 12px;
	overflow: hidden;
}

.gpm-module-editor__section > summary {
	background: var(--gpm-primary, #0d233a);
	color: #fff;
	cursor: pointer;
	font-size: clamp(1rem, 1.5vw, 1.15rem);
	font-weight: 700;
	line-height: 1.3;
	list-style: none;
	padding: 0.85rem 1.1rem;
}

.gpm-module-editor__section > summary::-webkit-details-marker {
	display: none;
}

.gpm-module-editor__section > summary:focus-visible {
	outline: 3px solid var(--gpm-gold, #fdba49);
	outline-offset: -3px;
}

.gpm-module-editor__section > summary::after {
	content: "\25be";
	float: right;
	transition: transform 160ms ease;
}

.gpm-module-editor__section[open] > summary::after {
	transform: rotate(180deg);
}

.gpm-module-editor__section-body {
	background: #f6f7f9;
	display: grid;
	gap: 0.8rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 1rem;
}

.gpm-module-editor__section-body > .gpm-rich-field,
.gpm-module-editor__section-body > .gpm-image-field,
.gpm-module-editor__section-body > label:has(textarea),
.gpm-module-editor__section-body > .gpm-module-editor__agenda-toggle {
	grid-column: 1 / -1;
}

.gpm-module-editor__agenda-toggle {
	display: grid;
	gap: 0.35rem;
}

.gpm-module-editor__form label {
	align-self: start;
	display: grid;
	gap: 0.35rem;
}

.gpm-module-editor__form :is(input, select) {
	height: 46px;
}

.gpm-workspace-publication {
	border-top: 1px solid rgba(13, 35, 58, 0.12);
	padding-top: 1rem;
}

.gpm-module-editor__section-body.gpm-module-editor__status {
	display: block;
}

.gpm-agenda-dashboard {
	display: grid;
	gap: 1rem;
	min-width: 0;
}

.gpm-agenda-next {
	background: linear-gradient(135deg, #0d233a, #173d61);
	border-radius: 16px;
	color: #fff;
	padding: clamp(1.25rem, 4vw, 2rem);
}

.gpm-agenda-next .gpm-kicker,
.gpm-agenda-next p,
.gpm-agenda-next h2 {
	color: #fff;
	margin: 0.3rem 0;
}

.gpm-agenda-next time {
	color: #fdba49;
	font-weight: 800;
}

.gpm-agenda-filter {
	align-items: end;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: minmax(180px, 260px) auto;
	justify-content: start;
}

.gpm-agenda-filter label {
	display: grid;
	gap: 0.35rem;
}

.gpm-month-calendar {
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 16px;
	overflow: hidden;
}

.gpm-month-calendar__toolbar {
	align-items: center;
	border-bottom: 1px solid rgba(13, 35, 58, 0.12);
	display: grid;
	gap: 1rem;
	grid-template-columns: 46px minmax(0, 1fr) 46px;
	padding: 0.85rem 1rem;
}

.gpm-month-calendar__toolbar > div {
	align-items: center;
	display: flex;
	gap: 0.75rem;
	justify-content: center;
}

.gpm-month-calendar__toolbar h2 {
	color: var(--gpm-primary);
	font-size: clamp(1.05rem, 2vw, 1.3rem);
	margin: 0;
}

.gpm-month-calendar__toolbar > div > a {
	color: #700c14;
	font-size: 0.82rem;
	font-weight: 750;
}

.gpm-month-calendar__nav {
	align-items: center;
	border: 1px solid rgba(13, 35, 58, 0.16);
	border-radius: 10px;
	color: var(--gpm-primary);
	display: inline-flex;
	height: 44px;
	justify-content: center;
	text-decoration: none;
	width: 44px;
}

.gpm-month-calendar table {
	border-collapse: collapse;
	margin: 0;
	table-layout: fixed;
	width: 100%;
}

.gpm-month-calendar th {
	background: #f6f7f9;
	border: 1px solid rgba(13, 35, 58, 0.1);
	color: var(--gpm-muted);
	font-size: 0.76rem;
	font-weight: 800;
	padding: 0.55rem 0.35rem;
	text-align: center;
	text-transform: uppercase;
}

.gpm-month-calendar td {
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.1);
	height: 112px;
	padding: 0;
	vertical-align: top;
}

.gpm-month-calendar td.is-outside {
	background: #f6f7f9;
}

.gpm-month-calendar td.has-conference {
	background: rgba(112, 12, 20, 0.055);
	box-shadow: inset 3px 0 #700c14;
}

.gpm-month-calendar td.is-today {
	box-shadow: inset 0 0 0 2px var(--gpm-primary);
}

.gpm-month-calendar td.is-today.has-conference {
	box-shadow: inset 3px 0 #700c14, inset 0 0 0 2px var(--gpm-primary);
}

.gpm-calendar-day {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	height: 100%;
	min-width: 0;
	padding: 0.45rem;
}

.gpm-calendar-day > time {
	align-items: center;
	color: var(--gpm-primary);
	display: inline-flex;
	font-size: 0.82rem;
	font-weight: 750;
	height: 24px;
	justify-content: center;
	width: 24px;
}

.gpm-month-calendar td.is-outside .gpm-calendar-day > time {
	color: var(--gpm-muted);
	opacity: 0.62;
}

.gpm-calendar-day__events {
	display: grid;
	gap: 0.25rem;
	min-width: 0;
}

.gpm-calendar-day__events a {
	background: rgba(112, 12, 20, 0.09);
	border-radius: 7px;
	color: #700c14;
	display: grid;
	font-size: 0.68rem;
	gap: 0.05rem;
	line-height: 1.25;
	min-height: 30px;
	overflow: hidden;
	padding: 0.25rem 0.35rem;
	text-decoration: none;
}

.gpm-calendar-day__events a span,
.gpm-calendar-day__events a strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gpm-calendar-day__more {
	color: var(--gpm-muted);
	font-size: 0.68rem;
	font-weight: 750;
}

.gpm-agenda-timeline,
.gpm-agenda-groups {
	display: grid;
	gap: 0.75rem;
}

.gpm-agenda-timeline > a {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 12px;
	display: grid;
	gap: 1rem;
	grid-template-columns: 64px 1fr;
	padding: 0.85rem;
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.gpm-agenda-timeline > a:hover,
.gpm-agenda-timeline > a:focus-visible {
	border-color: var(--gpm-primary);
	box-shadow: 0 10px 24px rgba(7, 21, 36, 0.1);
	outline: none;
	transform: translateY(-1px);
}

.gpm-agenda-timeline > a:target {
	border-color: #700c14;
	box-shadow: 0 0 0 3px rgba(112, 12, 20, 0.12);
	scroll-margin-top: 90px;
}

.gpm-agenda-timeline > a > time {
	align-items: center;
	background: #f6f7f9;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 62px;
}

.gpm-agenda-timeline h3,
.gpm-agenda-timeline p {
	margin: 0;
}

.gpm-agenda-timeline h3 {
	color: var(--gpm-primary);
	font-size: 1rem;
	line-height: 1.35;
}

.gpm-agenda-timeline p,
.gpm-agenda-timeline a div > span {
	color: var(--gpm-muted);
	font-size: 0.84rem;
}

.gpm-agenda-groups > article {
	background: #fff;
	border: 1px solid rgba(13, 35, 58, 0.12);
	border-radius: 12px;
	padding: 1rem;
}

.gpm-agenda-groups article > header {
	align-items: start;
	display: flex;
	justify-content: space-between;
}

.gpm-agenda-groups h2,
.gpm-agenda-groups p {
	margin: 0;
}

.gpm-agenda-groups li {
	display: grid;
	gap: 1rem;
	grid-template-columns: 100px 1fr;
	padding: 0.5rem 0;
}

.gpm-agenda-groups li.is-highlighted {
	background: rgba(112, 12, 20, 0.07);
	border-radius: 8px;
	box-shadow: inset 3px 0 #700c14;
	padding-inline: 0.75rem;
}

/* Dark surfaces for the course storefronts and workspaces. These rules must
 * remain after the component declarations above so the light defaults do not
 * win through source order. */
html[data-gpm-theme="dark"] :is(.gpm-shell, .gpm-instructor-app) :is(
	.gpm-showcase-card,
	.gpm-course-create__section,
	.gpm-course-create__footer,
	.gpm-workspace-summary__stats > a,
	.gpm-workspace-next,
	.gpm-workspace-simple,
	.gpm-workspace-content,
	.gpm-module-editor,
	.gpm-module-editor__section,
	.gpm-workspace-settings,
	.gpm-workspace-module-row,
	.gpm-agenda-timeline > a,
	.gpm-agenda-groups > article,
	.gpm-course-showcase__empty,
	.gpm-month-calendar
) {
	background: var(--gpm-dark-card, #14202f);
	border-color: var(--gpm-line, rgba(142, 145, 150, 0.26));
	box-shadow: 0 16px 38px rgba(0, 0, 0, 0.18);
	color: var(--gpm-ink, #d7e3f8);
}

html[data-gpm-theme="dark"] :is(.gpm-shell, .gpm-instructor-app) :is(
	.gpm-initial-item,
	.gpm-workspace-add-module,
	.gpm-module-editor__section-body,
	.gpm-agenda-timeline > a > time
) {
	background: var(--gpm-dark-card-high, #1f2b3a);
	border-color: var(--gpm-line, rgba(142, 145, 150, 0.26));
}

html[data-gpm-theme="dark"] .gpm-module-editor__section > summary {
	background: #1c3d63;
	color: var(--gpm-ink, #d7e3f8);
}

html[data-gpm-theme="dark"] :is(.gpm-course-create, .gpm-workspace-content, .gpm-module-editor, .gpm-workspace-settings, .gpm-agenda-filter, [data-gpm-group-form]) :is(
	input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
	select,
	textarea
) {
	background: var(--gpm-dark-field, #030f1d);
	border-color: var(--gpm-line, rgba(142, 145, 150, 0.26));
	color: var(--gpm-ink, #d7e3f8);
}

html[data-gpm-theme="dark"] :is(.gpm-course-create, .gpm-workspace-content, .gpm-module-editor, .gpm-workspace-settings, .gpm-agenda-filter, [data-gpm-group-form]) :is(input, textarea)::placeholder {
	color: #8a9ab0;
}

html[data-gpm-theme="dark"] .gpm-course-workspace-tabs {
	border-bottom-color: var(--gpm-line, rgba(142, 145, 150, 0.26));
}

html[data-gpm-theme="dark"] .gpm-course-workspace-tabs a.is-active {
	border-bottom-color: var(--gpm-gold, #fdba49);
	color: var(--gpm-gold, #fdba49);
}

html[data-gpm-theme="dark"] .gpm-course-showcase__head > span,
html[data-gpm-theme="dark"] .gpm-showcase-card__badges span,
html[data-gpm-theme="dark"] .gpm-showcase-card__badges .is-status {
	background: rgba(253, 186, 73, 0.12);
	color: var(--gpm-gold, #fdba49);
}

html[data-gpm-theme="dark"] .gpm-showcase-card__progress > div {
	background: rgba(215, 227, 248, 0.14);
}

html[data-gpm-theme="dark"] .gpm-showcase-card__progress > div > span {
	background: linear-gradient(90deg, #8a2124, var(--gpm-gold, #fdba49));
}

html[data-gpm-theme="dark"] a.gpm-showcase-card__media:focus-visible {
	outline-color: var(--gpm-gold, #fdba49);
}

html[data-gpm-theme="dark"] :is(.gpm-workspace-summary__stats > a, .gpm-workspace-next, .gpm-workspace-simple, .gpm-workspace-module-row, .gpm-agenda-timeline > a):is(:hover, :focus-visible, :focus-within) {
	border-color: var(--gpm-gold, #fdba49);
}

html[data-gpm-theme="dark"] .gpm-month-calendar__toolbar,
html[data-gpm-theme="dark"] .gpm-month-calendar th,
html[data-gpm-theme="dark"] .gpm-month-calendar td {
	border-color: var(--gpm-line, rgba(142, 145, 150, 0.26));
}

html[data-gpm-theme="dark"] .gpm-month-calendar th,
html[data-gpm-theme="dark"] .gpm-month-calendar td.is-outside {
	background: var(--gpm-soft, #071422);
}

html[data-gpm-theme="dark"] .gpm-month-calendar td {
	background: var(--gpm-dark-card, #14202f);
}

html[data-gpm-theme="dark"] .gpm-month-calendar td.has-conference {
	background: rgba(253, 186, 73, 0.1);
	box-shadow: inset 3px 0 var(--gpm-gold, #fdba49);
}

html[data-gpm-theme="dark"] .gpm-month-calendar td.is-today {
	box-shadow: inset 0 0 0 2px var(--gpm-gold, #fdba49);
}

html[data-gpm-theme="dark"] .gpm-month-calendar td.is-today.has-conference {
	box-shadow: inset 3px 0 var(--gpm-gold, #fdba49), inset 0 0 0 2px var(--gpm-gold, #fdba49);
}

html[data-gpm-theme="dark"] .gpm-calendar-day__events a {
	background: rgba(253, 186, 73, 0.14);
	color: var(--gpm-gold, #fdba49);
}

html[data-gpm-theme="dark"] .gpm-month-calendar__toolbar > div > a,
html[data-gpm-theme="dark"] .gpm-month-calendar__nav {
	color: var(--gpm-gold, #fdba49);
}

html[data-gpm-theme="dark"] .gpm-agenda-groups li.is-highlighted {
	background: rgba(253, 186, 73, 0.1);
	box-shadow: inset 3px 0 var(--gpm-gold, #fdba49);
}

@media (prefers-reduced-motion: reduce) {
	.gpm-showcase-card__media > img {
		transition: none;
	}

	a.gpm-showcase-card__media:hover > img,
	a.gpm-showcase-card__media:focus-visible > img {
		transform: none;
	}
}

@media (max-width: 1200px) {
	.gpm-course-showcase__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.gpm-workspace-summary__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gpm-workspace-summary__stats > :last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.gpm-course-create__grid,
	.gpm-module-editor__section-body {
		grid-template-columns: 1fr;
	}

	.gpm-month-calendar td {
		height: 88px;
	}
}

@media (max-width: 640px) {
	.gpm-course-showcase__grid,
	.gpm-workspace-summary__stats {
		grid-template-columns: 1fr;
	}

	.gpm-course-showcase__head,
	.gpm-course-create__footer,
	.gpm-workspace-next,
	.gpm-workspace-simple,
	.gpm-workspace-content > header,
	.gpm-module-editor__head,
	.gpm-workspace-settings > header {
		align-items: stretch;
		flex-direction: column;
	}

	.gpm-course-workspace-tabs {
		margin-inline: -0.75rem;
		padding-inline: 0.75rem;
		scrollbar-width: thin;
	}

	.gpm-agenda-filter {
		grid-template-columns: 1fr;
	}

	.gpm-agenda-filter .gpm-button {
		width: 100%;
	}

	.gpm-month-calendar__toolbar {
		grid-template-columns: 44px minmax(0, 1fr) 44px;
		padding-inline: 0.55rem;
	}

	.gpm-month-calendar__toolbar > div {
		align-items: center;
		flex-direction: column;
		gap: 0.1rem;
	}

	.gpm-month-calendar th {
		font-size: 0.66rem;
		padding-inline: 0.1rem;
	}

	.gpm-month-calendar td {
		height: 58px;
	}

	.gpm-calendar-day {
		padding: 0.25rem;
		position: relative;
	}

	.gpm-calendar-day__events a:first-child {
		background: transparent;
		inset: 0;
		min-height: 44px;
		position: absolute;
	}

	.gpm-calendar-day__events a:first-child::after {
		background: #700c14;
		border-radius: 50%;
		bottom: 0.4rem;
		content: "";
		height: 7px;
		left: 50%;
		position: absolute;
		transform: translateX(-50%);
		width: 7px;
	}

	.gpm-calendar-day__events a span,
	.gpm-calendar-day__events a strong,
	.gpm-calendar-day__events a:not(:first-child),
	.gpm-calendar-day__more {
		display: none;
	}

	html[data-gpm-theme="dark"] .gpm-calendar-day__events a:first-child::after {
		background: var(--gpm-gold, #fdba49);
	}

	.gpm-agenda-timeline > a {
		grid-template-columns: 54px minmax(0, 1fr);
	}

	.gpm-workspace-add-module,
	.gpm-workspace-module-row {
		grid-template-columns: 1fr;
	}

	.gpm-workspace-module-row > .gpm-module-drag,
	.gpm-workspace-module-row > .gpm-module-indent {
		display: none;
	}

	.gpm-instructor-app .gpm-workspace-module-row h3 {
		font-size: 0.95rem;
	}

	.gpm-workspace-module-row > .gpm-button {
		justify-content: center;
		width: 100%;
	}

	.gpm-showcase-card__body {
		padding: 0.9rem;
	}

	.gpm-initial-item {
		grid-template-columns: auto minmax(0, 1fr) auto;
	}

	.gpm-initial-item > .dashicons {
		display: none;
	}
}

.gpm-fixation-study [hidden],
.gpm-card-builder [hidden] {
	display: none !important;
}

@media (max-width: 640px) {
	.gpm-card-builder__head,
	.gpm-fixation-study__head {
		align-items: stretch;
		flex-direction: column;
	}

	.gpm-card-builder__actions > *,
	.gpm-fixation-study__controls > *,
	.gpm-fixation-study__rating > * {
		flex: 1 1 auto;
	}

	.gpm-card-builder__item > summary {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.gpm-card-builder__item > summary > .dashicons {
		display: none;
	}

	.gpm-fixation-card,
	.gpm-fixation-card__inner {
		min-height: 210px;
	}

	.gpm-module-editor .gpm-rich-toolbar button {
		min-height: 38px;
		min-width: 38px;
	}

	.gpm-workspace-module-row__link {
		grid-template-columns: 1fr;
	}

	.gpm-workspace-module-row__action {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gpm-fixation-card__inner,
	.gpm-fixation-study__progress > span {
		transition: none;
	}

	.gpm-fixation-card.is-flipped .gpm-fixation-card__inner {
		transform: none;
	}

	.gpm-fixation-card.is-flipped .gpm-fixation-card__front {
		display: none;
	}

	.gpm-fixation-card__back {
		transform: none;
	}
}

.gpm-instructor-nav-badge {
	background: var(--gpm-red);
	border-radius: 999px;
	color: #fff;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1;
	margin-left: auto;
	padding: 0.2rem 0.5rem;
}

.gpm-status-requests-panel {
	background: var(--gpm-surface);
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-md, 8px);
	margin-block-end: 1.5rem;
	padding: 1.25rem 1.5rem;
}

.gpm-status-requests-panel header p {
	color: var(--gpm-muted);
	margin: 0.15rem 0 0;
}

.gpm-status-requests-list {
	display: grid;
	gap: 0.75rem;
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
}

.gpm-status-requests-list li {
	align-items: center;
	background: var(--gpm-soft);
	border-radius: var(--radius-md, 8px);
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: space-between;
	padding: 0.75rem 1rem;
}

.gpm-status-requests-list__badge {
	border-radius: 999px;
	color: #fff;
	font-size: 0.75rem;
	margin: 0 0.5rem;
	padding: 0.15rem 0.6rem;
}

.gpm-status-requests-list__badge--change_turma {
	background: var(--gpm-blue-accent);
}

.gpm-status-requests-list__badge--pause {
	background: #b07a1f;
}

.gpm-status-requests-list__badge--cancel {
	background: var(--gpm-red);
}

.gpm-course-status {
	display: grid;
	gap: 2rem;
}

.gpm-course-status > header h2 {
	margin: 0.35rem 0 0;
}

.gpm-course-status-cards {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.gpm-course-status-card {
	background: var(--gpm-surface);
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-md, 8px);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1.5rem;
}

.gpm-course-status-card p {
	color: var(--gpm-muted);
	flex-grow: 1;
	margin: 0;
}

.gpm-course-recordings__grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 1rem;
}

.gpm-course-recordings__item {
	color: inherit;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	text-decoration: none;
}

.gpm-course-recordings__thumb {
	background: var(--gpm-surface-alt, var(--gpm-surface));
	border: 1px solid var(--gpm-line);
	border-radius: var(--radius-md, 8px);
	display: block;
	overflow: hidden;
	position: relative;
}

.gpm-course-recordings__thumb img {
	display: block;
	height: auto;
	width: 100%;
}

.gpm-course-recordings__thumb .dashicons-controls-play {
	background: rgba(0, 0, 0, 0.55);
	border-radius: 50%;
	color: #fff;
	font-size: 28px;
	height: 44px;
	left: 50%;
	line-height: 44px;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 44px;
}

.gpm-course-recordings__title {
	font-weight: 600;
}

@media (max-width: 860px) {
	.gpm-course-recordings__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 560px) {
	.gpm-course-recordings__grid {
		grid-template-columns: 1fr;
	}
}
