:root {
	--bsmp-primary: #2563eb;
	--bsmp-primary-dark: #1d4ed8;
	--bsmp-secondary: #0ea5e9;
	--bsmp-success: #16a34a;
	--bsmp-warning: #f59e0b;
	--bsmp-danger: #dc2626;
	--bsmp-purple: #7c3aed;
	--bsmp-bg: #f5f7fb;
	--bsmp-card: #ffffff;
	--bsmp-text: #111827;
	--bsmp-muted: #6b7280;
	--bsmp-border: #e5e7eb;
	--bsmp-soft-blue: #eff6ff;
	--bsmp-shadow: 0 22px 50px rgba(15, 23, 42, 0.10);
	--bsmp-sidebar: #173fbe;
	--bsmp-sidebar-dark: #0f2f96;
}


body.bsmp-app-admin #adminmenumain,
body.bsmp-app-admin #wpadminbar,
body.bsmp-app-admin #wpfooter,
body.bsmp-app-admin #screen-meta-links,
body.bsmp-app-admin .update-nag,
body.bsmp-app-admin .notice:not(.bsmp-native-notice),
body.bsmp-app-admin .error:not(.bsmp-native-notice),
body.bsmp-app-admin .updated:not(.bsmp-native-notice) {
	display: none !important;
}

html.wp-toolbar {
	padding-top: 0 !important;
}

body.bsmp-app-admin #wpcontent,
body.bsmp-app-admin #wpfooter {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

body.bsmp-app-admin #wpbody-content {
	padding-bottom: 0 !important;
}

body.bsmp-app-admin {
	background: var(--bsmp-bg);
}

.bsmp-wrap {
	font-family: Roboto, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--bsmp-text);
	background: var(--bsmp-bg);
	margin: 0;
	padding: 0;
	min-height: 100vh;
	box-sizing: border-box;
}

.bsmp-wrap * {
	box-sizing: border-box;
}

.bsmp-app-shell {
	display: grid;
	grid-template-columns: 290px minmax(0, 1fr);
	min-height: 100vh;
	background: linear-gradient(135deg, #f8fbff 0%, #eef4ff 100%);
}

.bsmp-sidebar {
	position: sticky;
	top: 0;
	height: 100vh;
	padding: 18px 14px;
	background: linear-gradient(180deg, var(--bsmp-nav-bg, var(--bsmp-sidebar)) 0%, var(--bsmp-nav-bg-dark, var(--bsmp-sidebar-dark)) 100%);
	color: var(--bsmp-nav-text, #ffffff);
	overflow-y: auto;
	box-shadow: 18px 0 48px rgba(30, 64, 175, 0.20);
	z-index: 10;
}

.bsmp-sidebar__brand {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 10px 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	margin-bottom: 14px;
}

.bsmp-sidebar__logo {
	width: var(--bsmp-nav-logo-size, 58px);
	height: var(--bsmp-nav-logo-size, 58px);
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.95);
	color: var(--bsmp-primary);
	box-shadow: 0 15px 35px rgba(15, 23, 42, 0.22);
	overflow: hidden;
	flex: 0 0 var(--bsmp-nav-logo-size, 58px);
}

.bsmp-sidebar__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 999px;
	padding: 4px;
	background: #ffffff;
}

.bsmp-sidebar__logo .dashicons {
	font-size: 30px;
	width: 30px;
	height: 30px;
}

.bsmp-sidebar__brand strong,
.bsmp-sidebar__brand small {
	display: block;
}

.bsmp-sidebar__brand strong {
	font-size: 16px;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: 0.015em;
}

.bsmp-sidebar__brand small {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.72);
	margin-top: 4px;
}

.bsmp-sidebar__nav {
	display: flex;
	flex-direction: column;
	gap: var(--bsmp-nav-item-gap, 6px);
}

.bsmp-sidebar__link {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 9px 12px;
	border-radius: var(--bsmp-nav-item-radius, 14px);
	color: var(--bsmp-nav-text, rgba(255, 255, 255, 0.85));
	text-decoration: none;
	font-size: var(--bsmp-nav-font-size, 14px);
	font-weight: 700;
	transition: background 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.bsmp-sidebar__link:hover,
.bsmp-sidebar__link:focus,
.bsmp-sidebar__link.is-active {
	background: var(--bsmp-nav-active-bg, rgba(255, 255, 255, 0.96));
	color: var(--bsmp-nav-active-text, var(--bsmp-primary));
	text-decoration: none;
	transform: translateX(2px);
}

.bsmp-sidebar__link .dashicons {
	font-size: var(--bsmp-nav-icon-size, 20px);
	width: calc(var(--bsmp-nav-icon-size, 20px) + 2px);
	height: calc(var(--bsmp-nav-icon-size, 20px) + 2px);
}

.bsmp-sidebar__link small {
	padding: 3px 6px;
	border-radius: 999px;
	font-size: 10px;
	line-height: 1;
	background: rgba(255, 255, 255, 0.14);
	color: rgba(255, 255, 255, 0.75);
}

.bsmp-sidebar__link:hover small,
.bsmp-sidebar__link:focus small,
.bsmp-sidebar__link.is-active small {
	background: #dbeafe;
	color: var(--bsmp-nav-active-text, var(--bsmp-primary));
}

.bsmp-sidebar__footer {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 20px 4px 0;
	padding: 14px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.14);
}

.bsmp-sidebar__footer strong,
.bsmp-sidebar__footer small {
	display: block;
}

.bsmp-sidebar__footer strong {
	font-size: 13px;
	font-weight: 800;
}

.bsmp-sidebar__footer small {
	font-size: 11px;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.72);
	margin-top: 2px;
}

.bsmp-app-main {
	min-width: 0;
	padding: 22px;
}

.bsmp-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(37, 99, 235, 0.10);
	border-radius: 24px;
	padding: 14px 16px;
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
	margin-bottom: 18px;
	position: static;
	z-index: 8;
	backdrop-filter: blur(16px);
}

.bsmp-topbar__left,
.bsmp-topbar__right,
.bsmp-user-pill,
.bsmp-clock-card {
	display: flex;
	align-items: center;
	gap: 10px;
}

.bsmp-page-label {
	margin: 0 0 3px;
	font-size: 12px;
	font-weight: 800;
	color: var(--bsmp-primary);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.bsmp-topbar h1 {
	margin: 0;
	font-size: 25px;
	line-height: 1.15;
	letter-spacing: -0.035em;
	font-weight: 850;
	color: var(--bsmp-text);
}

.bsmp-icon-btn {
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 16px;
	background: #f3f6fb;
	color: #334155;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.16s ease, background 0.16s ease, color 0.16s ease;
}

.bsmp-icon-btn:hover,
.bsmp-icon-btn:focus {
	transform: translateY(-1px);
	background: var(--bsmp-soft-blue);
	color: var(--bsmp-primary);
	text-decoration: none;
}

.bsmp-icon-btn--danger:hover,
.bsmp-icon-btn--danger:focus {
	background: #fee2e2;
	color: var(--bsmp-danger);
}

.bsmp-clock-card {
	min-height: 44px;
	padding: 8px 12px;
	border-radius: 16px;
	background: #0f172a;
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
}

.bsmp-clock-card .dashicons {
	color: #93c5fd;
}

.bsmp-user-pill {
	padding: 8px 12px;
	border-radius: 18px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
}

.bsmp-user-pill small,
.bsmp-user-pill strong {
	display: block;
}

.bsmp-user-pill small {
	font-size: 11px;
	color: var(--bsmp-muted);
	line-height: 1;
}

.bsmp-user-pill strong {
	font-size: 13px;
	line-height: 1.2;
	margin-top: 3px;
	max-width: 160px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.bsmp-sidebar-toggle {
	display: none;
}

.bsmp-main {
	min-width: 0;
}

.bsmp-dashboard-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.55fr);
	gap: 18px;
	margin-bottom: 18px;
}

.bsmp-dashboard-hero__content,
.bsmp-school-visual,
.bsmp-setup-wizard,
.bsmp-panel,
.bsmp-stat-card {
	background: var(--bsmp-card);
	border: 1px solid rgba(226, 232, 240, 0.95);
	border-radius: 26px;
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
}

.bsmp-dashboard-hero__content {
	position: relative;
	overflow: hidden;
	padding: 32px;
	background: radial-gradient(circle at top right, rgba(14, 165, 233, 0.26), transparent 35%), linear-gradient(135deg, #ffffff 0%, #eff6ff 100%);
}

.bsmp-dashboard-hero__content::after {
	content: "";
	position: absolute;
	right: -60px;
	bottom: -80px;
	width: 220px;
	height: 220px;
	border-radius: 999px;
	background: rgba(37, 99, 235, 0.10);
}

.bsmp-dashboard-hero__content > * {
	position: relative;
	z-index: 1;
}

.bsmp-kicker {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	border-radius: 999px;
	background: #dbeafe;
	color: var(--bsmp-primary);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.02em;
	margin-bottom: 14px;
}

.bsmp-dashboard-hero h2 {
	font-size: 34px;
	line-height: 1.12;
	letter-spacing: -0.05em;
	margin: 0;
	color: #0f172a;
}

.bsmp-dashboard-hero p {
	max-width: 760px;
	font-size: 15px;
	line-height: 1.7;
	color: #475569;
	margin: 12px 0 0;
}

.bsmp-dashboard-hero__actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 20px;
}

.bsmp-school-visual {
	min-height: 260px;
	padding: 20px;
	background: linear-gradient(145deg, rgba(37, 99, 235, 0.95), rgba(15, 23, 42, 0.98));
	position: relative;
	overflow: hidden;
	color: #ffffff;
	display: flex;
	align-items: flex-end;
}

.bsmp-school-visual::before {
	content: "";
	position: absolute;
	inset: 20px 20px auto auto;
	width: 130px;
	height: 130px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
}

.bsmp-school-visual::after {
	content: "";
	position: absolute;
	left: 26px;
	top: 34px;
	width: 220px;
	height: 126px;
	background:
		linear-gradient(90deg, transparent 0 22px, rgba(255,255,255,0.28) 22px 36px, transparent 36px 70px, rgba(255,255,255,0.28) 70px 84px, transparent 84px),
		linear-gradient(180deg, rgba(255,255,255,0.24) 0 100%);
	border-radius: 18px 18px 6px 6px;
	box-shadow: 0 50px 0 -36px rgba(255,255,255,0.18);
	opacity: 0.92;
}

.bsmp-school-visual__card {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 18px;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.18);
	backdrop-filter: blur(16px);
}

.bsmp-school-visual__logo {
	width: 64px;
	height: 64px;
	border-radius: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.94);
	color: var(--bsmp-primary);
	margin-bottom: 12px;
	overflow: hidden;
}

.bsmp-school-visual__logo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bsmp-school-visual__logo .dashicons {
	font-size: 34px;
	width: 34px;
	height: 34px;
}

.bsmp-school-visual strong,
.bsmp-school-visual small {
	display: block;
}

.bsmp-school-visual strong {
	font-size: 19px;
	font-weight: 850;
	line-height: 1.25;
}

.bsmp-school-visual small {
	margin-top: 5px;
	color: rgba(255, 255, 255, 0.74);
	line-height: 1.45;
}

.bsmp-section-heading,
.bsmp-panel__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.bsmp-section-heading span {
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bsmp-primary);
}

.bsmp-section-heading h3,
.bsmp-panel h3 {
	margin: 3px 0 0;
	font-size: 19px;
	line-height: 1.2;
	font-weight: 850;
	letter-spacing: -0.025em;
	color: #111827;
}

.bsmp-panel p,
.bsmp-muted {
	color: var(--bsmp-muted);
	font-size: 13px;
	line-height: 1.6;
	margin: 4px 0 0;
}

.bsmp-setup-wizard {
	padding: 22px;
	margin-bottom: 18px;
	overflow: hidden;
}

.bsmp-wizard-line {
	display: grid;
	grid-template-columns: repeat(6, minmax(120px, 1fr));
	gap: 0;
	position: relative;
	margin-top: 24px;
}

.bsmp-wizard-line::before {
	content: "";
	position: absolute;
	left: 7%;
	right: 7%;
	top: 42px;
	height: 4px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--bsmp-primary), #cbd5e1);
	z-index: 0;
}

.bsmp-wizard-step {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	text-align: center;
	flex-direction: column;
	padding: 0 8px;
	color: #64748b;
	text-decoration: none;
}

.bsmp-wizard-step:hover,
.bsmp-wizard-step:focus {
	text-decoration: none;
	color: var(--bsmp-primary);
}

.bsmp-wizard-step__icon {
	width: 84px;
	height: 84px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #e2e8f0;
	border: 5px solid #ffffff;
	box-shadow: 0 15px 35px rgba(15, 23, 42, 0.12);
	color: #64748b;
	margin-bottom: 12px;
}

.bsmp-wizard-step__icon .dashicons {
	font-size: 31px;
	width: 31px;
	height: 31px;
}

.bsmp-wizard-step--done .bsmp-wizard-step__icon,
.bsmp-wizard-step--current .bsmp-wizard-step__icon {
	background: linear-gradient(135deg, var(--bsmp-primary), var(--bsmp-secondary));
	color: #ffffff;
}

.bsmp-wizard-step strong {
	font-size: 13px;
	line-height: 1.25;
	font-weight: 850;
	color: #334155;
}

.bsmp-wizard-step small {
	font-size: 11px;
	color: var(--bsmp-muted);
	margin-top: 4px;
}

.bsmp-stat-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 18px;
}

.bsmp-stat-card {
	padding: 18px;
	min-height: 174px;
}

.bsmp-stat-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}

