.learnpop-student-portal {
	max-width: 960px;
	margin: 0 auto 50px !important;

	padding: 14px 16px 24px;

	background: #eaf6f5;
	border: 1px solid #96d1cf;
	border-radius: 18px;

	box-sizing: border-box;

	color: #2f3838;

	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}

/* ==========================================
   PAGE SCROLL
========================================== */

html:has(.learnpop-student-portal),
body:has(.learnpop-student-portal) {
	height: auto !important;
	min-height: 100% !important;
	max-height: none !important;

	overflow-y: auto !important;
	overflow-x: hidden !important;
}


/* ==========================================
   PORTAL HEADINGS
========================================== */

.learnpop-student-portal h1 {
	margin: 0 0 10px;

	color: #2f3838;
	font-size: 30px;
	line-height: 1.2;
}

.learnpop-student-portal h2 {
	margin: 30px 0 16px;

	color: #2f3838;
	font-size: 22px;
	line-height: 1.3;
}

.learnpop-student-portal h3 {
	margin: 0 0 8px;

	color: #2f3838;
	font-size: 18px;
	line-height: 1.3;
}


/* ==========================================
   PORTAL TEXT AND LINKS
========================================== */

.learnpop-student-portal p {
	color: #62706f;
	line-height: 1.6;
}

.learnpop-student-portal a {
	color: #007fae;
}

.learnpop-student-portal a:hover {
	color: #006b91;
}


/* ==========================================
   STUDENT PORTAL DASHBOARD HEADER
========================================== */

.learnpop-portal-dashboard-header {
	margin-bottom: 6px;
	padding: 28px 32px;

	background: #ffffff;

	border: 1px solid #d9e8e7;
	border-radius: 18px;
}

.learnpop-portal-dashboard-header h2 {
	margin: 4px 0 8px;

	color: #2f3838;
	font-size: 32px;
	line-height: 1.15;
}

.learnpop-portal-dashboard-header p {
	margin: 0;

	color: #62706f;
	font-size: 17px;
}

.learnpop-portal-eyebrow {
	margin: 0 !important;

	color: #3f6f6d !important;
	font-size: 13px !important;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: 0.08em;
}


/* ==========================================
   STUDENT LICENCE DASHBOARD
========================================== */

.learnpop-student-licence {
	display: grid;

	grid-template-columns:
		repeat(4, minmax(0, 1fr))
		auto;

	gap: 1px;

	margin: 4px 0 18px;

	background: #d9e8e7;

	border: 1px solid #d9e8e7;
	border-radius: 16px;

	overflow: hidden;
}

.learnpop-licence-item {
	display: flex;
	flex-direction: column;
	justify-content: center;

	min-height: 88px;
	padding: 18px 22px;

	background: #ffffff;
}