.bsmp-stat-card__icon {
	width: 48px;
	height: 48px;
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bsmp-stat-card__icon .dashicons {
	font-size: 25px;
	width: 25px;
	height: 25px;
}

.bsmp-stat-card strong {
	display: block;
	font-size: 30px;
	line-height: 1;
	font-weight: 900;
	letter-spacing: -0.04em;
	color: #0f172a;
}

.bsmp-stat-card h3 {
	font-size: 15px;
	line-height: 1.2;
	margin: 8px 0 0;
	font-weight: 850;
	color: #111827;
}

.bsmp-stat-card p {
	font-size: 12px;
	line-height: 1.45;
	color: var(--bsmp-muted);
	margin-top: 5px;
}

.bsmp-mini-donut {
	width: 56px;
	height: 56px;
	border-radius: 999px;
	position: relative;
}

.bsmp-mini-donut::after {
	content: "";
	position: absolute;
	inset: 12px;
	border-radius: 999px;
	background: #ffffff;
}

.bsmp-mini-donut--blue { background: conic-gradient(#2563eb 0 68%, #dbeafe 68% 100%); }
.bsmp-mini-donut--green { background: conic-gradient(#16a34a 0 58%, #dcfce7 58% 100%); }
.bsmp-mini-donut--orange { background: conic-gradient(#f59e0b 0 44%, #fef3c7 44% 100%); }
.bsmp-mini-donut--purple { background: conic-gradient(#7c3aed 0 74%, #ede9fe 74% 100%); }

.bsmp-stat-card--blue .bsmp-stat-card__icon { background: #dbeafe; color: #2563eb; }
.bsmp-stat-card--green .bsmp-stat-card__icon { background: #dcfce7; color: #16a34a; }
.bsmp-stat-card--orange .bsmp-stat-card__icon { background: #fef3c7; color: #d97706; }
.bsmp-stat-card--purple .bsmp-stat-card__icon { background: #ede9fe; color: #7c3aed; }

.bsmp-dashboard-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	align-items: start;
}

.bsmp-panel {
	padding: 20px;
	min-width: 0;
}

.bsmp-panel--wide {
	grid-column: span 2;
}

.bsmp-calendar-panel {
	grid-row: span 2;
}

.bsmp-action-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 16px;
}

.bsmp-action-card {
	min-height: 104px;
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	background: #f8fafc;
	color: #334155;
	padding: 14px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
	text-align: left;
	cursor: not-allowed;
}

.bsmp-action-card .dashicons {
	font-size: 24px;
	width: 24px;
	height: 24px;
	color: var(--bsmp-primary);
}

.bsmp-action-card strong,
.bsmp-action-card small {
	display: block;
}

.bsmp-action-card strong {
	font-size: 14px;
	font-weight: 850;
}

.bsmp-action-card small {
	font-size: 11px;
	color: var(--bsmp-muted);
}

.bsmp-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 11px;
	line-height: 1;
	font-weight: 850;
	white-space: nowrap;
}

.bsmp-badge--blue { background: #dbeafe; color: #1d4ed8; }
.bsmp-badge--green { background: #dcfce7; color: #15803d; }
.bsmp-badge--orange { background: #fef3c7; color: #b45309; }
.bsmp-badge--purple { background: #ede9fe; color: #6d28d9; }

.bsmp-clean-list,
.bsmp-activity-list {
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.bsmp-clean-list li,
.bsmp-activity-list li {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	padding: 12px;
	border-radius: 14px;
	background: #f8fafc;
	border: 1px solid #edf2f7;
}

.bsmp-clean-list span,
.bsmp-clean-list small,
.bsmp-activity-list strong,
.bsmp-activity-list span,
.bsmp-activity-list small {
	display: block;
}

.bsmp-clean-list span,
.bsmp-activity-list strong {
	font-size: 13px;
	font-weight: 800;
	color: #334155;
}

.bsmp-clean-list small,
.bsmp-activity-list small,
.bsmp-activity-list span {
	font-size: 11px;
	line-height: 1.45;
	color: var(--bsmp-muted);
}

.bsmp-progress-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 16px;
}

.bsmp-progress-list div:not(.bsmp-progress) {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 13px;
	font-weight: 800;
	color: #475569;
}

.bsmp-progress {
	height: 10px;
	border-radius: 999px;
	background: #edf2f7;
	overflow: hidden;
}

.bsmp-progress__bar {
	display: block;
	height: 100%;
	width: 0;
	border-radius: 999px;
}

.bsmp-progress__bar--green { background: #16a34a; }
.bsmp-progress__bar--orange { background: #f59e0b; }

.bsmp-attendance-snapshot {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 16px;
}

.bsmp-attendance-snapshot div {
	padding: 14px;
	border-radius: 16px;
	background: #f8fafc;
	text-align: center;
	border: 1px solid #edf2f7;
}

.bsmp-attendance-snapshot strong,
.bsmp-attendance-snapshot span {
	display: block;
}

.bsmp-attendance-snapshot strong {
	font-size: 24px;
	font-weight: 900;
	color: #0f172a;
}

.bsmp-attendance-snapshot span {
	font-size: 12px;
	font-weight: 750;
	color: var(--bsmp-muted);
	margin-top: 4px;
}

.bsmp-mini-calendar {
	margin-top: 14px;
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 7px;
}

.bsmp-mini-calendar span {
	min-height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 800;
	color: #475569;
	background: #f8fafc;
}

.bsmp-mini-calendar .is-weekday {
	background: transparent;
	color: var(--bsmp-muted);
	font-size: 11px;
	min-height: 24px;
}

.bsmp-mini-calendar .is-today {
	background: linear-gradient(135deg, var(--bsmp-primary), var(--bsmp-secondary));
	color: #ffffff;
	box-shadow: 0 12px 24px rgba(37, 99, 235, 0.25);
}

.bsmp-mini-calendar .is-empty {
	background: transparent;
}

.bsmp-alert {
	padding: 14px 16px;
	border-radius: 16px;
	font-weight: 800;
	margin: 0 0 16px;
	border: 1px solid transparent;
}

.bsmp-alert--success {
	background: #dcfce7;
	border-color: #bbf7d0;
	color: #166534;
}

.bsmp-alert--error {
	background: #fee2e2;
	border-color: #fecaca;
	color: #991b1b;
}

.bsmp-settings-panel {
	max-width: 980px;
}

@media (max-width: 1280px) {
	.bsmp-stat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.bsmp-calendar-panel {
		grid-row: auto;
	}
}

@media (max-width: 1080px) {
	.bsmp-app-shell {
		grid-template-columns: 1fr;
	}

	.bsmp-sidebar {
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		width: 290px;
		transform: translateX(-105%);
		transition: transform 0.22s ease;
	}

	.bsmp-app-shell.is-sidebar-open .bsmp-sidebar {
		transform: translateX(0);
	}

	.bsmp-sidebar-toggle {
		display: inline-flex;
	}

	.bsmp-dashboard-hero {
		grid-template-columns: 1fr;
	}

	.bsmp-school-visual {
		min-height: 220px;
	}

	.bsmp-wizard-line {
		overflow-x: auto;
		grid-template-columns: repeat(6, 150px);
		padding-bottom: 8px;
	}
}

@media (max-width: 782px) {
	.bsmp-app-main {
		padding: 12px;
	}

	.bsmp-topbar {
		position: static;
		align-items: flex-start;
		flex-direction: column;
		border-radius: 20px;
	}

	.bsmp-topbar__right {
		width: 100%;
		flex-wrap: wrap;
	}

	.bsmp-user-pill {
		width: 100%;
	}

	.bsmp-dashboard-hero h2 {
		font-size: 26px;
	}

	.bsmp-dashboard-hero__content,
	.bsmp-setup-wizard,
	.bsmp-panel {
		padding: 16px;
		border-radius: 20px;
	}

	.bsmp-stat-grid,
	.bsmp-dashboard-grid,
	.bsmp-action-grid {
		grid-template-columns: 1fr;
	}

	.bsmp-panel--wide {
		grid-column: span 1;
	}

	.bsmp-section-heading,
	.bsmp-panel__header {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* School Profile and navigation improvements */
.bsmp-nav-style-grid input[type="color"] {
	width: 100%;
	min-height: 42px;
	padding: 4px;
	border: 1px solid var(--bsmp-border);
	border-radius: 14px;
	background: #ffffff;
}

.bsmp-sidebar__back {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 18px 4px 0;
	padding: 12px 14px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.95);
	color: var(--bsmp-sidebar-dark);
	font-weight: 900;
	text-decoration: none;
	box-shadow: 0 16px 35px rgba(15, 23, 42, 0.16);
}

.bsmp-sidebar__back:hover,
.bsmp-sidebar__back:focus {
	color: var(--bsmp-primary);
	background: #ffffff;
	text-decoration: none;
}

.bsmp-topbar-back {
	white-space: nowrap;
}

.bsmp-profile-page {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.bsmp-profile-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: 20px;
	align-items: stretch;
	padding: 24px;
	border-radius: 28px;
	background: linear-gradient(135deg, #6d0f21 0%, #8b1530 42%, #1d4ed8 100%);
	color: #ffffff;
	box-shadow: 0 25px 55px rgba(109, 15, 33, 0.24);
	overflow: hidden;
	position: relative;
}

.bsmp-profile-hero::after {
	content: "";
	position: absolute;
	right: -90px;
	top: -110px;
	width: 260px;
	height: 260px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
}

.bsmp-profile-hero > * {
	position: relative;
	z-index: 1;
}

.bsmp-profile-hero h2 {
	margin: 10px 0 10px;
	font-size: clamp(25px, 4vw, 42px);
	line-height: 1.08;
	font-weight: 950;
	letter-spacing: 0.01em;
	font-family: Roboto, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: #ffffff;
	max-width: 760px;
}

.bsmp-profile-hero p {
	max-width: 780px;
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.86);
}

.bsmp-profile-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 18px;
}

.bsmp-profile-meter {
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.18);
	padding: 18px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	backdrop-filter: blur(14px);
}

.bsmp-profile-meter__ring {
	--bsmp-progress: 0%;
	width: 140px;
	height: 140px;
	border-radius: 999px;
	background: conic-gradient(#ffffff var(--bsmp-progress), rgba(255, 255, 255, 0.22) 0);
	display: grid;
	place-items: center;
	position: relative;
}

.bsmp-profile-meter__ring::before {
	content: "";
	position: absolute;
	inset: 12px;
	border-radius: 999px;
	background: rgba(109, 15, 33, 0.96);
}

.bsmp-profile-meter__ring strong,
.bsmp-profile-meter__ring span {
	position: relative;
	z-index: 1;
	display: block;
}

.bsmp-profile-meter__ring strong {
	font-size: 30px;
	font-weight: 950;
}

.bsmp-profile-meter__ring span {
	font-size: 11px;
	font-weight: 850;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.72);
}

.bsmp-profile-meter p {
	font-size: 12px;
	line-height: 1.55;
	margin-top: 14px;
}

.bsmp-profile-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	gap: 20px;
	align-items: start;
}

.bsmp-profile-main {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.bsmp-profile-card {
	background: #ffffff;
	border: 1px solid rgba(109, 15, 33, 0.10);
	border-radius: 24px;
	padding: 20px;
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.bsmp-profile-card--sticky {
	position: sticky;
	top: 120px;
}

.bsmp-profile-card__header {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	padding: 0 0 16px;
	margin-bottom: 18px;
	border-bottom: 1px solid rgba(109, 15, 33, 0.12);
}

.bsmp-profile-card__header > .dashicons {
	width: 42px;
	height: 42px;
	font-size: 22px;
	border-radius: 15px;
	background: linear-gradient(135deg, #7f1d1d, #be123c);
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 14px 26px rgba(127, 29, 29, 0.22);
	flex: 0 0 42px;
}

.bsmp-profile-card__header h3 {
	margin: 0;
	font-size: 18px;
	line-height: 1.2;
	font-weight: 950;
	color: #6d0f21;
	letter-spacing: 0.025em;
	font-family: Roboto, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.bsmp-profile-card__header p {
	margin: 5px 0 0;
	font-size: 12px;
	line-height: 1.55;
	font-weight: 650;
	color: #64748b;
}

.bsmp-profile-form .bsmp-field small,
.bsmp-media-uploader small {
	display: block;
	font-size: 11px;
	line-height: 1.45;
	font-weight: 700;
	color: #64748b;
	margin-top: 6px;
}

.bsmp-profile-form .bsmp-field label {
	color: #6d0f21;
	font-weight: 950;
}

.bsmp-profile-form .bsmp-field input[type="text"],
.bsmp-profile-form .bsmp-field input[type="email"],
.bsmp-profile-form .bsmp-field input[type="number"],
.bsmp-profile-form .bsmp-field input[type="date"],
.bsmp-profile-form .bsmp-field select,
.bsmp-profile-form .bsmp-field textarea {
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	border: 1px solid rgba(109, 15, 33, 0.16);
	border-radius: 15px;
	background: #fff;
	color: #111827;
	font-size: 14px;
	padding: 11px 13px;
	box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02), inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.bsmp-profile-form .bsmp-field textarea {
	min-height: 122px;
}

.bsmp-profile-form .bsmp-field input:focus,
.bsmp-profile-form .bsmp-field textarea:focus,
.bsmp-profile-form .bsmp-field select:focus {
	border-color: #8b1530;
	box-shadow: 0 0 0 4px rgba(139, 21, 48, 0.11);
	outline: none;
}

.bsmp-profile-form .bsmp-field input:invalid:not(:placeholder-shown) {
	border-color: #dc2626;
	box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.10);
}

.bsmp-profile-media {
	min-width: 0;
}

.bsmp-media-stack {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.bsmp-media-uploader {
	padding: 14px;
	border: 1px solid rgba(109, 15, 33, 0.12);
	border-radius: 20px;
	background: #fff7f8;
}

.bsmp-media-uploader__top label {
	display: block;
	font-size: 13px;
	font-weight: 950;
	color: #6d0f21;
	margin-bottom: 4px;
}

.bsmp-media-preview {
	margin-top: 12px;
	border: 1px dashed rgba(109, 15, 33, 0.32);
	background: #ffffff;
	border-radius: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #64748b;
	font-size: 12px;
	font-weight: 800;
	overflow: hidden;
	padding: 10px;
}

.bsmp-media-preview img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.bsmp-media-preview--logo {
	width: 128px;
	height: 128px;
	border-radius: 999px;
	margin-left: auto;
	margin-right: auto;
	background: #ffffff;
}

.bsmp-media-preview--logo img {
	object-fit: contain;
	border-radius: 999px;
	padding: 6px;
}

.bsmp-media-preview--wide {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.bsmp-media-preview--wide img {
	object-fit: cover;
}

.bsmp-media-preview--signature {
	width: 100%;
	height: 116px;
	background-image: linear-gradient(45deg, #f8fafc 25%, transparent 25%), linear-gradient(-45deg, #f8fafc 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #f8fafc 75%), linear-gradient(-45deg, transparent 75%, #f8fafc 75%);
	background-size: 18px 18px;
	background-position: 0 0, 0 9px, 9px -9px, -9px 0;
}

.bsmp-media-actions {
	display: flex;
	gap: 9px;
	flex-wrap: wrap;
	margin-top: 12px;
}

.bsmp-form-actions--sticky {
	border-top-color: rgba(109, 15, 33, 0.12);
	margin-top: 18px;
}

@media (max-width: 1280px) {
	.bsmp-profile-layout {
		grid-template-columns: 1fr;
	}

	.bsmp-profile-card--sticky {
		position: static;
	}
}

@media (max-width: 1080px) {
	.bsmp-profile-hero {
		grid-template-columns: 1fr;
	}

	.bsmp-profile-meter {
		align-items: flex-start;
		text-align: left;
	}

	.bsmp-topbar__right {
		align-items: flex-start;
	}
}

@media (max-width: 782px) {
	.bsmp-topbar-back {
		width: 100%;
	}

	.bsmp-profile-hero {
		padding: 18px;
		border-radius: 22px;
	}

	.bsmp-profile-actions,
	.bsmp-media-actions,
	.bsmp-form-actions--sticky {
		flex-direction: column;
		align-items: stretch;
	}

	.bsmp-profile-card {
		padding: 16px;
		border-radius: 20px;
	}

	.bsmp-profile-card__header {
		align-items: flex-start;
	}

	.bsmp-profile-card__header h3 {
		font-size: 16px;
	}
}

.bsmp-school-visual::before,
.bsmp-school-visual::after {
	z-index: 0;
}

.bsmp-school-visual__photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	filter: saturate(1.05);
}

.bsmp-school-visual__photo + .bsmp-school-visual__card {
	background: rgba(15, 23, 42, 0.48);
	border-color: rgba(255, 255, 255, 0.24);
}

/* Academic setup */
.bsmp-academics-page {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.bsmp-academics-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
	gap: 18px;
	align-items: stretch;
	padding: 24px;
	border-radius: 28px;
	background: linear-gradient(135deg, #6d0f21 0%, #8b1530 44%, #2563eb 100%);
	box-shadow: 0 24px 54px rgba(109, 15, 33, 0.22);
	color: #ffffff;
	overflow: hidden;
	position: relative;
}

.bsmp-academics-hero::after {
	content: "";
	position: absolute;
	right: -80px;
	top: -100px;
	width: 250px;
	height: 250px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.13);
}

.bsmp-academics-hero > * {
	position: relative;
	z-index: 1;
}

.bsmp-academics-hero h2 {
	margin: 10px 0 10px;
	font-size: clamp(24px, 3.5vw, 40px);
	line-height: 1.1;
	font-weight: 950;
	letter-spacing: -0.03em;
	color: #ffffff;
}

.bsmp-academics-hero p {
	max-width: 820px;
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.86);
}

.bsmp-academics-summary {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.bsmp-academics-summary div {
	padding: 16px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.18);
	backdrop-filter: blur(14px);
}

.bsmp-academics-summary strong,
.bsmp-academics-summary span {
	display: block;
}

.bsmp-academics-summary strong {
	font-size: 28px;
	line-height: 1;
	font-weight: 950;
}

.bsmp-academics-summary span {
	font-size: 12px;
	line-height: 1.35;
	font-weight: 850;
	color: rgba(255, 255, 255, 0.78);
	margin-top: 6px;
}

.bsmp-academics-layout {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	align-items: start;
}

.bsmp-academic-card {
	height: 100%;
}

.bsmp-academic-form {
	margin-top: 0;
}

.bsmp-academic-form .bsmp-field {
	min-width: 0;
}

.bsmp-academic-form .bsmp-field small {
	display: block;
	margin-top: 7px;
	font-size: 11px;
	line-height: 1.45;
	font-weight: 700;
	color: #64748b;
}

.bsmp-academic-form .bsmp-field label {
	color: #6d0f21;
	font-weight: 950;
}

.bsmp-academic-form .bsmp-field input[type="text"],
.bsmp-academic-form .bsmp-field input[type="number"],
.bsmp-academic-form .bsmp-field input[type="date"],
.bsmp-academic-form .bsmp-field select,
.bsmp-academic-form .bsmp-field textarea,
.bsmp-field input[type="date"] {
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	border: 1px solid rgba(109, 15, 33, 0.16);
	border-radius: 15px;
	background: #ffffff;
	color: #111827;
	font-size: 14px;
	padding: 11px 13px;
	box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02), inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.bsmp-academic-form .bsmp-field input:focus,
.bsmp-academic-form .bsmp-field select:focus,
.bsmp-academic-form .bsmp-field textarea:focus {
	border-color: #8b1530;
	box-shadow: 0 0 0 4px rgba(139, 21, 48, 0.11);
	outline: none;
}

.bsmp-toggle-row {
	display: flex !important;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 12px 14px;
	border-radius: 16px;
	background: #fff7f8;
	border: 1px solid rgba(109, 15, 33, 0.12);
	cursor: pointer;
}

.bsmp-toggle-row input {
	margin: 0;
}

.bsmp-toggle-row span {
	font-size: 13px;
	font-weight: 900;
	color: #6d0f21;
}

.bsmp-form-actions--clean {
	margin-top: 18px;
	padding-top: 16px;
}

.bsmp-academic-lists {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}

.bsmp-responsive-table-wrap {
	width: 100%;
	overflow-x: auto;
	margin-top: 16px;
	border-radius: 18px;
	border: 1px solid #e5e7eb;
	background: #ffffff;
}

.bsmp-data-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	min-width: 720px;
}

.bsmp-data-table th,
.bsmp-data-table td {
	padding: 13px 14px;
	border-bottom: 1px solid #edf2f7;
	text-align: left;
	vertical-align: middle;
	font-size: 13px;
	line-height: 1.45;
}

.bsmp-data-table th {
	background: #fff7f8;
	color: #6d0f21;
	font-size: 12px;
	font-weight: 950;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.bsmp-data-table td strong {
	font-weight: 900;
	color: #111827;
}

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

.bsmp-table-actions {
	display: flex;
	align-items: center;
	gap: 9px;
	flex-wrap: wrap;
}

.bsmp-table-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 6px 10px;
	border-radius: 999px;
	background: #eff6ff;
	color: #1d4ed8;
	font-size: 11px;
	line-height: 1;
	font-weight: 900;
	text-decoration: none;
}

.bsmp-table-actions a:hover,
.bsmp-table-actions a:focus {
	background: #dbeafe;
	color: #1e40af;
	text-decoration: none;
}

.bsmp-action-card--active {
	cursor: pointer;
	text-decoration: none;
	background: #eff6ff;
	border-color: #bfdbfe;
}

.bsmp-action-card--active:hover,
.bsmp-action-card--active:focus {
	text-decoration: none;
	background: #dbeafe;
	transform: translateY(-1px);
}

@media (max-width: 1280px) {
	.bsmp-academics-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 900px) {
	.bsmp-academics-hero {
		grid-template-columns: 1fr;
	}

	.bsmp-academics-summary {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	.bsmp-academics-page {
		gap: 14px;
	}

	.bsmp-academics-hero {
		padding: 18px;
		border-radius: 22px;
	}

	.bsmp-academics-hero h2 {
		font-size: 25px;
	}

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

	.bsmp-academic-card {
		padding: 16px;
		border-radius: 20px;
	}

	.bsmp-academic-form .bsmp-form-grid {
		gap: 16px;
	}

	.bsmp-academic-form .bsmp-field input[type="text"],
	.bsmp-academic-form .bsmp-field input[type="number"],
	.bsmp-academic-form .bsmp-field input[type="date"],
	.bsmp-academic-form .bsmp-field select,
	.bsmp-academic-form .bsmp-field textarea {
		min-height: 50px;
		font-size: 15px;
	}

	.bsmp-form-actions--clean {
		flex-direction: column;
		align-items: stretch;
	}

	.bsmp-responsive-table-wrap {
		border: 0;
		background: transparent;
		overflow: visible;
	}

	.bsmp-data-table {
		min-width: 0;
		border-spacing: 0 12px;
	}

	.bsmp-data-table thead {
		display: none;
	}

	.bsmp-data-table,
	.bsmp-data-table tbody,
	.bsmp-data-table tr,
	.bsmp-data-table td {
		display: block;
		width: 100%;
	}

	.bsmp-data-table tr {
		padding: 12px;
		border: 1px solid #e5e7eb;
		border-radius: 18px;
		background: #ffffff;
		box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
	}

	.bsmp-data-table td {
		padding: 8px 0;
		border-bottom: 1px solid #f1f5f9;
	}

	.bsmp-data-table td:last-child {
		border-bottom: 0;
	}

	.bsmp-data-table td::before {
		content: attr(data-label);
		display: block;
		font-size: 11px;
		line-height: 1.2;
		font-weight: 950;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: #6d0f21;
		margin-bottom: 5px;
	}

	.bsmp-table-actions {
		gap: 8px;
	}
}

/* Teachers & Staff management */
.bsmp-required {
	color: #dc2626;
	font-weight: 950;
}

.bsmp-profile-form .bsmp-field input[type="tel"] {
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	border: 1px solid rgba(109, 15, 33, 0.16);
	border-radius: 15px;
	background: #fff;
	color: #111827;
	font-size: 14px;
	padding: 11px 13px;
	box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02), inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.bsmp-profile-form .bsmp-field input[type="tel"]:focus {
	border-color: #8b1530;
	box-shadow: 0 0 0 4px rgba(139, 21, 48, 0.11);
	outline: none;
}

.bsmp-staff-page {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.bsmp-staff-hero {
	background: linear-gradient(135deg, #6d0f21 0%, #8b1530 44%, #0f766e 100%);
}

.bsmp-staff-layout {
	grid-template-columns: minmax(0, 1fr) 320px;
}

.bsmp-staff-form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.bsmp-staff-photo-area {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 18px;
	align-items: stretch;
}

.bsmp-staff-photo-uploader {
	background: #fff7f8;
}

.bsmp-media-preview--staff-photo {
	width: 150px;
	height: 150px;
	border-radius: 999px;
	margin-left: auto;
	margin-right: auto;
	background: #ffffff;
}

.bsmp-media-preview--staff-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 999px;
	padding: 0;
}

.bsmp-staff-note-card {
	padding: 18px;
	border-radius: 20px;
	background: linear-gradient(135deg, #eff6ff, #fff7f8);
	border: 1px solid rgba(37, 99, 235, 0.12);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.bsmp-staff-note-card strong {
	display: block;
	font-size: 15px;
	font-weight: 950;
	color: #6d0f21;
	margin-bottom: 7px;
}

.bsmp-staff-note-card p {
	margin: 0;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.65;
	color: #475569;
}

.bsmp-staff-side-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.bsmp-staff-side-stats div {
	padding: 15px;
	border-radius: 18px;
	background: #fff7f8;
	border: 1px solid rgba(109, 15, 33, 0.10);
}

.bsmp-staff-side-stats strong,
.bsmp-staff-side-stats span {
	display: block;
}

.bsmp-staff-side-stats strong {
	font-size: 25px;
	line-height: 1;
	font-weight: 950;
	color: #6d0f21;
}

.bsmp-staff-side-stats span {
	margin-top: 6px;
	font-size: 11px;
	line-height: 1.35;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #64748b;
}

.bsmp-staff-list-card {
	margin-top: 0;
}

.bsmp-staff-avatar {
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	color: #2563eb;
}

.bsmp-staff-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 999px;
}

.bsmp-staff-avatar .dashicons {
	font-size: 24px;
	width: 24px;
	height: 24px;
}

.bsmp-status-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 11px;
	line-height: 1;
	font-weight: 950;
	text-transform: uppercase;
	letter-spacing: 0.035em;
}

.bsmp-status-pill--active {
	background: #dcfce7;
	color: #166534;
}

.bsmp-status-pill--inactive {
	background: #fee2e2;
	color: #991b1b;
}

.bsmp-data-table small {
	color: #64748b;
	font-size: 11px;
	font-weight: 700;
}

@media (max-width: 1280px) {
	.bsmp-staff-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 900px) {
	.bsmp-staff-photo-area {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 782px) {
	.bsmp-profile-form .bsmp-field input[type="tel"] {
		min-height: 50px;
		font-size: 15px;
	}

	.bsmp-staff-page {
		gap: 14px;
	}

	.bsmp-staff-form {
		gap: 14px;
	}

	.bsmp-media-preview--staff-photo {
		width: 132px;
		height: 132px;
	}

	.bsmp-staff-side-stats {
		grid-template-columns: 1fr;
	}
}

/* Student management */
.bsmp-students-page {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.bsmp-students-hero {
	background: linear-gradient(135deg, #6d0f21 0%, #8b1530 42%, #1d4ed8 100%);
}

.bsmp-student-layout {
	grid-template-columns: minmax(0, 1fr) 340px;
}

.bsmp-student-form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.bsmp-student-photo-uploader {
	background: #fff7f8;
}

.bsmp-media-preview--student-photo {
	width: 150px;
	height: 150px;
	border-radius: 999px;
	margin-left: auto;
	margin-right: auto;
}

.bsmp-media-preview--student-photo img,
.bsmp-student-avatar img,
.bsmp-student-avatar-lg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 999px;
}

.bsmp-student-list-card {
	margin-top: 0;
}

.bsmp-student-filter-form {
	padding: 16px;
	border-radius: 20px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
}

.bsmp-filter-grid {
	align-items: end;
}

.bsmp-filter-actions {
	display: flex;
	gap: 9px;
	align-items: end;
	flex-wrap: wrap;
}

.bsmp-filter-actions label {
	width: 100%;
}

.bsmp-student-avatar-lg {
	width: 112px;
	height: 112px;
	border-radius: 999px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	color: #2563eb;
	margin: 0 auto 12px;
}

.bsmp-student-avatar-lg .dashicons {
	font-size: 48px;
	width: 48px;
	height: 48px;
}

.bsmp-student-preview {
	text-align: center;
}

.bsmp-student-preview h3 {
	margin: 0 0 8px;
	font-size: 20px;
	line-height: 1.25;
	font-weight: 950;
	color: #111827;
}

.bsmp-student-preview ul {
	list-style: none;
	padding: 0;
	margin: 18px 0 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
	text-align: left;
}

.bsmp-student-preview li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 14px;
	background: #f8fafc;
	border: 1px solid #edf2f7;
}

.bsmp-student-preview li strong,
.bsmp-student-preview li span {
	display: block;
	font-size: 12px;
	line-height: 1.35;
}

.bsmp-student-preview li strong {
	font-weight: 950;
	color: #6d0f21;
}

.bsmp-student-preview li span {
	font-weight: 800;
	color: #334155;
	text-align: right;
}

.bsmp-status-pill--left {
	background: #ffedd5;
	color: #9a3412;
}

.bsmp-student-table {
	min-width: 980px;
}

.bsmp-profile-form .bsmp-field input[readonly] {
	background: #f8fafc;
	color: #475569;
	cursor: default;
}

@media (max-width: 1280px) {
	.bsmp-student-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 900px) {
	.bsmp-student-photo-area {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 782px) {
	.bsmp-students-page,
	.bsmp-student-form {
		gap: 14px;
	}

	.bsmp-student-filter-form {
		padding: 14px;
		border-radius: 18px;
	}

	.bsmp-filter-actions,
	.bsmp-filter-actions .bsmp-btn {
		width: 100%;
	}

	.bsmp-student-summary-boxes {
		grid-template-columns: 1fr;
	}

	.bsmp-student-preview li {
		flex-direction: column;
		gap: 4px;
	}

	.bsmp-student-preview li span {
		text-align: left;
	}
}

/* Profile/list refinements before routine module */
.bsmp-staff-filter-form {
	margin-bottom: 16px;
}

.bsmp-staff-table {
	min-width: 940px;
}

.bsmp-staff-table .bsmp-staff-avatar,
.bsmp-student-table .bsmp-student-avatar {
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.bsmp-profile-view-header {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: -22px -22px 18px;
	padding: 18px 20px;
	border-radius: 22px 22px 0 0;
	background: linear-gradient(135deg, #6d0f21, #2563eb);
	color: #ffffff;
}

.bsmp-profile-view-header .dashicons {
	width: 38px;
	height: 38px;
	font-size: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.16);
}

.bsmp-profile-view-header h3,
.bsmp-profile-view-header p {
	margin: 0;
	color: #ffffff;
}

.bsmp-profile-view-header h3 {
	font-size: 18px;
	font-weight: 950;
	letter-spacing: 0.01em;
}

.bsmp-profile-view-header p {
	margin-top: 4px;
	font-size: 12px;
	line-height: 1.45;
	font-weight: 650;
	opacity: 0.92;
}

.bsmp-official-profile-preview {
	text-align: center;
}

.bsmp-official-avatar-lg {
	box-shadow: 0 18px 42px rgba(37, 99, 235, 0.14);
}

.bsmp-profile-detail-group {
	margin-top: 16px;
	text-align: left;
	border: 1px solid #e8eef7;
	border-radius: 18px;
	overflow: hidden;
	background: #ffffff;
}

.bsmp-profile-detail-group h4 {
	margin: 0;
	padding: 11px 14px;
	font-size: 12px;
	line-height: 1.25;
	font-weight: 950;
	letter-spacing: 0.055em;
	text-transform: uppercase;
	color: #ffffff;
	background: linear-gradient(135deg, #6d0f21, #8b1530);
}

.bsmp-profile-detail-group ul {
	margin: 0;
	padding: 10px;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.bsmp-profile-detail-group li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 10px;
	border-radius: 12px;
	background: #f8fafc;
	border: 1px solid #edf2f7;
}

.bsmp-profile-detail-group li strong,
.bsmp-profile-detail-group li span {
	display: block;
	font-size: 12px;
	line-height: 1.35;
}

.bsmp-profile-detail-group li strong {
	font-weight: 950;
	color: #6d0f21;
}

.bsmp-profile-detail-group li span {
	font-weight: 800;
	color: #334155;
	text-align: right;
	word-break: break-word;
}

.bsmp-profile-pdf-placeholder {
	margin-top: 14px;
	padding: 12px;
	border-radius: 16px;
	background: #f8fafc;
	border: 1px dashed #bfdbfe;
}

.bsmp-profile-pdf-placeholder .bsmp-btn[disabled] {
	width: 100%;
	justify-content: center;
	cursor: not-allowed;
	opacity: 0.75;
}

.bsmp-check-row {
	display: flex !important;
	align-items: center;
	gap: 10px;
	font-weight: 850 !important;
	color: #111827 !important;
	cursor: pointer;
}

.bsmp-check-row input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #8b1530;
	flex: 0 0 18px;
}

.bsmp-js-guardian-address-wrap.is-closed {
	display: none;
}

@media (max-width: 782px) {
	.bsmp-staff-table {
		min-width: 0;
	}

	.bsmp-profile-view-header {
		margin: -18px -18px 16px;
		border-radius: 18px 18px 0 0;
	}

	.bsmp-profile-detail-group li {
		flex-direction: column;
		gap: 4px;
	}

	.bsmp-profile-detail-group li span {
		text-align: left;
	}
}

/* Class Routine Management */
.bsmp-routine-page {
	display: grid;
	gap: 22px;
}

.bsmp-routine-hero {
	background: linear-gradient(135deg, #751331 0%, #9f1644 48%, #2563eb 100%);
}

.bsmp-routine-summary div {
	min-width: 118px;
}

.bsmp-routine-load-card,
.bsmp-routine-grid-card,
.bsmp-routine-views-card {
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.bsmp-form-grid--compact {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.bsmp-routine-day-stack {
	display: grid;
	gap: 18px;
	margin-top: 18px;
}

.bsmp-routine-day-card {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 22px;
	padding: 16px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.bsmp-routine-day-card > header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 16px;
	background: #751331;
	color: #fff;
	margin-bottom: 14px;
}

.bsmp-routine-day-card > header strong {
	font-size: 16px;
	letter-spacing: .02em;
}

.bsmp-routine-day-card > header span {
	font-size: 12px;
	opacity: .88;
}

.bsmp-routine-period-list {
	display: grid;
	gap: 12px;
}

.bsmp-routine-slot {
	display: grid;
	grid-template-columns: 145px minmax(0, 1fr);
	gap: 14px;
	align-items: stretch;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 18px;
	padding: 12px;
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

.bsmp-routine-slot--special {
	background: #fffbeb;
	border-color: #fde68a;
}

.bsmp-routine-slot__period {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	background: #f1f5f9;
	border-radius: 15px;
	padding: 12px;
	min-height: 58px;
}

.bsmp-routine-slot--special .bsmp-routine-slot__period {
	background: #fef3c7;
}

.bsmp-routine-slot__period strong {
	font-size: 14px;
	line-height: 1.3;
	color: #111827;
}

.bsmp-routine-empty-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #fee2e2;
	color: #b91c1c;
	font-weight: 800;
	font-size: 17px;
}

.bsmp-routine-slot__fields {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	align-items: start;
}

.bsmp-field--small label {
	font-size: 12px;
	line-height: 1.2;
	white-space: nowrap;
}

.bsmp-field--small input,
.bsmp-field--small select {
	min-height: 40px;
	font-size: 13px;
	padding: 8px 10px;
}

.bsmp-routine-warning {
	margin: 10px 0 16px;
	background: #fff7ed;
	border-color: #fed7aa;
	color: #9a3412;
}

.bsmp-routine-save-actions {
	align-items: center;
	gap: 12px;
	margin-top: 18px;
	flex-wrap: wrap;
}

.bsmp-help-text {
	font-size: 13px;
	color: #6b7280;
}

.bsmp-routine-table-wrap {
	margin-top: 18px;
}

.bsmp-routine-table td strong {
	color: #751331;
}

@media (max-width: 1280px) {
	.bsmp-routine-slot__fields {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 920px) {
	.bsmp-form-grid--compact {
		grid-template-columns: 1fr;
	}

	.bsmp-routine-slot {
		grid-template-columns: 1fr;
	}

	.bsmp-routine-slot__fields {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 640px) {
	.bsmp-routine-page {
		gap: 16px;
	}

	.bsmp-routine-day-card {
		padding: 12px;
		border-radius: 18px;
	}

	.bsmp-routine-day-card > header {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	.bsmp-routine-slot {
		padding: 10px;
		border-radius: 16px;
	}

	.bsmp-routine-slot__fields {
		grid-template-columns: 1fr;
	}

	.bsmp-field--small label {
		white-space: normal;
		font-size: 12px;
	}

	.bsmp-routine-views-card .bsmp-profile-card__header {
		align-items: stretch;
	}
}

/* Class Routine Builder - easy table mode */
.bsmp-routine-shift-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0 4px;
}

.bsmp-routine-shift-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	padding: 9px 14px;
	background: #fff;
	font-weight: 700;
	color: #374151;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.bsmp-routine-shift-pill input {
	margin: 0;
}

.bsmp-routine-shift-pill.is-active {
	border-color: #751331;
	background: #fff1f2;
	color: #751331;
}

.bsmp-routine-print-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 18px;
	border: 1px solid #e5e7eb;
	border-radius: 22px;
	background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
	margin-bottom: 18px;
}

.bsmp-routine-school-mark {
	width: 64px;
	height: 64px;
	min-width: 64px;
	border-radius: 50%;
	background: #eef2ff;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border: 1px solid #dbeafe;
}

.bsmp-routine-school-mark img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6px;
}

.bsmp-routine-school-mark .dashicons {
	font-size: 30px;
	width: 30px;
	height: 30px;
	color: #2563eb;
}

.bsmp-routine-print-header h3 {
	margin: 0 0 5px;
	font-size: 22px;
	color: #111827;
	line-height: 1.25;
}

.bsmp-routine-print-header p {
	margin: 0;
	font-size: 13px;
	color: #6b7280;
	font-weight: 600;
}

.bsmp-routine-time-setup {
	border: 1px solid #e5e7eb;
	border-radius: 22px;
	background: #f8fafc;
	padding: 16px;
	margin-bottom: 18px;
}

.bsmp-routine-time-setup > header {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	align-items: flex-start;
	padding: 0 0 12px;
}

.bsmp-routine-time-setup > header strong {
	font-size: 16px;
	color: #751331;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.bsmp-routine-time-setup > header span {
	font-size: 13px;
	color: #64748b;
	line-height: 1.45;
}

.bsmp-routine-time-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
}

.bsmp-routine-time-card {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	padding: 11px;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.bsmp-routine-time-card.is-special {
	background: #fffbeb;
	border-color: #fde68a;
}

.bsmp-routine-time-card label {
	display: block;
	font-size: 12px;
	font-weight: 800;
	color: #111827;
	margin-bottom: 8px;
	line-height: 1.2;
}

.bsmp-routine-time-card > div {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 7px;
	align-items: center;
}

.bsmp-routine-time-card span {
	font-size: 11px;
	color: #6b7280;
}

.bsmp-routine-time-card input {
	width: 100%;
	min-height: 38px;
	padding: 7px 8px;
	font-size: 12px;
}

.bsmp-routine-builder-wrap {
	overflow-x: auto;
	padding-bottom: 8px;
	border: 1px solid #e5e7eb;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.bsmp-routine-builder-table {
	width: 100%;
	min-width: 1320px;
	border-collapse: separate;
	border-spacing: 0;
}

.bsmp-routine-builder-table th,
.bsmp-routine-builder-table td {
	border-right: 1px solid #e5e7eb;
	border-bottom: 1px solid #e5e7eb;
	padding: 10px;
	vertical-align: top;
}

.bsmp-routine-builder-table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	background: #751331;
	color: #fff;
	text-align: center;
	min-width: 124px;
}

.bsmp-routine-builder-table thead th.is-special {
	background: #b45309;
}

.bsmp-routine-builder-table thead th strong {
	display: block;
	font-size: 12px;
	line-height: 1.2;
}

.bsmp-routine-builder-table thead th span {
	display: block;
	font-size: 11px;
	font-weight: 500;
	opacity: .88;
	margin-top: 4px;
}

.bsmp-routine-builder-table .bsmp-routine-day-head,
.bsmp-routine-builder-table .bsmp-routine-day-cell {
	position: sticky;
	left: 0;
	z-index: 2;
	min-width: 110px;
	background: #f1f5f9;
	color: #111827;
	font-weight: 900;
	text-align: left;
}

.bsmp-routine-builder-table thead .bsmp-routine-day-head {
	z-index: 3;
	background: #4c1027;
	color: #fff;
	text-align: center;
}

.bsmp-routine-normal-cell {
	background: #fff;
	min-width: 138px;
}

.bsmp-routine-special-cell {
	background: #fffbeb;
	min-width: 120px;
}

.bsmp-routine-special-text {
	min-height: 98px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
	text-align: center;
	border: 1px dashed #f59e0b;
	border-radius: 15px;
	background: #fff7ed;
	padding: 10px;
}

.bsmp-routine-special-text strong {
	font-size: 12px;
	color: #92400e;
	line-height: 1.2;
}

.bsmp-routine-special-text span {
	font-size: 11px;
	color: #78350f;
}

.bsmp-routine-cell-controls {
	display: grid;
	gap: 7px;
	position: relative;
}

.bsmp-routine-cell-controls select,
.bsmp-routine-cell-controls input {
	width: 100%;
	min-height: 34px;
	padding: 6px 8px;
	font-size: 12px;
	border-radius: 10px;
}

.bsmp-routine-cell-controls .bsmp-routine-empty-mark {
	position: absolute;
	top: -7px;
	right: -7px;
	width: 20px;
	height: 20px;
	font-size: 14px;
	opacity: .72;
}

@media (max-width: 1280px) {
	.bsmp-routine-time-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 780px) {
	.bsmp-routine-print-header,
	.bsmp-routine-time-setup > header {
		flex-direction: column;
		align-items: stretch;
	}

	.bsmp-routine-time-grid {
		grid-template-columns: 1fr 1fr;
	}

	.bsmp-routine-print-header h3 {
		font-size: 18px;
	}
}

@media (max-width: 520px) {
	.bsmp-routine-time-grid {
		grid-template-columns: 1fr;
	}

	.bsmp-routine-builder-table {
		min-width: 1180px;
	}

	.bsmp-routine-school-mark {
		width: 56px;
		height: 56px;
		min-width: 56px;
	}
}

/* Routine final polish - view/edit/delete/download controls and landscape preview */
.bsmp-routine-control-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 18px;
}

.bsmp-routine-control-title {
	display: grid;
	gap: 4px;
}

.bsmp-routine-control-title strong {
	font-size: 18px;
	color: #111827;
	line-height: 1.25;
}

.bsmp-routine-control-title span {
	font-size: 13px;
	font-weight: 700;
	color: #64748b;
}

.bsmp-routine-action-bar,
.bsmp-routine-main-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.bsmp-inline-form {
	display: inline-flex;
	margin: 0;
}

.bsmp-btn--danger {
	background: #dc2626;
	border-color: #dc2626;
	color: #fff;
}

.bsmp-btn--danger:hover,
.bsmp-btn--danger:focus {
	background: #b91c1c;
	border-color: #b91c1c;
	color: #fff;
}

.bsmp-routine-preview-card {
	padding: 18px;
	overflow: hidden;
}

.bsmp-routine-a4-scroll {
	overflow-x: auto;
	padding: 10px 6px 16px;
	background: #f1f5f9;
	border: 1px solid #e5e7eb;
	border-radius: 22px;
}

.bsmp-routine-a4-shell {
	width: 1120px;
	min-height: 760px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #d1d5db;
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.14);
	padding: 26px;
	box-sizing: border-box;
}

.bsmp-routine-a4-header {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	align-items: center;
	gap: 16px;
	text-align: center;
	padding-bottom: 12px;
	border-bottom: 2px solid #751331;
	margin-bottom: 10px;
}

.bsmp-routine-a4-logo {
	width: 68px;
	height: 68px;
	border: 1px solid #dbeafe;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #eff6ff;
}

.bsmp-routine-a4-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6px;
}

.bsmp-routine-a4-logo .dashicons {
	font-size: 32px;
	width: 32px;
	height: 32px;
	color: #2563eb;
}

.bsmp-routine-a4-header h3 {
	margin: 0 0 3px;
	font-size: 25px;
	font-weight: 900;
	letter-spacing: .02em;
	color: #111827;
	line-height: 1.1;
}

.bsmp-routine-a4-header p {
	margin: 0 0 4px;
	font-size: 12px;
	font-weight: 600;
	color: #475569;
}

.bsmp-routine-a4-header strong {
	display: inline-block;
	padding: 4px 14px;
	border-radius: 999px;
	background: #751331;
	color: #fff;
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.bsmp-routine-a4-meta {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	font-size: 12px;
	margin-bottom: 10px;
}

.bsmp-routine-a4-meta span {
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	padding: 4px 11px;
	background: #f8fafc;
	color: #334155;
}

.bsmp-routine-a4-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 10.5px;
}

.bsmp-routine-a4-table th,
.bsmp-routine-a4-table td {
	border: 1px solid #cbd5e1;
	padding: 5px;
	text-align: center;
	vertical-align: middle;
	word-break: normal;
	overflow-wrap: anywhere;
}

.bsmp-routine-a4-table thead th {
	background: #751331;
	color: #fff;
	font-weight: 900;
}

.bsmp-routine-a4-table thead th.is-special {
	background: #b45309;
}

.bsmp-routine-a4-table thead strong,
.bsmp-routine-a4-table thead small {
	display: block;
	line-height: 1.15;
}

.bsmp-routine-a4-table thead small {
	font-size: 9px;
	font-weight: 600;
	opacity: .9;
	margin-top: 2px;
}

.bsmp-routine-a4-table tbody th {
	background: #f1f5f9;
	color: #111827;
	font-weight: 900;
	width: 66px;
}

.bsmp-routine-a4-table td {
	height: 58px;
}

.bsmp-routine-a4-table td.is-special {
	background: #fffbeb;
}

.bsmp-routine-a4-table td strong {
	display: block;
	font-size: 10.5px;
	line-height: 1.15;
	color: #111827;
}

.bsmp-routine-a4-table td small {
	display: block;
	font-size: 9.2px;
	line-height: 1.15;
	color: #475569;
	margin-top: 2px;
}

.bsmp-routine-a4-table td em {
	display: inline-block;
	font-size: 8.8px;
	font-style: normal;
	line-height: 1;
	margin-top: 3px;
	padding: 2px 5px;
	border-radius: 999px;
	background: #eef2ff;
	color: #3730a3;
}

.bsmp-routine-special-badge {
	display: inline-block;
	font-weight: 900;
	font-size: 10px;
	line-height: 1.15;
	color: #92400e;
}

.bsmp-routine-view-empty {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fee2e2;
	color: #b91c1c;
	font-weight: 900;
	font-size: 14px;
}

.bsmp-routine-a4-footer {
	margin-top: 10px;
	text-align: center;
	font-size: 10px;
	color: #64748b;
}

@media (max-width: 920px) {
	.bsmp-routine-control-card {
		align-items: stretch;
		flex-direction: column;
	}

	.bsmp-routine-action-bar,
	.bsmp-routine-main-actions {
		align-items: stretch;
	}

	.bsmp-routine-action-bar .bsmp-btn,
	.bsmp-routine-main-actions .bsmp-btn,
	.bsmp-inline-form,
	.bsmp-inline-form .bsmp-btn {
		width: 100%;
		justify-content: center;
	}

	.bsmp-routine-preview-card {
		padding: 12px;
	}

	.bsmp-routine-a4-shell {
		margin-left: 0;
		margin-right: 0;
	}
}

@media print {
	.bsmp-routine-a4-scroll {
		overflow: visible;
		border: 0;
		padding: 0;
		background: #fff;
	}

	.bsmp-routine-a4-shell {
		box-shadow: none;
		border: 0;
		width: 100%;
		min-height: auto;
	}
}

/* Attendance module */
.bsmp-attendance-hero { background: linear-gradient(135deg, #0f766e, #2563eb); color: #fff; }
.bsmp-attendance-hero .bsmp-kicker,
.bsmp-attendance-hero p { color: rgba(255,255,255,.86); }
.bsmp-attendance-today-note { background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.26); border-radius: 18px; padding: 16px 18px; min-width: 220px; display: grid; gap: 4px; box-shadow: 0 14px 30px rgba(15,23,42,.16); }
.bsmp-attendance-today-note strong { font-size: 22px; letter-spacing: .04em; }
.bsmp-attendance-today-note span { font-size: 12px; opacity: .9; }
.bsmp-tabs.bsmp-attendance-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.bsmp-tab { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 10px 16px; border-radius: 999px; background: #fff; color: #334155; text-decoration: none; border: 1px solid #e2e8f0; font-weight: 700; box-shadow: 0 10px 24px rgba(15,23,42,.06); }
.bsmp-tab.is-active { background: #7f1d1d; color: #fff; border-color: #7f1d1d; }
.bsmp-attendance-tools { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 16px; }
.bsmp-attendance-list { display: grid; gap: 12px; }
.bsmp-attendance-student-card { display: grid; grid-template-columns: minmax(220px, 1.2fr) minmax(340px, 1.4fr) minmax(200px, .8fr); gap: 14px; align-items: center; padding: 14px; border: 1px solid #e5e7eb; border-radius: 18px; background: #fff; box-shadow: 0 12px 30px rgba(15,23,42,.06); }
.bsmp-attendance-student-main { display: flex; align-items: center; gap: 10px; min-width: 0; }
.bsmp-list-sl { width: 30px; height: 30px; border-radius: 999px; background: #eff6ff; color: #1d4ed8; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; flex: 0 0 auto; }
.bsmp-avatar.bsmp-avatar--sm { width: 42px; height: 42px; border-radius: 999px; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; background: #f1f5f9; color: #64748b; flex: 0 0 auto; }
.bsmp-avatar.bsmp-avatar--sm img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bsmp-attendance-student-main strong { display: block; font-size: 14px; color: #0f172a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bsmp-attendance-student-main small { display: block; font-size: 12px; color: #64748b; }
.bsmp-attendance-status-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.bsmp-attendance-status-btn { border: 1px solid #dbe3ef; background: #fff; color: #334155; border-radius: 999px; padding: 9px 12px; min-height: 40px; cursor: pointer; font-weight: 800; font-size: 12px; }
.bsmp-attendance-status-btn.is-active { color: #fff; border-color: transparent; box-shadow: 0 10px 22px rgba(15,23,42,.12); }
.bsmp-attendance-status-btn--present.is-active { background: #16a34a; }
.bsmp-attendance-status-btn--absent.is-active { background: #dc2626; }
.bsmp-attendance-status-btn--late.is-active { background: #f59e0b; }
.bsmp-attendance-status-btn--leave.is-active { background: #2563eb; }
.bsmp-attendance-status-btn--clear.is-active { background: #475569; }
.bsmp-attendance-note-field label { font-size: 11px; margin-bottom: 4px; }
.bsmp-sticky-actions { position: sticky; bottom: 12px; z-index: 5; padding: 12px; border-radius: 18px; background: rgba(255,255,255,.92); backdrop-filter: blur(10px); box-shadow: 0 -8px 30px rgba(15,23,42,.08); }
.bsmp-status-pill { display: inline-flex; align-items: center; padding: 5px 10px; border-radius: 999px; color: #fff; font-weight: 800; font-size: 12px; }
.bsmp-status-pill--present { background: #16a34a; }
.bsmp-status-pill--absent { background: #dc2626; }
.bsmp-status-pill--late { background: #f59e0b; }
.bsmp-status-pill--leave { background: #2563eb; }
.bsmp-teacher-class-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.bsmp-teacher-class-card { display: grid; gap: 6px; padding: 16px; background: #fff; border: 1px solid #e5e7eb; border-radius: 18px; text-decoration: none; color: #0f172a; box-shadow: 0 14px 28px rgba(15,23,42,.07); }
.bsmp-teacher-class-card strong { font-size: 16px; }
.bsmp-teacher-class-card small { color: #64748b; }
.bsmp-empty-state--warning { background: #fff7ed; border-color: #fed7aa; color: #9a3412; }
.bsmp-a4-holiday-preview { width: 100%; max-width: 794px; margin: 20px auto 0; background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 26px; box-shadow: 0 18px 44px rgba(15,23,42,.09); overflow: auto; }
.bsmp-a4-header { display: flex; align-items: center; gap: 14px; text-align: left; border-bottom: 2px solid #7f1d1d; padding-bottom: 14px; margin-bottom: 14px; }
.bsmp-a4-header img { width: 58px; height: 58px; border-radius: 999px; object-fit: contain; border: 1px solid #e5e7eb; padding: 4px; }
.bsmp-a4-header h2 { margin: 0; font-size: 22px; color: #111827; letter-spacing: .02em; }
.bsmp-a4-header h3 { margin: 4px 0 0; color: #7f1d1d; letter-spacing: .04em; text-transform: uppercase; }
.bsmp-a4-header p { margin: 2px 0; color: #64748b; }
.bsmp-a4-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.bsmp-a4-table th { background: #7f1d1d; color: #fff; padding: 9px; border: 1px solid #7f1d1d; text-align: left; }
.bsmp-a4-table td { border: 1px solid #d1d5db; padding: 8px; vertical-align: top; }
.bsmp-a4-table small { color: #64748b; }
@media (max-width: 960px) {
  .bsmp-attendance-student-card { grid-template-columns: 1fr; }
  .bsmp-attendance-status-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bsmp-attendance-status-btn { width: 100%; }
}
@media (max-width: 640px) {
  .bsmp-tabs.bsmp-attendance-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .bsmp-tab { min-height: 44px; padding: 10px; font-size: 13px; }
  .bsmp-attendance-tools { display: grid; grid-template-columns: 1fr; }
  .bsmp-attendance-student-main strong { white-space: normal; }
  .bsmp-a4-holiday-preview { padding: 14px; border-radius: 10px; }
  .bsmp-a4-header { align-items: flex-start; }
  .bsmp-a4-header h2 { font-size: 18px; }
  .bsmp-a4-table { min-width: 680px; }
}
@media print {
  body.wp-admin { background: #fff !important; }
  #adminmenumain, #wpadminbar, .bsmp-sidebar, .bsmp-app-header, .bsmp-attendance-hero, .bsmp-attendance-tabs, .bsmp-profile-card > form, .bsmp-no-print, .bsmp-profile-card__header .bsmp-form-actions { display: none !important; }
  .bsmp-app-shell, .bsmp-app-main, .bsmp-main, .bsmp-profile-card { display: block !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; border: 0 !important; }
  .bsmp-a4-holiday-preview { max-width: 100% !important; width: 100% !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; }
  .bsmp-a4-table { font-size: 11px; }
}
.bsmp-btn--success { background: #16a34a; color: #fff; border-color: #16a34a; }
.bsmp-btn--success:hover, .bsmp-btn--success:focus { background: #15803d; color: #fff; border-color: #15803d; }

/* Fees foundation module */
.bsmp-fees-hero { background: linear-gradient(135deg, #7f1d1d, #ea580c); color: #fff; }
.bsmp-fees-hero .bsmp-kicker,
.bsmp-fees-hero p { color: rgba(255,255,255,.88); }
.bsmp-fee-summary-boxes div { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); }
.bsmp-tabs.bsmp-fee-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.bsmp-fee-layout { align-items: start; }
.bsmp-fee-guide-card .bsmp-info-grid,
.bsmp-info-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.bsmp-info-grid > div { background: #fff7ed; border: 1px solid #fed7aa; border-radius: 18px; padding: 16px; box-shadow: 0 12px 28px rgba(15,23,42,.05); }
.bsmp-info-grid strong { display: block; color: #7f1d1d; margin-bottom: 6px; }
.bsmp-info-grid p { margin: 0; color: #475569; line-height: 1.55; }
.bsmp-fee-opening-card { border-color: #fed7aa; background: linear-gradient(180deg, #fff, #fff7ed); }
.bsmp-fee-opening-card .bsmp-profile-card__header { border-color: #fed7aa; }
@media (max-width: 900px) {
  .bsmp-fee-guide-card .bsmp-info-grid,
  .bsmp-info-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .bsmp-tabs.bsmp-fee-tabs { display: grid; grid-template-columns: 1fr; }
}

/* Fees payment engine */
.bsmp-payment-success { margin: 0 0 16px; padding: 12px 14px; border-radius: 14px; background: #ecfdf5; border: 1px solid #bbf7d0; color: #14532d; font-weight: 700; }
.bsmp-payment-grid { display: grid; grid-template-columns: minmax(240px, 360px) 1fr; gap: 18px; align-items: start; margin-top: 18px; }
.bsmp-student-account-card { background: linear-gradient(135deg, #fff7ed, #ffffff); border: 1px solid #fed7aa; border-radius: 20px; padding: 18px; box-shadow: 0 16px 36px rgba(15,23,42,.07); }
.bsmp-student-account-card h3 { margin: 0 0 6px; color: #7f1d1d; font-size: 20px; }
.bsmp-student-account-card p { margin: 0 0 12px; color: #475569; line-height: 1.5; }
.bsmp-account-wide { margin: 18px 0; }
.bsmp-account-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bsmp-account-metrics span { background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 12px; color: #64748b; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; }
.bsmp-account-metrics strong { display: block; margin-top: 6px; color: #0f172a; font-size: 18px; }
.bsmp-payment-form { background: #fff; border: 1px solid #e5e7eb; border-radius: 20px; padding: 18px; box-shadow: 0 16px 36px rgba(15,23,42,.06); }
.bsmp-nested-card { margin-top: 18px; box-shadow: 0 10px 24px rgba(15,23,42,.05); }
.bsmp-empty-state { padding: 18px; border: 1px dashed #cbd5e1; border-radius: 18px; background: #f8fafc; color: #475569; font-weight: 700; text-align: center; }
@media (max-width: 980px) {
  .bsmp-payment-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .bsmp-account-metrics { grid-template-columns: 1fr; }
  .bsmp-payment-form, .bsmp-student-account-card { padding: 14px; border-radius: 16px; }
  .bsmp-student-account-card h3 { font-size: 17px; }
}

/* Fee invoice and receipt preview */
.bsmp-preview-control-card { margin-bottom: 20px; }
.bsmp-document-preview {
	background: #ffffff;
	border: 1px solid #d7dde8;
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
	margin: 18px auto 28px;
	max-width: 980px;
	padding: 28px;
	color: #111827;
}
.bsmp-doc-header {
	align-items: flex-start;
	border-bottom: 3px solid #7f1d1d;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	padding-bottom: 16px;
}
.bsmp-doc-brand {
	align-items: center;
	display: flex;
	gap: 14px;
}
.bsmp-doc-brand img {
	border: 1px solid #e5e7eb;
	border-radius: 50%;
	height: 72px;
	object-fit: contain;
	padding: 5px;
	width: 72px;
}
.bsmp-doc-brand h2 {
	color: #7f1d1d;
	font-size: 24px;
	letter-spacing: 0.02em;
	line-height: 1.2;
	margin: 0 0 6px;
}
.bsmp-doc-brand p,
.bsmp-doc-info-grid p {
	color: #475569;
	font-size: 13px;
	line-height: 1.5;
	margin: 0 0 4px;
}
.bsmp-doc-title {
	background: linear-gradient(135deg, #7f1d1d, #b91c1c);
	border-radius: 14px;
	color: #ffffff;
	min-width: 190px;
	padding: 14px 18px;
	text-align: right;
}
.bsmp-doc-title strong,
.bsmp-doc-title span {
	display: block;
}
.bsmp-doc-title strong {
	font-size: 16px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.bsmp-doc-title span {
	font-size: 13px;
	margin-top: 6px;
}
.bsmp-doc-info-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 18px 0;
}
.bsmp-doc-info-grid > div {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	padding: 14px;
}
.bsmp-doc-info-grid h4,
.bsmp-doc-section-title {
	color: #7f1d1d;
	font-size: 14px;
	letter-spacing: 0.08em;
	margin: 0 0 10px;
	text-transform: uppercase;
}
.bsmp-doc-table {
	border-collapse: collapse;
	font-size: 12.5px;
	margin: 12px 0 18px;
	width: 100%;
}
.bsmp-doc-table th {
	background: #7f1d1d;
	color: #ffffff;
	font-weight: 700;
	padding: 9px 8px;
	text-align: left;
}
.bsmp-doc-table td {
	border: 1px solid #dbe3ef;
	padding: 8px;
	vertical-align: top;
}
.bsmp-doc-table tbody tr:nth-child(even) td {
	background: #f8fafc;
}
.bsmp-doc-total-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 16px 0;
}
.bsmp-doc-total-grid span {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 14px;
	color: #7c2d12;
	padding: 12px;
}
.bsmp-doc-total-grid strong {
	display: block;
	font-size: 20px;
	margin-top: 4px;
}
.bsmp-doc-footer {
	align-items: flex-end;
	display: flex;
	justify-content: space-between;
	margin-top: 28px;
	padding-top: 24px;
}
.bsmp-doc-footer span:last-child {
	border-top: 1px solid #111827;
	min-width: 180px;
	padding-top: 8px;
	text-align: center;
}
@media (max-width: 782px) {
	.bsmp-document-preview {
		border-radius: 14px;
		margin: 14px -4px 22px;
		overflow-x: auto;
		padding: 16px;
	}
	.bsmp-doc-header,
	.bsmp-doc-brand,
	.bsmp-doc-footer {
		align-items: stretch;
		flex-direction: column;
	}
	.bsmp-doc-title {
		min-width: 0;
		text-align: left;
	}
	.bsmp-doc-info-grid,
	.bsmp-doc-total-grid {
		grid-template-columns: 1fr;
	}
	.bsmp-doc-table {
		min-width: 720px;
	}
}
@media print {
	.bsmp-preview-control-card,
	.bsmp-tabs,
	.bsmp-form-actions,
	.bsmp-sidebar,
	.bsmp-topbar,
	#adminmenumain,
	#wpadminbar {
		display: none !important;
	}
	.bsmp-document-preview {
		box-shadow: none;
		border: 0;
		max-width: 100%;
		padding: 0;
	}
}

/* Exam & Result module */
.bsmp-exams-hero {
	background: linear-gradient(135deg, #f8fafc 0%, #eff6ff 48%, #fff7ed 100%);
}
.bsmp-exam-summary-boxes div {
	min-width: 118px;
}
.bsmp-exam-context {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	padding: 12px 14px;
	margin: 14px 0;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}
.bsmp-exam-context strong {
	color: #7f1d1d;
	font-weight: 800;
	letter-spacing: .02em;
}
.bsmp-exam-context span {
	font-size: 13px;
	color: #374151;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	padding: 6px 10px;
	border-radius: 999px;
}
.bsmp-a4-landscape {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 18px;
	padding: 18px;
	box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
	overflow-x: auto;
}
.bsmp-print-header {
	display: flex;
	gap: 14px;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-bottom: 2px solid #7f1d1d;
	padding-bottom: 12px;
	margin-bottom: 14px;
}
.bsmp-print-header img {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	object-fit: contain;
	border: 1px solid #e5e7eb;
	background: #fff;
}
.bsmp-print-header h2,
.bsmp-print-header h3,
.bsmp-print-header p {
	margin: 0;
}
.bsmp-print-header h2 {
	font-size: 20px;
	letter-spacing: .03em;
	color: #111827;
}
.bsmp-print-header h3 {
	font-size: 15px;
	color: #7f1d1d;
	margin-top: 5px;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.bsmp-print-header p {
	font-size: 12px;
	color: #4b5563;
}
.bsmp-print-table th {
	background: #7f1d1d;
	color: #fff;
	white-space: nowrap;
}
.bsmp-print-actions {
	justify-content: center;
	margin-top: 14px;
}
.bsmp-status-pill {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	border-radius: 999px;
	padding: 5px 9px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	background: #f3f4f6;
	color: #374151;
}
.bsmp-status-pill.is-active {
	background: #dcfce7;
	color: #166534;
}
.bsmp-status-pill.is-warning {
	background: #fef3c7;
	color: #92400e;
}
.bsmp-status-pill.is-muted {
	background: #fee2e2;
	color: #991b1b;
}
.bsmp-marks-table input,
.bsmp-marks-table select {
	min-width: 100px;
}
.bsmp-marks-table td strong,
.bsmp-marks-table td small {
	display: block;
}
.bsmp-marks-review-panel {
	margin-top: 16px;
	padding: 14px;
	border: 1px solid #bfdbfe;
	background: #eff6ff;
	border-radius: 16px;
}
.bsmp-marks-review-panel h4,
.bsmp-marks-review-panel p {
	margin: 0 0 6px;
}
.bsmp-review-stats {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #dbeafe;
}
.bsmp-review-stats span {
	font-weight: 900;
	color: #1d4ed8;
	font-size: 18px;
}
.bsmp-mini-list {
	display: grid;
	gap: 10px;
}
.bsmp-mini-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 10px;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	background: #fff;
}
.bsmp-mini-row strong,
.bsmp-mini-row small {
	display: block;
}
.bsmp-mini-row small {
	color: #6b7280;
	font-size: 12px;
}
.bsmp-btn--tiny {
	padding: 6px 10px;
	min-height: 30px;
	font-size: 12px;
}
@media (max-width: 720px) {
	.bsmp-print-header {
		align-items: flex-start;
	}
	.bsmp-a4-landscape {
		padding: 12px;
		border-radius: 14px;
	}
	.bsmp-marks-table-wrap table,
	.bsmp-marks-table-wrap thead,
	.bsmp-marks-table-wrap tbody,
	.bsmp-marks-table-wrap th,
	.bsmp-marks-table-wrap td,
	.bsmp-marks-table-wrap tr {
		display: block;
	}
	.bsmp-marks-table-wrap thead {
		display: none;
	}
	.bsmp-marks-table-wrap tr {
		margin-bottom: 12px;
		border: 1px solid #e5e7eb;
		border-radius: 14px;
		padding: 10px;
		background: #fff;
	}
	.bsmp-marks-table-wrap td {
		border: 0 !important;
		display: grid;
		grid-template-columns: 110px 1fr;
		gap: 8px;
		align-items: center;
		padding: 8px 0 !important;
	}
	.bsmp-marks-table-wrap td:before {
		content: attr(data-label);
		font-weight: 800;
		color: #7f1d1d;
		font-size: 12px;
	}
	.bsmp-marks-table input,
	.bsmp-marks-table select {
		width: 100%;
		min-width: 0;
	}
}

/* Exam module fixes */
.bsmp-exams-page {
	display: grid;
	gap: 18px;
}
.bsmp-exams-page .bsmp-tabs {
	margin: 10px 0 18px;
}
.bsmp-exams-hero {
	background: linear-gradient(135deg, #ffffff 0%, #eff6ff 48%, #fff7ed 100%);
	border: 1px solid rgba(127, 29, 29, 0.12);
	box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
}
.bsmp-exams-hero h2,
.bsmp-exams-hero p,
.bsmp-exams-hero .bsmp-kicker {
	color: #111827 !important;
	text-shadow: none !important;
}
.bsmp-exams-hero h2 {
	font-weight: 900;
	letter-spacing: -0.02em;
}
.bsmp-exams-hero p {
	color: #374151 !important;
	font-weight: 600;
}
.bsmp-exam-summary-boxes div {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(127, 29, 29, 0.12);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07);
}
.bsmp-exam-summary-boxes strong {
	color: #7f1d1d;
}
.bsmp-exam-tabs {
	padding-top: 4px;
	padding-bottom: 4px;
}
.bsmp-routine-print-wrap {
	padding: 8px 2px;
}
.bsmp-exam-routine-preview {
	max-width: 1120px;
	margin: 0 auto;
	padding: 24px 28px;
}
.bsmp-exam-routine-table th,
.bsmp-exam-routine-table td {
	padding: 11px 12px;
	vertical-align: top;
}
.bsmp-exam-routine-table td {
	font-size: 13px;
}
.bsmp-exam-routine-table small {
	color: #6b7280;
	font-size: 11px;
}
.bsmp-inline-actions {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.bsmp-inline-actions form {
	margin: 0;
}
.bsmp-btn--danger {
	background: #fee2e2;
	border-color: #fecaca;
	color: #991b1b;
}
.bsmp-btn--danger:hover,
.bsmp-btn--danger:focus {
	background: #fecaca;
	color: #7f1d1d;
}
.bsmp-js-routine-teacher-note {
	display: block;
	line-height: 1.45;
}
@media (max-width: 782px) {
	.bsmp-exam-routine-preview {
		padding: 16px;
	}
	.bsmp-exam-routine-table {
		min-width: 820px;
	}
	.bsmp-exams-page .bsmp-tabs {
		gap: 8px;
		margin-bottom: 16px;
	}
}
@media print {
	.bsmp-no-print {
		display: none !important;
	}
	.bsmp-exam-routine-preview {
		box-shadow: none !important;
		border: 0 !important;
		max-width: 100% !important;
		padding: 0 !important;
	}
	.bsmp-exam-routine-table th,
	.bsmp-exam-routine-table td {
		padding: 7px 8px !important;
		font-size: 11px !important;
	}
}

/* Exam approval and result sheet polish */
.bsmp-approval-card .bsmp-table input,
.bsmp-approval-card .bsmp-table select {
	min-width: 94px;
}
.bsmp-result-meta-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 12px 0 18px;
}
.bsmp-result-meta-grid > div {
	background: #fff7ed;
	border: 1px solid rgba(127, 29, 29, 0.14);
	border-radius: 16px;
	padding: 12px 14px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}
.bsmp-result-meta-grid span,
.bsmp-result-meta-grid small,
.bsmp-result-table small {
	display: block;
	font-size: 12px;
	color: #6b7280;
	font-weight: 700;
	margin-top: 4px;
}
.bsmp-result-meta-grid strong {
	display: block;
	font-size: 15px;
	color: #111827;
	margin-top: 4px;
}
.bsmp-inline-return-form {
	margin-top: 10px;
	display: flex;
	justify-content: flex-end;
}
.bsmp-btn--danger {
	background: #fee2e2;
	border-color: #fecaca;
	color: #991b1b;
}
.bsmp-btn--danger:hover {
	background: #fecaca;
	color: #7f1d1d;
}
.bsmp-result-sheet-card .bsmp-profile-card__header {
	border-bottom: 2px solid rgba(127, 29, 29, 0.12);
}
.bsmp-result-table th {
	white-space: nowrap;
}
.bsmp-result-table td strong,
.bsmp-result-table td small {
	display: block;
}
@media (max-width: 782px) {
	.bsmp-result-meta-grid {
		grid-template-columns: 1fr;
	}
	.bsmp-inline-return-form,
	.bsmp-form-actions--clean {
		justify-content: stretch;
		align-items: stretch;
	}
	.bsmp-inline-return-form .bsmp-btn,
	.bsmp-form-actions--clean .bsmp-btn {
		width: 100%;
		justify-content: center;
	}
}

/* Exam marksheet and result publishing */
.bsmp-result-publish-box {
	align-items: center;
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 18px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
	margin-top: 16px;
	padding: 14px 16px;
}

.bsmp-result-publish-box form {
	margin: 0;
}

.bsmp-marksheet-preview {
	margin-top: 18px;
}

.bsmp-marksheet-sheet {
	background: #ffffff;
	border: 1px solid #ead7d0;
	border-radius: 24px;
	box-shadow: 0 16px 44px rgba(17, 24, 39, 0.10);
	margin: 0 auto;
	max-width: 1120px;
	overflow: hidden;
	padding: 26px;
}

.bsmp-marksheet-header {
	align-items: center;
	border-bottom: 3px solid #7f1d1d;
	display: flex;
	gap: 18px;
	justify-content: center;
	padding-bottom: 18px;
	text-align: center;
}

.bsmp-marksheet-logo {
	align-items: center;
	background: #eff6ff;
	border-radius: 50%;
	display: flex;
	flex: 0 0 76px;
	height: 76px;
	justify-content: center;
	overflow: hidden;
	width: 76px;
}

.bsmp-marksheet-logo img {
	height: 100%;
	object-fit: contain;
	padding: 8px;
	width: 100%;
}

.bsmp-marksheet-header h2 {
	color: #111827;
	font-size: 28px;
	font-weight: 900;
	letter-spacing: .03em;
	line-height: 1.1;
	margin: 0 0 4px;
	text-transform: uppercase;
}

.bsmp-marksheet-header h3 {
	color: #7f1d1d;
	font-size: 18px;
	font-weight: 900;
	letter-spacing: .04em;
	margin: 10px 0 0;
	text-transform: uppercase;
}

.bsmp-marksheet-header p {
	color: #4b5563;
	font-size: 13px;
	font-weight: 700;
	margin: 0;
}

.bsmp-marksheet-meta {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 22px 0;
}

.bsmp-marksheet-meta > div,
.bsmp-marksheet-summary > div {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	padding: 11px 13px;
}

.bsmp-marksheet-meta span,
.bsmp-marksheet-summary span {
	color: #6b7280;
	display: block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.bsmp-marksheet-meta strong,
.bsmp-marksheet-summary strong {
	color: #111827;
	display: inline-flex;
	font-size: 14px;
	font-weight: 900;
	margin-top: 3px;
}

.bsmp-marksheet-table th {
	background: #7f1d1d;
	color: #ffffff;
}

.bsmp-marksheet-table small {
	color: #6b7280;
	display: block;
	font-size: 11px;
	font-weight: 700;
}

.bsmp-marksheet-summary {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin-top: 20px;
}

.bsmp-marksheet-signatures {
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-top: 42px;
}

.bsmp-marksheet-signatures > div {
	border-top: 1px solid #111827;
	min-width: 210px;
	padding-top: 8px;
	position: relative;
	text-align: center;
}

.bsmp-marksheet-signatures img {
	height: 46px;
	left: 50%;
	object-fit: contain;
	position: absolute;
	top: -50px;
	transform: translateX(-50%);
	width: 150px;
}

.bsmp-marksheet-signatures span {
	color: #111827;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.bsmp-marksheet-template-modern .bsmp-marksheet-sheet {
	border-top: 8px solid #2563eb;
}

@media (max-width: 900px) {
	.bsmp-marksheet-sheet {
		padding: 16px;
	}
	.bsmp-marksheet-header {
		align-items: center;
		flex-direction: column;
	}
	.bsmp-marksheet-meta,
	.bsmp-marksheet-summary {
		grid-template-columns: 1fr;
	}
	.bsmp-marksheet-signatures {
		flex-direction: column;
		gap: 48px;
	}
}

/* Exam document templates: result/admit-card preview system. */
.bsmp-result-a4-sheet,
.bsmp-admit-card-half-sheet {
	background: #fff;
	border: 1px solid #334155;
	box-shadow: 0 18px 48px rgba(15, 23, 42, .12);
	color: #111827;
	margin: 22px auto;
	max-width: 980px;
	padding: 18px 20px;
}

.bsmp-result-a4-sheet--landscape {
	max-width: 1120px;
}

.bsmp-result-school-header {
	align-items: center;
	background: linear-gradient(90deg, #e0f2fe 0%, #f8fafc 100%);
	border: 1px solid #cbd5e1;
	display: grid;
	gap: 16px;
	grid-template-columns: 94px minmax(0, 1fr);
	padding: 10px 14px;
}

.bsmp-result-school-header--compact,
.bsmp-result-school-header--admit {
	grid-template-columns: 78px minmax(0, 1fr) 82px;
}

.bsmp-result-logo-box {
	align-items: center;
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	display: flex;
	height: 78px;
	justify-content: center;
	overflow: hidden;
	width: 78px;
}

.bsmp-result-logo-box img {
	height: 100%;
	max-height: 74px;
	max-width: 74px;
	object-fit: contain;
	width: 100%;
}

.bsmp-result-logo-box .dashicons {
	color: #2563eb;
	font-size: 36px;
	height: 36px;
	width: 36px;
}

.bsmp-result-school-title {
	text-align: center;
}

.bsmp-result-school-title h2 {
	color: #075985;
	font-size: clamp(25px, 4vw, 46px);
	font-weight: 900;
	letter-spacing: .01em;
	line-height: 1.05;
	margin: 0;
}

.bsmp-result-school-title h3 {
	color: #7f1d1d;
	font-size: 18px;
	font-weight: 900;
	letter-spacing: .06em;
	margin: 8px 0 0;
	text-transform: uppercase;
}

.bsmp-result-school-title p {
	color: #334155;
	font-size: 13px;
	font-weight: 800;
	margin: 3px 0 0;
}

.bsmp-result-title-bar {
	align-items: center;
	border-bottom: 2px solid #7f1d1d;
	display: flex;
	gap: 12px;
	justify-content: center;
	padding: 12px 0;
	text-align: center;
}

.bsmp-result-title-bar span {
	color: #7f1d1d;
	font-size: 19px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.bsmp-student-info-board {
	align-items: stretch;
	border: 1px solid #64748b;
	display: grid;
	gap: 0;
	grid-template-columns: minmax(0, 1fr) 112px;
	margin-top: 12px;
}

.bsmp-student-info-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bsmp-student-info-grid > div {
	border-bottom: 1px solid #94a3b8;
	border-right: 1px solid #94a3b8;
	min-height: 50px;
	padding: 7px 9px;
}

.bsmp-student-info-wide {
	grid-column: 1 / -1;
}

.bsmp-student-info-grid span,
.bsmp-result-mini-student-row strong,
.bsmp-admit-student-line strong {
	color: #374151;
	display: block;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.bsmp-student-info-grid strong {
	color: #111827;
	display: block;
	font-size: 13px;
	font-weight: 900;
	line-height: 1.25;
	margin-top: 3px;
}

.bsmp-result-student-photo {
	align-items: center;
	background: #f8fafc;
	display: flex;
	justify-content: center;
	padding: 8px;
}

.bsmp-result-student-photo img {
	border: 2px solid #cbd5e1;
	border-radius: 8px;
	height: 96px;
	object-fit: cover;
	width: 82px;
}

.bsmp-result-student-photo--compact img {
	height: 72px;
	width: 62px;
}

.bsmp-statement-title {
	color: #111827;
	font-size: 16px;
	font-weight: 900;
	letter-spacing: .04em;
	margin: 14px 0 10px;
	text-align: center;
	text-decoration: underline;
	text-transform: uppercase;
}

.bsmp-paper-table {
	border-collapse: collapse;
	font-size: 12px;
	width: 100%;
}

.bsmp-paper-table th {
	background: #7f1d1d !important;
	border: 1px solid #475569;
	color: #fff !important;
	font-size: 12px;
	font-weight: 900;
	padding: 7px 6px;
	text-align: center;
}

.bsmp-paper-table td {
	border: 1px solid #64748b;
	padding: 7px 6px;
	text-align: center;
	vertical-align: middle;
}

.bsmp-paper-table td:first-child,
.bsmp-paper-table th:first-child {
	text-align: left;
}

.bsmp-paper-total-row td {
	background: #f1f5f9;
	font-weight: 900;
}

.bsmp-result-final-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin-top: 18px;
}

.bsmp-result-final-grid--compact {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.bsmp-result-final-grid > div {
	background: #f8fafc;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	padding: 8px 10px;
}

.bsmp-result-final-grid span {
	color: #64748b;
	display: block;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.bsmp-result-final-grid strong {
	color: #111827;
	font-size: 13px;
	font-weight: 900;
}

.bsmp-result-footer,
.bsmp-admit-footer {
	align-items: end;
	display: grid;
	gap: 16px;
	grid-template-columns: 110px 1fr 1fr 1fr;
	margin-top: 42px;
}

.bsmp-result-footer--compact {
	margin-top: 30px;
}

.bsmp-result-qr {
	text-align: center;
}

.bsmp-qr-placeholder {
	background:
		linear-gradient(90deg, #111 12px, transparent 12px) 0 0 / 24px 24px,
		linear-gradient(#111 12px, transparent 12px) 0 0 / 24px 24px,
		linear-gradient(90deg, transparent 6px, #111 6px 10px, transparent 10px 18px, #111 18px) 0 0 / 28px 28px,
		#fff;
	border: 4px solid #fff;
	box-shadow: 0 0 0 1px #111;
	height: 76px;
	margin: 0 auto 6px;
	width: 76px;
}

.bsmp-result-qr small {
	color: #475569;
	display: block;
	font-size: 9px;
	font-weight: 800;
	word-break: break-all;
}

.bsmp-sign-line {
	border-top: 1px solid #111827;
	min-height: 28px;
	position: relative;
	text-align: center;
}

.bsmp-sign-line img {
	height: 38px;
	left: 50%;
	object-fit: contain;
	position: absolute;
	top: -40px;
	transform: translateX(-50%);
	width: 130px;
}

.bsmp-sign-line span {
	color: #111827;
	display: block;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .04em;
	padding-top: 7px;
	text-transform: uppercase;
}

.bsmp-result-mini-student-row,
.bsmp-admit-student-line {
	border: 1px solid #64748b;
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 10px 0;
}

.bsmp-result-mini-student-row span,
.bsmp-admit-student-line span {
	border-bottom: 1px solid #94a3b8;
	border-right: 1px solid #94a3b8;
	font-size: 12px;
	font-weight: 800;
	padding: 6px 8px;
}

.bsmp-consolidated-table {
	font-size: 11px;
}

.bsmp-consolidated-table th,
.bsmp-consolidated-table td {
	padding: 5px 4px;
}

.bsmp-admit-card-half-sheet {
	max-width: 980px;
	min-height: 520px;
}

.bsmp-admit-routine-table {
	font-size: 11px;
}

.bsmp-admit-footer {
	grid-template-columns: 110px minmax(0, 1fr) 230px;
	margin-top: 24px;
}

.bsmp-admit-instructions {
	font-size: 11px;
	line-height: 1.45;
}

.bsmp-admit-instructions ol {
	margin: 4px 0 0 18px;
	padding: 0;
}

@media (max-width: 900px) {
	.bsmp-result-school-header,
	.bsmp-result-school-header--compact,
	.bsmp-result-school-header--admit,
	.bsmp-student-info-board,
	.bsmp-result-footer,
	.bsmp-admit-footer {
		grid-template-columns: 1fr;
	}
	.bsmp-result-logo-box,
	.bsmp-result-student-photo {
		margin: 0 auto;
	}
	.bsmp-student-info-grid,
	.bsmp-result-final-grid,
	.bsmp-result-final-grid--compact,
	.bsmp-result-mini-student-row,
	.bsmp-admit-student-line {
		grid-template-columns: 1fr;
	}
	.bsmp-result-a4-sheet,
	.bsmp-admit-card-half-sheet {
		padding: 12px;
	}
	.bsmp-result-school-title h2 {
		font-size: 24px;
	}
}

.bsmp-generated-qr {
	background: #fff;
	border: 4px solid #fff;
	box-shadow: 0 0 0 1px #111827;
	display: block;
	height: 86px;
	image-rendering: pixelated;
	margin: 0 auto 6px;
	max-width: 100%;
	width: 86px;
}

.bsmp-admit-footer .bsmp-generated-qr {
	height: 76px;
	width: 76px;
}

/* Portal/admin shared logo safety polish */
.bsmp-sidebar__logo img,
.bsmp-school-visual__logo img,
.bsmp-routine-a4-logo img,
.bsmp-marksheet-logo img,
.bsmp-result-logo-box img {
	width: auto !important;
	height: auto !important;
	max-width: 90% !important;
	max-height: 90% !important;
	object-fit: contain !important;
	object-position: center center !important;
	display: block !important;
	margin: auto !important;
}
.bsmp-sidebar__logo, .bsmp-school-visual__logo { border-radius: 50% !important; }

/* Commercial routine flexibility and logo fit polish */
.bsmp-routine-structure-grid {
	display: grid;
	grid-template-columns: 180px repeat(2, minmax(180px, 1fr)) 210px;
	gap: 12px;
	align-items: end;
	margin: 4px 0 12px;
	padding: 14px;
	border: 1px solid #dbeafe;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}
.bsmp-routine-check-option {
	min-height: 46px;
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 10px 12px;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	background: #f8fafc;
	font-size: 13px;
	font-weight: 800;
	color: #334155;
}
.bsmp-routine-check-option input {
	width: 18px;
	height: 18px;
	margin: 0;
}
.bsmp-routine-structure-note {
	margin: -4px 0 12px;
	font-weight: 700;
	color: #475569;
}
.bsmp-routine-builder-table {
	min-width: 920px;
}
.bsmp-routine-builder-table th,
.bsmp-routine-builder-table td {
	vertical-align: middle !important;
	text-align: center;
}
.bsmp-routine-builder-table .bsmp-routine-day-cell {
	text-align: center;
}
.bsmp-routine-builder-table thead th strong {
	font-size: 13.5px;
}
.bsmp-routine-builder-table thead th span {
	font-size: 12px;
}
.bsmp-routine-normal-cell,
.bsmp-routine-special-cell {
	min-width: 132px;
}
.bsmp-routine-cell-controls select,
.bsmp-routine-cell-controls input {
	font-size: 13px;
	min-height: 38px;
}
.bsmp-routine-special-text {
	min-height: 92px;
}
.bsmp-routine-a4-table th,
.bsmp-routine-a4-table td {
	vertical-align: middle !important;
	text-align: center;
}
.bsmp-routine-a4-table td strong {
	font-size: 12px;
	line-height: 1.18;
}
.bsmp-routine-a4-table td small {
	font-size: 10.2px;
}
.bsmp-routine-view-empty {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	line-height: 1;
	border-radius: 50%;
	background: #f1f5f9;
	color: #94a3b8;
	font-size: 18px;
	font-weight: 900;
}
.bsmp-routine-school-mark img,
.bsmp-routine-a4-logo img,
.bsmp-a4-header img,
.bsmp-logo-preview img,
.bsmp-school-logo img,
.bsmp-logo-circle img,
.bsmp-brand-logo img,
.bsmp-app-logo img {
	object-fit: contain !important;
	object-position: center center !important;
}
.bsmp-avatar img,
.bsmp-student-photo img,
.bsmp-staff-photo img,
.bsmp-profile-photo img {
	object-fit: cover !important;
	object-position: center center !important;
}

@media (max-width: 980px) {
	.bsmp-routine-structure-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 560px) {
	.bsmp-routine-structure-grid {
		grid-template-columns: 1fr;
		padding: 12px;
	}
	.bsmp-routine-builder-table {
		min-width: 860px;
	}
}

/* BSMP 13F routine preview readability polish */
.bsmp-routine-a4-table th,
.bsmp-routine-a4-table td {
	vertical-align: middle;
	text-align: center;
}
.bsmp-routine-a4-table td strong {
	font-size: 13px;
	line-height: 1.2;
	color: #111827;
}
.bsmp-routine-a4-table td .bsmp-routine-teacher-name {
	color: #0f5e9c;
	font-weight: 700;
	font-size: 11px;
}
.bsmp-routine-a4-table td .bsmp-routine-room-name {
	color: #6b7280;
	font-size: 10px;
}
.bsmp-routine-a4-table .bsmp-routine-view-empty {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	line-height: 1;
}

/* BSMP 14A branded notification email settings */
.bsmp-email-settings-card {
	border-color: rgba(15, 95, 168, 0.18);
}
.bsmp-email-settings-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}
.bsmp-email-settings-grid .bsmp-field--wide {
	grid-column: 1 / -1;
}
.bsmp-toggle-row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 15px;
	border: 1px solid #dbe7f3;
	border-radius: 16px;
	background: #f8fbff;
	min-height: 82px;
	box-sizing: border-box;
}
.bsmp-toggle-row input[type="checkbox"] {
	margin-top: 3px;
	width: 18px;
	height: 18px;
	accent-color: #0f5fa8;
}
.bsmp-toggle-row strong {
	display: block;
	font-size: 14px;
	line-height: 1.35;
	color: #14213d;
	margin-bottom: 4px;
}
.bsmp-toggle-row small {
	display: block;
	font-size: 12px;
	line-height: 1.45;
	color: #64748b;
}
.bsmp-email-settings-grid input[type="color"] {
	width: 100%;
	height: 44px;
	padding: 4px;
	border-radius: 12px;
	border: 1px solid #dbe7f3;
	background: #fff;
}
.bsmp-profile-layout--single {
	display: block;
	max-width: 980px;
	margin: 0 auto;
}
.bsmp-email-test-page {
	margin-top: -18px;
}
.bsmp-inline-test-email-form {
	display: grid;
	grid-template-columns: minmax(240px, 1fr) auto;
	gap: 14px;
	align-items: end;
}
.bsmp-inline-test-email-form .bsmp-field {
	margin: 0;
}
@media (max-width: 782px) {
	.bsmp-email-settings-grid,
	.bsmp-inline-test-email-form {
		grid-template-columns: 1fr;
	}
	.bsmp-toggle-row {
		min-height: auto;
	}
}

/* Notification center */
.bsmp-notification-page .bsmp-profile-layout--single {
	grid-template-columns: 1fr;
}

.bsmp-notification-hero {
	align-items: stretch;
}

.bsmp-notification-status-card {
	display: grid;
	gap: 12px;
	min-width: 230px;
}

.bsmp-status-pill {
	display: grid;
	grid-template-columns: 38px 1fr;
	gap: 2px 12px;
	align-items: center;
	padding: 14px 16px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 14px 36px rgba(15, 23, 42, 0.12);
	color: #0f172a;
}

.bsmp-status-pill .dashicons {
	grid-row: 1 / span 2;
	width: 38px;
	height: 38px;
	font-size: 22px;
	line-height: 38px;
	text-align: center;
	border-radius: 999px;
	background: #fee2e2;
	color: #b91c1c;
}

.bsmp-status-pill.is-on .dashicons {
	background: #dcfce7;
	color: #15803d;
}

.bsmp-status-pill strong,
.bsmp-status-pill small {
	display: block;
}

.bsmp-status-pill strong {
	font-size: 15px;
	font-weight: 900;
}

.bsmp-status-pill small {
	color: var(--bsmp-muted);
	font-size: 12px;
	font-weight: 700;
}

.bsmp-notification-form .bsmp-profile-card,
.bsmp-notification-test-grid .bsmp-profile-card {
	margin-bottom: 18px;
}

.bsmp-notification-rules-table th,
.bsmp-notification-rules-table td {
	vertical-align: middle;
}

.bsmp-notification-rules-table th:nth-child(2),
.bsmp-notification-rules-table th:nth-child(3),
.bsmp-notification-rules-table td:nth-child(2),
.bsmp-notification-rules-table td:nth-child(3) {
	text-align: center;
	width: 145px;
}

.bsmp-mini-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 10px;
	border-radius: 999px;
	background: #f8fafc;
	border: 1px solid var(--bsmp-border);
	font-weight: 800;
	color: #334155;
}

.bsmp-mini-toggle input {
	margin: 0;
}

.bsmp-notification-actions {
	position: sticky;
	bottom: 0;
	z-index: 5;
	padding: 14px;
	margin: 0 0 20px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(10px);
	box-shadow: 0 -12px 34px rgba(15, 23, 42, 0.08);
}

.bsmp-notification-test-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

@media (max-width: 960px) {
	.bsmp-notification-test-grid {
		grid-template-columns: 1fr;
	}

	.bsmp-notification-status-card {
		min-width: 0;
	}

	.bsmp-notification-rules-table th:nth-child(2),
	.bsmp-notification-rules-table th:nth-child(3),
	.bsmp-notification-rules-table td:nth-child(2),
	.bsmp-notification-rules-table td:nth-child(3) {
		width: auto;
	}
}


/* Commercial dashboard and notification polish */
.bsmp-academics-hero .bsmp-kicker,
.bsmp-profile-hero .bsmp-kicker,
.bsmp-dashboard-hero .bsmp-kicker {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: #1d4ed8 !important;
	font-weight: 900;
	letter-spacing: .03em;
	text-shadow: none !important;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10);
}
.bsmp-attendance-hero .bsmp-kicker,
.bsmp-fees-hero .bsmp-kicker,
.bsmp-notification-hero .bsmp-kicker {
	background: rgba(255, 255, 255, 0.90);
	color: #1d4ed8 !important;
}
.bsmp-notification-status-card {
	gap: 16px;
}
.bsmp-notification-hero .bsmp-profile-actions {
	margin-bottom: 18px;
}
.bsmp-notification-hero .bsmp-status-pill + .bsmp-status-pill {
	margin-top: 2px;
}
.bsmp-status-pill {
	min-height: 64px;
}
.bsmp-exams-hero {
	background: radial-gradient(circle at 85% 10%, rgba(59, 130, 246, .22), transparent 34%), linear-gradient(135deg, #7f1d1d 0%, #1d4ed8 100%) !important;
	color: #fff;
	border: 0;
	box-shadow: 0 24px 54px rgba(15, 23, 42, 0.18);
}
.bsmp-exams-hero h2,
.bsmp-exams-hero p {
	color: #fff !important;
}
.bsmp-exams-hero p {
	font-weight: 600;
	opacity: .92;
}
.bsmp-exams-hero .bsmp-exam-summary-boxes div {
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.26);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 12px 28px rgba(15,23,42,.12);
	color: #fff;
	backdrop-filter: blur(8px);
}
.bsmp-exams-hero .bsmp-exam-summary-boxes strong,
.bsmp-exams-hero .bsmp-exam-summary-boxes span {
	color: #fff;
}
.bsmp-exam-quick-actions {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 4px;
}
.bsmp-exam-quick-actions .bsmp-btn {
	border-color: rgba(255, 255, 255, 0.44);
	background: rgba(255, 255, 255, 0.94);
	color: #1d4ed8;
	font-weight: 900;
}
.bsmp-manual-message-wrap {
	margin-top: 18px;
	margin-bottom: 18px;
}
.bsmp-manual-message-card {
	border: 1px solid rgba(29, 78, 216, 0.14);
	box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}
.bsmp-manual-message-grid,
.bsmp-channel-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.bsmp-channel-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 16px 0;
}
.bsmp-confirm-row {
	margin: 16px 0;
	border-color: rgba(127, 29, 29, 0.22);
	background: #fff7ed;
}
@media (max-width: 960px) {
	.bsmp-manual-message-grid,
	.bsmp-channel-grid {
		grid-template-columns: 1fr;
	}
	.bsmp-exam-quick-actions .bsmp-btn {
		width: 100%;
		justify-content: center;
	}
	.bsmp-notification-status-card {
		gap: 14px;
	}
}
@media (max-width: 640px) {
	.bsmp-academics-hero .bsmp-kicker,
	.bsmp-profile-hero .bsmp-kicker,
	.bsmp-dashboard-hero .bsmp-kicker {
		font-size: 13px;
		line-height: 1.25;
		white-space: normal;
	}
	.bsmp-status-pill {
		min-height: 68px;
	}
}

/* SMTP guide and commercial mail settings polish */
.bsmp-smtp-guide-card {
	border: 1px solid rgba(37, 99, 235, 0.16);
	background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}
.bsmp-help-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.bsmp-help-box {
	padding: 16px;
	border-radius: 18px;
	border: 1px solid var(--bsmp-border);
	background: #fff;
	box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06);
}
.bsmp-help-box strong {
	display: block;
	margin-bottom: 8px;
	color: var(--bsmp-heading);
	font-size: 15px;
	font-weight: 900;
}
.bsmp-help-box p {
	margin: 0;
	color: var(--bsmp-muted);
	font-size: 13px;
	line-height: 1.65;
}
@media (max-width: 960px) {
	.bsmp-help-grid {
		grid-template-columns: 1fr;
	}
}

/* Notification polish */
.bsmp-recipient-preview-card,
.bsmp-log-filter-form,
.bsmp-log-actions {
    margin-top: 18px;
}
.bsmp-recipient-preview-card {
    padding: 16px 18px;
    border: 1px solid rgba(37, 99, 235, .16);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(239,246,255,.95), rgba(255,255,255,.95));
}
.bsmp-preview-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 12px 0 6px;
}
.bsmp-preview-stats span {
    display: block;
    padding: 10px 12px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    color: #475569;
    font-weight: 700;
}
.bsmp-preview-stats b {
    color: #0f172a;
    font-size: 1.1rem;
}
.bsmp-rule-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .01em;
    background: #fee2e2;
    color: #991b1b;
}
.bsmp-rule-status.is-on {
    background: #dcfce7;
    color: #166534;
}
.bsmp-log-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
}
.bsmp-log-actions form {
    margin: 0;
}
.bsmp-sms-preset-help {
    display: block;
    color: #475569;
    font-weight: 700;
}
@media (max-width: 782px) {
    .bsmp-preview-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .bsmp-log-actions {
        justify-content: stretch;
    }
    .bsmp-log-actions form,
    .bsmp-log-actions .bsmp-btn {
        width: 100%;
    }
}

/* Notice & Events */
.bsmp-announcement-hero .bsmp-module-hero__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(120px, 1fr));
	gap: 12px;
	align-content: center;
	min-width: 260px;
}
.bsmp-announcement-hero .bsmp-module-hero__stats > div {
	background: rgba(255,255,255,.92);
	border: 1px solid rgba(255,255,255,.65);
	border-radius: 18px;
	padding: 16px;
	box-shadow: 0 12px 30px rgba(15,23,42,.08);
}
.bsmp-announcement-hero .bsmp-module-hero__stats strong {
	display: block;
	font-size: 30px;
	line-height: 1;
	color: #7f1d1d;
}
.bsmp-announcement-hero .bsmp-module-hero__stats span {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	font-weight: 700;
	color: #475569;
}
.bsmp-announcement-grid {
	align-items: start;
}
.bsmp-field-wide {
	grid-column: 1 / -1;
}
.bsmp-announcement-form textarea {
	min-height: 130px;
	resize: vertical;
}
.bsmp-announcement-list-panel {
	margin-top: 22px;
}
.bsmp-announcement-table td {
	vertical-align: middle;
}
.bsmp-table-desc {
	display: block;
	margin-top: 4px;
	color: #64748b;
	font-size: 12px;
	font-weight: 500;
}
.bsmp-table-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
@media (max-width: 782px) {
	.bsmp-announcement-hero .bsmp-module-hero__stats {
		grid-template-columns: 1fr 1fr;
		min-width: 0;
		width: 100%;
	}
	.bsmp-table-actions {
		display: grid;
	}
}


/* Identity Card Generator */
.bsmp-id-card-hero {
	background: linear-gradient(135deg, #082f49 0%, #0f5e9c 48%, #7c2d12 100%);
	color: #fff;
	border: 1px solid rgba(255,255,255,.35);
	box-shadow: 0 22px 60px rgba(15,23,42,.18);
}
.bsmp-id-card-hero h2,
.bsmp-id-card-hero p,
.bsmp-id-card-hero .bsmp-kicker {
	color: #fff;
}
.bsmp-id-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
	align-items: center;
}
.bsmp-id-card-grid {
	align-items: start;
	gap: 22px;
	margin-top: 22px;
}
.bsmp-id-check-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 16px;
}
.bsmp-id-check-grid label {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 12px;
	font-weight: 800;
	color: #334155;
}
.bsmp-id-preview-surface {
	margin-top: 18px;	
	background: linear-gradient(135deg, #f8fbff, #fff7ed);
	border: 1px dashed #bfdbfe;
	border-radius: 22px;
	padding: 22px;
	overflow: auto;
}
.bsmp-id-card {
	width: var(--bsmp-id-w);
	height: var(--bsmp-id-h);
	box-sizing: border-box;
	border: 2px solid var(--bsmp-id-border);
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
	position: relative;
	box-shadow: 0 18px 40px rgba(15,23,42,.16);
	font-family: Inter, Roboto, Arial, sans-serif;
	color: #0f172a;
	margin: 0 auto;
}
.bsmp-id-card__top {
	height: 23%;
	background: var(--bsmp-id-header);
	color: #fff;
	padding: 6px 8px;
	box-sizing: border-box;
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	position: relative;
	text-align: center;
}
.bsmp-id-card__logo {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4px;
	box-shadow: 0 0 0 2px rgba(255,255,255,.45);
	flex: 0 0 auto;
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
}
.bsmp-id-card__logo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}
.bsmp-id-card__school {
	flex: 1 1 auto;
	text-align: center;
	padding: 0 52px;
}
.bsmp-id-card__school h3 {
	margin: 0;
	font-size: 17px;
	line-height: 1;
	font-weight: 900;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: #fff;
}
.bsmp-id-card__school p {
	margin: 4px 0 0;
	font-size: 9px;
	line-height: 1.15;
	font-weight: 700;
	color: rgba(255,255,255,.9);
}
.bsmp-id-card__label {
	background: var(--bsmp-id-accent);
	color: #fff;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .08em;
	text-align: center;
	text-transform: uppercase;
	padding: 4px 0;
}
.bsmp-id-card__body {
	display: grid;
	grid-template-columns: 72px 1fr 58px;
	gap: 8px;
	padding: 7px 8px 12px;
	align-items: start;
}
.bsmp-id-card__photo-wrap img,
.bsmp-id-card__photo-wrap span {
	width: 66px;
	height: 78px;
	border-radius: 10px;
	background: #e0f2fe;
	border: 3px solid #fff;
	box-shadow: 0 0 0 2px #dbeafe;
	object-fit: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	font-weight: 900;
	color: #0f5e9c;
}
.bsmp-id-card__info h4 {
	margin: 0 0 5px;
	font-size: 15px;
	line-height: 1.05;
	font-weight: 900;
	text-transform: uppercase;
	color: #111827;
}
.bsmp-id-mini-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px 8px;
}
.bsmp-id-mini-grid span {
	display: block;
	font-size: 8px;
	line-height: 1.05;
	font-weight: 800;
	color: #64748b;
	text-transform: uppercase;
}
.bsmp-id-mini-grid strong {
	display: block;
	font-size: 10px;
	line-height: 1.05;
	font-weight: 900;
	color: #111827;
	word-break: break-word;
}
.bsmp-id-card__qr {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 4px;
	text-align: center;
	line-height: 0;
}
.bsmp-id-card__qr svg {
	width: 50px;
	height: 50px;
	display: block;
	margin: 0 auto;
}
.bsmp-id-card__footer {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 48px;
	background: #f8fafc;
	border-top: 1px solid #bfdbfe;
	display: grid;
	grid-template-columns: 1fr 86px;
	gap: 8px;
	align-items: center;
	padding: 5px 8px;
	box-sizing: border-box;
}
.bsmp-id-card__address {
	font-size: 8px;
	line-height: 1.15;
	font-weight: 800;
	color: #1f2937;
}
.bsmp-id-card__address-label {
	display: inline-block;
	background: #dbeafe;
	color: #0f5e9c;
	border-radius: 999px;
	padding: 2px 7px;
	margin: 0 0 3px;
	font-size: 7px;
	line-height: 1;
	font-weight: 900;
	text-transform: uppercase;
}
.bsmp-id-card__address strong {
	display: block;
	font-size: 8px;
	line-height: 1.15;
	font-weight: 900;
	color: #1f2937;
	text-transform: uppercase;
}
.bsmp-id-card__address em {
	display: block;
	font-style: normal;
	font-size: 7.5px;
	line-height: 1.1;
	font-weight: 900;
	color: #0f5e9c;
	margin-top: 2px;
}
.bsmp-id-card__signature {
	text-align: center;
	font-size: 8px;
	line-height: 1;
	font-weight: 900;
	color: #111827;
	white-space: nowrap;
}
.bsmp-id-card__signature-box {
	height: 13px;
	line-height: 13px;
	margin: 0 auto 1px;
	text-align: center;
}
.bsmp-id-card__signature img {
	display: block;
	max-width: 34px;
	max-height: 9px;
	margin: 0 auto;
	object-fit: contain;
}
.bsmp-id-card__signature i {
	display: block;
	width: 56px;
	border-top: 1px solid #334155;
	margin: 9px auto 0;
}
.bsmp-id-card__signature span {
	display: block;
	line-height: 1;
	font-size: 7px;
}
.bsmp-id-card--classic {
	border-color: #334155 !important;
}
.bsmp-id-card--classic .bsmp-id-card__top {
	background: #fff !important;
	color: #111827;
	border-bottom: 2px solid var(--bsmp-id-border);
}
.bsmp-id-card--classic .bsmp-id-card__school h3 {
	color: #111827;
}
.bsmp-id-card--classic .bsmp-id-card__school p {
	color: #475569;
}
.bsmp-id-roadmap {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.bsmp-id-roadmap div {
	background: #f8fafc;
	border: 1px solid #dbeafe;
	border-radius: 18px;
	padding: 16px;
}
.bsmp-id-roadmap strong {
	display: block;
	font-size: 22px;
	color: #0f5e9c;
}
.bsmp-id-roadmap span {
	display: block;
	margin-top: 6px;
	font-weight: 700;
	color: #475569;
}
@media (max-width: 900px) {
	.bsmp-id-card-grid,
	.bsmp-id-roadmap {
		grid-template-columns: 1fr;
	}
	.bsmp-id-check-grid {
		grid-template-columns: 1fr;
	}
	.bsmp-id-preview-surface {
		padding: 14px;
	}
}

/* Identity card PDF/preview layout parity and commercial polish */
.bsmp-id-card {
	border-width: 2px;
}
.bsmp-id-card .bsmp-id-card__top {
	justify-content: center;
	text-align: center;
}
.bsmp-id-card .bsmp-id-card__school {
	padding-left: 56px;
	padding-right: 56px;
	text-align: center;
}
.bsmp-id-card .bsmp-id-card__school h3,
.bsmp-id-card .bsmp-id-card__school p {
	text-align: center;
}
.bsmp-id-card .bsmp-id-card__body {
	position: relative;
	grid-template-columns: 72px minmax(0, 1fr) 54px;
	padding-bottom: 56px;
	min-height: 145px;
}
.bsmp-id-card.bsmp-id-card--no-qr .bsmp-id-card__body {
	grid-template-columns: 72px minmax(0, 1fr);
}
.bsmp-id-card .bsmp-id-card__qr {
	align-self: start;
	min-width: 44px;
	min-height: 44px;
}
.bsmp-id-card .bsmp-id-card__qr img,
.bsmp-id-card .bsmp-id-card__qr svg {
	width: 44px;
	height: 44px;
}
.bsmp-id-card .bsmp-id-mini-grid {
	gap: 5px 8px;
}
.bsmp-id-card .bsmp-id-card__footer {
	height: 48px;
}
.bsmp-id-card .bsmp-id-card__signature-box {
	height: 12px;
	line-height: 12px;
}
.bsmp-id-card .bsmp-id-card__signature img {
	max-width: 40px;
	max-height: 10px;
}
.bsmp-id-card .bsmp-id-card__signature span {
	font-size: 7px;
	line-height: 1;
}


/* Circular school logo fix for admin/dashboard previews and identity cards. */
.bsmp-sidebar__logo,
.bsmp-school-visual__logo,
.bsmp-id-card__logo,
.bsmp-logo-circle,
.bsmp-app-logo,
.bsmp-brand-logo {
  border-radius: 50% !important;
  overflow: hidden !important;
}
.bsmp-id-card__logo {
  padding: 3px !important;
  background: #ffffff !important;
}
.bsmp-sidebar__logo img,
.bsmp-school-visual__logo img,
.bsmp-logo-circle img,
.bsmp-app-logo img,
.bsmp-brand-logo img,
.bsmp-id-card__logo img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Bulk / selected student ID card controls */
.bsmp-id-bulk-panel {
	margin-top: 22px;
}
.bsmp-id-bulk-actions {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
}
.bsmp-id-bulk-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	background: linear-gradient(135deg, #eff6ff, #fff7ed);
	border: 1px solid #bfdbfe;
	border-radius: 18px;
	padding: 14px;
	margin-bottom: 16px;
}
.bsmp-id-select-all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 900;
	color: #0f172a;
}
.bsmp-id-student-select-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
.bsmp-id-student-select-card {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	background: #ffffff;
	border: 1px solid #dbeafe;
	border-radius: 16px;
	padding: 12px;
	box-shadow: 0 10px 28px rgba(15,23,42,.06);
	cursor: pointer;
	transition: .18s ease;
}
.bsmp-id-student-select-card:hover {
	border-color: #60a5fa;
	box-shadow: 0 14px 34px rgba(37,99,235,.12);
	transform: translateY(-1px);
}
.bsmp-id-student-select-card input {
	margin-top: 3px;
	width: 18px;
	height: 18px;
}
.bsmp-id-student-select-main strong {
	display: block;
	font-size: 14px;
	line-height: 1.2;
	font-weight: 900;
	color: #0f172a;
	text-transform: uppercase;
}
.bsmp-id-student-select-main em {
	display: block;
	font-style: normal;
	font-size: 12px;
	line-height: 1.35;
	font-weight: 800;
	color: #64748b;
	margin-top: 4px;
}
@media (max-width: 1100px) {
	.bsmp-id-student-select-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 680px) {
	.bsmp-id-student-select-grid {
		grid-template-columns: 1fr;
	}
	.bsmp-id-bulk-toolbar,
	.bsmp-id-bulk-actions {
		align-items: stretch;
		flex-direction: column;
	}
	.bsmp-id-bulk-toolbar .bsmp-btn,
	.bsmp-id-bulk-actions .bsmp-btn {
		width: 100%;
		justify-content: center;
	}
}


/* ID card PDF header padding and mobile bulk list polish. */
.bsmp-id-card__label {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 20px;
	padding-top: 0;
	padding-bottom: 0;
}
@media (max-width: 680px) {
	.bsmp-id-student-select-grid {
		display: block;
	}
	.bsmp-id-student-select-card {
		display: grid;
		grid-template-columns: 34px minmax(0, 1fr);
		align-items: center;
		gap: 12px;
		margin: 0 0 12px;
		width: 100%;
		box-sizing: border-box;
	}
	.bsmp-id-student-select-card input {
		width: 24px;
		height: 24px;
		margin: 0;
	}
	.bsmp-id-student-select-main {
		display: block;
		min-width: 0;
	}
	.bsmp-id-student-select-main strong {
		font-size: 15px;
		line-height: 1.25;
		white-space: normal;
	}
	.bsmp-id-student-select-main em {
		font-size: 13px;
		line-height: 1.35;
		white-space: normal;
	}
}

/* ID card safe style presets and color polish. */
.bsmp-id-preset-preview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 10px;
	margin: 12px 0 14px;
}
.bsmp-id-preset-chip {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 9px 11px;
	border-radius: 14px;
	border: 1px solid color-mix(in srgb, var(--chip-border) 38%, #e5e7eb);
	background: linear-gradient(135deg, #fff 0%, #f8fafc 100%);
	font-size: 12px;
	font-weight: 900;
	color: #172033;
	box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
}
.bsmp-id-preset-chip i {
	width: 34px;
	height: 22px;
	border-radius: 7px;
	border: 2px solid var(--chip-border);
	background: linear-gradient(to bottom, var(--chip-header) 0 55%, var(--chip-accent) 55% 100%);
	box-shadow: inset 0 0 0 2px rgba(255,255,255,.28);
	flex: 0 0 auto;
}
.bsmp-id-settings-form small {
	display: block;
	margin-top: 4px;
	font-size: 11px;
	line-height: 1.25;
	color: #64748b;
}
.bsmp-id-card__photo-wrap img,
.bsmp-id-card__photo-wrap span {
	box-shadow: 0 0 0 2px var(--bsmp-id-photo-border, #dbeafe);
}
.bsmp-id-card__photo-wrap span {
	background: var(--bsmp-id-photo-border, #dbeafe);
	color: var(--bsmp-id-text-accent, #0f5e9c);
}
.bsmp-id-mini-grid span {
	color: var(--bsmp-id-text-accent, #64748b);
}
.bsmp-id-card__qr {
	border-color: var(--bsmp-id-photo-border, #e2e8f0);
}
.bsmp-id-card__footer {
	background: var(--bsmp-id-footer, #f8fafc);
	border-top-color: var(--bsmp-id-photo-border, #bfdbfe);
}
.bsmp-id-card__address-label {
	background: var(--bsmp-id-photo-border, #dbeafe);
	color: var(--bsmp-id-text-accent, #0f5e9c);
}
.bsmp-id-card__address em {
	color: var(--bsmp-id-text-accent, #0f5e9c);
}

/* Promotion foundation */
.bsmp-promotion-hero .bsmp-module-hero__stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bsmp-promotion-foundation-grid .bsmp-stats-card { border-radius: 18px; padding: 18px; box-shadow: 0 14px 30px rgba(15, 23, 42, .10); }
.bsmp-promotion-table td small { display: block; margin-top: 4px; color: #64748b; font-size: 12px; }
.bsmp-inline-form { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bsmp-inline-form select { min-width: 170px; }
.bsmp-btn--small { min-height: 34px; padding: 7px 12px; font-size: 12px; }
@media (max-width: 782px) {
	.bsmp-promotion-hero .bsmp-module-hero__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bsmp-inline-form { align-items: stretch; }
	.bsmp-inline-form select,
	.bsmp-inline-form button { width: 100%; }
}

/* Mobile-friendly promotion workflow. */
.bsmp-promotion-hero--workflow {
	background: linear-gradient(135deg, #082f49 0%, #0f5e9c 48%, #7f1d1d 100%);
}
.bsmp-promotion-rule-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.bsmp-promotion-rule-card {
	border-radius: 22px;
	border: 1px solid rgba(255,255,255,.65);
	box-shadow: 0 16px 36px rgba(15, 23, 42, .12);
	padding: 18px 18px 16px;
	overflow: hidden;
	position: relative;
}
.bsmp-promotion-rule-card::after {
	content: '';
	position: absolute;
	right: -26px;
	top: -26px;
	width: 88px;
	height: 88px;
	border-radius: 999px;
	background: rgba(255,255,255,.35);
}
.bsmp-promotion-rule-card h3 {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 900;
	color: #0f172a;
}
.bsmp-promotion-rule-card p {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	font-weight: 700;
	color: #334155;
}
.bsmp-promotion-rule-card--blue { background: linear-gradient(135deg, #dbeafe 0%, #f8fafc 100%); border-color: #60a5fa; }
.bsmp-promotion-rule-card--red { background: linear-gradient(135deg, #fee2e2 0%, #fff7ed 100%); border-color: #fb7185; }
.bsmp-promotion-rule-card--green { background: linear-gradient(135deg, #dcfce7 0%, #f0fdf4 100%); border-color: #22c55e; }
.bsmp-promotion-workflow-panel {
	border: 1px solid rgba(14, 165, 233, .28);
	box-shadow: 0 20px 50px rgba(15, 23, 42, .10);
}
.bsmp-promotion-step-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 8px 0 14px;
	font-size: 15px;
	font-weight: 900;
	color: #0f172a;
}
.bsmp-promotion-step-title span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: linear-gradient(135deg, #0ea5e9, #2563eb);
	color: #fff;
	box-shadow: 0 10px 20px rgba(37,99,235,.25);
}
.bsmp-promotion-grid label,
.bsmp-promotion-action-bar label {
	background: #ffffff;
	border: 1px solid #dbeafe;
	border-radius: 16px;
	padding: 11px;
	box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}
.bsmp-promotion-grid label span,
.bsmp-promotion-action-bar label span {
	font-size: 12px;
	font-weight: 900;
	color: #7f1d1d;
	margin-bottom: 6px;
}
.bsmp-promotion-grid select,
.bsmp-promotion-grid input,
.bsmp-promotion-action-bar select,
.bsmp-promotion-action-bar textarea {
	font-size: 14px;
	font-weight: 700;
	border-radius: 12px;
	min-height: 42px;
}
.bsmp-promotion-grid small {
	display: block;
	margin-top: 5px;
	font-size: 11px;
	line-height: 1.35;
	color: #64748b;
}
.bsmp-promotion-action-bar {
	display: grid;
	grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
	gap: 14px;
	margin: 12px 0 14px;
}
.bsmp-promotion-note textarea { width: 100%; resize: vertical; }
.bsmp-promotion-select-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid #bae6fd;
	border-radius: 16px;
	background: linear-gradient(135deg, #f0f9ff, #eff6ff);
	margin: 0 0 14px;
}
.bsmp-promotion-select-row label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: #0f172a;
}
.bsmp-promotion-count {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 8px 12px;
	border-radius: 999px;
	background: #0f5e9c;
	color: #fff;
	font-weight: 900;
	box-shadow: 0 10px 20px rgba(15, 94, 156, .18);
}
.bsmp-promotion-student-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(255px, 1fr));
	gap: 12px;
}
.bsmp-promotion-student-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 14px;
	border-radius: 18px;
	border: 1px solid #dbeafe;
	background: linear-gradient(135deg, #fff 0%, #f8fafc 52%, #eff6ff 100%);
	box-shadow: 0 12px 26px rgba(15, 23, 42, .08);
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.bsmp-promotion-student-card:hover {
	transform: translateY(-1px);
	border-color: #38bdf8;
	box-shadow: 0 16px 34px rgba(15, 23, 42, .12);
}
.bsmp-promotion-student-card input[type="checkbox"] {
	width: 18px;
	height: 18px;
}
.bsmp-promotion-student-main strong {
	display: block;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.25;
	color: #111827;
	word-break: break-word;
}
.bsmp-promotion-student-main span,
.bsmp-promotion-student-main small {
	display: block;
	font-size: 12px;
	line-height: 1.35;
	font-weight: 700;
	color: #475569;
	margin-top: 3px;
}
.bsmp-promotion-student-status em {
	display: inline-flex;
	padding: 6px 9px;
	border-radius: 999px;
	background: #dcfce7;
	color: #166534;
	font-style: normal;
	font-size: 11px;
	font-weight: 900;
	white-space: nowrap;
}
.bsmp-promotion-warning {
	margin: 15px 0 4px;
	padding: 12px 14px;
	border-radius: 16px;
	border: 1px solid #fca5a5;
	background: linear-gradient(135deg, #fff1f2, #fff7ed);
	color: #7f1d1d;
	font-size: 13px;
	font-weight: 750;
	line-height: 1.5;
}
.bsmp-promotion-submit-row {
	justify-content: flex-end;
}
.bsmp-promotion-empty {
	padding: 22px;
	border: 1px dashed #93c5fd;
	border-radius: 18px;
	background: #f8fafc;
	text-align: center;
}
.bsmp-promotion-empty strong {
	display: block;
	font-size: 16px;
	color: #0f172a;
	margin-bottom: 5px;
}
.bsmp-promotion-empty p { margin: 0; color: #64748b; font-weight: 700; }
@media (max-width: 1100px) {
	.bsmp-promotion-rule-grid { grid-template-columns: 1fr; }
	.bsmp-promotion-action-bar { grid-template-columns: 1fr; }
}
@media (max-width: 782px) {
	.bsmp-promotion-hero .bsmp-module-hero__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bsmp-promotion-hero--workflow h2 { font-size: 24px; line-height: 1.18; }
	.bsmp-promotion-hero--workflow p { font-size: 14px; line-height: 1.55; }
	.bsmp-promotion-step-title { font-size: 16px; }
	.bsmp-promotion-grid,
	.bsmp-promotion-grid.bsmp-form-grid,
	.bsmp-form-grid--six { grid-template-columns: 1fr !important; gap: 12px; }
	.bsmp-promotion-grid label,
	.bsmp-promotion-action-bar label { padding: 13px; }
	.bsmp-promotion-grid label span,
	.bsmp-promotion-action-bar label span { font-size: 13px; }
	.bsmp-promotion-grid select,
	.bsmp-promotion-grid input,
	.bsmp-promotion-action-bar select,
	.bsmp-promotion-action-bar textarea { width: 100%; min-height: 46px; font-size: 15px; }
	.bsmp-promotion-select-row { align-items: stretch; flex-direction: column; }
	.bsmp-promotion-count { justify-content: center; }
	.bsmp-promotion-student-grid { grid-template-columns: 1fr; }
	.bsmp-promotion-student-card {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
		padding: 15px;
	}
	.bsmp-promotion-student-status { grid-column: 1 / -1; padding-left: 30px; }
	.bsmp-promotion-student-main strong { font-size: 16px; }
	.bsmp-promotion-student-main span,
	.bsmp-promotion-student-main small { font-size: 13px; }
	.bsmp-promotion-submit-row .bsmp-btn { width: 100%; justify-content: center; min-height: 48px; font-size: 15px; }
}

/* Promotion UI alignment + history audit polish. */
.bsmp-promotion-setup-form,
.bsmp-promotion-record-filter,
.bsmp-promotion-history-filter {
	margin-top: 12px;
	padding: 16px;
	border-radius: 22px;
	border: 1px solid rgba(37, 99, 235, .22);
	background: linear-gradient(135deg, #eef6ff 0%, #ffffff 48%, #fdf2f8 100%);
	box-shadow: 0 16px 38px rgba(15, 23, 42, .08);
}
.bsmp-promotion-mobile-stack .bsmp-form-grid {
	align-items: stretch;
}
.bsmp-promotion-mobile-stack label {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	gap: 7px;
	min-width: 0;
}
.bsmp-promotion-mobile-stack label > span {
	display: inline-flex !important;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	padding: 5px 9px;
	border-radius: 999px;
	background: linear-gradient(135deg, #e0f2fe, #fee2e2);
	border: 1px solid rgba(14, 165, 233, .25);
	color: #7f1d1d !important;
	font-weight: 950 !important;
	letter-spacing: .01em;
}
.bsmp-promotion-mobile-stack select,
.bsmp-promotion-mobile-stack input,
.bsmp-promotion-mobile-stack textarea {
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
	border: 1px solid #bfdbfe !important;
	background: #fff;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.bsmp-promotion-workflow-panel,
.bsmp-promotion-records-panel,
.bsmp-promotion-history-panel {
	background: linear-gradient(135deg, #ffffff 0%, #f8fbff 58%, #fff7ed 100%);
	border: 1px solid rgba(14, 165, 233, .24);
	box-shadow: 0 20px 48px rgba(15, 23, 42, .10);
}
.bsmp-promotion-workflow-panel .bsmp-panel__header,
.bsmp-promotion-records-panel .bsmp-panel__header,
.bsmp-promotion-history-panel .bsmp-panel__header {
	padding: 16px 18px;
	border-radius: 20px;
	background: linear-gradient(135deg, #0f5e9c 0%, #164e63 58%, #7f1d1d 100%);
	color: #fff;
	box-shadow: 0 18px 36px rgba(15, 94, 156, .18);
}
.bsmp-promotion-workflow-panel .bsmp-panel__header h3,
.bsmp-promotion-records-panel .bsmp-panel__header h3,
.bsmp-promotion-history-panel .bsmp-panel__header h3,
.bsmp-promotion-workflow-panel .bsmp-panel__header p,
.bsmp-promotion-records-panel .bsmp-panel__header p,
.bsmp-promotion-history-panel .bsmp-panel__header p {
	color: #fff;
}
.bsmp-promotion-step-title {
	margin-top: 18px;
	padding: 10px 12px;
	border-radius: 16px;
	background: linear-gradient(135deg, #eff6ff, #fff7ed);
	border: 1px solid rgba(14, 165, 233, .20);
}
.bsmp-promotion-rule-grid {
	gap: 16px;
}
.bsmp-promotion-rule-card {
	border-width: 1px;
	margin-bottom: 2px;
}
.bsmp-promotion-student-grid {
	gap: 16px;
	margin-top: 12px;
}
.bsmp-promotion-student-card {
	border-color: #93c5fd;
	background: linear-gradient(135deg, #fefefe 0%, #eff6ff 55%, #e0f2fe 100%);
	box-shadow: 0 16px 34px rgba(15, 23, 42, .10);
}
.bsmp-promotion-student-card:has(input:checked) {
	border-color: #2563eb;
	box-shadow: 0 20px 42px rgba(37, 99, 235, .18);
	background: linear-gradient(135deg, #dbeafe 0%, #fff 100%);
}
.bsmp-promotion-history-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 16px 0;
}
.bsmp-promotion-history-stats div {
	padding: 16px;
	border-radius: 20px;
	background: linear-gradient(135deg, #0f5e9c, #2563eb);
	color: #fff;
	box-shadow: 0 16px 34px rgba(37, 99, 235, .16);
	border: 1px solid rgba(255,255,255,.38);
}
.bsmp-promotion-history-stats strong {
	display: block;
	font-size: 28px;
	line-height: 1;
	font-weight: 950;
	margin-bottom: 6px;
}
.bsmp-promotion-history-stats span {
	font-size: 12px;
	font-weight: 850;
	opacity: .95;
}
.bsmp-promotion-history-list {
	display: grid;
	gap: 14px;
	margin-top: 14px;
}
.bsmp-promotion-history-card {
	display: grid;
	grid-template-columns: minmax(180px, 1.2fr) minmax(220px, 1.7fr) minmax(190px, .9fr);
	gap: 14px;
	align-items: center;
	padding: 16px;
	border-radius: 20px;
	border: 1px solid #bfdbfe;
	background: linear-gradient(135deg, #ffffff 0%, #f8fafc 52%, #eff6ff 100%);
	box-shadow: 0 14px 30px rgba(15, 23, 42, .08);
}
.bsmp-promotion-history-main strong {
	display: block;
	font-size: 15px;
	font-weight: 950;
	color: #0f172a;
}
.bsmp-promotion-history-main span,
.bsmp-promotion-history-route span,
.bsmp-promotion-history-meta small {
	display: block;
	font-size: 12px;
	font-weight: 800;
	color: #475569;
	line-height: 1.45;
}
.bsmp-promotion-history-route {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 8px;
}
.bsmp-promotion-history-route em {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: #dbeafe;
	color: #1d4ed8;
	font-style: normal;
	font-weight: 950;
}
.bsmp-promotion-history-meta {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: flex-start;
}
.bsmp-promotion-action-badge {
	display: inline-flex;
	padding: 7px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 950;
	line-height: 1;
	background: #dbeafe;
	color: #1d4ed8;
	border: 1px solid #93c5fd;
}
.bsmp-promotion-action-badge--not_enrolled { background: #fee2e2; border-color: #fca5a5; color: #991b1b; }
.bsmp-promotion-action-badge--transferred { background: #ffedd5; border-color: #fdba74; color: #9a3412; }
.bsmp-promotion-action-badge--inactive { background: #f1f5f9; border-color: #cbd5e1; color: #334155; }
.bsmp-promotion-action-badge--repeat { background: #fef3c7; border-color: #fcd34d; color: #92400e; }
.bsmp-promotion-history-note {
	grid-column: 1 / -1;
	margin: 0;
	padding: 10px 12px;
	border-radius: 14px;
	background: #fff7ed;
	border: 1px solid #fed7aa;
	color: #7c2d12;
	font-size: 12px;
	font-weight: 800;
}

@media (max-width: 782px) {
	.bsmp-promotion-setup-form,
	.bsmp-promotion-record-filter,
	.bsmp-promotion-history-filter {
		padding: 14px;
		border-radius: 18px;
		margin-top: 14px;
	}
	.bsmp-promotion-mobile-stack .bsmp-form-grid,
	.bsmp-promotion-mobile-stack .bsmp-form-grid--five,
	.bsmp-promotion-mobile-stack .bsmp-form-grid--six {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}
	.bsmp-promotion-mobile-stack label {
		padding: 14px !important;
		border-radius: 18px !important;
		background: #fff !important;
		border: 1px solid #bfdbfe !important;
		box-shadow: 0 12px 26px rgba(15, 23, 42, .08) !important;
	}
	.bsmp-promotion-mobile-stack label > span {
		font-size: 13px !important;
		margin-bottom: 0 !important;
	}
	.bsmp-promotion-mobile-stack select,
	.bsmp-promotion-mobile-stack input,
	.bsmp-promotion-mobile-stack textarea {
		min-height: 48px !important;
		font-size: 15px !important;
		font-weight: 800 !important;
	}
	.bsmp-promotion-workflow-panel,
	.bsmp-promotion-records-panel,
	.bsmp-promotion-history-panel {
		padding: 12px !important;
		border-radius: 20px !important;
	}
	.bsmp-promotion-workflow-panel .bsmp-panel__header,
	.bsmp-promotion-records-panel .bsmp-panel__header,
	.bsmp-promotion-history-panel .bsmp-panel__header {
		padding: 15px;
		border-radius: 18px;
	}
	.bsmp-promotion-workflow-panel .bsmp-panel__header h3,
	.bsmp-promotion-records-panel .bsmp-panel__header h3,
	.bsmp-promotion-history-panel .bsmp-panel__header h3 {
		font-size: 18px;
		line-height: 1.25;
	}
	.bsmp-promotion-workflow-panel .bsmp-panel__header p,
	.bsmp-promotion-records-panel .bsmp-panel__header p,
	.bsmp-promotion-history-panel .bsmp-panel__header p {
		font-size: 13px;
		line-height: 1.45;
	}
	.bsmp-promotion-rule-card {
		padding: 16px;
	}
	.bsmp-promotion-student-card {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 12px;
		padding: 16px;
		border-radius: 20px;
	}
	.bsmp-promotion-student-main strong {
		font-size: 17px;
	}
	.bsmp-promotion-student-main span,
	.bsmp-promotion-student-main small {
		font-size: 13px;
	}
	.bsmp-promotion-history-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
	.bsmp-promotion-history-stats div {
		padding: 14px;
		border-radius: 18px;
	}
	.bsmp-promotion-history-stats strong {
		font-size: 24px;
	}
	.bsmp-promotion-history-card {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 15px;
		border-radius: 18px;
	}
	.bsmp-promotion-history-route {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.bsmp-promotion-history-route em {
		transform: rotate(90deg);
	}
	.bsmp-promotion-history-main strong {
		font-size: 16px;
	}
	.bsmp-promotion-history-main span,
	.bsmp-promotion-history-route span,
	.bsmp-promotion-history-meta small {
		font-size: 13px;
	}
}

/* BSMP 17E Transfer / TC Management */
.bsmp-tc-panel{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8fbff 0%,#fff7ed 100%);border:1px solid #c7d2fe!important;box-shadow:0 18px 44px rgba(15,94,156,.12)}
.bsmp-tc-header{background:linear-gradient(135deg,#0f5e9c,#7c2d12);color:#fff;border-radius:18px;padding:18px 20px;margin:-4px -4px 18px}
.bsmp-tc-header .bsmp-kicker,.bsmp-tc-header h3,.bsmp-tc-header p{color:#fff!important}.bsmp-tc-header p{opacity:.92}.bsmp-tc-stats{margin:0 0 18px}.bsmp-tc-stats div{border:1px solid rgba(15,94,156,.18);background:#fff;box-shadow:0 10px 24px rgba(15,94,156,.08)}
.bsmp-tc-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:18px;align-items:start}.bsmp-tc-column{background:#fff;border:1px solid #dbeafe;border-radius:18px;padding:16px;box-shadow:0 12px 28px rgba(15,94,156,.08)}.bsmp-tc-column h4,.bsmp-tc-records h4{margin:0 0 12px;color:#0f5e9c;font-size:17px}.bsmp-tc-candidate-list,.bsmp-tc-record-list{display:grid;gap:12px}.bsmp-tc-candidate-card,.bsmp-tc-record-card{background:linear-gradient(135deg,#ffffff 0%,#eff6ff 100%);border:1px solid #bfdbfe;border-left:4px solid #0f5e9c;border-radius:16px;padding:13px;box-shadow:0 10px 22px rgba(15,94,156,.08)}.bsmp-tc-candidate-card.is-selected{border-color:#f97316;border-left-color:#f97316;background:linear-gradient(135deg,#fff7ed 0%,#eff6ff 100%)}.bsmp-tc-candidate-card strong,.bsmp-tc-record-card strong{display:block;color:#111827;font-size:15px}.bsmp-tc-candidate-card span,.bsmp-tc-record-card span,.bsmp-tc-candidate-card p,.bsmp-tc-record-card p{display:block;color:#334155;margin:3px 0;font-size:12.5px}.bsmp-tc-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}.bsmp-tc-selected-student{background:linear-gradient(135deg,#0f5e9c,#2563eb);color:#fff;border-radius:16px;padding:13px 14px;margin-bottom:12px}.bsmp-tc-selected-student strong{display:block;font-size:17px}.bsmp-tc-selected-student span{font-size:12.5px;opacity:.9}.bsmp-tc-form label{display:block;margin-bottom:12px}.bsmp-tc-form label>span{display:block;font-weight:800;color:#0f172a;margin-bottom:6px}.bsmp-tc-form input,.bsmp-tc-form select,.bsmp-tc-form textarea{width:100%;border-radius:12px!important;border:1px solid #cbd5e1!important;background:#fff!important;min-height:42px;font-size:14px}.bsmp-tc-form textarea{min-height:78px}.bsmp-tc-form small{display:block;color:#7c2d12;font-weight:700;margin-top:5px}.bsmp-tc-records{margin-top:18px;background:#fff;border:1px solid #fed7aa;border-radius:18px;padding:16px;box-shadow:0 12px 28px rgba(124,45,18,.08)}.bsmp-tc-record-card{background:linear-gradient(135deg,#fff 0%,#fff7ed 100%);border-color:#fed7aa;border-left-color:#7c2d12}
@media (max-width: 900px){.bsmp-tc-layout{grid-template-columns:1fr}.bsmp-tc-panel{padding:14px!important}.bsmp-tc-header{padding:16px;border-radius:16px;margin:0 0 14px}.bsmp-tc-header h3{font-size:20px!important;line-height:1.22}.bsmp-tc-header p{font-size:14px!important}.bsmp-tc-column,.bsmp-tc-records{padding:14px;border-radius:16px}.bsmp-tc-candidate-card,.bsmp-tc-record-card{padding:14px;border-radius:15px}.bsmp-tc-candidate-card strong,.bsmp-tc-record-card strong{font-size:16px}.bsmp-tc-candidate-card span,.bsmp-tc-record-card span,.bsmp-tc-candidate-card p,.bsmp-tc-record-card p{font-size:13.5px;line-height:1.45}.bsmp-tc-card-actions{align-items:stretch}.bsmp-tc-card-actions .bsmp-btn{width:100%;justify-content:center;text-align:center}.bsmp-tc-form input,.bsmp-tc-form select,.bsmp-tc-form textarea{font-size:15px;min-height:46px}.bsmp-tc-form .bsmp-form-grid{grid-template-columns:1fr!important;gap:10px}.bsmp-tc-selected-student strong{font-size:18px}}

/* BSMP 17E.1 Transfer / TC premium UI polish */
.bsmp-promotion-hero--workflow{
    background: linear-gradient(135deg,#eef7ff 0%,#ffffff 46%,#fff7ed 100%) !important;
    border: 1px solid #bfdbfe !important;
    box-shadow: 0 18px 46px rgba(15,94,156,.14) !important;
    overflow: hidden;
}
.bsmp-promotion-hero--workflow .bsmp-dashboard-hero__content h2,
.bsmp-promotion-hero--workflow .bsmp-dashboard-hero__content p{color:#0f172a !important;}
.bsmp-promotion-hero--workflow .bsmp-kicker{background:#ffffff !important;color:#2563eb !important;border:1px solid #dbeafe !important;box-shadow:0 10px 22px rgba(37,99,235,.12);}
.bsmp-promotion-hero--workflow .bsmp-module-hero__stats{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;align-self:stretch !important;min-width:260px !important;}
.bsmp-promotion-hero--workflow .bsmp-module-hero__stats div{background:linear-gradient(135deg,#0f5e9c,#7c2d12) !important;border:1px solid rgba(255,255,255,.55) !important;border-radius:20px !important;padding:18px !important;color:#fff !important;box-shadow:0 16px 34px rgba(15,94,156,.18) !important;min-height:92px !important;display:flex !important;flex-direction:column !important;justify-content:center !important;}
.bsmp-promotion-hero--workflow .bsmp-module-hero__stats strong{display:block !important;color:#fff !important;font-size:30px !important;line-height:1 !important;font-weight:950 !important;margin:0 0 7px !important;}
.bsmp-promotion-hero--workflow .bsmp-module-hero__stats span{display:block !important;color:#e0f2fe !important;font-size:12px !important;line-height:1.25 !important;font-weight:900 !important;}
.bsmp-tc-header{background:linear-gradient(135deg,#0f5e9c 0%,#0b4d85 46%,#7c2d12 100%) !important;color:#fff !important;}
.bsmp-tc-header .bsmp-kicker{background:rgba(255,255,255,.18) !important;color:#fff !important;border:1px solid rgba(255,255,255,.32) !important;}
.bsmp-tc-header h3{color:#fff !important;text-shadow:0 2px 8px rgba(0,0,0,.18) !important;}
.bsmp-tc-header p{color:#eef7ff !important;opacity:1 !important;font-weight:700 !important;}
.bsmp-tc-stats{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:14px !important;}
.bsmp-tc-stats div{min-height:86px !important;border-radius:20px !important;background:linear-gradient(135deg,#ffffff 0%,#eff6ff 100%) !important;border:1px solid #bfdbfe !important;padding:17px !important;display:flex !important;flex-direction:column !important;justify-content:center !important;}
.bsmp-tc-stats strong{display:block !important;color:#0f5e9c !important;font-size:28px !important;line-height:1 !important;font-weight:950 !important;margin-bottom:7px !important;}
.bsmp-tc-stats span{display:block !important;color:#334155 !important;font-size:12px !important;font-weight:900 !important;line-height:1.25 !important;}
.bsmp-tc-filter .bsmp-form-grid label,
.bsmp-tc-form .bsmp-form-grid label{background:#fff !important;border:1px solid #bfdbfe !important;border-radius:16px !important;padding:13px !important;box-shadow:0 10px 22px rgba(15,94,156,.07) !important;}
@media (max-width: 900px){
    .bsmp-promotion-hero--workflow{padding:18px !important;border-radius:22px !important;}
    .bsmp-promotion-hero--workflow .bsmp-module-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr)) !important;min-width:0 !important;width:100% !important;}
    .bsmp-promotion-hero--workflow .bsmp-module-hero__stats div{min-height:78px !important;padding:14px !important;}
    .bsmp-promotion-hero--workflow .bsmp-module-hero__stats strong{font-size:24px !important;}
    .bsmp-tc-stats{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
    .bsmp-tc-stats div{min-height:74px !important;padding:13px !important;}
    .bsmp-tc-stats strong{font-size:23px !important;}
    .bsmp-tc-filter .bsmp-form-grid{grid-template-columns:1fr !important;gap:12px !important;}
}

/* BSMP 17F Central Reports mobile-first polish */
.bsmp-reports-hero {
	background: linear-gradient(135deg, #0f3f98 0%, #7c2d12 100%);
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.18);
}
.bsmp-reports-hero .bsmp-kicker,
.bsmp-reports-hero h2,
.bsmp-reports-hero p,
.bsmp-reports-hero .bsmp-module-hero__stats span,
.bsmp-reports-hero .bsmp-module-hero__stats strong {
	color: #ffffff !important;
}
.bsmp-reports-hero .bsmp-module-hero__stats > div {
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.24);
	box-shadow: 0 16px 38px rgba(15,23,42,.20);
}
.bsmp-reports-grid {
	display: grid;
	gap: 22px;
}
.bsmp-report-panel {
	border: 1px solid rgba(15, 63, 152, 0.18);
	box-shadow: 0 22px 55px rgba(15, 23, 42, 0.10);
	overflow: hidden;
}
.bsmp-report-panel__header {
	margin: -24px -24px 18px;
	padding: 22px 24px;
	background: linear-gradient(135deg, #0f4aa0 0%, #0ea5e9 100%);
	color: #ffffff;
}
.bsmp-report-panel--fees .bsmp-report-panel__header {
	background: linear-gradient(135deg, #7c2d12 0%, #be123c 100%);
}
.bsmp-report-panel__header h3,
.bsmp-report-panel__header p {
	color: #ffffff !important;
}
.bsmp-report-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 11px;
	border-radius: 999px;
	background: rgba(255,255,255,.18);
	border: 1px solid rgba(255,255,255,.28);
	color: #ffffff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.bsmp-report-filter {
	background: linear-gradient(135deg, #eff6ff 0%, #fff7ed 100%);
	border: 1px solid rgba(37, 99, 235, 0.18);
	border-radius: 22px;
	padding: 18px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.bsmp-report-form-grid label,
.bsmp-mobile-field-stack label {
	background: #ffffff;
	border: 1px solid #dbeafe;
	border-radius: 16px;
	padding: 11px;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}
.bsmp-report-form-grid label > span,
.bsmp-mobile-field-stack label > span {
	display: block;
	font-size: 12px;
	font-weight: 900;
	color: #0f3f98;
	margin: 0 0 7px;
	letter-spacing: .02em;
}
.bsmp-report-form-grid input,
.bsmp-report-form-grid select,
.bsmp-mobile-field-stack input,
.bsmp-mobile-field-stack select {
	width: 100%;
	min-height: 42px;
	font-size: 14px;
	border-radius: 12px;
	border-color: #bfdbfe;
}
.bsmp-report-actions {
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 14px;
}
.bsmp-report-summary-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 12px;
	margin: 18px 0;
}
.bsmp-report-summary-row--money {
	grid-template-columns: repeat(5, minmax(0,1fr));
}
.bsmp-report-summary-row > div {
	padding: 15px;
	border-radius: 20px;
	background: linear-gradient(135deg, #0f4aa0 0%, #2563eb 100%);
	color: #ffffff;
	box-shadow: 0 16px 35px rgba(37,99,235,.16);
}
.bsmp-report-summary-row > div:nth-child(2) { background: linear-gradient(135deg, #047857 0%, #10b981 100%); }
.bsmp-report-summary-row > div:nth-child(3) { background: linear-gradient(135deg, #7c2d12 0%, #f97316 100%); }
.bsmp-report-summary-row > div:nth-child(4) { background: linear-gradient(135deg, #be123c 0%, #ec4899 100%); }
.bsmp-report-summary-row > div:nth-child(5) { background: linear-gradient(135deg, #4c1d95 0%, #8b5cf6 100%); }
.bsmp-report-summary-row strong,
.bsmp-report-summary-row span {
	display: block;
	color: #ffffff !important;
}
.bsmp-report-summary-row strong {
	font-size: 20px;
	font-weight: 900;
	line-height: 1.1;
}
.bsmp-report-summary-row span {
	font-size: 12px;
	font-weight: 800;
	opacity: .9;
	margin-top: 4px;
}
.bsmp-report-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 16px;
}
.bsmp-report-mini-card {
	background: #ffffff;
	border: 1px solid #dbeafe;
	border-radius: 20px;
	padding: 16px;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}
.bsmp-report-mini-card h4 {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 900;
	color: #7c2d12;
}
.bsmp-report-table th {
	background: #0f4aa0 !important;
	color: #ffffff !important;
	font-weight: 900;
}
.bsmp-report-table td strong,
.bsmp-report-table td small {
	display: block;
}
.bsmp-report-table td small {
	color: #64748b;
	font-size: 11px;
	margin-top: 3px;
}
.bsmp-status-pill {
	display: inline-flex;
	align-items: center;
	padding: 4px 8px;
	border-radius: 999px;
	background: #e0f2fe;
	color: #075985;
	font-size: 11px;
	font-weight: 900;
}
@media (max-width: 900px) {
	.bsmp-report-panel__header {
		margin: -18px -18px 16px;
		padding: 18px;
	}
	.bsmp-report-summary-row,
	.bsmp-report-summary-row--money,
	.bsmp-report-columns {
		grid-template-columns: 1fr;
	}
	.bsmp-mobile-field-stack .bsmp-report-form-grid,
	.bsmp-report-form-grid {
		grid-template-columns: 1fr !important;
		gap: 12px;
	}
	.bsmp-report-form-grid label > span,
	.bsmp-mobile-field-stack label > span {
		font-size: 13px;
		margin-bottom: 8px;
	}
	.bsmp-report-form-grid input,
	.bsmp-report-form-grid select,
	.bsmp-mobile-field-stack input,
	.bsmp-mobile-field-stack select {
		font-size: 15px;
		min-height: 46px;
	}
	.bsmp-report-actions .bsmp-btn {
		width: 100%;
		justify-content: center;
		min-height: 44px;
	}
	.bsmp-report-table {
		font-size: 13px;
	}
}

/* BSMP 17F.1 Reports dashboard UI rebuild */
body.bsmp-app-admin .bsmp-reports-hero{
    display:grid !important;
    grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr) !important;
    gap:22px !important;
    align-items:stretch !important;
    padding:28px !important;
    border-radius:30px !important;
    background:linear-gradient(135deg,#0f4aa0 0%,#1167b1 45%,#7c2d12 100%) !important;
    box-shadow:0 24px 60px rgba(15,23,42,.18) !important;
    overflow:hidden !important;
}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-dashboard-hero__content{
    max-width:none !important;
}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-kicker{
    background:rgba(255,255,255,.18) !important;
    color:#ffffff !important;
    border:1px solid rgba(255,255,255,.32) !important;
    box-shadow:none !important;
}
body.bsmp-app-admin .bsmp-reports-hero h2{
    color:#ffffff !important;
    font-size:38px !important;
    line-height:1.12 !important;
    max-width:780px !important;
}
body.bsmp-app-admin .bsmp-reports-hero p{
    color:#eaf4ff !important;
    font-size:17px !important;
    line-height:1.7 !important;
    max-width:780px !important;
}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-module-hero__stats{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    align-self:stretch !important;
    min-width:0 !important;
    width:100% !important;
}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-module-hero__stats > div{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-height:106px !important;
    padding:18px !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.30) !important;
    box-shadow:0 16px 36px rgba(15,23,42,.22) !important;
    backdrop-filter:blur(8px) !important;
}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-module-hero__stats strong{
    color:#ffffff !important;
    display:block !important;
    font-size:26px !important;
    line-height:1.08 !important;
    font-weight:950 !important;
    margin:0 0 8px !important;
    word-break:break-word !important;
}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-module-hero__stats span{
    color:#dbeafe !important;
    display:block !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
}
body.bsmp-app-admin .bsmp-report-panel{
    padding:0 !important;
    border:1px solid #c7d2fe !important;
    border-radius:28px !important;
    overflow:hidden !important;
    background:#ffffff !important;
    box-shadow:0 24px 62px rgba(15,23,42,.11) !important;
}
body.bsmp-app-admin .bsmp-report-panel__header{
    margin:0 !important;
    padding:26px !important;
    background:linear-gradient(135deg,#0f4aa0 0%,#0284c7 100%) !important;
    color:#ffffff !important;
}
body.bsmp-app-admin .bsmp-report-panel--fees .bsmp-report-panel__header{
    background:linear-gradient(135deg,#7c2d12 0%,#be123c 58%,#4c1d95 100%) !important;
}
body.bsmp-app-admin .bsmp-report-panel__header h3{
    color:#ffffff !important;
    font-size:26px !important;
    line-height:1.2 !important;
    margin:8px 0 8px !important;
}
body.bsmp-app-admin .bsmp-report-panel__header p{
    color:#eef7ff !important;
    font-size:15px !important;
    line-height:1.65 !important;
    margin:0 !important;
    max-width:900px !important;
}
body.bsmp-app-admin .bsmp-report-badge{
    background:rgba(255,255,255,.20) !important;
    border:1px solid rgba(255,255,255,.36) !important;
    color:#ffffff !important;
    box-shadow:none !important;
}
body.bsmp-app-admin .bsmp-report-filter{
    margin:22px 26px !important;
    padding:20px !important;
    border-radius:24px !important;
    background:linear-gradient(135deg,#eff6ff 0%,#ffffff 52%,#fff7ed 100%) !important;
    border:1px solid #bfdbfe !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 14px 32px rgba(15,23,42,.06) !important;
}
body.bsmp-app-admin .bsmp-report-form-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
    align-items:end !important;
}
body.bsmp-app-admin .bsmp-report-form-grid label{
    display:block !important;
    margin:0 !important;
    background:#ffffff !important;
    border:1px solid #dbeafe !important;
    border-radius:18px !important;
    padding:12px !important;
    box-shadow:0 10px 24px rgba(15,23,42,.06) !important;
}
body.bsmp-app-admin .bsmp-report-form-grid label > span{
    display:block !important;
    width:fit-content !important;
    max-width:100% !important;
    padding:5px 10px !important;
    margin:0 0 9px !important;
    border-radius:999px !important;
    background:#e0f2fe !important;
    color:#0f4aa0 !important;
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:950 !important;
    letter-spacing:.02em !important;
}
body.bsmp-app-admin .bsmp-report-form-grid input,
body.bsmp-app-admin .bsmp-report-form-grid select{
    width:100% !important;
    max-width:none !important;
    min-height:46px !important;
    padding:8px 12px !important;
    border:1px solid #bfdbfe !important;
    border-radius:14px !important;
    background:#ffffff !important;
    color:#0f172a !important;
    font-size:15px !important;
    box-shadow:none !important;
}
body.bsmp-app-admin .bsmp-report-actions{
    display:flex !important;
    gap:12px !important;
    flex-wrap:wrap !important;
    margin:18px 0 0 !important;
    padding-top:18px !important;
    border-top:1px solid rgba(15,74,160,.12) !important;
}
body.bsmp-app-admin .bsmp-report-actions .bsmp-btn{
    min-height:48px !important;
    padding:12px 20px !important;
    border-radius:16px !important;
    font-size:15px !important;
    font-weight:900 !important;
}
body.bsmp-app-admin .bsmp-report-summary-row{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:14px !important;
    margin:22px 26px !important;
}
body.bsmp-app-admin .bsmp-report-summary-row--money{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}
body.bsmp-app-admin .bsmp-report-summary-row > div{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-height:92px !important;
    padding:18px !important;
    border-radius:22px !important;
    color:#ffffff !important;
    box-shadow:0 18px 38px rgba(15,23,42,.12) !important;
    overflow:hidden !important;
}
body.bsmp-app-admin .bsmp-report-summary-row > div strong{
    display:block !important;
    color:#ffffff !important;
    font-size:25px !important;
    line-height:1.1 !important;
    font-weight:950 !important;
    margin:0 0 8px !important;
    word-break:break-word !important;
}
body.bsmp-app-admin .bsmp-report-summary-row > div span{
    display:block !important;
    color:#eef7ff !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
}
body.bsmp-app-admin .bsmp-report-table-wrap,
body.bsmp-app-admin .bsmp-report-columns{
    margin-left:26px !important;
    margin-right:26px !important;
}
body.bsmp-app-admin .bsmp-report-columns{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
    margin-top:18px !important;
    margin-bottom:24px !important;
}
body.bsmp-app-admin .bsmp-report-mini-card{
    background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%) !important;
    border:1px solid #dbeafe !important;
    border-radius:22px !important;
    padding:18px !important;
    box-shadow:0 18px 42px rgba(15,23,42,.08) !important;
}
body.bsmp-app-admin .bsmp-report-mini-card h4{
    margin:0 0 14px !important;
    padding:12px 14px !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#0f4aa0,#0284c7) !important;
    color:#ffffff !important;
    font-size:16px !important;
    font-weight:950 !important;
}
body.bsmp-app-admin .bsmp-report-table{
    width:100% !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    border:1px solid #dbeafe !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:#ffffff !important;
}
body.bsmp-app-admin .bsmp-report-table th{
    background:#0f4aa0 !important;
    color:#ffffff !important;
    padding:13px 14px !important;
    font-size:13px !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    letter-spacing:.03em !important;
    white-space:nowrap !important;
}
body.bsmp-app-admin .bsmp-report-table td{
    padding:14px !important;
    color:#1e293b !important;
    font-size:14px !important;
    line-height:1.45 !important;
    vertical-align:middle !important;
    border-bottom:1px solid #e5edf8 !important;
}
body.bsmp-app-admin .bsmp-report-table td strong{
    display:block !important;
    color:#0f172a !important;
    font-size:14px !important;
    font-weight:950 !important;
    line-height:1.25 !important;
    margin:0 0 4px !important;
}
body.bsmp-app-admin .bsmp-report-table td small{
    display:block !important;
    color:#64748b !important;
    font-size:12px !important;
    line-height:1.35 !important;
    margin:3px 0 0 !important;
}
body.bsmp-app-admin .bsmp-status-pill{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    max-width:100% !important;
    padding:8px 12px !important;
    border-radius:999px !important;
    background:#e0f2fe !important;
    border:1px solid #bae6fd !important;
    color:#075985 !important;
    font-size:11px !important;
    line-height:1.15 !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    letter-spacing:.03em !important;
    white-space:normal !important;
    word-break:normal !important;
    text-align:center !important;
}
@media (max-width: 1024px){
    body.bsmp-app-admin .bsmp-reports-hero{
        grid-template-columns:1fr !important;
        padding:22px !important;
    }
    body.bsmp-app-admin .bsmp-reports-hero h2{
        font-size:30px !important;
    }
    body.bsmp-app-admin .bsmp-report-form-grid{
        grid-template-columns:1fr !important;
    }
    body.bsmp-app-admin .bsmp-report-summary-row,
    body.bsmp-app-admin .bsmp-report-summary-row--money,
    body.bsmp-app-admin .bsmp-report-columns{
        grid-template-columns:1fr !important;
    }
}
@media (max-width: 782px){
    body.bsmp-app-admin .bsmp-reports-hero{
        border-radius:24px !important;
        padding:18px !important;
        gap:16px !important;
    }
    body.bsmp-app-admin .bsmp-reports-hero h2{
        font-size:25px !important;
    }
    body.bsmp-app-admin .bsmp-reports-hero p{
        font-size:15px !important;
        line-height:1.55 !important;
    }
    body.bsmp-app-admin .bsmp-reports-hero .bsmp-module-hero__stats{
        grid-template-columns:1fr !important;
    }
    body.bsmp-app-admin .bsmp-reports-hero .bsmp-module-hero__stats > div{
        min-height:84px !important;
    }
    body.bsmp-app-admin .bsmp-report-panel{
        border-radius:24px !important;
    }
    body.bsmp-app-admin .bsmp-report-panel__header{
        padding:20px !important;
    }
    body.bsmp-app-admin .bsmp-report-panel__header h3{
        font-size:22px !important;
    }
    body.bsmp-app-admin .bsmp-report-filter,
    body.bsmp-app-admin .bsmp-report-summary-row,
    body.bsmp-app-admin .bsmp-report-table-wrap,
    body.bsmp-app-admin .bsmp-report-columns{
        margin-left:14px !important;
        margin-right:14px !important;
    }
    body.bsmp-app-admin .bsmp-report-filter{
        padding:14px !important;
        border-radius:20px !important;
    }
    body.bsmp-app-admin .bsmp-report-form-grid label{
        padding:13px !important;
    }
    body.bsmp-app-admin .bsmp-report-form-grid label > span{
        font-size:13px !important;
    }
    body.bsmp-app-admin .bsmp-report-form-grid input,
    body.bsmp-app-admin .bsmp-report-form-grid select{
        font-size:16px !important;
        min-height:50px !important;
    }
    body.bsmp-app-admin .bsmp-report-actions .bsmp-btn{
        width:100% !important;
        justify-content:center !important;
    }
    body.bsmp-app-admin .bsmp-report-summary-row > div{
        min-height:82px !important;
    }
    body.bsmp-app-admin .bsmp-report-summary-row > div strong{
        font-size:23px !important;
    }
    body.bsmp-app-admin .bsmp-table-responsive{
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch !important;
    }
    body.bsmp-app-admin .bsmp-report-table{
        min-width:760px !important;
    }
    body.bsmp-app-admin .bsmp-report-mini-card .bsmp-report-table{
        min-width:620px !important;
    }
}


/* BSMP 17G Reports hero visibility and dashboard polish */
body.bsmp-app-admin .bsmp-reports-hero.bsmp-dashboard-hero{
    background:linear-gradient(135deg,#0b3f91 0%,#075985 48%,#7c2d12 100%) !important;
    border:1px solid rgba(255,255,255,.22) !important;
    box-shadow:0 28px 70px rgba(15,23,42,.22) !important;
}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-dashboard-hero__content{
    background:linear-gradient(135deg,rgba(15,74,160,.96) 0%,rgba(2,132,199,.82) 100%) !important;
    border:1px solid rgba(255,255,255,.34) !important;
    box-shadow:0 20px 48px rgba(2,8,23,.18) !important;
    border-radius:26px !important;
    padding:34px 36px !important;
    min-height:260px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    overflow:hidden !important;
}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-dashboard-hero__content::after{
    background:rgba(255,255,255,.11) !important;
    right:-80px !important;
    bottom:-100px !important;
    width:260px !important;
    height:260px !important;
}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-kicker{
    background:#ffffff !important;
    color:#0f4aa0 !important;
    border:1px solid rgba(255,255,255,.86) !important;
    box-shadow:0 12px 24px rgba(15,23,42,.10) !important;
}
body.bsmp-app-admin .bsmp-reports-hero h2{
    color:#ffffff !important;
    text-shadow:0 3px 14px rgba(15,23,42,.28) !important;
    opacity:1 !important;
}
body.bsmp-app-admin .bsmp-reports-hero p{
    color:#f8fbff !important;
    text-shadow:0 2px 8px rgba(15,23,42,.22) !important;
    opacity:1 !important;
}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-module-hero__stats > div{
    background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.12)) !important;
    border:1px solid rgba(255,255,255,.38) !important;
}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-module-hero__stats > div:nth-child(1){background:linear-gradient(135deg,#1d4ed8 0%,#0ea5e9 100%) !important;}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-module-hero__stats > div:nth-child(2){background:linear-gradient(135deg,#7c2d12 0%,#f97316 100%) !important;}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-module-hero__stats > div:nth-child(3){background:linear-gradient(135deg,#047857 0%,#10b981 100%) !important;}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-module-hero__stats > div:nth-child(4){background:linear-gradient(135deg,#be123c 0%,#ec4899 100%) !important;}
body.bsmp-app-admin .bsmp-reports-hero .bsmp-module-hero__stats strong,
body.bsmp-app-admin .bsmp-reports-hero .bsmp-module-hero__stats span{
    color:#ffffff !important;
    opacity:1 !important;
    text-shadow:0 2px 10px rgba(15,23,42,.24) !important;
}
body.bsmp-app-admin .bsmp-report-panel__header,
body.bsmp-app-admin .bsmp-report-panel__header h3,
body.bsmp-app-admin .bsmp-report-panel__header p{
    opacity:1 !important;
}
body.bsmp-app-admin .bsmp-report-summary-row > div{
    border:1px solid rgba(255,255,255,.28) !important;
}
body.bsmp-app-admin .bsmp-report-summary-row > div strong,
body.bsmp-app-admin .bsmp-report-summary-row > div span{
    opacity:1 !important;
    text-shadow:0 2px 9px rgba(15,23,42,.25) !important;
}
@media (max-width: 1024px){
    body.bsmp-app-admin .bsmp-reports-hero .bsmp-dashboard-hero__content{
        min-height:0 !important;
        padding:26px !important;
    }
}
@media (max-width: 782px){
    body.bsmp-app-admin .bsmp-reports-hero .bsmp-dashboard-hero__content{
        padding:22px !important;
        border-radius:22px !important;
    }
    body.bsmp-app-admin .bsmp-reports-hero h2{
        font-size:28px !important;
        line-height:1.18 !important;
    }
    body.bsmp-app-admin .bsmp-reports-hero p{
        font-size:15.5px !important;
        line-height:1.62 !important;
    }
    body.bsmp-app-admin .bsmp-reports-hero .bsmp-module-hero__stats{
        gap:12px !important;
    }
}

/* Frontend Admin Portal */
.bsmp-frontend-admin-root {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: var(--bsmp-bg);
	min-height: 100vh;
}

.bsmp-wrap--frontend-admin {
	width: 100%;
	max-width: 100%;
}

.bsmp-wrap--frontend-admin.wrap {
	margin: 0;
}

.bsmp-wrap--frontend-admin .bsmp-app-shell {
	min-height: 100vh;
}


/* Frontend admin panel safety and mobile polish */
.bsmp-wrap--frontend-admin .bsmp-topbar__right .bsmp-btn[href*="wp-admin"] {
	display: none !important;
}

.bsmp-wrap--frontend-admin .bsmp-app-shell {
	position: relative;
	isolation: isolate;
}

.bsmp-sidebar__close {
	display: none;
	position: absolute;
	top: 14px;
	right: 14px;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(255,255,255,.24);
	border-radius: 14px;
	background: rgba(255,255,255,.14);
	color: #ffffff;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 20;
}

.bsmp-sidebar__close .dashicons {
	font-size: 22px;
	width: 22px;
	height: 22px;
}


.bsmp-wrap--frontend-admin .bsmp-profile-card,
.bsmp-wrap--frontend-admin .bsmp-card,
.bsmp-wrap--frontend-admin .bsmp-report-panel,
.bsmp-wrap--frontend-admin .bsmp-form-section,
.bsmp-wrap--frontend-admin .bsmp-settings-card,
.bsmp-wrap--frontend-admin .bsmp-table-card {
	background: #ffffff !important;
	color: #0f172a !important;
}

.bsmp-wrap--frontend-admin .bsmp-main h1,
.bsmp-wrap--frontend-admin .bsmp-main h2,
.bsmp-wrap--frontend-admin .bsmp-main h3,
.bsmp-wrap--frontend-admin .bsmp-main h4,
.bsmp-wrap--frontend-admin .bsmp-main label,
.bsmp-wrap--frontend-admin .bsmp-main p,
.bsmp-wrap--frontend-admin .bsmp-main td,
.bsmp-wrap--frontend-admin .bsmp-main th,
.bsmp-wrap--frontend-admin .bsmp-main span {
	text-rendering: optimizeLegibility;
}

.bsmp-wrap--frontend-admin .bsmp-main input,
.bsmp-wrap--frontend-admin .bsmp-main select,
.bsmp-wrap--frontend-admin .bsmp-main textarea {
	max-width: 100%;
}

.bsmp-wrap--frontend-admin .bsmp-topbar,
.bsmp-wrap--frontend-admin .bsmp-main {
	width: 100%;
	max-width: 100%;
}

.bsmp-wrap--frontend-admin .bsmp-table-responsive,
.bsmp-wrap--frontend-admin .bsmp-report-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.bsmp-wrap--frontend-admin .bsmp-dashboard-card,
.bsmp-wrap--frontend-admin .bsmp-stat-card,
.bsmp-wrap--frontend-admin .bsmp-summary-card {
	box-shadow: 0 18px 42px rgba(15,23,42,.08);
}


/* Frontend admin reports visibility clone */
.bsmp-wrap--frontend-admin .bsmp-reports-hero{
    display:grid !important;
    grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr) !important;
    gap:22px !important;
    align-items:stretch !important;
    padding:28px !important;
    border-radius:30px !important;
    background:linear-gradient(135deg,#0f4aa0 0%,#1167b1 45%,#7c2d12 100%) !important;
    box-shadow:0 24px 60px rgba(15,23,42,.18) !important;
    overflow:hidden !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-dashboard-hero__content{
    max-width:none !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-kicker{
    background:rgba(255,255,255,.18) !important;
    color:#ffffff !important;
    border:1px solid rgba(255,255,255,.32) !important;
    box-shadow:none !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero h2{
    color:#ffffff !important;
    font-size:38px !important;
    line-height:1.12 !important;
    max-width:780px !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero p{
    color:#eaf4ff !important;
    font-size:17px !important;
    line-height:1.7 !important;
    max-width:780px !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-module-hero__stats{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    align-self:stretch !important;
    min-width:0 !important;
    width:100% !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-module-hero__stats > div{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-height:106px !important;
    padding:18px !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.30) !important;
    box-shadow:0 16px 36px rgba(15,23,42,.22) !important;
    backdrop-filter:blur(8px) !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-module-hero__stats strong{
    color:#ffffff !important;
    display:block !important;
    font-size:26px !important;
    line-height:1.08 !important;
    font-weight:950 !important;
    margin:0 0 8px !important;
    word-break:break-word !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-module-hero__stats span{
    color:#dbeafe !important;
    display:block !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-panel{
    padding:0 !important;
    border:1px solid #c7d2fe !important;
    border-radius:28px !important;
    overflow:hidden !important;
    background:#ffffff !important;
    box-shadow:0 24px 62px rgba(15,23,42,.11) !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-panel__header{
    margin:0 !important;
    padding:26px !important;
    background:linear-gradient(135deg,#0f4aa0 0%,#0284c7 100%) !important;
    color:#ffffff !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-panel--fees .bsmp-report-panel__header{
    background:linear-gradient(135deg,#7c2d12 0%,#be123c 58%,#4c1d95 100%) !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-panel__header h3{
    color:#ffffff !important;
    font-size:26px !important;
    line-height:1.2 !important;
    margin:8px 0 8px !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-panel__header p{
    color:#eef7ff !important;
    font-size:15px !important;
    line-height:1.65 !important;
    margin:0 !important;
    max-width:900px !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-badge{
    background:rgba(255,255,255,.20) !important;
    border:1px solid rgba(255,255,255,.36) !important;
    color:#ffffff !important;
    box-shadow:none !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-filter{
    margin:22px 26px !important;
    padding:20px !important;
    border-radius:24px !important;
    background:linear-gradient(135deg,#eff6ff 0%,#ffffff 52%,#fff7ed 100%) !important;
    border:1px solid #bfdbfe !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 14px 32px rgba(15,23,42,.06) !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-form-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
    align-items:end !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-form-grid label{
    display:block !important;
    margin:0 !important;
    background:#ffffff !important;
    border:1px solid #dbeafe !important;
    border-radius:18px !important;
    padding:12px !important;
    box-shadow:0 10px 24px rgba(15,23,42,.06) !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-form-grid label > span{
    display:block !important;
    width:fit-content !important;
    max-width:100% !important;
    padding:5px 10px !important;
    margin:0 0 9px !important;
    border-radius:999px !important;
    background:#e0f2fe !important;
    color:#0f4aa0 !important;
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:950 !important;
    letter-spacing:.02em !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-form-grid input,
.bsmp-wrap--frontend-admin .bsmp-report-form-grid select{
    width:100% !important;
    max-width:none !important;
    min-height:46px !important;
    padding:8px 12px !important;
    border:1px solid #bfdbfe !important;
    border-radius:14px !important;
    background:#ffffff !important;
    color:#0f172a !important;
    font-size:15px !important;
    box-shadow:none !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-actions{
    display:flex !important;
    gap:12px !important;
    flex-wrap:wrap !important;
    margin:18px 0 0 !important;
    padding-top:18px !important;
    border-top:1px solid rgba(15,74,160,.12) !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-actions .bsmp-btn{
    min-height:48px !important;
    padding:12px 20px !important;
    border-radius:16px !important;
    font-size:15px !important;
    font-weight:900 !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-summary-row{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:14px !important;
    margin:22px 26px !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-summary-row--money{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-summary-row > div{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-height:92px !important;
    padding:18px !important;
    border-radius:22px !important;
    color:#ffffff !important;
    box-shadow:0 18px 38px rgba(15,23,42,.12) !important;
    overflow:hidden !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-summary-row > div strong{
    display:block !important;
    color:#ffffff !important;
    font-size:25px !important;
    line-height:1.1 !important;
    font-weight:950 !important;
    margin:0 0 8px !important;
    word-break:break-word !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-summary-row > div span{
    display:block !important;
    color:#eef7ff !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-table-wrap,
.bsmp-wrap--frontend-admin .bsmp-report-columns{
    margin-left:26px !important;
    margin-right:26px !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-columns{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
    margin-top:18px !important;
    margin-bottom:24px !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-mini-card{
    background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%) !important;
    border:1px solid #dbeafe !important;
    border-radius:22px !important;
    padding:18px !important;
    box-shadow:0 18px 42px rgba(15,23,42,.08) !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-mini-card h4{
    margin:0 0 14px !important;
    padding:12px 14px !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,#0f4aa0,#0284c7) !important;
    color:#ffffff !important;
    font-size:16px !important;
    font-weight:950 !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-table{
    width:100% !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    border:1px solid #dbeafe !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:#ffffff !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-table th{
    background:#0f4aa0 !important;
    color:#ffffff !important;
    padding:13px 14px !important;
    font-size:13px !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    letter-spacing:.03em !important;
    white-space:nowrap !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-table td{
    padding:14px !important;
    color:#1e293b !important;
    font-size:14px !important;
    line-height:1.45 !important;
    vertical-align:middle !important;
    border-bottom:1px solid #e5edf8 !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-table td strong{
    display:block !important;
    color:#0f172a !important;
    font-size:14px !important;
    font-weight:950 !important;
    line-height:1.25 !important;
    margin:0 0 4px !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-table td small{
    display:block !important;
    color:#64748b !important;
    font-size:12px !important;
    line-height:1.35 !important;
    margin:3px 0 0 !important;
}
.bsmp-wrap--frontend-admin .bsmp-status-pill{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    max-width:100% !important;
    padding:8px 12px !important;
    border-radius:999px !important;
    background:#e0f2fe !important;
    border:1px solid #bae6fd !important;
    color:#075985 !important;
    font-size:11px !important;
    line-height:1.15 !important;
    font-weight:950 !important;
    text-transform:uppercase !important;
    letter-spacing:.03em !important;
    white-space:normal !important;
    word-break:normal !important;
    text-align:center !important;
}
@media (max-width: 1024px){
    .bsmp-wrap--frontend-admin .bsmp-reports-hero{
        grid-template-columns:1fr !important;
        padding:22px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-reports-hero h2{
        font-size:30px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-form-grid{
        grid-template-columns:1fr !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-summary-row,
    .bsmp-wrap--frontend-admin .bsmp-report-summary-row--money,
    .bsmp-wrap--frontend-admin .bsmp-report-columns{
        grid-template-columns:1fr !important;
    }
}
@media (max-width: 782px){
    .bsmp-wrap--frontend-admin .bsmp-reports-hero{
        border-radius:24px !important;
        padding:18px !important;
        gap:16px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-reports-hero h2{
        font-size:25px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-reports-hero p{
        font-size:15px !important;
        line-height:1.55 !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-module-hero__stats{
        grid-template-columns:1fr !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-module-hero__stats > div{
        min-height:84px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-panel{
        border-radius:24px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-panel__header{
        padding:20px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-panel__header h3{
        font-size:22px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-filter,
    .bsmp-wrap--frontend-admin .bsmp-report-summary-row,
    .bsmp-wrap--frontend-admin .bsmp-report-table-wrap,
    .bsmp-wrap--frontend-admin .bsmp-report-columns{
        margin-left:14px !important;
        margin-right:14px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-filter{
        padding:14px !important;
        border-radius:20px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-form-grid label{
        padding:13px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-form-grid label > span{
        font-size:13px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-form-grid input,
    .bsmp-wrap--frontend-admin .bsmp-report-form-grid select{
        font-size:16px !important;
        min-height:50px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-actions .bsmp-btn{
        width:100% !important;
        justify-content:center !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-summary-row > div{
        min-height:82px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-summary-row > div strong{
        font-size:23px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-table-responsive{
        overflow-x:auto !important;
        -webkit-overflow-scrolling:touch !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-table{
        min-width:760px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-report-mini-card .bsmp-report-table{
        min-width:620px !important;
    }
}


/* BSMP 17G Reports hero visibility and dashboard polish */
.bsmp-wrap--frontend-admin .bsmp-reports-hero.bsmp-dashboard-hero{
    background:linear-gradient(135deg,#0b3f91 0%,#075985 48%,#7c2d12 100%) !important;
    border:1px solid rgba(255,255,255,.22) !important;
    box-shadow:0 28px 70px rgba(15,23,42,.22) !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-dashboard-hero__content{
    background:linear-gradient(135deg,rgba(15,74,160,.96) 0%,rgba(2,132,199,.82) 100%) !important;
    border:1px solid rgba(255,255,255,.34) !important;
    box-shadow:0 20px 48px rgba(2,8,23,.18) !important;
    border-radius:26px !important;
    padding:34px 36px !important;
    min-height:260px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    overflow:hidden !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-dashboard-hero__content::after{
    background:rgba(255,255,255,.11) !important;
    right:-80px !important;
    bottom:-100px !important;
    width:260px !important;
    height:260px !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-kicker{
    background:#ffffff !important;
    color:#0f4aa0 !important;
    border:1px solid rgba(255,255,255,.86) !important;
    box-shadow:0 12px 24px rgba(15,23,42,.10) !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero h2{
    color:#ffffff !important;
    text-shadow:0 3px 14px rgba(15,23,42,.28) !important;
    opacity:1 !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero p{
    color:#f8fbff !important;
    text-shadow:0 2px 8px rgba(15,23,42,.22) !important;
    opacity:1 !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-module-hero__stats > div{
    background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.12)) !important;
    border:1px solid rgba(255,255,255,.38) !important;
}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-module-hero__stats > div:nth-child(1){background:linear-gradient(135deg,#1d4ed8 0%,#0ea5e9 100%) !important;}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-module-hero__stats > div:nth-child(2){background:linear-gradient(135deg,#7c2d12 0%,#f97316 100%) !important;}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-module-hero__stats > div:nth-child(3){background:linear-gradient(135deg,#047857 0%,#10b981 100%) !important;}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-module-hero__stats > div:nth-child(4){background:linear-gradient(135deg,#be123c 0%,#ec4899 100%) !important;}
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-module-hero__stats strong,
.bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-module-hero__stats span{
    color:#ffffff !important;
    opacity:1 !important;
    text-shadow:0 2px 10px rgba(15,23,42,.24) !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-panel__header,
.bsmp-wrap--frontend-admin .bsmp-report-panel__header h3,
.bsmp-wrap--frontend-admin .bsmp-report-panel__header p{
    opacity:1 !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-summary-row > div{
    border:1px solid rgba(255,255,255,.28) !important;
}
.bsmp-wrap--frontend-admin .bsmp-report-summary-row > div strong,
.bsmp-wrap--frontend-admin .bsmp-report-summary-row > div span{
    opacity:1 !important;
    text-shadow:0 2px 9px rgba(15,23,42,.25) !important;
}
@media (max-width: 1024px){
    .bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-dashboard-hero__content{
        min-height:0 !important;
        padding:26px !important;
    }
}
@media (max-width: 782px){
    .bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-dashboard-hero__content{
        padding:22px !important;
        border-radius:22px !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-reports-hero h2{
        font-size:28px !important;
        line-height:1.18 !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-reports-hero p{
        font-size:15.5px !important;
        line-height:1.62 !important;
    }
    .bsmp-wrap--frontend-admin .bsmp-reports-hero .bsmp-module-hero__stats{
        gap:12px !important;
    }
}



@media (max-width: 1080px) {
	.bsmp-wrap--frontend-admin .bsmp-sidebar {
		z-index: 30;
		padding-top: 62px;
	}

	.bsmp-wrap--frontend-admin .bsmp-sidebar__close {
		display: inline-flex;
	}

}

@media (max-width: 782px) {
	.bsmp-wrap--frontend-admin .bsmp-topbar {
		gap: 14px;
		padding: 14px;
	}

	.bsmp-wrap--frontend-admin .bsmp-topbar__left h1 {
		font-size: 22px;
		line-height: 1.18;
	}

	.bsmp-wrap--frontend-admin .bsmp-page-label {
		font-size: 12px;
	}

	.bsmp-wrap--frontend-admin .bsmp-main {
		padding: 16px;
	}

	.bsmp-wrap--frontend-admin .bsmp-profile-card,
	.bsmp-wrap--frontend-admin .bsmp-card,
	.bsmp-wrap--frontend-admin .bsmp-report-panel,
	.bsmp-wrap--frontend-admin .bsmp-form-section,
	.bsmp-wrap--frontend-admin .bsmp-settings-card,
	.bsmp-wrap--frontend-admin .bsmp-table-card {
		border-radius: 22px !important;
	}
}

/* Frontend admin portal drawer polish */
.bsmp-frontend-admin-root,
.bsmp-frontend-admin-root * {
	box-sizing: border-box;
}

.bsmp-frontend-admin-root {
	position: relative;
	z-index: 1;
	background: var(--bsmp-bg) !important;
	color: var(--bsmp-text) !important;
}

.bsmp-wrap--frontend-admin .bsmp-app-shell {
	position: relative !important;
	isolation: isolate;
	overflow-x: hidden;
	background: linear-gradient(135deg, #f8fbff 0%, #eef4ff 100%) !important;
}

.bsmp-wrap--frontend-admin .bsmp-app-main,
.bsmp-wrap--frontend-admin .bsmp-main,
.bsmp-wrap--frontend-admin .bsmp-topbar {
	filter: none !important;
	-webkit-filter: none !important;
	backdrop-filter: none !important;
}

.bsmp-wrap--frontend-admin .bsmp-sidebar-overlay,
.bsmp-wrap--frontend-admin .bsmp-app-shell.is-sidebar-open .bsmp-sidebar-overlay {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
	background: transparent !important;
	filter: none !important;
	-webkit-filter: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

.bsmp-wrap--frontend-admin button.bsmp-icon-btn,
.bsmp-wrap--frontend-admin button.bsmp-sidebar-toggle,
.bsmp-wrap--frontend-admin button.bsmp-sidebar__close,
.bsmp-wrap--frontend-admin button.bsmp-admin-resend-btn,
.bsmp-wrap--frontend-admin button.bsmp-admin-login-submit,
.bsmp-wrap--frontend-admin .bsmp-link-button {
	font-family: inherit !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	text-transform: none !important;
	box-shadow: none;
}

.bsmp-wrap--frontend-admin .bsmp-sidebar__close {
	background: rgba(255,255,255,.16) !important;
	color: #ffffff !important;
	border: 1px solid rgba(255,255,255,.28) !important;
	box-shadow: 0 12px 28px rgba(15,23,42,.20) !important;
}

.bsmp-wrap--frontend-admin .bsmp-sidebar__close:hover,
.bsmp-wrap--frontend-admin .bsmp-sidebar__close:focus {
	background: rgba(255,255,255,.26) !important;
	color: #ffffff !important;
	outline: 2px solid rgba(255,255,255,.35) !important;
	outline-offset: 2px;
}

@media (max-width: 1080px) {
	.bsmp-wrap--frontend-admin .bsmp-sidebar {
		position: fixed !important;
		left: 0 !important;
		top: 0 !important;
		bottom: 0 !important;
		width: min(86vw, 310px) !important;
		height: 100vh !important;
		z-index: 99999 !important;
		transform: translateX(-110%) !important;
		transition: transform .22s ease !important;
		padding-top: 62px !important;
		box-shadow: 28px 0 60px rgba(15,23,42,.30) !important;
		filter: none !important;
		-webkit-filter: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-app-shell.is-sidebar-open .bsmp-sidebar {
		transform: translateX(0) !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-sidebar__close {
		display: inline-flex !important;
		position: absolute !important;
		top: 12px !important;
		right: 12px !important;
		width: 40px !important;
		height: 40px !important;
		align-items: center !important;
		justify-content: center !important;
		border-radius: 14px !important;
		padding: 0 !important;
		line-height: 1 !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-app-shell.is-sidebar-open .bsmp-app-main {
		filter: none !important;
		-webkit-filter: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-sidebar-toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		background: #ffffff !important;
		color: var(--bsmp-primary-dark) !important;
		border: 1px solid #dbeafe !important;
		box-shadow: 0 10px 22px rgba(15,23,42,.08) !important;
	}
}

@media (max-width: 782px) {
	.bsmp-frontend-admin-root {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		overflow-x: hidden !important;
	}

	.bsmp-wrap--frontend-admin.wrap {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-topbar {
		position: sticky !important;
		top: 0 !important;
		z-index: 50 !important;
		background: rgba(255,255,255,.96) !important;
		box-shadow: 0 14px 34px rgba(15,23,42,.08) !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-main {
		padding-bottom: 28px !important;
	}
}

/* Frontend Admin Mobile Commercial Polish
   Scope: frontend admin wrapper only. Backend wp-admin UI remains untouched. */
.bsmp-wrap--frontend-admin {
	--bsmp-mobile-card-border: #d9e6f7;
	--bsmp-mobile-soft: #f8fbff;
	--bsmp-mobile-soft-2: #fff7ed;
	--bsmp-mobile-soft-3: #f0fdf4;
	--bsmp-mobile-soft-4: #eff6ff;
}

.bsmp-wrap--frontend-admin .bsmp-app-shell,
.bsmp-wrap--frontend-admin .bsmp-app-main,
.bsmp-wrap--frontend-admin .bsmp-main {
	max-width: 100% !important;
	overflow-x: hidden !important;
}

.bsmp-wrap--frontend-admin .bsmp-topbar__right .bsmp-topbar-back[href*="wp-admin/index.php"],
.bsmp-wrap--frontend-admin .bsmp-profile-actions a[href*="wp-admin/index.php"],
.bsmp-wrap--frontend-admin .bsmp-sidebar__back[href*="wp-admin/index.php"] {
	display: none !important;
}

.bsmp-wrap--frontend-admin .bsmp-school-visual__logo,
.bsmp-wrap--frontend-admin .bsmp-sidebar__logo,
.bsmp-wrap--frontend-admin .bsmp-media-preview--logo,
.bsmp-wrap--frontend-admin .bsmp-media-preview--principal-photo {
	border-radius: 50% !important;
	overflow: hidden !important;
	aspect-ratio: 1 / 1 !important;
}

.bsmp-wrap--frontend-admin .bsmp-school-visual__logo img,
.bsmp-wrap--frontend-admin .bsmp-sidebar__logo img,
.bsmp-wrap--frontend-admin .bsmp-media-preview--logo img,
.bsmp-wrap--frontend-admin .bsmp-media-preview--principal-photo img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	border-radius: 50% !important;
}

.bsmp-wrap--frontend-admin .bsmp-media-preview--principal-photo img {
	object-fit: cover !important;
}

.bsmp-wrap--frontend-admin .bsmp-stat-card:nth-child(4n+1) {
	background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
	border-color: #bfdbfe !important;
}
.bsmp-wrap--frontend-admin .bsmp-stat-card:nth-child(4n+2) {
	background: linear-gradient(135deg, #fdf2f8 0%, #fce7f3 100%) !important;
	border-color: #fbcfe8 !important;
}
.bsmp-wrap--frontend-admin .bsmp-stat-card:nth-child(4n+3) {
	background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%) !important;
	border-color: #bbf7d0 !important;
}
.bsmp-wrap--frontend-admin .bsmp-stat-card:nth-child(4n+4) {
	background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%) !important;
	border-color: #fed7aa !important;
}
.bsmp-wrap--frontend-admin .bsmp-stat-card strong,
.bsmp-wrap--frontend-admin .bsmp-stat-card h3,
.bsmp-wrap--frontend-admin .bsmp-stat-card p {
	color: #0f172a !important;
	opacity: 1 !important;
}

.bsmp-wrap--frontend-admin .bsmp-table-wrap,
.bsmp-wrap--frontend-admin .bsmp-responsive-table-wrap,
.bsmp-wrap--frontend-admin .bsmp-table-responsive,
.bsmp-wrap--frontend-admin .bsmp-report-table-wrap,
.bsmp-wrap--frontend-admin .bsmp-routine-table-wrap,
.bsmp-wrap--frontend-admin .bsmp-marks-table-wrap,
.bsmp-wrap--frontend-admin .bsmp-routine-print-wrap,
.bsmp-wrap--frontend-admin .bsmp-mobile-table-scroll {
	width: 100% !important;
	max-width: 100% !important;
	overflow-x: auto !important;
	overflow-y: visible !important;
	-webkit-overflow-scrolling: touch !important;
	padding: 0 0 10px !important;
	border-radius: 18px !important;
	background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%) !important;
	border: 1px solid var(--bsmp-mobile-card-border) !important;
}

.bsmp-wrap--frontend-admin .bsmp-table-wrap::-webkit-scrollbar,
.bsmp-wrap--frontend-admin .bsmp-responsive-table-wrap::-webkit-scrollbar,
.bsmp-wrap--frontend-admin .bsmp-table-responsive::-webkit-scrollbar,
.bsmp-wrap--frontend-admin .bsmp-report-table-wrap::-webkit-scrollbar,
.bsmp-wrap--frontend-admin .bsmp-routine-table-wrap::-webkit-scrollbar,
.bsmp-wrap--frontend-admin .bsmp-marks-table-wrap::-webkit-scrollbar,
.bsmp-wrap--frontend-admin .bsmp-mobile-table-scroll::-webkit-scrollbar {
	height: 7px;
}
.bsmp-wrap--frontend-admin .bsmp-table-wrap::-webkit-scrollbar-thumb,
.bsmp-wrap--frontend-admin .bsmp-responsive-table-wrap::-webkit-scrollbar-thumb,
.bsmp-wrap--frontend-admin .bsmp-table-responsive::-webkit-scrollbar-thumb,
.bsmp-wrap--frontend-admin .bsmp-report-table-wrap::-webkit-scrollbar-thumb,
.bsmp-wrap--frontend-admin .bsmp-routine-table-wrap::-webkit-scrollbar-thumb,
.bsmp-wrap--frontend-admin .bsmp-marks-table-wrap::-webkit-scrollbar-thumb,
.bsmp-wrap--frontend-admin .bsmp-mobile-table-scroll::-webkit-scrollbar-thumb {
	background: #94a3b8;
	border-radius: 999px;
}

@media (max-width: 782px) {
	.bsmp-wrap--frontend-admin .bsmp-profile-page,
	.bsmp-wrap--frontend-admin .bsmp-profile-layout,
	.bsmp-wrap--frontend-admin .bsmp-profile-main,
	.bsmp-wrap--frontend-admin .bsmp-profile-media,
	.bsmp-wrap--frontend-admin .bsmp-profile-card,
	.bsmp-wrap--frontend-admin .bsmp-card,
	.bsmp-wrap--frontend-admin .bsmp-settings-card,
	.bsmp-wrap--frontend-admin .bsmp-table-card,
	.bsmp-wrap--frontend-admin .bsmp-report-panel,
	.bsmp-wrap--frontend-admin .bsmp-form-section {
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-dashboard-grid {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-stat-card {
		padding: 18px !important;
		border-radius: 22px !important;
		box-shadow: 0 18px 38px rgba(15, 23, 42, .09) !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-form-grid,
	.bsmp-wrap--frontend-admin .bsmp-filter-form .bsmp-form-grid {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-field,
	.bsmp-wrap--frontend-admin .bsmp-filter-form,
	.bsmp-wrap--frontend-admin .bsmp-profile-form {
		min-width: 0 !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-field input,
	.bsmp-wrap--frontend-admin .bsmp-field select,
	.bsmp-wrap--frontend-admin .bsmp-field textarea,
	.bsmp-wrap--frontend-admin input[type="text"],
	.bsmp-wrap--frontend-admin input[type="email"],
	.bsmp-wrap--frontend-admin input[type="tel"],
	.bsmp-wrap--frontend-admin input[type="date"],
	.bsmp-wrap--frontend-admin input[type="number"],
	.bsmp-wrap--frontend-admin select,
	.bsmp-wrap--frontend-admin textarea {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 48px !important;
		font-size: 16px !important;
		box-sizing: border-box !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-form-actions,
	.bsmp-wrap--frontend-admin .bsmp-profile-actions,
	.bsmp-wrap--frontend-admin .bsmp-inline-actions,
	.bsmp-wrap--frontend-admin .bsmp-table-actions {
		align-items: stretch !important;
		gap: 10px !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-form-actions .bsmp-btn,
	.bsmp-wrap--frontend-admin .bsmp-profile-actions .bsmp-btn,
	.bsmp-wrap--frontend-admin .bsmp-inline-actions .bsmp-btn {
		min-height: 44px !important;
		white-space: normal !important;
		text-align: center !important;
		justify-content: center !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-table,
	.bsmp-wrap--frontend-admin .bsmp-data-table,
	.bsmp-wrap--frontend-admin .bsmp-student-table,
	.bsmp-wrap--frontend-admin .bsmp-staff-table,
	.bsmp-wrap--frontend-admin .bsmp-report-table,
	.bsmp-wrap--frontend-admin .bsmp-routine-builder-table,
	.bsmp-wrap--frontend-admin .bsmp-routine-a4-table,
	.bsmp-wrap--frontend-admin .bsmp-notification-rules-table,
	.bsmp-wrap--frontend-admin .bsmp-promotion-table,
	.bsmp-wrap--frontend-admin .bsmp-doc-table,
	.bsmp-wrap--frontend-admin .bsmp-marks-table,
	.bsmp-wrap--frontend-admin .bsmp-exam-routine-table,
	.bsmp-wrap--frontend-admin .bsmp-result-table,
	.bsmp-wrap--frontend-admin table.bsmp-table,
	.bsmp-wrap--frontend-admin table.bsmp-data-table {
		display: table !important;
		width: 100% !important;
		min-width: 720px !important;
		border-collapse: separate !important;
		border-spacing: 0 !important;
		table-layout: auto !important;
		background: #ffffff !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-routine-builder-table,
	.bsmp-wrap--frontend-admin .bsmp-routine-a4-table,
	.bsmp-wrap--frontend-admin .bsmp-marks-table,
	.bsmp-wrap--frontend-admin .bsmp-result-table,
	.bsmp-wrap--frontend-admin .bsmp-report-table {
		min-width: 900px !important;
	}

	.bsmp-wrap--frontend-admin table.bsmp-table thead,
	.bsmp-wrap--frontend-admin table.bsmp-data-table thead,
	.bsmp-wrap--frontend-admin table.bsmp-student-table thead,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table thead,
	.bsmp-wrap--frontend-admin table.bsmp-report-table thead,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table thead,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table thead,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table thead,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table thead,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table thead,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table thead,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table thead,
	.bsmp-wrap--frontend-admin table.bsmp-result-table thead {
		display: table-header-group !important;
	}
	.bsmp-wrap--frontend-admin table.bsmp-table tbody,
	.bsmp-wrap--frontend-admin table.bsmp-data-table tbody,
	.bsmp-wrap--frontend-admin table.bsmp-student-table tbody,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table tbody,
	.bsmp-wrap--frontend-admin table.bsmp-report-table tbody,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table tbody,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table tbody,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table tbody,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table tbody,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table tbody,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table tbody,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table tbody,
	.bsmp-wrap--frontend-admin table.bsmp-result-table tbody {
		display: table-row-group !important;
	}
	.bsmp-wrap--frontend-admin table.bsmp-table tr,
	.bsmp-wrap--frontend-admin table.bsmp-data-table tr,
	.bsmp-wrap--frontend-admin table.bsmp-student-table tr,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table tr,
	.bsmp-wrap--frontend-admin table.bsmp-report-table tr,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table tr,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table tr,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table tr,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table tr,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table tr,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table tr,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table tr,
	.bsmp-wrap--frontend-admin table.bsmp-result-table tr {
		display: table-row !important;
		margin: 0 !important;
		padding: 0 !important;
		box-shadow: none !important;
		border: 0 !important;
	}
	.bsmp-wrap--frontend-admin table.bsmp-table th,
	.bsmp-wrap--frontend-admin table.bsmp-data-table th,
	.bsmp-wrap--frontend-admin table.bsmp-student-table th,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table th,
	.bsmp-wrap--frontend-admin table.bsmp-report-table th,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table th,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table th,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table th,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table th,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table th,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table th,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table th,
	.bsmp-wrap--frontend-admin table.bsmp-result-table th,
	.bsmp-wrap--frontend-admin table.bsmp-table td,
	.bsmp-wrap--frontend-admin table.bsmp-data-table td,
	.bsmp-wrap--frontend-admin table.bsmp-student-table td,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table td,
	.bsmp-wrap--frontend-admin table.bsmp-report-table td,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table td,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table td,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table td,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table td,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table td,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table td,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table td,
	.bsmp-wrap--frontend-admin table.bsmp-result-table td {
		display: table-cell !important;
		padding: 12px 14px !important;
		vertical-align: top !important;
		border: 1px solid #d7e1ee !important;
		background-clip: padding-box !important;
		white-space: normal !important;
		word-break: break-word !important;
		min-height: auto !important;
	}
	.bsmp-wrap--frontend-admin table.bsmp-table th,
	.bsmp-wrap--frontend-admin table.bsmp-data-table th,
	.bsmp-wrap--frontend-admin table.bsmp-student-table th,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table th,
	.bsmp-wrap--frontend-admin table.bsmp-report-table th,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table th,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table th,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table th,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table th,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table th,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table th,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table th,
	.bsmp-wrap--frontend-admin table.bsmp-result-table th {
		background: linear-gradient(135deg, #7f1d1d 0%, #9f1239 100%) !important;
		color: #ffffff !important;
		font-size: 12px !important;
		line-height: 1.35 !important;
		text-transform: uppercase !important;
		letter-spacing: .04em !important;
	}
	.bsmp-wrap--frontend-admin table.bsmp-table td,
	.bsmp-wrap--frontend-admin table.bsmp-data-table td,
	.bsmp-wrap--frontend-admin table.bsmp-student-table td,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table td,
	.bsmp-wrap--frontend-admin table.bsmp-report-table td,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table td,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table td,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table td,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table td,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table td,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table td,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table td,
	.bsmp-wrap--frontend-admin table.bsmp-result-table td {
		background: #ffffff !important;
		color: #111827 !important;
		font-size: 14px !important;
		line-height: 1.45 !important;
	}
	.bsmp-wrap--frontend-admin table.bsmp-table tbody tr:nth-child(even) td,
	.bsmp-wrap--frontend-admin table.bsmp-data-table tbody tr:nth-child(even) td,
	.bsmp-wrap--frontend-admin table.bsmp-student-table tbody tr:nth-child(even) td,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table tbody tr:nth-child(even) td,
	.bsmp-wrap--frontend-admin table.bsmp-report-table tbody tr:nth-child(even) td,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table tbody tr:nth-child(even) td,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table tbody tr:nth-child(even) td,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table tbody tr:nth-child(even) td,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table tbody tr:nth-child(even) td,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table tbody tr:nth-child(even) td,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table tbody tr:nth-child(even) td,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table tbody tr:nth-child(even) td,
	.bsmp-wrap--frontend-admin table.bsmp-result-table tbody tr:nth-child(even) td {
		background: #f8fbff !important;
	}
	.bsmp-wrap--frontend-admin table.bsmp-table tbody tr:nth-child(odd) td,
	.bsmp-wrap--frontend-admin table.bsmp-data-table tbody tr:nth-child(odd) td,
	.bsmp-wrap--frontend-admin table.bsmp-student-table tbody tr:nth-child(odd) td,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table tbody tr:nth-child(odd) td,
	.bsmp-wrap--frontend-admin table.bsmp-report-table tbody tr:nth-child(odd) td,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table tbody tr:nth-child(odd) td,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table tbody tr:nth-child(odd) td,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table tbody tr:nth-child(odd) td,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table tbody tr:nth-child(odd) td,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table tbody tr:nth-child(odd) td,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table tbody tr:nth-child(odd) td,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table tbody tr:nth-child(odd) td,
	.bsmp-wrap--frontend-admin table.bsmp-result-table tbody tr:nth-child(odd) td {
		background: #fffdf8 !important;
	}
	.bsmp-wrap--frontend-admin table.bsmp-table td::before,
	.bsmp-wrap--frontend-admin table.bsmp-data-table td::before,
	.bsmp-wrap--frontend-admin table.bsmp-student-table td::before,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table td::before,
	.bsmp-wrap--frontend-admin table.bsmp-report-table td::before,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table td::before,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table td::before,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table td::before,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table td::before,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table td::before,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table td::before,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table td::before,
	.bsmp-wrap--frontend-admin table.bsmp-result-table td::before,
	.bsmp-wrap--frontend-admin .bsmp-data-table td::before,
	.bsmp-wrap--frontend-admin .bsmp-marks-table-wrap td:before {
		content: none !important;
		display: none !important;
	}
	.bsmp-wrap--frontend-admin table.bsmp-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-data-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-student-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-report-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-result-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-data-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-student-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-report-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-result-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-data-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-student-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-report-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-result-table td span {
		max-width: 100% !important;
		white-space: normal !important;
		word-break: break-word !important;
	}
	.bsmp-wrap--frontend-admin .bsmp-status-pill {
		display: inline-flex !important;
		width: auto !important;
		min-width: 0 !important;
		white-space: nowrap !important;
		font-size: 11px !important;
		padding: 7px 10px !important;
	}
}

/* Frontend Admin Final Mobile Spacing + Scroll Table Polish
   Scope: frontend admin shortcode wrapper only. Backend wp-admin remains unchanged. */
@media (max-width: 782px) {
	.bsmp-frontend-admin-root {
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		padding: 0 4px !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
	}

	.bsmp-wrap--frontend-admin {
		font-size: 16.5px !important;
		line-height: 1.55 !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-main {
		padding: 8px 6px 22px !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-topbar {
		padding: 12px 8px !important;
		gap: 8px !important;
		border-radius: 0 0 18px 18px !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-page-label {
		font-size: 13px !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-topbar__left h1 {
		font-size: 24px !important;
		line-height: 1.2 !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-profile-card,
	.bsmp-wrap--frontend-admin .bsmp-card,
	.bsmp-wrap--frontend-admin .bsmp-settings-card,
	.bsmp-wrap--frontend-admin .bsmp-table-card,
	.bsmp-wrap--frontend-admin .bsmp-report-panel,
	.bsmp-wrap--frontend-admin .bsmp-form-section,
	.bsmp-wrap--frontend-admin .bsmp-report-mini-card {
		border-radius: 22px !important;
		padding-left: 14px !important;
		padding-right: 14px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-profile-hero,
	.bsmp-wrap--frontend-admin .bsmp-module-hero,
	.bsmp-wrap--frontend-admin .bsmp-dashboard-hero,
	.bsmp-wrap--frontend-admin .bsmp-reports-hero,
	.bsmp-wrap--frontend-admin .bsmp-notice-hero,
	.bsmp-wrap--frontend-admin .bsmp-promotion-hero {
		border-radius: 22px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 20px 16px !important;
	}

	.bsmp-wrap--frontend-admin h1,
	.bsmp-wrap--frontend-admin h2,
	.bsmp-wrap--frontend-admin h3 {
		letter-spacing: -0.02em !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-card h3,
	.bsmp-wrap--frontend-admin .bsmp-profile-card h3,
	.bsmp-wrap--frontend-admin .bsmp-settings-card h3,
	.bsmp-wrap--frontend-admin .bsmp-report-panel__header h3 {
		font-size: 25px !important;
		line-height: 1.2 !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-card p,
	.bsmp-wrap--frontend-admin .bsmp-profile-card p,
	.bsmp-wrap--frontend-admin .bsmp-settings-card p,
	.bsmp-wrap--frontend-admin .bsmp-report-panel__header p,
	.bsmp-wrap--frontend-admin small {
		font-size: 15.5px !important;
		line-height: 1.55 !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-field label,
	.bsmp-wrap--frontend-admin .bsmp-filter-form label,
	.bsmp-wrap--frontend-admin .bsmp-report-form-grid label > span {
		font-size: 16px !important;
		line-height: 1.35 !important;
		font-weight: 900 !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-field input,
	.bsmp-wrap--frontend-admin .bsmp-field select,
	.bsmp-wrap--frontend-admin .bsmp-field textarea,
	.bsmp-wrap--frontend-admin input[type="text"],
	.bsmp-wrap--frontend-admin input[type="email"],
	.bsmp-wrap--frontend-admin input[type="tel"],
	.bsmp-wrap--frontend-admin input[type="date"],
	.bsmp-wrap--frontend-admin input[type="number"],
	.bsmp-wrap--frontend-admin select,
	.bsmp-wrap--frontend-admin textarea {
		font-size: 18px !important;
		min-height: 54px !important;
		line-height: 1.35 !important;
		border-radius: 18px !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-btn,
	.bsmp-wrap--frontend-admin button,
	.bsmp-wrap--frontend-admin input[type="submit"] {
		font-size: 17px !important;
		min-height: 48px !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-profile-actions a[href*="wp-admin"],
	.bsmp-wrap--frontend-admin .bsmp-topbar__right a[href*="wp-admin/index.php"],
	.bsmp-wrap--frontend-admin a.bsmp-btn[href*="wp-admin/index.php"] {
		display: none !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-table-wrap,
	.bsmp-wrap--frontend-admin .bsmp-responsive-table-wrap,
	.bsmp-wrap--frontend-admin .bsmp-table-responsive,
	.bsmp-wrap--frontend-admin .bsmp-report-table-wrap,
	.bsmp-wrap--frontend-admin .bsmp-routine-table-wrap,
	.bsmp-wrap--frontend-admin .bsmp-marks-table-wrap,
	.bsmp-wrap--frontend-admin .bsmp-routine-print-wrap,
	.bsmp-wrap--frontend-admin .bsmp-mobile-table-scroll {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		margin: 12px 0 18px !important;
		padding: 0 !important;
		overflow-x: auto !important;
		overflow-y: auto !important;
		max-height: 72vh !important;
		-webkit-overflow-scrolling: touch !important;
		overscroll-behavior: contain !important;
		border-radius: 16px !important;
		background: #ffffff !important;
		border: 1px solid #d7e1ee !important;
		box-shadow: inset 0 0 0 1px rgba(255,255,255,.55), 0 10px 24px rgba(15,23,42,.06) !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-report-filter,
	.bsmp-wrap--frontend-admin .bsmp-report-summary-row,
	.bsmp-wrap--frontend-admin .bsmp-report-summary-row--money,
	.bsmp-wrap--frontend-admin .bsmp-report-columns,
	.bsmp-wrap--frontend-admin .bsmp-report-table-wrap {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-mobile-table-scroll--short,
	.bsmp-wrap--frontend-admin .bsmp-table-wrap--short {
		max-height: 52vh !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-mobile-table-scroll::after,
	.bsmp-wrap--frontend-admin .bsmp-table-responsive::after,
	.bsmp-wrap--frontend-admin .bsmp-report-table-wrap::after,
	.bsmp-wrap--frontend-admin .bsmp-table-wrap::after {
		content: "Swipe table ↔" !important;
		position: sticky !important;
		left: 10px !important;
		bottom: 8px !important;
		display: inline-flex !important;
		align-items: center !important;
		padding: 4px 10px !important;
		margin: 8px !important;
		border-radius: 999px !important;
		background: rgba(15,74,160,.92) !important;
		color: #ffffff !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		letter-spacing: .02em !important;
		pointer-events: none !important;
		z-index: 2 !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-mobile-table-scroll table,
	.bsmp-wrap--frontend-admin .bsmp-table-wrap table,
	.bsmp-wrap--frontend-admin .bsmp-responsive-table-wrap table,
	.bsmp-wrap--frontend-admin .bsmp-table-responsive table,
	.bsmp-wrap--frontend-admin .bsmp-report-table-wrap table,
	.bsmp-wrap--frontend-admin .bsmp-routine-table-wrap table,
	.bsmp-wrap--frontend-admin .bsmp-marks-table-wrap table,
	.bsmp-wrap--frontend-admin table.bsmp-table,
	.bsmp-wrap--frontend-admin table.bsmp-data-table,
	.bsmp-wrap--frontend-admin table.bsmp-student-table,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table,
	.bsmp-wrap--frontend-admin table.bsmp-report-table,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table,
	.bsmp-wrap--frontend-admin table.bsmp-result-table {
		display: table !important;
		width: max-content !important;
		min-width: 780px !important;
		max-width: none !important;
		table-layout: auto !important;
		border-collapse: separate !important;
		border-spacing: 0 !important;
		margin: 0 !important;
	}

	.bsmp-wrap--frontend-admin table.bsmp-report-table,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table,
	.bsmp-wrap--frontend-admin table.bsmp-result-table,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table {
		min-width: 920px !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-mobile-table-scroll--compact table {
		min-width: 620px !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-mobile-table-scroll--wide table {
		min-width: 1040px !important;
	}

	.bsmp-wrap--frontend-admin table.bsmp-table th,
	.bsmp-wrap--frontend-admin table.bsmp-data-table th,
	.bsmp-wrap--frontend-admin table.bsmp-student-table th,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table th,
	.bsmp-wrap--frontend-admin table.bsmp-report-table th,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table th,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table th,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table th,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table th,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table th,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table th,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table th,
	.bsmp-wrap--frontend-admin table.bsmp-result-table th,
	.bsmp-wrap--frontend-admin table.bsmp-table td,
	.bsmp-wrap--frontend-admin table.bsmp-data-table td,
	.bsmp-wrap--frontend-admin table.bsmp-student-table td,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table td,
	.bsmp-wrap--frontend-admin table.bsmp-report-table td,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table td,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table td,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table td,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table td,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table td,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table td,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table td,
	.bsmp-wrap--frontend-admin table.bsmp-result-table td {
		display: table-cell !important;
		white-space: nowrap !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		vertical-align: middle !important;
		min-width: 108px !important;
		max-width: none !important;
		padding: 13px 16px !important;
		font-size: 15.5px !important;
		line-height: 1.45 !important;
	}

	.bsmp-wrap--frontend-admin table.bsmp-table th,
	.bsmp-wrap--frontend-admin table.bsmp-data-table th,
	.bsmp-wrap--frontend-admin table.bsmp-student-table th,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table th,
	.bsmp-wrap--frontend-admin table.bsmp-report-table th,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table th,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table th,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table th,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table th,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table th,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table th,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table th,
	.bsmp-wrap--frontend-admin table.bsmp-result-table th {
		position: sticky !important;
		top: 0 !important;
		z-index: 1 !important;
		font-size: 13px !important;
		line-height: 1.35 !important;
		padding-top: 14px !important;
		padding-bottom: 14px !important;
	}

	.bsmp-wrap--frontend-admin table.bsmp-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-data-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-student-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-report-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-result-table td strong,
	.bsmp-wrap--frontend-admin table.bsmp-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-data-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-student-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-report-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-result-table td small,
	.bsmp-wrap--frontend-admin table.bsmp-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-data-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-student-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-staff-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-report-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-routine-builder-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-routine-a4-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-notification-rules-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-promotion-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-doc-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-marks-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-exam-routine-table td span,
	.bsmp-wrap--frontend-admin table.bsmp-result-table td span {
		white-space: nowrap !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		max-width: none !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-status-pill,
	.bsmp-wrap--frontend-admin .bsmp-badge,
	.bsmp-wrap--frontend-admin .bsmp-pill {
		white-space: nowrap !important;
		font-size: 12px !important;
		padding: 8px 12px !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-form-actions,
	.bsmp-wrap--frontend-admin .bsmp-profile-actions,
	.bsmp-wrap--frontend-admin .bsmp-inline-actions,
	.bsmp-wrap--frontend-admin .bsmp-table-actions {
		gap: 8px !important;
	}
}


/* Frontend admin reports bottom table swipe containment.
   Keep all other 18E mobile UI as-is. Scope: frontend admin report mini-card tables. */
@media (max-width: 782px) {
	.bsmp-wrap--frontend-admin .bsmp-report-mini-card {
		min-width: 0 !important;
		max-width: 100% !important;
		overflow: hidden !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-report-mini-card > .bsmp-table-responsive,
	.bsmp-wrap--frontend-admin .bsmp-report-mini-card > .bsmp-mobile-table-scroll,
	.bsmp-wrap--frontend-admin .bsmp-report-mini-card .bsmp-table-responsive.bsmp-mobile-table-scroll {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow-x: scroll !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		touch-action: pan-x pan-y !important;
		overscroll-behavior-x: contain !important;
		box-sizing: border-box !important;
		cursor: grab !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-report-mini-card > .bsmp-table-responsive:active,
	.bsmp-wrap--frontend-admin .bsmp-report-mini-card > .bsmp-mobile-table-scroll:active,
	.bsmp-wrap--frontend-admin .bsmp-report-mini-card .bsmp-table-responsive.bsmp-mobile-table-scroll:active {
		cursor: grabbing !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-report-mini-card table.bsmp-report-table,
	.bsmp-wrap--frontend-admin .bsmp-report-mini-card .bsmp-table-responsive table.bsmp-report-table,
	.bsmp-wrap--frontend-admin .bsmp-report-mini-card .bsmp-mobile-table-scroll table.bsmp-report-table {
		display: table !important;
		width: 860px !important;
		min-width: 860px !important;
		max-width: none !important;
		table-layout: fixed !important;
		border-collapse: separate !important;
		border-spacing: 0 !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-report-mini-card table.bsmp-report-table th,
	.bsmp-wrap--frontend-admin .bsmp-report-mini-card table.bsmp-report-table td {
		white-space: nowrap !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		min-width: 150px !important;
		max-width: none !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-report-mini-card table.bsmp-report-table td small {
		display: block !important;
		white-space: nowrap !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-report-mini-card .bsmp-table-responsive::-webkit-scrollbar,
	.bsmp-wrap--frontend-admin .bsmp-report-mini-card .bsmp-mobile-table-scroll::-webkit-scrollbar {
		height: 10px !important;
	}
}

/* Safe sidebar close button for backend/frontend admin on all devices. */
.bsmp-sidebar__brand {
	padding-right: 52px;
}

.bsmp-sidebar__close {
	display: inline-flex !important;
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	width: 38px !important;
	height: 38px !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	line-height: 1 !important;
	border-radius: 14px !important;
	border: 1px solid rgba(255,255,255,.26) !important;
	background: rgba(255,255,255,.16) !important;
	color: #ffffff !important;
	box-shadow: 0 12px 28px rgba(15,23,42,.18) !important;
	cursor: pointer;
	z-index: 25;
}

.bsmp-sidebar__close:hover,
.bsmp-sidebar__close:focus {
	background: rgba(255,255,255,.26) !important;
	color: #ffffff !important;
	outline: 2px solid rgba(255,255,255,.34) !important;
	outline-offset: 2px;
}

.bsmp-sidebar-toggle {
	display: inline-flex !important;
}

.bsmp-app-shell.is-sidebar-closed {
	grid-template-columns: minmax(0, 1fr) !important;
}

.bsmp-app-shell.is-sidebar-closed .bsmp-sidebar {
	display: none !important;
}

@media (max-width: 1080px) {
	.bsmp-app-shell.is-sidebar-closed .bsmp-sidebar {
		display: block !important;
		transform: translateX(-110%) !important;
	}
}

/* Backend admin mobile-only commercial table/list containment polish.
   Scope: backend admin layout only. Frontend admin/portal and desktop views are not affected. */
@media (max-width: 782px) {
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-main,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-app-main,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-panel,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-profile-card,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-list-card,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-academic-card,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-report-mini-card,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-id-card-preview-panel,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-id-bulk-panel {
		min-width: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-profile-card,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-list-card,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-academic-card,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-panel,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-report-mini-card {
		overflow: hidden !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-report-table-wrap,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-routine-table-wrap,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-marks-table-wrap,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-attendance-report-table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-routine-builder-wrap,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-routine-print-wrap {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 0 !important;
		overflow-x: auto !important;
		overflow-y: auto !important;
		max-height: 62vh !important;
		-webkit-overflow-scrolling: touch !important;
		touch-action: pan-x pan-y !important;
		overscroll-behavior-x: contain !important;
		border: 1px solid #dbeafe !important;
		border-radius: 18px !important;
		background: #ffffff !important;
		box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07) !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll:active,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive:active,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap:active,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap:active,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll:active,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-report-table-wrap:active,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-routine-table-wrap:active,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-marks-table-wrap:active,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-attendance-report-table:active,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-routine-builder-wrap:active,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-routine-print-wrap:active {
		cursor: grabbing !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll::-webkit-scrollbar,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive::-webkit-scrollbar,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap::-webkit-scrollbar,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap::-webkit-scrollbar,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll::-webkit-scrollbar,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-report-table-wrap::-webkit-scrollbar,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-routine-table-wrap::-webkit-scrollbar,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-marks-table-wrap::-webkit-scrollbar,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-attendance-report-table::-webkit-scrollbar {
		height: 10px !important;
		width: 10px !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll::-webkit-scrollbar-thumb,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive::-webkit-scrollbar-thumb,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap::-webkit-scrollbar-thumb,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap::-webkit-scrollbar-thumb,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll::-webkit-scrollbar-thumb,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-report-table-wrap::-webkit-scrollbar-thumb,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-routine-table-wrap::-webkit-scrollbar-thumb,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-marks-table-wrap::-webkit-scrollbar-thumb,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-attendance-report-table::-webkit-scrollbar-thumb {
		border-radius: 999px !important;
		background: linear-gradient(135deg, #1d4ed8, #0f766e) !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-report-table-wrap > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-routine-table-wrap > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-marks-table-wrap > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-attendance-report-table > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-routine-builder-wrap > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-routine-print-wrap > table {
		display: table !important;
		width: max-content !important;
		min-width: 760px !important;
		max-width: none !important;
		table-layout: auto !important;
		border-collapse: separate !important;
		border-spacing: 0 !important;
		margin: 0 !important;
		border: 0 !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll--compact > table {
		min-width: 620px !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll--wide > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-routine-builder-wrap > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-routine-print-wrap > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) table.bsmp-routine-builder-table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) table.bsmp-routine-a4-table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) table.bsmp-student-table {
		min-width: 920px !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-report-mini-card .bsmp-table-responsive > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-report-mini-card .bsmp-admin-mobile-table-scroll > table,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-report-mini-card table.bsmp-report-table {
		min-width: 760px !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll table thead,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive table thead,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap table thead,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap table thead,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll table thead {
		display: table-header-group !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll table tbody,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive table tbody,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap table tbody,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap table tbody,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll table tbody {
		display: table-row-group !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll table tr,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive table tr,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap table tr,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap table tr,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll table tr {
		display: table-row !important;
		width: auto !important;
		padding: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll table th,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll table td,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive table th,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive table td,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap table th,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap table td,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap table th,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap table td,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll table th,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll table td {
		display: table-cell !important;
		width: auto !important;
		min-width: 120px !important;
		max-width: none !important;
		padding: 14px 16px !important;
		border-bottom: 1px solid #e5edf8 !important;
		border-right: 1px solid #e5edf8 !important;
		vertical-align: middle !important;
		white-space: nowrap !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		text-align: left !important;
		line-height: 1.45 !important;
		font-size: 15px !important;
		box-sizing: border-box !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll table th,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive table th,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap table th,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap table th,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll table th {
		position: sticky !important;
		top: 0 !important;
		z-index: 3 !important;
		background: linear-gradient(135deg, #7f1d1d, #be123c) !important;
		color: #ffffff !important;
		font-size: 13px !important;
		font-weight: 950 !important;
		letter-spacing: .03em !important;
		text-transform: uppercase !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll table td::before,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive table td::before,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap table td::before,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap table td::before,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll table td::before {
		display: none !important;
		content: none !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll table tbody tr:nth-child(odd) td,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive table tbody tr:nth-child(odd) td,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap table tbody tr:nth-child(odd) td,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap table tbody tr:nth-child(odd) td,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll table tbody tr:nth-child(odd) td {
		background: #ffffff !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll table tbody tr:nth-child(even) td,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive table tbody tr:nth-child(even) td,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap table tbody tr:nth-child(even) td,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap table tbody tr:nth-child(even) td,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll table tbody tr:nth-child(even) td {
		background: #f8fbff !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll table td strong,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll table td small,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-mobile-table-scroll table td span,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive table td strong,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive table td small,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-responsive table td span,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap table td strong,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap table td small,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-responsive-table-wrap table td span,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap table td strong,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap table td small,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-wrap table td span,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll table td strong,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll table td small,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-scroll table td span {
		white-space: nowrap !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		max-width: none !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-table-actions,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-inline-actions,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-profile-actions,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-report-actions,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-id-bulk-actions {
		flex-wrap: nowrap !important;
		white-space: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		max-width: 100% !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-status-pill,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-badge,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-pill {
		white-space: nowrap !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-exams-page .bsmp-tabs,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-exams-page .bsmp-exam-tabs {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
		align-items: stretch !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-exams-page .bsmp-tabs .bsmp-tab,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-exams-page .bsmp-exam-tabs .bsmp-tab {
		width: 100% !important;
		min-height: 48px !important;
		padding: 11px 10px !important;
		justify-content: center !important;
		text-align: center !important;
		white-space: nowrap !important;
		font-size: 13px !important;
		line-height: 1.2 !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-id-filter-form,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-id-filter-form .bsmp-form-grid,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-id-filter-form .bsmp-field-wide,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-id-filter-form label {
		min-width: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-id-filter-form select,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-id-filter-form input,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-id-filter-form .select2-container {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-id-filter-form .bsmp-form-actions {
		align-items: stretch !important;
		gap: 10px !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-id-filter-form .bsmp-form-actions .bsmp-btn {
		width: 100% !important;
		justify-content: center !important;
	}
}

/* Backend mobile-only notification log and exam preview containment.
   Commercial-safe scope: backend admin on phones only. Desktop, frontend admin and portal are untouched. */
@media (max-width: 782px) {
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-card {
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-card .bsmp-table-wrap,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-card .bsmp-admin-notification-log-scroll {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		overflow-x: auto !important;
		overflow-y: auto !important;
		max-height: 58vh !important;
		-webkit-overflow-scrolling: touch !important;
		touch-action: pan-x pan-y !important;
		border: 1px solid #dbeafe !important;
		border-radius: 18px !important;
		background: #ffffff !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-table {
		display: table !important;
		width: 980px !important;
		min-width: 980px !important;
		max-width: none !important;
		table-layout: fixed !important;
		border-collapse: separate !important;
		border-spacing: 0 !important;
		margin: 0 !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-table th,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-table td {
		display: table-cell !important;
		white-space: nowrap !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		padding: 14px 16px !important;
		vertical-align: middle !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-table th:nth-child(1),
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-table td:nth-child(1) {
		width: 230px !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-table th:nth-child(2),
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-table td:nth-child(2) {
		width: 540px !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-table th:nth-child(3),
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-table td:nth-child(3) {
		width: 210px !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-exam-preview-scroll {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		overflow-x: auto !important;
		overflow-y: visible !important;
		-webkit-overflow-scrolling: touch !important;
		touch-action: pan-x pan-y !important;
		overscroll-behavior-x: contain !important;
		padding: 0 0 12px !important;
		margin: 18px 0 0 !important;
		border-radius: 22px !important;
		background: transparent !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-exam-preview-scroll::-webkit-scrollbar,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-card .bsmp-table-wrap::-webkit-scrollbar,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-card .bsmp-admin-notification-log-scroll::-webkit-scrollbar {
		height: 10px !important;
		width: 10px !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-exam-preview-scroll::-webkit-scrollbar-thumb,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-card .bsmp-table-wrap::-webkit-scrollbar-thumb,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-notification-log-card .bsmp-admin-notification-log-scroll::-webkit-scrollbar-thumb {
		border-radius: 999px !important;
		background: linear-gradient(135deg, #1d4ed8, #0f766e) !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-exam-preview-scroll > .bsmp-marksheet-preview,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-exam-preview-scroll > .bsmp-admit-card-preview {
		display: block !important;
		width: 760px !important;
		min-width: 760px !important;
		max-width: none !important;
		box-sizing: border-box !important;
		margin: 0 !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-exam-preview-scroll .bsmp-marksheet-sheet,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-exam-preview-scroll .bsmp-result-a4-sheet,
	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-exam-preview-scroll .bsmp-admit-card-half-sheet {
		width: 760px !important;
		min-width: 760px !important;
		max-width: none !important;
		box-sizing: border-box !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-exam-preview-scroll .bsmp-table-wrap {
		max-width: 100% !important;
		overflow-x: auto !important;
	}

	.bsmp-wrap:not(.bsmp-wrap--frontend-admin) .bsmp-admin-exam-preview-scroll table {
		max-width: none !important;
	}
}

/* Frontend admin mobile-only admit card and marksheet preview containment. */
@media (max-width: 782px) {
	.bsmp-wrap--frontend-admin .bsmp-frontend-admin-exam-preview-scroll {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		overflow-x: auto !important;
		overflow-y: visible !important;
		-webkit-overflow-scrolling: touch !important;
		touch-action: pan-x pan-y !important;
		overscroll-behavior-x: contain !important;
		padding: 0 0 12px !important;
		margin: 18px 0 0 !important;
		border-radius: 22px !important;
		background: transparent !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-frontend-admin-exam-preview-scroll::-webkit-scrollbar {
		height: 10px !important;
		width: 10px !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-frontend-admin-exam-preview-scroll::-webkit-scrollbar-thumb {
		border-radius: 999px !important;
		background: linear-gradient(135deg, #1d4ed8, #0f766e) !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-frontend-admin-exam-preview-scroll > .bsmp-marksheet-preview,
	.bsmp-wrap--frontend-admin .bsmp-frontend-admin-exam-preview-scroll > .bsmp-admit-card-preview {
		display: block !important;
		width: 760px !important;
		min-width: 760px !important;
		max-width: none !important;
		box-sizing: border-box !important;
		margin: 0 !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-frontend-admin-exam-preview-scroll .bsmp-marksheet-sheet,
	.bsmp-wrap--frontend-admin .bsmp-frontend-admin-exam-preview-scroll .bsmp-result-a4-sheet,
	.bsmp-wrap--frontend-admin .bsmp-frontend-admin-exam-preview-scroll .bsmp-admit-card-half-sheet {
		width: 760px !important;
		min-width: 760px !important;
		max-width: none !important;
		box-sizing: border-box !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-frontend-admin-exam-preview-scroll .bsmp-table-wrap {
		max-width: 100% !important;
		overflow-x: auto !important;
	}

	.bsmp-wrap--frontend-admin .bsmp-frontend-admin-exam-preview-scroll table {
		max-width: none !important;
	}
}

/* First-time setup wizard. */
.bsmp-setup-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: 24px;
	align-items: stretch;
	padding: 28px;
	border-radius: 30px;
	background: linear-gradient(135deg, #0f2f5f 0%, #124b8d 54%, #6d123a 100%);
	color: #fff;
	box-shadow: 0 24px 54px rgba(15, 47, 95, 0.25);
	margin-bottom: 24px;
	overflow: hidden;
	position: relative;
}

.bsmp-setup-hero::after {
	content: "";
	position: absolute;
	right: -70px;
	bottom: -100px;
	width: 260px;
	height: 260px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.13);
}

.bsmp-setup-hero > * {
	position: relative;
	z-index: 1;
}

.bsmp-setup-hero h2 {
	margin: 8px 0 10px;
	font-size: clamp(26px, 3vw, 40px);
	line-height: 1.08;
	color: #fff;
	max-width: 780px;
}

.bsmp-setup-hero p {
	max-width: 820px;
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.86);
}

.bsmp-setup-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 22px;
}

.bsmp-setup-progress-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 20px;
	border-radius: 26px;
	background: rgba(255, 255, 255, 0.15);
	border: 1px solid rgba(255, 255, 255, 0.24);
	backdrop-filter: blur(10px);
	text-align: center;
}

.bsmp-setup-progress-card__ring {
	--bsmp-progress: 0%;
	width: 138px;
	height: 138px;
	border-radius: 999px;
	display: grid;
	place-items: center;
	background: conic-gradient(#22c55e var(--bsmp-progress), rgba(255,255,255,.23) 0);
	box-shadow: inset 0 0 0 12px rgba(255, 255, 255, 0.12);
}

.bsmp-setup-progress-card__ring strong {
	display: grid;
	place-items: center;
	width: 96px;
	height: 96px;
	border-radius: 999px;
	background: #fff;
	color: #0f2f5f;
	font-size: 26px;
	font-weight: 900;
}

.bsmp-setup-progress-card p {
	margin: 0;
	font-weight: 800;
	color: #fff;
}

.bsmp-setup-checklist {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}

.bsmp-setup-check-card {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 16px;
	padding: 18px;
	border-radius: 24px;
	background: #fff;
	border: 1px solid rgba(15, 47, 95, 0.09);
	box-shadow: 0 16px 36px rgba(15, 47, 95, 0.08);
}

.bsmp-setup-check-card.is-complete {
	background: linear-gradient(135deg, #ecfdf5, #ffffff 58%);
}

.bsmp-setup-check-card.is-pending {
	background: linear-gradient(135deg, #fff7ed, #ffffff 58%);
}

.bsmp-setup-check-card__icon {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 18px;
	background: linear-gradient(135deg, #dbeafe, #fce7f3);
	color: #0f2f5f;
}

.bsmp-setup-check-card__icon .dashicons {
	font-size: 28px;
	width: 28px;
	height: 28px;
}

.bsmp-setup-check-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
}

.bsmp-setup-check-card h3 {
	margin: 0;
	font-size: 18px;
	line-height: 1.25;
	color: #12213f;
}

.bsmp-setup-check-card p {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.6;
	color: #526070;
}

.bsmp-setup-check-card .bsmp-btn {
	width: fit-content;
}

.bsmp-setup-check-card .bsmp-status-pill--success,
.bsmp-setup-check-card .bsmp-status-pill--warning {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 6px 11px;
	font-size: 12px;
	font-weight: 900;
	white-space: nowrap;
}

.bsmp-setup-check-card .bsmp-status-pill--success {
	background: #dcfce7;
	color: #166534;
}

.bsmp-setup-check-card .bsmp-status-pill--warning {
	background: #ffedd5;
	color: #9a3412;
}

.bsmp-setup-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 18px;
}

.bsmp-setup-panel {
	min-width: 0;
}

.bsmp-setup-order-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}

.bsmp-setup-order-list li {
	position: relative;
	padding: 13px 14px 13px 44px;
	border-radius: 16px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	color: #334155;
	font-weight: 700;
}

.bsmp-setup-order-list li::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 50%;
	width: 18px;
	height: 18px;
	border-radius: 999px;
	transform: translateY(-50%);
	background: #cbd5e1;
	box-shadow: inset 0 0 0 5px #fff;
}

.bsmp-setup-order-list li.is-done {
	background: #ecfdf5;
	border-color: #bbf7d0;
	color: #166534;
}

.bsmp-setup-order-list li.is-done::before {
	background: #16a34a;
}

.bsmp-shortcode-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 14px;
	border-radius: 18px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	margin-bottom: 12px;
}

.bsmp-shortcode-card strong,
.bsmp-shortcode-card small,
.bsmp-shortcode-card a,
.bsmp-shortcode-card code {
	display: block;
}

.bsmp-shortcode-card strong {
	color: #12213f;
	font-weight: 900;
	margin-bottom: 8px;
}

.bsmp-shortcode-card code {
	width: fit-content;
	max-width: 100%;
	padding: 8px 12px;
	border-radius: 12px;
	background: #0f172a;
	color: #fff;
	font-weight: 900;
	white-space: nowrap;
	overflow-x: auto;
}

.bsmp-shortcode-card small {
	margin-top: 8px;
	color: #64748b;
	font-weight: 700;
}

.bsmp-shortcode-card a {
	margin-top: 8px;
	font-weight: 800;
	color: #1d4ed8;
	text-decoration: none;
}

@media (max-width: 1100px) {
	.bsmp-setup-hero,
	.bsmp-setup-grid {
		grid-template-columns: 1fr;
	}

	.bsmp-setup-progress-card {
		align-items: flex-start;
		text-align: left;
		flex-direction: row;
		justify-content: flex-start;
	}

	.bsmp-setup-progress-card__ring {
		width: 112px;
		height: 112px;
		flex: 0 0 112px;
	}

	.bsmp-setup-progress-card__ring strong {
		width: 78px;
		height: 78px;
		font-size: 22px;
	}
}

@media (max-width: 782px) {
	.bsmp-setup-hero {
		padding: 22px;
		border-radius: 24px;
		gap: 18px;
	}

	.bsmp-setup-checklist {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.bsmp-setup-check-card {
		grid-template-columns: 50px minmax(0, 1fr);
		gap: 12px;
		padding: 15px;
		border-radius: 20px;
	}

	.bsmp-setup-check-card__icon {
		width: 50px;
		height: 50px;
		border-radius: 16px;
	}

	.bsmp-setup-check-card__top {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.bsmp-setup-check-card h3 {
		font-size: 17px;
	}

	.bsmp-setup-hero__actions,
	.bsmp-setup-check-card .bsmp-btn {
		width: 100%;
	}

	.bsmp-setup-hero__actions .bsmp-btn,
	.bsmp-setup-check-card .bsmp-btn {
		justify-content: center;
	}

	.bsmp-setup-progress-card {
		padding: 16px;
	}

	.bsmp-shortcode-card code {
		width: 100%;
	}
}

/* Help and documentation center */
.bsmp-doc-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 22px;
	align-items: stretch;
	margin-bottom: 22px;
	padding: 28px;
	border-radius: 28px;
	background: linear-gradient(135deg, #0f2f5f 0%, #1d4ed8 58%, #b91c1c 100%);
	box-shadow: 0 24px 52px rgba(15, 47, 95, 0.24);
	color: #fff;
	overflow: hidden;
}

.bsmp-doc-hero h2 {
	margin: 8px 0 10px;
	font-size: clamp(26px, 3vw, 40px);
	line-height: 1.12;
	color: #fff;
}

.bsmp-doc-hero p {
	max-width: 780px;
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.88);
}

.bsmp-doc-hero .bsmp-kicker {
	color: #bfdbfe;
}

.bsmp-doc-hero__badge {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
	padding: 20px;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.22);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.bsmp-doc-hero__badge .dashicons {
	width: 42px;
	height: 42px;
	font-size: 42px;
	color: #fff;
}

.bsmp-doc-hero__badge strong {
	font-size: 20px;
	font-weight: 900;
	color: #fff;
}

.bsmp-doc-hero__badge small {
	font-size: 13px;
	line-height: 1.55;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.82);
}

.bsmp-doc-quick-links {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 22px;
}

.bsmp-doc-quick-link {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 78px;
	padding: 16px;
	border-radius: 20px;
	background: #fff;
	border: 1px solid rgba(15, 47, 95, 0.09);
	box-shadow: 0 14px 34px rgba(15, 47, 95, 0.08);
	text-decoration: none;
	color: #12213f;
}

.bsmp-doc-quick-link:hover,
.bsmp-doc-quick-link:focus {
	color: #0f2f5f;
	border-color: rgba(29, 78, 216, 0.28);
	box-shadow: 0 18px 42px rgba(15, 47, 95, 0.14);
	outline: none;
}

.bsmp-doc-quick-link .dashicons {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	font-size: 24px;
	border-radius: 16px;
	background: linear-gradient(135deg, #dbeafe, #fce7f3);
	color: #0f2f5f;
	flex: 0 0 42px;
}

.bsmp-doc-quick-link strong {
	font-size: 14px;
	line-height: 1.35;
	font-weight: 900;
}

.bsmp-doc-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 22px;
	align-items: start;
}

.bsmp-doc-main {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.bsmp-doc-card,
.bsmp-doc-side-card {
	min-width: 0;
	border-radius: 24px;
	background: #fff;
	border: 1px solid rgba(15, 47, 95, 0.09);
	box-shadow: 0 16px 36px rgba(15, 47, 95, 0.08);
}

.bsmp-doc-card {
	padding: 20px;
}

.bsmp-doc-card__header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.bsmp-doc-card__icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	font-size: 26px;
	border-radius: 17px;
	background: linear-gradient(135deg, #eff6ff, #fff1f2);
	color: #0f2f5f;
	flex: 0 0 48px;
}

.bsmp-doc-card h3,
.bsmp-doc-side-card h3 {
	margin: 0;
	font-size: 18px;
	line-height: 1.25;
	color: #12213f;
}

.bsmp-doc-list,
.bsmp-doc-mini-list,
.bsmp-doc-steps {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}

.bsmp-doc-list li,
.bsmp-doc-mini-list li,
.bsmp-doc-steps li {
	position: relative;
	padding: 11px 12px 11px 36px;
	border-radius: 14px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	font-size: 14px;
	line-height: 1.55;
	font-weight: 700;
	color: #334155;
}

.bsmp-doc-list li::before,
.bsmp-doc-mini-list li::before,
.bsmp-doc-steps li::before {
	content: "";
	position: absolute;
	left: 13px;
	top: 19px;
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: #2563eb;
	box-shadow: 0 0 0 4px #dbeafe;
}

.bsmp-doc-side {
	display: grid;
	gap: 18px;
}

.bsmp-doc-side-card {
	padding: 20px;
}

.bsmp-doc-shortcode {
	padding: 14px;
	border-radius: 18px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	margin-bottom: 12px;
}

.bsmp-doc-shortcode:last-child {
	margin-bottom: 0;
}

.bsmp-doc-shortcode strong,
.bsmp-doc-shortcode code,
.bsmp-doc-shortcode p {
	display: block;
}

.bsmp-doc-shortcode strong {
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 900;
	color: #12213f;
}

.bsmp-doc-shortcode code {
	width: fit-content;
	max-width: 100%;
	padding: 8px 12px;
	border-radius: 12px;
	background: #0f172a;
	color: #fff;
	font-weight: 900;
	white-space: nowrap;
	overflow-x: auto;
}

.bsmp-doc-shortcode p {
	margin: 10px 0 0;
	font-size: 13px;
	line-height: 1.55;
	font-weight: 700;
	color: #64748b;
}

@media (max-width: 1280px) {
	.bsmp-doc-quick-links {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.bsmp-doc-layout {
		grid-template-columns: 1fr;
	}

	.bsmp-doc-side {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.bsmp-doc-hero,
	.bsmp-doc-main,
	.bsmp-doc-side {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 782px) {
	.bsmp-doc-hero {
		padding: 22px;
		border-radius: 24px;
	}

	.bsmp-doc-quick-links {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}

	.bsmp-doc-quick-link {
		min-height: 72px;
		padding: 14px;
	}

	.bsmp-doc-card,
	.bsmp-doc-side-card {
		padding: 16px;
		border-radius: 20px;
	}

	.bsmp-doc-card__icon,
	.bsmp-doc-quick-link .dashicons {
		width: 40px;
		height: 40px;
		font-size: 22px;
		border-radius: 14px;
	}

	.bsmp-doc-list li,
	.bsmp-doc-mini-list li,
	.bsmp-doc-steps li {
		font-size: 14px;
	}
}

@media (max-width: 520px) {
	.bsmp-doc-quick-links {
		grid-template-columns: 1fr;
	}
}

/* Backup & Restore module. */
.bsmp-backup-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 240px;
	gap: 22px;
	align-items: stretch;
	padding: 28px;
	border-radius: 30px;
	background: linear-gradient(135deg, #0f2f5f 0%, #123f7a 48%, #6d123a 100%);
	box-shadow: 0 24px 54px rgba(15, 47, 95, 0.24);
	color: #fff;
	margin-bottom: 22px;
	overflow: hidden;
	position: relative;
}

.bsmp-backup-hero::after {
	content: "";
	position: absolute;
	right: -80px;
	bottom: -90px;
	width: 240px;
	height: 240px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
}

.bsmp-backup-hero > * {
	position: relative;
	z-index: 1;
}

.bsmp-backup-hero h2 {
	margin: 8px 0 10px;
	font-size: clamp(26px, 3vw, 40px);
	line-height: 1.08;
	color: #fff;
}

.bsmp-backup-hero p {
	max-width: 820px;
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255,255,255,.88);
}

.bsmp-backup-hero__stat {
	display: grid;
	place-items: center;
	text-align: center;
	padding: 18px;
	border-radius: 26px;
	background: rgba(255,255,255,.15);
	border: 1px solid rgba(255,255,255,.25);
}

.bsmp-backup-hero__stat strong {
	display: block;
	font-size: 34px;
	line-height: 1;
	font-weight: 950;
	color: #fff;
}

.bsmp-backup-hero__stat span {
	display: block;
	margin-top: 8px;
	font-weight: 800;
	color: rgba(255,255,255,.86);
}

.bsmp-backup-grid,
.bsmp-backup-instruction-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 22px;
}

.bsmp-backup-instruction-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 16px 0 18px;
}

.bsmp-backup-action-card,
.bsmp-backup-instructions,
.bsmp-backup-table-panel {
	padding: 22px;
}

.bsmp-backup-card-head {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 16px;
	align-items: flex-start;
	margin-bottom: 18px;
}

.bsmp-backup-card-head > .dashicons,
.bsmp-backup-instruction-card > .dashicons {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 18px;
	background: linear-gradient(135deg, #dbeafe, #fce7f3);
	color: #0f2f5f;
	font-size: 28px;
}

.bsmp-backup-card-head h3,
.bsmp-backup-instructions h3,
.bsmp-backup-instruction-card h4 {
	margin: 0 0 8px;
	color: #12213f;
	font-weight: 950;
}

.bsmp-backup-card-head p,
.bsmp-backup-instruction-card li,
.bsmp-backup-instructions p {
	color: #526070;
	font-weight: 650;
	line-height: 1.62;
}

.bsmp-backup-restore-form {
	display: grid;
	gap: 14px;
}

.bsmp-backup-restore-form .bsmp-field {
	display: grid;
	gap: 8px;
}

.bsmp-backup-restore-form .bsmp-field span,
.bsmp-check-row span {
	font-weight: 850;
	color: #24324a;
}

.bsmp-backup-restore-form input[type="file"],
.bsmp-backup-restore-form input[type="text"] {
	width: 100%;
	max-width: 100%;
	border: 1px solid #cbd5e1;
	border-radius: 14px;
	padding: 11px 12px;
	background: #fff;
	box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
}

.bsmp-check-row {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 10px;
	align-items: flex-start;
	padding: 13px 14px;
	border-radius: 16px;
	background: #fff7ed;
	border: 1px solid #fed7aa;
}

.bsmp-backup-note {
	margin-top: 16px;
	padding: 14px 16px;
	border-radius: 18px;
	font-weight: 700;
	line-height: 1.62;
}

.bsmp-backup-note--info {
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1e3a8a;
}

.bsmp-backup-note--warning {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	color: #9a3412;
}

.bsmp-backup-instruction-card {
	padding: 18px;
	border-radius: 24px;
	background: linear-gradient(135deg, #f8fafc, #ffffff 68%);
	border: 1px solid #e2e8f0;
	box-shadow: 0 12px 26px rgba(15, 47, 95, 0.06);
}

.bsmp-backup-instruction-card--warning {
	background: linear-gradient(135deg, #fff7ed, #ffffff 68%);
	border-color: #fed7aa;
}

.bsmp-backup-instruction-card ol {
	margin: 12px 0 0;
	padding-left: 20px;
}

.bsmp-backup-instruction-card li + li {
	margin-top: 8px;
}

.bsmp-backup-table-panel .bsmp-table-wrap {
	max-width: 100%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: 18px;
}

.bsmp-backup-table-panel table {
	min-width: 680px;
}

@media (max-width: 960px) {
	.bsmp-backup-hero,
	.bsmp-backup-grid,
	.bsmp-backup-instruction-grid {
		grid-template-columns: 1fr;
	}

	.bsmp-backup-hero {
		padding: 22px;
	}
}

@media (max-width: 600px) {
	.bsmp-backup-action-card,
	.bsmp-backup-instructions,
	.bsmp-backup-table-panel {
		padding: 16px;
	}

	.bsmp-backup-card-head {
		grid-template-columns: 1fr;
	}
}

/* Final sell package: built-in support card. Scoped to documentation only. */
.bsmp-doc-support-card {
	background: linear-gradient(135deg, #f8fbff 0%, #fff7ed 100%);
	border: 1px solid rgba(37, 99, 235, 0.16);
}

.bsmp-doc-support-card p {
	margin: 0 0 12px;
	color: #334155;
	font-weight: 700;
	line-height: 1.6;
}

/* Batch 20A: Offline license activation UI */
.bsmp-license-hero {
	background: linear-gradient(135deg, #102a5f 0%, #7c173a 100%);
	border-radius: 24px;
	color: #fff;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	padding: 28px;
	box-shadow: 0 18px 45px rgba(16, 42, 95, 0.22);
	margin-bottom: 22px;
}
.bsmp-license-hero .bsmp-kicker,
.bsmp-license-hero h2,
.bsmp-license-hero p {
	color: #fff;
}
.bsmp-license-hero h2 {
	font-size: 28px;
	line-height: 1.25;
	margin: 8px 0;
}
.bsmp-license-hero p {
	font-size: 15px;
	max-width: 760px;
	margin: 0;
	opacity: 0.95;
}
.bsmp-license-status {
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 20px;
	min-width: 230px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-start;
	backdrop-filter: blur(8px);
}
.bsmp-license-status .dashicons {
	font-size: 30px;
	width: 30px;
	height: 30px;
}
.bsmp-license-status strong {
	font-size: 17px;
}
.bsmp-license-status small {
	word-break: break-word;
	opacity: 0.9;
}
.bsmp-license-status.is-active .dashicons {
	color: #86efac;
}
.bsmp-license-status.is-locked .dashicons {
	color: #fde68a;
}
.bsmp-license-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
	gap: 20px;
	align-items: start;
}
.bsmp-license-card textarea {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 13px;
	line-height: 1.6;
	resize: vertical;
}
.bsmp-license-details {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}
.bsmp-license-details li {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	padding: 12px 14px;
	display: flex;
	justify-content: space-between;
	gap: 14px;
	align-items: flex-start;
}
.bsmp-license-details strong {
	color: #334155;
	font-weight: 700;
}
.bsmp-license-details span {
	color: #0f172a;
	text-align: right;
	word-break: break-word;
}
.bsmp-license-instructions {
	margin-top: 20px;
}
@media (max-width: 782px) {
	.bsmp-license-hero,
	.bsmp-license-grid {
		grid-template-columns: 1fr;
	}
	.bsmp-license-hero {
		padding: 22px;
		border-radius: 20px;
	}
	.bsmp-license-hero h2 {
		font-size: 23px;
	}
	.bsmp-license-status {
		min-width: 0;
		width: auto;
	}
	.bsmp-license-details li {
		flex-direction: column;
		gap: 4px;
	}
	.bsmp-license-details span {
		text-align: left;
	}
}

/* Maintenance / System Health - scoped commercial diagnostics UI */
.bsmp-maintenance-page {
	display: grid;
	gap: 20px;
}
.bsmp-maintenance-hero {
	background: linear-gradient(135deg, #102a56 0%, #7f1d1d 100%);
	color: #fff;
	border-radius: 28px;
	padding: 28px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 0.32fr);
	gap: 22px;
	align-items: center;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.18);
	overflow: hidden;
}
.bsmp-maintenance-hero--warning {
	background: linear-gradient(135deg, #17426f 0%, #92400e 100%);
}
.bsmp-maintenance-hero--critical {
	background: linear-gradient(135deg, #111827 0%, #991b1b 100%);
}
.bsmp-maintenance-hero h2 {
	color: #fff;
	font-size: 30px;
	line-height: 1.18;
	margin: 8px 0 10px;
}
.bsmp-maintenance-hero p {
	color: rgba(255, 255, 255, 0.92);
	font-size: 15px;
	max-width: 840px;
	margin: 0;
}
.bsmp-maintenance-score {
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 22px;
	padding: 20px;
	display: grid;
	gap: 8px;
	justify-items: start;
	backdrop-filter: blur(8px);
}
.bsmp-maintenance-score .dashicons {
	font-size: 34px;
	width: 34px;
	height: 34px;
	color: #bfdbfe;
}
.bsmp-maintenance-score strong {
	font-size: 19px;
	color: #fff;
}
.bsmp-maintenance-score small {
	color: rgba(255, 255, 255, 0.88);
}
.bsmp-maintenance-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}
.bsmp-maintenance-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	align-items: start;
}
.bsmp-maintenance-card {
	overflow: hidden;
}
.bsmp-maintenance-check-table th,
.bsmp-maintenance-log-table th {
	background: #7f1d1d;
	color: #fff;
	white-space: nowrap;
}
.bsmp-maintenance-check-table td,
.bsmp-maintenance-log-table td {
	vertical-align: top;
	white-space: normal;
	word-break: normal;
	overflow-wrap: anywhere;
}
.bsmp-maintenance-check-table small,
.bsmp-maintenance-log-table small {
	color: #64748b;
	line-height: 1.45;
}
.bsmp-maintenance-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 78px;
	border-radius: 999px;
	padding: 5px 10px;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	border: 1px solid transparent;
	white-space: nowrap;
}
.bsmp-maintenance-pill--good,
.bsmp-maintenance-pill--info {
	background: #dcfce7;
	color: #166534;
	border-color: #bbf7d0;
}
.bsmp-maintenance-pill--warning {
	background: #fef3c7;
	color: #92400e;
	border-color: #fde68a;
}
.bsmp-maintenance-pill--error,
.bsmp-maintenance-pill--critical {
	background: #fee2e2;
	color: #991b1b;
	border-color: #fecaca;
}
.bsmp-maintenance-count-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.bsmp-maintenance-count-card {
	background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	padding: 16px;
	display: grid;
	gap: 4px;
}
.bsmp-maintenance-count-card strong {
	font-size: 25px;
	line-height: 1;
	color: #0f172a;
}
.bsmp-maintenance-count-card span {
	font-size: 13px;
	font-weight: 700;
	color: #475569;
}
.bsmp-maintenance-support-card {
	background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}
.bsmp-maintenance-note-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}
.bsmp-maintenance-note-list li {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-left: 4px solid #2563eb;
	border-radius: 14px;
	padding: 12px 14px;
	color: #334155;
	line-height: 1.55;
}
.bsmp-maintenance-log-wrap {
	max-height: 520px;
	overflow: auto;
}
.bsmp-maintenance-log-table {
	min-width: 900px;
}
.bsmp-maintenance-check-table {
	min-width: 680px;
}
.bsmp-maintenance-table-compact {
	max-height: 520px;
	overflow: auto;
}
.bsmp-maintenance-table-compact .bsmp-maintenance-check-table {
	min-width: 820px;
}
@media (max-width: 960px) {
	.bsmp-maintenance-hero,
	.bsmp-maintenance-grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 782px) {
	.bsmp-maintenance-page {
		gap: 16px;
	}
	.bsmp-maintenance-hero {
		padding: 22px;
		border-radius: 22px;
	}
	.bsmp-maintenance-hero h2 {
		font-size: 23px;
	}
	.bsmp-maintenance-actions {
		gap: 10px;
	}
	.bsmp-maintenance-actions .bsmp-btn {
		width: 100%;
		justify-content: center;
	}
	.bsmp-maintenance-count-grid {
		grid-template-columns: 1fr;
	}
	.bsmp-maintenance-check-table td,
	.bsmp-maintenance-log-table td,
	.bsmp-maintenance-check-table th,
	.bsmp-maintenance-log-table th {
		white-space: nowrap;
		word-break: normal;
		overflow-wrap: normal;
	}
}

/* Batch 20D: Maintenance table readability + safe masked license UI. Scoped only to BSMP license/maintenance pages. */
.bsmp-maintenance-page .bsmp-table-wrap,
.bsmp-maintenance-page .bsmp-maintenance-table-compact,
.bsmp-maintenance-page .bsmp-maintenance-log-wrap {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: 16px;
	border: 1px solid #dbeafe;
	background: #ffffff;
}

.bsmp-maintenance-page .bsmp-maintenance-check-table,
.bsmp-maintenance-page .bsmp-maintenance-log-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}

.bsmp-maintenance-page .bsmp-maintenance-check-table thead th,
.bsmp-maintenance-page .bsmp-maintenance-log-table thead th,
.bsmp-maintenance-page table.bsmp-maintenance-check-table.widefat thead th,
.bsmp-maintenance-page table.bsmp-maintenance-log-table.widefat thead th {
	background: linear-gradient(135deg, #0f4fb8 0%, #097ac0 100%) !important;
	color: #ffffff !important;
	font-weight: 900 !important;
	letter-spacing: .03em;
	text-transform: uppercase;
	border-color: rgba(255, 255, 255, .18) !important;
	white-space: nowrap !important;
	text-shadow: none !important;
}

.bsmp-maintenance-page .bsmp-maintenance-check-table tbody td,
.bsmp-maintenance-page .bsmp-maintenance-log-table tbody td {
	color: #0f172a;
	background: #ffffff;
	border-color: #e2e8f0;
	line-height: 1.55;
}

.bsmp-maintenance-page .bsmp-maintenance-check-table tbody tr:nth-child(even) td,
.bsmp-maintenance-page .bsmp-maintenance-log-table tbody tr:nth-child(even) td {
	background: #f8fbff;
}

.bsmp-maintenance-page .bsmp-maintenance-check-table td strong,
.bsmp-maintenance-page .bsmp-maintenance-log-table td strong {
	color: #0f172a;
	font-weight: 900;
}

.bsmp-maintenance-page .bsmp-maintenance-check-table td small,
.bsmp-maintenance-page .bsmp-maintenance-log-table td small {
	color: #475569;
	font-weight: 700;
}

.bsmp-maintenance-page .bsmp-maintenance-card {
	max-width: 100%;
	overflow: hidden;
}

.bsmp-license-mask-box {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 16px;
	border: 1px solid #bbf7d0;
	border-radius: 18px;
	background: linear-gradient(135deg, #f0fdf4 0%, #eff6ff 100%);
	margin-bottom: 14px;
}

.bsmp-license-mask-box .dashicons {
	width: 34px;
	height: 34px;
	font-size: 34px;
	color: #16a34a;
}

.bsmp-license-mask-box strong {
	display: block;
	font-size: 17px;
	color: #0f172a;
	margin-bottom: 5px;
}

.bsmp-license-mask-box p {
	margin: 0 0 10px;
	color: #475569;
	font-weight: 700;
	line-height: 1.55;
}

.bsmp-license-mask-box code {
	display: inline-block;
	max-width: 100%;
	padding: 8px 10px;
	border-radius: 10px;
	background: #ffffff;
	border: 1px solid #dbeafe;
	color: #0f4fb8;
	font-weight: 900;
	white-space: normal;
	word-break: break-word;
}

.bsmp-license-safe-actions {
	margin: 0 0 14px;
}

.bsmp-license-change-box {
	border: 1px solid #dbeafe;
	border-radius: 16px;
	background: #ffffff;
	padding: 0;
	overflow: hidden;
}

.bsmp-license-change-box summary {
	list-style: none;
	cursor: pointer;
	padding: 13px 15px;
	background: #eff6ff;
	color: #0f4fb8;
	font-weight: 900;
	border-bottom: 1px solid #dbeafe;
}

.bsmp-license-change-box summary::-webkit-details-marker {
	display: none;
}

.bsmp-license-change-box form {
	padding: 15px;
}

@media (max-width: 782px) {
	.bsmp-maintenance-page .bsmp-maintenance-check-table,
	.bsmp-maintenance-page .bsmp-maintenance-log-table {
		min-width: 760px;
	}

	.bsmp-maintenance-page .bsmp-maintenance-check-table th,
	.bsmp-maintenance-page .bsmp-maintenance-log-table th,
	.bsmp-maintenance-page .bsmp-maintenance-check-table td,
	.bsmp-maintenance-page .bsmp-maintenance-log-table td {
		white-space: nowrap !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
	}

	.bsmp-license-mask-box {
		grid-template-columns: 1fr;
	}
}

/* Batch 20E: student list performance and smart routine availability polish. */
.bsmp-recent-student-highlight {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(16, 185, 129, .22);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(236, 253, 245, .96), rgba(239, 246, 255, .96));
  color: #0f172a;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
}

.bsmp-recent-student-highlight > .dashicons {
  color: #059669;
  font-size: 24px;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
}

.bsmp-recent-student-highlight div {
  flex: 1 1 auto;
  min-width: 0;
}

.bsmp-recent-student-highlight strong,
.bsmp-recent-student-highlight small {
  display: block;
}

.bsmp-recent-student-highlight small {
  margin-top: 3px;
  color: #64748b;
  font-weight: 700;
}

.bsmp-recent-student-highlight a {
  color: #075985;
  font-weight: 800;
  text-decoration: none;
}

.bsmp-student-list-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 16px 0 12px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(37, 99, 235, .14);
  background: #f8fbff;
  color: #0f172a;
}

.bsmp-student-list-meta span {
  font-weight: 900;
}

.bsmp-student-list-meta small {
  color: #64748b;
  font-weight: 700;
  text-align: right;
}

.bsmp-student-pagination {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.bsmp-student-pagination > span {
  padding: 10px 14px;
  border-radius: 999px;
  background: #f8fbff;
  border: 1px solid rgba(37, 99, 235, .14);
  color: #334155;
  font-weight: 900;
}

.bsmp-routine-teacher-availability-note {
  display: block;
  min-height: 16px;
  margin-top: 5px;
  color: #2563eb;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 800;
}

.bsmp-routine-teacher-availability-note.is-warning {
  color: #b91c1c;
}

.bsmp-js-routine-availability-teacher option[disabled] {
  color: #94a3b8;
}

@media (max-width: 782px) {
  .bsmp-recent-student-highlight,
  .bsmp-student-list-meta,
  .bsmp-student-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .bsmp-student-list-meta small {
    text-align: left;
  }

  .bsmp-student-pagination .bsmp-btn,
  .bsmp-recent-student-highlight a {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* Batch 20G: shortcode display and due register visibility hotfix */
.bsmp-shortcode-card code,
.bsmp-doc-shortcode code {
	user-select: all;
	white-space: nowrap;
}

.bsmp-due-mini-summary div {
	background: #f8fbff !important;
	border: 1px solid rgba(8, 102, 255, 0.16) !important;
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06) !important;
	backdrop-filter: none !important;
}

.bsmp-due-mini-summary strong {
	color: #0f172a !important;
}

.bsmp-due-mini-summary span {
	color: #475569 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

.bsmp-wrap--frontend-admin .bsmp-due-mini-summary div {
	background: #ffffff !important;
}

@media (max-width: 640px) {
	.bsmp-due-mini-summary {
		gap: 12px !important;
	}

	.bsmp-due-mini-summary strong {
		font-size: 34px !important;
		line-height: 1.05 !important;
	}

	.bsmp-due-mini-summary span {
		font-size: 15px !important;
		line-height: 1.35 !important;
	}
}

/* Scoped SMS gateway diagnostic polish */
.bsmp-notification-page .bsmp-sms-diagnostic-card .bsmp-table-wrap {
	max-width: 100%;
	overflow-x: auto;
}

.bsmp-notification-page .bsmp-sms-diagnostic-table th,
.bsmp-notification-page .bsmp-sms-last-result-table th {
	width: 230px;
	white-space: nowrap;
}

.bsmp-notification-page .bsmp-sms-diagnostic-table td,
.bsmp-notification-page .bsmp-sms-last-result-table td {
	word-break: break-word;
}

.bsmp-notification-page .bsmp-sms-debug-box {
	margin-top: 14px;
}

@media (max-width: 782px) {
	.bsmp-notification-page .bsmp-sms-diagnostic-table,
	.bsmp-notification-page .bsmp-sms-last-result-table {
		min-width: 620px;
	}

	.bsmp-notification-page .bsmp-sms-diagnostic-card .bsmp-profile-card__header {
		align-items: flex-start;
	}
}