.learnpop-licence-item strong {
	margin-bottom: 5px;

	color: #62706f;
	font-size: 13px;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.learnpop-licence-item span {
	color: #2f3838;
	font-size: 20px;
	font-weight: 700;
}

.learnpop-licence-action {
	display: flex;
	align-items: center;
	justify-content: center;

	padding: 16px 20px;

	background: #ffffff;
}

.learnpop-licence-action .learnpop-resource-action {
	margin: 0 !important;
	white-space: nowrap;
}


/* ==========================================
   LICENCE EXPIRY STATUS
========================================== */

.learnpop-licence-expiry span {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.learnpop-licence-expiry small {
	font-size: 12px;
	font-weight: 700;
}

.learnpop-licence-expiry-warning {
	background: #fff1f1;
}

.learnpop-licence-expiry-warning strong,
.learnpop-licence-expiry-warning span {
	color: #b42318;
}

.learnpop-licence-expiry-expired {
	background: #fde8e8;
}

.learnpop-licence-expiry-expired strong,
.learnpop-licence-expiry-expired span {
	color: #8f1d16;
}


/* ==========================================
   MY STUDENTS SECTION
========================================== */

.learnpop-student-list-section {
	margin-top: 16px;
}

.learnpop-students-heading {
	margin-bottom: 14px;
}

.learnpop-students-heading h2 {
	margin: 0 0 4px;

	color: #2f3838;
	font-size: 25px;
	line-height: 1.2;
}

.learnpop-students-heading p {
	margin: 0;

	color: #62706f;
	font-size: 15px;
}


/* ==========================================
   ADD STUDENT PANEL
========================================== */

.learnpop-add-student-panel {
	margin: 0 0 20px;

	background: transparent;
	border: 0;

	overflow: visible;
}

.learnpop-add-student-panel > summary {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 44px;
	padding: 10px 18px;

	background: #eaf6f5;

	border: 1px solid #d1e7e5;
	border-radius: 10px;

	color: #2f3838;
	font-size: 16px;
	font-weight: 700;

	cursor: pointer;
	list-style: none;
	user-select: none;
}

.learnpop-add-student-panel > summary::-webkit-details-marker {
	display: none;
}

.learnpop-add-student-panel > summary:hover {
	background: #dff1ef;
}

.learnpop-add-student-content {
	margin-top: 16px;
	padding: 24px;

	background: #ffffff;

	border: 1px solid #d9e8e7;
	border-radius: 14px;
}

.learnpop-add-student-content .learnpop-account-field {
	margin: 0 0 16px;
}

.learnpop-add-student-content label {
	display: block;

	margin-bottom: 7px;

	color: #2f3838;
	font-size: 14px;
	font-weight: 700;
}

.learnpop-add-student-content input[type="text"],
.learnpop-add-student-content input[type="password"] {
	width: 100%;

	padding: 11px 13px;

	background: #ffffff;

	border: 1px solid #d7dfdf;
	border-radius: 9px;

	box-sizing: border-box;

	color: #2f3838;
	font-size: 15px;
}

.learnpop-add-student-content input:focus {
	border-color: #96d1cf;

	outline: 3px solid rgba(150, 209, 207, 0.25);
}

.learnpop-add-student-content .learnpop-account-submit {
	display: inline-block;

	margin-top: 2px;
	padding: 10px 18px;

	background: #96d1cf !important;

	border: 1px solid #96d1cf !important;
	border-radius: 9px;

	color: #ffffff !important;

	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;

	cursor: pointer;
}

.learnpop-add-student-content .learnpop-account-submit:hover {
	background: #7fc5c3 !important;
	border-color: #7fc5c3 !important;
}


/* ==========================================
   LEGACY TWO COLUMN PORTAL LAYOUT
========================================== */

.learnpop-student-portal-columns {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		minmax(0, 1fr);

	gap: 32px;

	margin-top: 30px;

	align-items: start;
}

.learnpop-add-student-column,
.learnpop-student-list-column {
	min-width: 0;

	padding: 24px;

	background: #ffffff;

	border: 1px solid #d9e8e7;
	border-radius: 18px;

	box-sizing: border-box;
}

.learnpop-student-list-column {
	grid-column: 1;
	grid-row: 1;
}

.learnpop-add-student-column {
	grid-column: 2;
	grid-row: 1;
}

.learnpop-add-student-column h3,
.learnpop-student-list-column h3 {
	margin: 0 0 20px;

	color: #2f3838;
	font-size: 22px;
	line-height: 1.3;
}


/* ==========================================
   STUDENT LIST
========================================== */

.learnpop-portal-students {
	margin: 0;
}

.learnpop-portal-student {
	display: flex;
	align-items: center;

	gap: 18px;

	margin: 0;
	padding: 14px 16px;

	background: #ffffff;

	border: 1px solid #d9e8e7;
	border-radius: 12px;

	box-sizing: border-box;
}

.learnpop-portal-student + .learnpop-portal-student {
	margin-top: 10px;
}

.learnpop-portal-student h3 {
	flex: 1 1 140px;

	min-width: 120px;
	margin: 0;

	color: #2f3838;
	font-size: 16px;

	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.learnpop-portal-student > p {
	margin: 0;
}

.learnpop-portal-student > p:first-of-type {
	flex: 1 1 150px;

	min-width: 120px;

	color: #62706f;
	font-size: 13px;

	white-space: nowrap;
}

.learnpop-portal-student > p:not(:first-of-type) {
	flex: 0 0 auto;
}


/* ==========================================
   STUDENT ACTIONS
========================================== */

.learnpop-student-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 8px;

	margin-top: 12px;
}

.learnpop-student-actions .learnpop-resource-action,
.learnpop-portal-student .learnpop-resource-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	margin: 0;
	padding: 8px 12px;

	background: #eaf6f5;

	border: 1px solid #d9e8e7;
	border-radius: 8px;

	color: #2f3838 !important;

	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;

	text-decoration: none;
	white-space: nowrap;

	cursor: pointer;
	box-sizing: border-box;
}

.learnpop-student-actions .learnpop-resource-action:hover,
.learnpop-portal-student .learnpop-resource-action:hover {
	background: #dff1f0;
	border-color: #96d1cf;
}

.learnpop-student-actions .learnpop-remove-student,
.learnpop-portal-student .learnpop-remove-student {
	background: #ffffff;

	border-color: #e3cccc;

	color: #8a4545 !important;
}

.learnpop-student-actions .learnpop-remove-student:hover,
.learnpop-portal-student .learnpop-remove-student:hover {
	background: #fff7f7;
	border-color: #d6aaaa;
}

.learnpop-student-actions .learnpop-remove-student-form {
	margin: 0;
	padding: 0;
}


/* ==========================================
   MANAGE STUDENT HEADER
========================================== */

.learnpop-manage-student-header {
	margin: 0 0 24px;
	padding: 0;
}

.learnpop-manage-student-header h3 {
	margin: 0 0 4px;

	color: #2f3838;
	font-size: 26px;
	line-height: 1.2;
}

.learnpop-manage-student-header > p {
	margin: 0;

	color: #62706f;
	font-size: 14px;
	line-height: 1.4;
}


/* ==========================================
   MANAGE STUDENT DETAILS
========================================== */

.learnpop-student-details {
	display: grid !important;

	grid-template-columns:
		minmax(0, 1fr)
		minmax(0, 1fr)
		auto
		auto !important;

	column-gap: 18px !important;
	row-gap: 0 !important;

	align-items: end !important;

	margin: 0 0 28px !important;
	padding: 18px 22px !important;

	background: #ffffff !important;

	border: 1px solid #d9e8e7 !important;
	border-radius: 16px !important;

	box-sizing: border-box !important;
}

.learnpop-student-details h3 {
	grid-column: 1 / -1 !important;

	margin: 0 0 14px !important;
	padding: 0 !important;

	font-family: inherit !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.learnpop-student-details .learnpop-account-field {
	display: flex !important;
	flex-direction: column !important;

	width: auto !important;

	margin: 0 !important;
	padding: 0 !important;
}

.learnpop-student-details .learnpop-account-field label {
	display: block !important;

	margin: 0 0 5px !important;
	padding: 0 !important;

	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.learnpop-student-details .learnpop-account-field input {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;
	min-height: 40px !important;

	margin: 0 !important;
	padding: 8px 11px !important;

	background: #ffffff !important;

	border: 1px solid #d7dfdf !important;
	border-radius: 8px !important;

	box-sizing: border-box !important;

	font-family: inherit !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
}

.learnpop-student-details .learnpop-account-field input[disabled] {
	background: #f5f8f8 !important;

	color: #62706f !important;

	cursor: not-allowed !important;
}


/* ==========================================
   SAVE STUDENT DETAILS
========================================== */

.learnpop-save-student-details {
	display: flex !important;
	align-items: flex-end !important;

	width: auto !important;
	height: 40px !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* ==========================================
   RESET PASSWORD
========================================== */

.learnpop-student-password {
	position: relative !important;

	justify-self: start !important;

	width: auto !important;
	height: 40px !important;

	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;
	border: 0 !important;
}

.learnpop-student-password summary {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: auto !important;
	height: 40px !important;
	min-height: 40px !important;

	margin: 0 !important;
	padding: 8px 16px !important;

	background: #96d1cf !important;

	border: 0 !important;
	border-radius: 8px !important;

	box-sizing: border-box !important;

	color: #ffffff !important;

	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;

	white-space: nowrap;

	cursor: pointer !important;
	list-style: none !important;

	appearance: none !important;
	-webkit-appearance: none !important;
}

.learnpop-student-password summary::-webkit-details-marker {
	display: none !important;
}

.learnpop-student-password summary::before {
	content: "▸" !important;

	margin-right: 7px !important;

	font-size: 13px !important;
}

.learnpop-student-password[open] summary::before {
	content: "▾" !important;
}

.learnpop-password-content {
	position: absolute !important;
	z-index: 50 !important;

	top: calc(100% + 8px) !important;
	right: 0 !important;

	width: 520px !important;
	max-width: calc(100vw - 40px) !important;

	margin: 0 !important;
	padding: 18px !important;

	background: #ffffff !important;

	border: 1px solid #d9e8e7 !important;
	border-radius: 12px !important;

	box-sizing: border-box !important;

	box-shadow:
		0 6px 18px rgba(0, 0, 0, 0.08) !important;
}

.learnpop-password-fields {
	display: grid !important;

	grid-template-columns:
		minmax(0, 1fr)
		minmax(0, 1fr)
		auto !important;

	gap: 14px !important;
	align-items: end !important;
}

.learnpop-password-fields .learnpop-account-field {
	margin: 0 !important;
	padding: 0 !important;
}

.learnpop-password-fields .learnpop-account-field label {
	display: block !important;

	margin: 0 0 5px !important;

	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.learnpop-password-fields .learnpop-account-field input {
	width: 100% !important;
	min-width: 0 !important;
	min-height: 40px !important;

	margin: 0 !important;
	padding: 8px 11px !important;

	background: #ffffff !important;

	border: 1px solid #d7dfdf !important;
	border-radius: 8px !important;

	box-sizing: border-box !important;

	font-family: inherit !important;
	font-size: 14px !important;
}

.learnpop-password-fields > p:last-child {
	margin: 0 !important;
	padding: 0 !important;
}


/* ==========================================
   MANAGE STUDENT ACTION BUTTONS
========================================== */

.learnpop-student-details button.learnpop-resource-action,
.learnpop-student-details a.learnpop-resource-action,
.learnpop-portal-assignment-form button.learnpop-resource-action,
.learnpop-portal-assignment-form button[name="learnpop_save_assignments"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: auto !important;
	min-width: 0 !important;
	height: 40px !important;
	min-height: 40px !important;

	margin: 0 !important;
	padding: 8px 16px !important;

	background: #96d1cf !important;

	border: 0 !important;
	border-radius: 8px !important;

	box-sizing: border-box !important;

	color: #ffffff !important;

	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;

	white-space: nowrap !important;

	box-shadow: none !important;
	text-shadow: none !important;

	transform: none !important;

	appearance: none !important;
	-webkit-appearance: none !important;
}

.learnpop-student-details button.learnpop-resource-action:hover,
.learnpop-portal-assignment-form button.learnpop-resource-action:hover,
.learnpop-portal-assignment-form button[name="learnpop_save_assignments"]:hover {
	background: #7fc5c3 !important;
	color: #ffffff !important;
}


/* ==========================================
   STUDENT DETAILS MESSAGE
========================================== */

.learnpop-student-details-message {
	margin: 0 0 18px !important;
	padding: 10px 14px !important;

	background: #eaf6f5 !important;

	border: 1px solid #96d1cf !important;
	border-radius: 9px !important;

	font-family: inherit !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
}


/* ==========================================
   ASSIGNMENT AREA
========================================== */

.learnpop-portal-assignment-form {
	margin: 0 !important;
	padding: 28px 32px 30px !important;

	background: #eaf6f5 !important;

	border: 0 !important;
	border-radius: 18px !important;

	box-sizing: border-box;
}

.learnpop-portal-assignment-form h2 {
	margin: 0 0 20px !important;

	color: #2f3838;
	font-size: 22px;
	line-height: 1.25;
}

.learnpop-portal-activity-list {
	margin: 0;
}

.learnpop-portal-activity-list p {
	margin: 0;
}

.learnpop-portal-activity-list label {
	display: flex;
	align-items: center;

	gap: 12px;

	padding: 14px 16px;

	background: #ffffff;

	border: 1px solid #d9e8e7;
	border-radius: 10px;

	box-sizing: border-box;

	color: #2f3838;
	font-size: 15px;
	font-weight: 700;

	cursor: pointer;
}

.learnpop-portal-activity-list label:hover {
	background: #eaf6f5;
	border-color: #96d1cf;
}

.learnpop-portal-activity-list input[type="checkbox"] {
	flex: 0 0 auto;

	width: 18px;
	height: 18px;

	margin: 0;

	accent-color: #96d1cf;
}

.learnpop-portal-assignment-form + p {
	margin: 14px 0 0;
}


/* ==========================================
   ASSIGN ACTIVITIES HEADING
========================================== */

.learnpop-assign-heading {
	margin: 28px 0 18px !important;

	font-family: inherit !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.learnpop-assign-heading-separator {
	margin: 0 8px !important;
}

.learnpop-save-assignments {
	margin-top: 36px !important;
}


/* ==========================================
   MANAGE STUDENT TOP ACTIONS
========================================== */

.learnpop-results-actions-wrap {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;

	gap: 10px !important;

	width: 100% !important;

	margin: 0 0 20px !important;
	padding: 0 !important;
}

.learnpop-results-actions-wrap > p {
	display: block !important;

	flex: 0 0 auto !important;

	width: auto !important;

	margin: 0 !important;
	padding: 0 !important;
}

.learnpop-results-actions-wrap .learnpop-resource-action {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: auto !important;
	min-width: 0 !important;
	height: 40px !important;
	min-height: 40px !important;

	margin: 0 !important;
	padding: 8px 14px !important;

	background: #96d1cf !important;

	border: 0 !important;
	border-radius: 8px !important;

	box-sizing: border-box !important;

	color: #ffffff !important;

	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;

	white-space: nowrap !important;

	box-shadow: none !important;
	text-shadow: none !important;
}
.learnpop-results-actions-wrap
.learnpop-maths-fluency-dashboard-link {
	margin-left: auto !important;
}

/* ==========================================
   STUDENT ACTIVITIES
========================================== */

.learnpop-student-activities {
	width: 100%;
	padding-top: 16px;
	box-sizing: border-box;
}

.learnpop-student-activity-list {
	display: grid;

	grid-template-columns:
		repeat(
			auto-fill,
			200px
		);

	gap: 16px;

	align-items: start;
	justify-content: start;
}

.learnpop-student-activity {
	display: block;

	width: 200px;
	margin: 0;
	padding: 0;

	background: #ffffff;

	border: 1px solid #d9e8e7;
	border-radius: 14px;

	box-sizing: border-box;
	overflow: hidden;

	box-shadow:
		0 4px 12px rgba(47, 56, 56, 0.08);
}

.learnpop-student-activity-image {
	width: 100%;
}

.learnpop-student-activity-image img {
	display: block;

	width: 100%;
	height: auto;

	object-fit: contain;
}

.learnpop-student-activity-info {
	padding: 10px 12px 12px;

	text-align: center;
}

.learnpop-student-activity-info h2 {
	margin: 0 0 8px;

	color: #2f3838;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
}

.learnpop-student-activity-info .learnpop-resource-action {
	display: inline-block;

	margin: 0;
	padding: 7px 11px;

	font-size: 13px;
}


/* ==========================================
   STUDENT RESULTS
========================================== */

.learnpop-student-results {
	width: 100%;

	margin-top: 24px;
}

.learnpop-results-filter {
	margin: 28px 0 18px;
}

.learnpop-results-filter label {
	display: block;

	margin-bottom: 8px;

	font-weight: 700;
}

.learnpop-results-filter select {
	width: 100%;
	max-width: none;
	min-height: 48px;

	padding: 10px 14px;

	background: #ffffff;

	border: 1px solid #d7dfdf;
	border-radius: 10px;

	box-sizing: border-box;

	font-size: 16px;
}


/* ==========================================
   RESULTS TABLE
========================================== */

.learnpop-results-table {
	width: 100%;

	margin-top: 20px;

	border-collapse: collapse;

	font-size: 15px;
}

.learnpop-results-table th {
	padding: 14px 16px;

	border-bottom: 2px solid #d9e8e7;

	text-align: left;
	font-weight: 700;
}

.learnpop-results-table td {
	padding: 16px;

	border-bottom: 1px solid #e5eeee;

	vertical-align: top;
}

.learnpop-results-table tbody tr:last-child td {
	border-bottom: 0;
}


/* Date */

.learnpop-results-table th:nth-child(1),
.learnpop-results-table td:nth-child(1) {
	width: 120px;
	white-space: nowrap;
}


/* Score */

.learnpop-results-table th:nth-child(2),
.learnpop-results-table td:nth-child(2) {
	width: 90px;
	white-space: nowrap;
}


/* Mode */

.learnpop-results-table th:nth-child(3),
.learnpop-results-table td:nth-child(3) {
	width: 150px;
}


/* Errors */

.learnpop-results-table th:nth-child(4),
.learnpop-results-table td:nth-child(4) {
	min-width: 300px;
}


/* Duration */

.learnpop-results-table th:nth-child(5),
.learnpop-results-table td:nth-child(5) {
	width: 100px;
	white-space: nowrap;
}


/* Completed */

.learnpop-results-table th:nth-child(6),
.learnpop-results-table td:nth-child(6) {
	width: 100px;
	white-space: nowrap;
}


/* ==========================================
   RESULT ERRORS
========================================== */

.learnpop-result-error {
	margin-bottom: 5px;
}

.learnpop-result-error:last-child {
	margin-bottom: 0;
}


/* ==========================================
   MOBILE
========================================== */

@media (max-width: 700px) {

	html:has(.learnpop-student-portal),
	body:has(.learnpop-student-portal) {
		height: auto !important;
		min-height: 100% !important;

		overflow-y: auto !important;
		overflow-x: hidden !important;

		position: static !important;
	}


	/* Portal */

	.learnpop-student-portal {
		width: 100%;

		padding-left: 12px;
		padding-right: 12px;

		box-sizing: border-box;
	}


	/* Dashboard header */

	.learnpop-portal-dashboard-header {
		padding: 22px 20px;
	}

	.learnpop-portal-dashboard-header h2 {
		font-size: 26px;
	}

	.learnpop-portal-dashboard-header p {
		font-size: 15px;
	}


	/* Licence */

	.learnpop-student-licence {
		grid-template-columns: 1fr;
	}

	.learnpop-licence-item {
		min-height: 0;
	}


	/* Legacy columns */

	.learnpop-student-portal-columns {
		grid-template-columns: 1fr;

		gap: 22px;
	}


	/* Student list */

	.learnpop-portal-student {
		display: block;

		padding: 12px;
	}

	.learnpop-portal-student h3 {
		min-width: 0;

		margin: 0 0 4px;
	}

	.learnpop-portal-student > p {
		margin: 4px 0 8px;

		white-space: normal;
	}

	.learnpop-student-actions {
		gap: 6px;

		margin-top: 8px;
	}

	.learnpop-student-actions .learnpop-resource-action {
		padding: 7px 10px;

		font-size: 12px;
	}


	/* Student details */

	.learnpop-student-details {
		grid-template-columns: 1fr !important;

		row-gap: 14px !important;

		padding: 18px !important;
	}

	.learnpop-student-details h3 {
		grid-column: 1 !important;

		margin: 0 0 4px !important;
	}

	.learnpop-student-details .learnpop-account-field {
		width: 100% !important;
	}

	.learnpop-save-student-details {
		width: 100% !important;
	}

	.learnpop-save-student-details .learnpop-resource-action {
		width: 100% !important;
	}


	/* Reset password */

	.learnpop-student-password {
		width: 100% !important;

		align-self: stretch !important;
		justify-self: stretch !important;
	}

	.learnpop-student-password summary {
		display: flex !important;

		width: 100% !important;
	}

	.learnpop-password-content {
		position: static !important;

		width: 100% !important;
		max-width: none !important;

		margin-top: 10px !important;
		padding: 16px !important;
	}

	.learnpop-password-fields {
		grid-template-columns: 1fr !important;

		row-gap: 12px !important;
	}

	.learnpop-password-fields .learnpop-resource-action {
		width: 100% !important;
	}


	/* Assignment area */

	.learnpop-portal-assignment-form {
		padding: 20px 14px 22px !important;
	}

	.learnpop-portal-assignment-form h2 {
		margin-bottom: 12px !important;

		font-size: 18px !important;
	}

	.learnpop-portal-activity-list label {
		padding: 10px 11px;

		font-size: 13px;
	}

	.learnpop-assign-heading,
	.learnpop-assign-heading .learnpop-assign-student-name,
	.learnpop-assign-heading .learnpop-assign-heading-separator,
	.learnpop-assign-heading .learnpop-assign-heading-title {
		font-size: 13px !important;
		line-height: 1.25 !important;
	}

	.learnpop-assign-heading {
		margin: 18px 0 13px !important;
	}


	/* Manage page actions */

	.learnpop-results-actions-wrap {
		flex-wrap: wrap !important;

		gap: 8px !important;
	}

	.learnpop-results-actions-wrap .learnpop-resource-action {
		height: 38px !important;
		min-height: 38px !important;

		padding: 7px 11px !important;

		font-size: 13px !important;
	}


	/* Student activity cards */

	.learnpop-student-activities {
		padding-top: 10px;
	}

	.learnpop-student-activity-list {
		grid-template-columns:
			repeat(
				auto-fill,
				160px
			);

		gap: 12px;

	justify-content: start;
	}

	.learnpop-student-activity {
		width: 160px;
	}

	.learnpop-student-activity-image {
		width: 100%;
	}

	.learnpop-student-activity-image img {
		width: 100%;
		height: auto;
	}

	.learnpop-student-activity-info {
		padding: 8px 9px 10px;
	}

	.learnpop-student-activity-info h2 {
		margin-bottom: 7px;

		font-size: 13px;
		line-height: 1.2;
	}

	.learnpop-student-activity-info .learnpop-resource-action {
		padding: 6px 9px;

		font-size: 12px;
	}
}


/* ==========================================
   MOBILE RESULTS
========================================== */

@media (max-width: 767px) {

	.learnpop-student-results .learnpop-results-actions-wrap {
		display: flex !important;

		flex-direction: row !important;
		flex-wrap: wrap !important;

		gap: 8px !important;
	}

	.learnpop-student-results
	.learnpop-results-actions-wrap > p {
		flex: 0 0 auto !important;

		width: auto !important;
	}

	.learnpop-student-results
	.learnpop-results-actions-wrap
	.learnpop-resource-action {
		width: auto !important;
		height: 38px !important;
		min-height: 38px !important;

		padding: 7px 11px !important;

		font-size: 13px !important;
		line-height: 1.2 !important;
	}

	.learnpop-results-filter {
		margin-top: 24px;
	}

	.learnpop-results-filter select {
		width: 100%;
		max-width: 100%;

		font-size: 16px;
	}

	.learnpop-results-table {
		display: block;

		width: 100%;

		overflow-x: auto;
		-webkit-overflow-scrolling: touch;

		white-space: nowrap;
	}

	.learnpop-results-table th,
	.learnpop-results-table td {
		padding: 12px 14px;
	}

	/*
	 * Errors column.
	 * This is column 4.
	 * Do not change back to column 3.
	 */
	.learnpop-results-table th:nth-child(4),
	.learnpop-results-table td:nth-child(4) {
		min-width: 260px;

		white-space: normal;
	}
}
/* ==========================================
   SAVE ASSIGNMENTS BUTTON
========================================== */

button[name="learnpop_save_assignments"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: auto !important;
	min-width: 0 !important;
	height: 40px !important;
	min-height: 40px !important;

	margin: 0 !important;
	padding: 8px 18px !important;

	background: #96d1cf !important;
	background-color: #96d1cf !important;

	color: #ffffff !important;

	border: 0 !important;
	border-radius: 8px !important;

	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;

	box-shadow: none !important;
	text-shadow: none !important;

	appearance: none !important;
	-webkit-appearance: none !important;

	cursor: pointer !important;
}

button[name="learnpop_save_assignments"]:hover,
button[name="learnpop_save_assignments"]:focus {
	background: #7fc5c3 !important;
	background-color: #7fc5c3 !important;
	color: #ffffff !important;
}
/* =========================================================
   MATHS FLUENCY STUDENTS & CLASSES
   Student row layout fix
========================================================= */

.learnpop-maths-fluency-students .learnpop-portal-student {
	display: grid;
	grid-template-columns:
		130px
		minmax(330px, 1fr)
		auto;
	align-items: center;
	gap: 14px;

	padding: 20px 22px;
	box-sizing: border-box;
}

.learnpop-maths-fluency-students .learnpop-portal-student h3 {
	min-width: 0;
	margin: 0;
	font-size: clamp(14px, 0.85vw, 16px);
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.learnpop-maths-fluency-students .learnpop-portal-student > p {
	display: grid;
	grid-template-columns:
		max-content
		max-content
		minmax(160px, 1fr);
	align-items: center;
	column-gap: 18px;
	row-gap: 8px;

	min-width: 0;
	margin: 0;
	color: #2f3838;
	font-size: 14px;
	line-height: 1.2;
	white-space: nowrap;
}

.learnpop-maths-fluency-students .learnpop-student-username {
	white-space: nowrap;
}

.learnpop-maths-fluency-students .learnpop-student-class-label {
	margin: 0 4px 0 4px;
	color: #2f3838;
	white-space: nowrap;
}

.learnpop-maths-fluency-students .learnpop-portal-student > p select {
	width: 100% !important;
	min-width: 0 !important;
	height: 44px !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 8px 34px 8px 12px !important;
	box-sizing: border-box !important;
	font-size: 15px !important;
	line-height: 1.2 !important;
}

.learnpop-maths-fluency-students .learnpop-student-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 7px;
	margin: 0;
	min-width: max-content;
}

.learnpop-maths-fluency-students .learnpop-student-actions .learnpop-resource-action {
	flex: 0 0 auto;
	min-height: 40px;
	padding: 8px 11px;
	white-space: nowrap;
	font-size: 12px !important;
	min-width: 0;
}

@media (max-width: 700px) {

	.learnpop-maths-fluency-students .learnpop-portal-student {
		display: block;
		padding: 18px;
	}

	.learnpop-maths-fluency-students .learnpop-portal-student h3 {
		margin-bottom: 12px;
	}

	.learnpop-maths-fluency-students .learnpop-portal-student > p {
		display: grid;
		grid-template-columns: 1fr;
		gap: 7px;
		margin-bottom: 14px;
		white-space: normal;
	}

	.learnpop-maths-fluency-students .learnpop-student-username,
	.learnpop-maths-fluency-students .learnpop-student-class-label {
		white-space: normal;
	}

	.learnpop-maths-fluency-students .learnpop-portal-student > p select {
		width: 100% !important;
		min-width: 0 !important;
		height: 44px !important;
	}

	.learnpop-maths-fluency-students .learnpop-student-actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.learnpop-maths-fluency-students .learnpop-student-actions .learnpop-resource-action {
		width: 100%;
	}
}


/* =========================================================
   MATHS FLUENCY ASSIGNMENT OPTIONS
   Keep the operation controls horizontal on desktop
========================================================= */

.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 20px;
	background: #ffffff;
	border: 1px solid #d9e8e7;
	border-radius: 12px;
}

.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options > p {
	margin: 0;
	padding: 0;
}

.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options
label {
	display: block;

	margin: 0 0 8px;

	color: var(--mf-text, #2f3838);

	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
}

.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options
select {
	width: 100%;
	min-height: 44px;

	margin: 0;
	padding: 8px 34px 8px 11px;

	border: 1px solid var(--mf-border, #d9e8e7);
	border-radius: 9px;

	background: #ffffff;
	color: var(--mf-text, #2f3838);

	font-size: 14px;
}

.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options
select:focus {
	outline: 2px solid var(--mf-aqua, #96d1cf);
	outline-offset: 1px;
}


/* Keep action buttons underneath the five controls */

.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options
> p:last-child {
	grid-column: 1 / -1;
	max-width: 220px;
}

.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options
.learnpop-resource-action {
	width: auto;
}


/* Save button spacing */

.learnpop-maths-fluency-class-assignments
form > p:last-child {
	margin-top: 20px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

	.learnpop-maths-fluency-class-assignments
	.learnpop-maths-fluency-assignment-options {
		grid-template-columns:
			repeat(3, minmax(0, 1fr));
	}
}


@media (max-width: 700px) {

	.learnpop-maths-fluency-class-assignments
	.learnpop-maths-fluency-assignment-options {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));

		padding: 16px;
	}
}


@media (max-width: 450px) {

	.learnpop-maths-fluency-class-assignments
	.learnpop-maths-fluency-assignment-options {
		grid-template-columns: 1fr;
	}

	.learnpop-maths-fluency-class-assignments
	.learnpop-maths-fluency-assignment-options
	> p:last-child {
		grid-column: auto;
	}

}


/* MATHS FLUENCY STUDENTS & CLASSES - FINAL PAGE LAYOUT */

.learnpop-maths-fluency-students .learnpop-maths-navigation {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 24px !important;
}

.learnpop-maths-fluency-students .learnpop-maths-navigation a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 9px 12px !important;
	box-sizing: border-box;
	background: #ffffff !important;
	border: 1px solid #d9e8e7 !important;
	border-radius: 10px !important;
	color: #2f3838 !important;
	font-size: clamp(12px, .85vw, 15px) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-align: center;
	text-decoration: none !important;
}

.learnpop-maths-fluency-students .learnpop-maths-navigation a:hover {
	background: #eaf6f5 !important;
	border-color: #96d1cf !important;
}

.learnpop-maths-fluency-students .learnpop-maths-navigation a.active {
	background: #96d1cf !important;
	border-color: #96d1cf !important;
	color: #2f3838 !important;
}

.learnpop-maths-fluency-students .learnpop-maths-classes-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(300px, .85fr);
	gap: 22px;
	align-items: stretch;
	margin: 0 0 32px;
}

.learnpop-maths-fluency-students .learnpop-maths-my-classes,
.learnpop-maths-fluency-students .learnpop-maths-create-class-card {
	padding: 24px;
	box-sizing: border-box;
	background: #ffffff;
	border: 1px solid #d9e8e7;
	border-radius: 16px;
}

.learnpop-maths-fluency-students .learnpop-maths-create-class-card {
	background: linear-gradient(145deg, #ffffff 0%, #eaf6f5 100%);
	border-color: #96d1cf;
}

.learnpop-maths-fluency-students .learnpop-maths-eyebrow {
	margin: 0 0 7px !important;
	color: #0097cb !important;
	font-size: clamp(11px, .75vw, 13px) !important;
	font-weight: 800 !important;
	letter-spacing: .08em;
	line-height: 1.2 !important;
}

.learnpop-maths-fluency-students .learnpop-maths-my-classes h2,
.learnpop-maths-fluency-students .learnpop-maths-create-class-card h2,
.learnpop-maths-fluency-students .learnpop-maths-students-heading h2 {
	margin: 0 0 7px !important;
	color: #2f3838 !important;
	font-size: clamp(22px, 1.8vw, 28px) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
}

.learnpop-maths-fluency-students .learnpop-maths-card-description,
.learnpop-maths-fluency-students .learnpop-maths-students-heading > p:last-child {
	margin: 0 0 18px !important;
	color: #62706f !important;
	font-size: clamp(13px, .9vw, 15px) !important;
	line-height: 1.5 !important;
}

.learnpop-maths-fluency-students .learnpop-maths-fluency-class {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 15px 16px;
	background: #f7fbfb !important;
	border: 1px solid #d9e8e7 !important;
	border-radius: 12px !important;
}

.learnpop-maths-fluency-students .learnpop-maths-fluency-class + .learnpop-maths-fluency-class {
	margin-top: 10px;
}

.learnpop-maths-fluency-students .learnpop-maths-class-info {
	flex: 1 1 auto;
	min-width: 0;
}

.learnpop-maths-fluency-students .learnpop-maths-fluency-class h3 {
	margin: 0 0 4px !important;
	color: #2f3838 !important;
	font-size: 16px !important;
	font-weight: 800 !important;
}

.learnpop-maths-fluency-students .learnpop-maths-fluency-class p {
	margin: 0 !important;
	color: #62706f !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}

.learnpop-maths-fluency-students .learnpop-maths-fluency-class form {
	margin: 0;
	flex: 0 0 auto;
}

.learnpop-maths-fluency-students .learnpop-maths-delete-button {
	min-height: 36px;
	padding: 7px 11px;
	background: #ffffff !important;
	border: 1px solid #d9bcbc !important;
	border-radius: 8px !important;
	color: #8f4b4b !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	cursor: pointer;
}

.learnpop-maths-fluency-students .learnpop-maths-class-form-field {
	margin: 0 0 14px;
}

.learnpop-maths-fluency-students .learnpop-maths-class-form-field label {
	display: block;
	margin: 0 0 7px;
	color: #2f3838;
	font-size: 13px;
	font-weight: 800;
}

.learnpop-maths-fluency-students .learnpop-maths-class-form-field input {
	width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	box-sizing: border-box;
	background: #ffffff !important;
	border: 1px solid #d9e8e7 !important;
	border-radius: 10px !important;
	color: #2f3838 !important;
	font-size: 15px !important;
}

.learnpop-maths-fluency-students .learnpop-maths-primary-button,
.learnpop-maths-fluency-students .learnpop-student-actions .learnpop-resource-action,
.learnpop-maths-fluency-students button[name="learnpop_save_student_classes"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 9px 15px !important;
	background: #0097cb !important;
	border: 1px solid #0097cb !important;
	border-radius: 9px !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
}

.learnpop-maths-fluency-students .learnpop-maths-primary-button {
	background: #96d1cf !important;
	border-color: #96d1cf !important;
	color: #2f3838 !important;
}

.learnpop-maths-fluency-students .learnpop-maths-primary-button:hover {
	background: #7fc5c3 !important;
	border-color: #7fc5c3 !important;
}

.learnpop-maths-fluency-students .learnpop-maths-students-section {
	margin-top: 0;
}

.learnpop-maths-fluency-students .learnpop-maths-students-heading {
	margin: 0 0 16px;
}

.learnpop-maths-fluency-students .learnpop-maths-students-heading > p:last-child {
	max-width: 720px;
	margin-bottom: 0 !important;
}

@media (max-width: 950px) {
	.learnpop-maths-fluency-students .learnpop-maths-navigation {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.learnpop-maths-fluency-students .learnpop-maths-classes-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.learnpop-maths-fluency-students .learnpop-maths-navigation {
		grid-template-columns: 1fr 1fr;
	}

	.learnpop-maths-fluency-students .learnpop-maths-my-classes,
	.learnpop-maths-fluency-students .learnpop-maths-create-class-card {
		padding: 18px;
	}
}

@media (max-width: 430px) {
	.learnpop-maths-fluency-students .learnpop-maths-navigation {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   MATHS FLUENCY STUDENTS & CLASSES PAGE SCROLL
========================================================= */

html:has(.learnpop-maths-fluency-students),
body:has(.learnpop-maths-fluency-students) {
	height: auto !important;
	min-height: 100% !important;
	max-height: none !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
}

.learnpop-maths-fluency-students {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
}




/* =========================================================
   MATHS FLUENCY CLASS ASSIGNMENTS
   FINAL LEARNPOP PAGE LAYOUT
========================================================= */

.learnpop-maths-fluency-class-assignments {
	width: 100%;
	max-width: 1568px;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

.learnpop-maths-fluency-class-assignments .learnpop-maths-navigation {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 24px !important;
}

.learnpop-maths-fluency-class-assignments .learnpop-maths-navigation a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 9px 12px !important;
	box-sizing: border-box;
	background: #ffffff !important;
	border: 1px solid #d9e8e7 !important;
	border-radius: 10px !important;
	color: #2f3838 !important;
	font-size: clamp(12px, .85vw, 15px) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-align: center;
	text-decoration: none !important;
}

.learnpop-maths-fluency-class-assignments .learnpop-maths-navigation a:hover {
	background: #eaf6f5 !important;
	border-color: #96d1cf !important;
}

.learnpop-maths-fluency-class-assignments .learnpop-maths-navigation a.active {
	background: #96d1cf !important;
	border-color: #96d1cf !important;
	color: #2f3838 !important;
}

.learnpop-maths-class-assignments-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: 22px;
	align-items: stretch;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 32px !important;
	box-sizing: border-box;
}

.learnpop-maths-assignment-class-card,
.learnpop-maths-assignment-activity-card {
	width: 100%;
	max-width: none;
	padding: 26px;
	box-sizing: border-box;
	background: #ffffff;
	border: 1px solid #d9e8e7;
	border-radius: 16px;
}

.learnpop-maths-assignment-class-card {
	background: linear-gradient(
		145deg,
		#ffffff 0%,
		#f7fbfb 100%
	);
}

.learnpop-maths-assignment-activity-card {
	background: linear-gradient(
		145deg,
		#ffffff 0%,
		#eaf6f5 100%
	);
	border-color: #96d1cf;
}

.learnpop-maths-fluency-class-assignments .learnpop-maths-eyebrow {
	margin: 0 0 8px !important;
	color: #0097cb !important;
	font-size: clamp(11px, .75vw, 13px) !important;
	font-weight: 800 !important;
	letter-spacing: .08em;
	line-height: 1.2 !important;
}

.learnpop-maths-field-label {
	display: block;
	margin: 0 0 8px;
	color: #2f3838;
	font-size: clamp(14px, .9vw, 16px);
	font-weight: 800;
}

.learnpop-maths-class-selector {
	width: 100%;
	min-height: 48px;
	padding: 9px 38px 9px 13px;
	box-sizing: border-box;
	background: #ffffff !important;
	border: 1px solid #96d1cf !important;
	border-radius: 10px !important;
	color: #2f3838 !important;
	font-size: clamp(14px, .9vw, 16px) !important;
	font-weight: 700;
}

.learnpop-maths-class-students {
	margin-top: 28px;
	padding-top: 22px;
	border-top: 1px solid #d9e8e7;
}

.learnpop-maths-student-list {
	display: grid;
	gap: 8px;
	margin-top: 12px;
}

.learnpop-maths-student-item {
	padding: 11px 13px;
	background: #f7fbfb;
	border: 1px solid #d9e8e7;
	border-radius: 9px;
	color: #2f3838;
	font-size: clamp(13px, .9vw, 15px);
	font-weight: 700;
}

.learnpop-maths-empty-students {
	margin: 12px 0 0;
	color: #62706f;
	font-size: 14px;
	line-height: 1.5;
}

.learnpop-maths-assignment-activity-card h3 {
	margin: 0 0 7px;
	color: #2f3838;
	font-size: clamp(21px, 1.5vw, 26px);
	font-weight: 800;
	line-height: 1.2;
}

.learnpop-maths-assignment-description {
	margin: 0 0 20px;
	color: #62706f;
	font-size: clamp(13px, .9vw, 15px);
	line-height: 1.5;
}

.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 18px;
	background: #ffffff;
	border: 1px solid #d9e8e7;
	border-radius: 12px;
}

.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options > p {
	margin: 0;
	padding: 0;
}

.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options label {
	display: block;
	margin: 0 0 7px;
	color: #2f3838;
	font-size: clamp(12px, .8vw, 14px);
	font-weight: 800;
	line-height: 1.2;
}

.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options select {
	width: 100%;
	min-height: 44px;
	padding: 8px 30px 8px 10px;
	box-sizing: border-box;
	background: #ffffff;
	border: 1px solid #d9e8e7;
	border-radius: 9px;
	color: #2f3838;
	font-size: clamp(12px, .8vw, 14px);
}

.learnpop-maths-assignment-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 18px;
	flex-wrap: wrap;
}

.learnpop-maths-secondary-button,
.learnpop-maths-save-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 9px 15px;
	border-radius: 9px;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	cursor: pointer;
}

.learnpop-maths-secondary-button {
	background: #ffffff;
	border: 1px solid #96d1cf;
	color: #2f3838;
}

.learnpop-maths-secondary-button:hover {
	background: #eaf6f5;
}

.learnpop-maths-save-button,
.learnpop-maths-save-button[type="submit"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	height: auto !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 9px 16px !important;
	box-sizing: border-box !important;

	background: #96d1cf !important;
	border: 1px solid #96d1cf !important;
	border-radius: 9px !important;

	color: #ffffff !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;

	box-shadow: none !important;
	white-space: nowrap !important;
	cursor: pointer !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.learnpop-maths-save-button:hover,
.learnpop-maths-save-button[type="submit"]:hover {
	background: #7fc5c3 !important;
	border-color: #7fc5c3 !important;
	color: #ffffff !important;
}

@media (max-width: 1567px) {

	.learnpop-maths-fluency-class-assignments {
		max-width: 100%;
	}
}

@media (max-width: 950px) {

	.learnpop-maths-fluency-class-assignments .learnpop-maths-navigation {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.learnpop-maths-class-assignments-layout {
		grid-template-columns: 1fr;
	}

	.learnpop-maths-fluency-class-assignments
	.learnpop-maths-fluency-assignment-options {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {

	.learnpop-maths-fluency-class-assignments .learnpop-maths-navigation {
		grid-template-columns: 1fr 1fr;
	}

	.learnpop-maths-assignment-class-card,
	.learnpop-maths-assignment-activity-card {
		padding: 18px;
	}

	.learnpop-maths-fluency-class-assignments
	.learnpop-maths-fluency-assignment-options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.learnpop-maths-assignment-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.learnpop-maths-secondary-button,
	.learnpop-maths-save-button {
		width: 100%;
	}
}

@media (max-width: 450px) {

	.learnpop-maths-fluency-class-assignments
	.learnpop-maths-fluency-assignment-options {
		grid-template-columns: 1fr;
	}
}

.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options > p:last-child {
	grid-column: 1 / -1;
	max-width: 220px;
}


/* =========================================================
   MATHS FLUENCY CLASS ASSIGNMENTS
   FINAL LAYOUT OVERRIDE
   Do not alter Students & Classes.
========================================================= */

/* Match the actual content width used by Students & Classes. */
.learnpop-maths-fluency-class-assignments {
	width: calc(100% - 120px) !important;
	max-width: 1568px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

/* Match the locked Students & Classes card proportions:
   1.45fr : .85fr */
.learnpop-maths-fluency-class-assignments
.learnpop-maths-class-assignments-layout {
	display: grid !important;
	grid-template-columns:
		minmax(0, .85fr)
		minmax(0, 1.15fr) !important;
	gap: 22px !important;
	width: 100% !important;
	max-width: none !important;
	align-items: stretch !important;
	box-sizing: border-box !important;
}

/* Four equal operation controls across the Maths Fluency card. */
.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options {
	display: grid !important;
	grid-template-columns:
		repeat(4, minmax(0, 1fr)) !important;
	gap: 12px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options > p {
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options > p select {
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Timer is underneath and does not change the four operation widths. */
.learnpop-maths-fluency-class-assignments
.learnpop-maths-fluency-assignment-options > p:last-child {
	grid-column: 1 / -1 !important;
	max-width: 220px !important;
}

/* Keep the main cards at the same padding/visual scale as Students & Classes. */
.learnpop-maths-fluency-class-assignments
.learnpop-maths-assignment-class-card,
.learnpop-maths-fluency-class-assignments
.learnpop-maths-assignment-activity-card {
	width: 100% !important;
	max-width: none !important;
	padding: 24px !important;
	box-sizing: border-box !important;
}

@media (max-width: 950px) {

	.learnpop-maths-fluency-class-assignments {
		width: calc(100% - 80px) !important;
		max-width: none !important;
	}

	.learnpop-maths-fluency-class-assignments
	.learnpop-maths-class-assignments-layout {
		grid-template-columns: 1fr !important;
	}

	.learnpop-maths-fluency-class-assignments
	.learnpop-maths-fluency-assignment-options {
		grid-template-columns:
			repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 700px) {

	.learnpop-maths-fluency-class-assignments {
		width: calc(100% - 32px) !important;
	}

	.learnpop-maths-fluency-class-assignments
	.learnpop-maths-fluency-assignment-options {
		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 450px) {

	.learnpop-maths-fluency-class-assignments
	.learnpop-maths-fluency-assignment-options {
		grid-template-columns: 1fr !important;
	}
}


/* =========================================================
   CLASS ASSIGNMENTS
   MAIN BOX ONLY
========================================================= */

.learnpop-maths-fluency-class-assignments
.learnpop-maths-class-assignments-layout {
	width: 95.5% !important;
	max-width: 1285px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

@media (max-width: 950px) {

	.learnpop-maths-fluency-class-assignments
	.learnpop-maths-class-assignments-layout {
		width: 100% !important;
		max-width: none !important;
	}
}


/* =========================================================
   CLASS ASSIGNMENTS
   MATCH HERO + NAVIGATION TO MAIN CONTENT WIDTH
========================================================= */

.learnpop-maths-fluency-class-assignments
.learnpop-portal-dashboard-header,
.learnpop-maths-fluency-class-assignments
.learnpop-maths-navigation {
	width: 95.5% !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

@media (max-width: 950px) {

	.learnpop-maths-fluency-class-assignments
	.learnpop-portal-dashboard-header,
	.learnpop-maths-fluency-class-assignments
	.learnpop-maths-navigation {
		width: 100% !important;
	}
}


/* =========================================================
   CLASS ASSIGNMENTS
   ADJUST MAIN CARD PROPORTIONS ONLY
========================================================= */

.learnpop-maths-fluency-class-assignments
.learnpop-maths-class-assignments-layout {
	grid-template-columns:
		minmax(0, 0.75fr)
		minmax(0, 1.25fr) !important;
}
/* ==========================================
   REMOVE STUDENT CONFIRMATION
========================================== */

.learnpop-confirm-delete-form {
	margin: 0 0 18px;
	padding: 0;
}

.learnpop-confirm-delete-form .learnpop-remove-student {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: auto !important;
	min-width: 0 !important;
	height: 40px !important;
	min-height: 40px !important;

	margin: 0 !important;
	padding: 8px 16px !important;

	background: #ffffff !important;

	border: 1px solid #e3cccc !important;
	border-radius: 8px !important;

	color: #8a4545 !important;

	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;

	white-space: nowrap !important;

	cursor: pointer !important;

	box-sizing: border-box !important;

	box-shadow: none !important;
	text-shadow: none !important;

	appearance: none !important;
	-webkit-appearance: none !important;
}

.learnpop-confirm-delete-form .learnpop-remove-student:hover {
	background: #fff7f7 !important;
	border-color: #d6aaaa !important;
}