:root {
	--sidebar: 272px;
	--sidebar-collapsed: 78px;
	--topbar: 66px;
	--primary: #3157d5;
	--primary-soft: #eef2ff;
	--ink: #0f172a;
	--muted: #64748b;
	--line: #e5e7eb;
	--soft: #f8fafc;
	--surface: #fff;
	--radius: 14px;
	--sidebar-bg: #111827;
	--sidebar-bg-2: #0f172a;
	--sidebar-text: #cbd5e1;
	--sidebar-muted: #64748b;
	--sidebar-active: #1f2937;
}

* {
	box-sizing: border-box;
}

html,body {
	min-height: 100%;
}

body {
	margin: 0;
	background: var(--soft);
	color: var(--ink);
	font-family: ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size: 13.5px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.topbar {
	position: fixed;
	inset: 0 0 auto 0;
	height: var(--topbar);
	background: #fff;
	border-bottom: 1px solid var(--line);
	z-index: 1030;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 18px;
	box-shadow: 0 1px 2px rgba(15,23,42,.025);
}

.topbar-start,.topbar-end {
	display: flex;
	align-items: center;
	min-width: 0;
}

.topbar-start {
	gap: 10px;
}

.topbar-end {
	gap: 12px;
}

.sidebar-toggle {
	width: 38px;
	height: 38px;
	border: 0;
	background: transparent;
	color: #475569;
	border-radius: 10px;
	display: grid;
	place-items: center;
	transition: .15s;
}

.sidebar-toggle:hover {
	background: #f1f5f9;
	color: #0f172a;
}

.ui-icon {
	width: 20px;
	height: 20px;
	display: block;
}

.brand {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	color: var(--ink);
	text-decoration: none;
}

.brand:hover {
	color: var(--ink);
}

.brand-logo {
	width: 38px;
	height: 38px;
	display: block;
	flex: 0 0 38px;
}

.brand-copy {
	min-width: 0;
	line-height: 1.12;
}

.brand-copy strong {
	display: block;
	font-size: 14px;
	font-weight: 750;
	letter-spacing: -.015em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.brand-copy small {
	display: block;
	margin-top: 4px;
	font-size: 10.5px;
	color: #64748b;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 230px;
}

.semester-chip {
	align-items: center;
	background: #f1f5f9;
	color: #475569;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 700;
	white-space: nowrap;
}

.profile-trigger {
	display: flex;
	align-items: center;
	gap: 9px;
	border: 0;
	background: transparent;
	padding: 4px 5px;
	border-radius: 12px;
	color: var(--ink);
	text-align: left;
}

.profile-trigger:hover,.profile-trigger.show {
	background: #f8fafc;
}

.profile-trigger.dropdown-toggle::after {
	display: none;
}

.profile-avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid #fff;
	box-shadow: 0 0 0 1px #e2e8f0;
}

.profile-meta {
	flex-direction: column;
	line-height: 1.15;
	max-width: 150px;
}

.profile-meta strong {
	font-size: 12.5px;
	font-weight: 750;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.profile-meta small {
	font-size: 10.5px;
	color: #94a3b8;
	margin-top: 3px;
}

.profile-chevron {
	width: 15px;
	height: 15px;
	color: #94a3b8;
	transition: .15s;
}

.profile-trigger[aria-expanded="true"] .profile-chevron {
	transform: rotate(180deg);
}

.profile-menu {
	min-width: 190px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 6px;
	box-shadow: 0 14px 35px rgba(15,23,42,.12)!important;
}

.profile-menu .dropdown-item {
	border-radius: 8px;
	padding: 9px 10px;
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 13px;
	font-weight: 650;
}

.profile-menu-head {
	padding: 8px 10px 9px;
	display: flex;
	flex-direction: column;
}

.profile-menu-head strong {
	font-size: 12.5px;
}

.profile-menu-head small {
	color: #94a3b8;
	font-size: 10.5px;
	margin-top: 2px;
}

.dropdown-icon {
	width: 17px;
	height: 17px;
}

.shell {
	display: flex;
	padding-top: var(--topbar);
	min-height: 100vh;
}

.sidebar {
	position: fixed;
	top: var(--topbar);
	bottom: 0;
	left: 0;
	width: var(--sidebar);
	background: linear-gradient(180deg,var(--sidebar-bg),var(--sidebar-bg-2));
	border-right: 1px solid rgba(255,255,255,.04);
	padding: 15px 11px 22px;
	overflow-x: hidden;
	overflow-y: auto;
	z-index: 1020;
	transition: width .2s ease,transform .2s ease;
	scrollbar-width: thin;
	scrollbar-color: #334155 transparent;
}

.sidebar-nav {
	min-width: 0;
}

.side-title {
	height: 27px;
	display: flex;
	align-items: end;
	padding: 0 12px 6px;
	margin-top: 15px;
	color: #64748b;
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: .09em;
	white-space: nowrap;
	overflow: hidden;
}

.side-title:first-of-type {
	margin-top: 14px;
}

.side-link {
	height: 42px;
	display: flex;
	gap: 11px;
	align-items: center;
	color: var(--sidebar-text);
	text-decoration: none;
	padding: 0 12px;
	border-radius: 10px;
	margin: 2px 0;
	font-size: 12.5px;
	font-weight: 650;
	white-space: nowrap;
	transition: background .14s,color .14s,transform .14s;
}

.side-icon {
	width: 19px;
	height: 19px;
	flex: 0 0 19px;
	opacity: .86;
}

.side-label {
	overflow: hidden;
	text-overflow: ellipsis;
}

.side-link:hover {
	background: rgba(255,255,255,.065);
	color: #fff;
}

.side-link.active {
	background: #253149;
	color: #fff;
	box-shadow: inset 3px 0 0 #7187ff;
}

.side-link.active .side-icon {
	color: #91a2ff;
	opacity: 1;
}

.content {
	margin-left: var(--sidebar);
	width: calc(100% - var(--sidebar));
	padding: 26px 28px 34px;
	transition: margin-left .2s ease,width .2s ease;
}

.page-title {
	font-size: 22px;
	font-weight: 780;
	letter-spacing: -.025em;
	margin: 0;
	color: #0f172a;
}

.page-subtitle {
	color: #64748b;
	margin-top: 4px;
	font-size: 12.5px;
}

body.sidebar-hidden .sidebar {
	transform: translateX(-100%);
}

body.sidebar-hidden .content {
	margin-left: 0;
	width: 100%;
}

.panel,.card {
	border: 1px solid var(--line)!important;
	border-radius: var(--radius)!important;
	box-shadow: 0 2px 10px rgba(15,23,42,.028)!important;
	background: #fff;
}

.card-header {
	background: #fff!important;
	border-bottom: 1px solid var(--line)!important;
	padding: 15px 17px!important;
	font-weight: 700;
}

.card-body {
	padding: 17px;
}

.table {
	--bs-table-bg: transparent;
	font-size: 13px;
}

.table>:not(caption)>*>* {
	padding: .76rem .72rem;
	border-bottom-color: #edf0f4;
	vertical-align: middle;
}

.table thead th {
	font-size: 10.5px;
	text-transform: uppercase;
	letter-spacing: .045em;
	color: #64748b;
	background: #f8fafc;
	white-space: nowrap;
	font-weight: 750;
}

.btn {
	border-radius: 9px;
	font-weight: 650;
	font-size: 12.5px;
}

.form-label {
	font-size: 11.5px;
	font-weight: 700;
	color: #475569;
	margin-bottom: 5px;
}

.form-control,.form-select {
	border-radius: 9px;
	border-color: #dfe4eb;
	min-height: 39px;
	font-size: 13px;
}

.form-control:focus,.form-select:focus {
	border-color: #9ab0ff;
	box-shadow: 0 0 0 .2rem rgba(49,87,213,.1);
}

.badge-soft {
	background: #eef2ff;
	color: #3b5bd6;
	padding: 6px 9px;
	border-radius: 999px;
	font-weight: 700;
}

.badge-ok {
	background: #e9f8ef;
	color: #16794a;
}

.badge-warn {
	background: #fff6df;
	color: #9a6810;
}

.badge-muted {
	background: #f0f2f5;
	color: #6b7280;
}

.stat {
	padding: 18px;
}

.stat-value {
	font-size: 24px;
	font-weight: 780;
	letter-spacing: -.02em;
}

.stat-label {
	color: var(--muted);
	font-size: 11.5px;
}

.ajax-wrap {
	position: relative;
	min-height: 140px;
}

.table-loading {
	position: absolute;
	inset: 0;
	background: rgba(255,255,255,.86);
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 5;
	border-radius: 12px;
}

.table-loading.show {
	display: flex;
}

.skeleton {
	width: 27px;
	height: 27px;
	border: 3px solid #e5e7eb;
	border-top-color: var(--primary);
	border-radius: 50%;
	animation: spin .7s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

.pagination .page-link {
	border-radius: 8px!important;
	margin: 0 2px;
	border-color: #e4e7ec;
	color: #42526a;
	font-size: 12px;
}

.pagination .active .page-link {
	background: var(--primary);
	border-color: var(--primary);
}

.toast-container {
	z-index: 2000;
}

.grade-grid {
	display: grid;
	grid-template-columns: minmax(320px,38%) 1fr;
	gap: 20px;
}

.sum-list {
	max-height: 66vh;
	overflow: auto;
}

.sum-item {
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 13px;
	margin-bottom: 9px;
	cursor: pointer;
	transition: .15s;
}

.sum-item:hover,.sum-item.active {
	border-color: #9ab0ff;
	background: #f4f7ff;
}

.sum-code {
	font-weight: 800;
	color: var(--primary);
}

.sum-text {
	font-size: 12.5px;
	color: #4b5563;
	margin-top: 4px;
}

.score-input {
	width: 88px;
	text-align: center;
	font-weight: 700;
}

.empty-state {
	padding: 36px;
	text-align: center;
	color: var(--muted);
}

.modal-content {
	border: 0;
	border-radius: 16px;
	box-shadow: 0 30px 80px rgba(15,23,42,.18);
}

.modal-header,.modal-footer {
	border-color: var(--line);
}

.modal-body.modal-scroll {
	max-height: 65vh;
	overflow: auto;
}

.filterbar {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: end;
}

.filterbar .field {
	min-width: 180px;
}

.login-page {
	min-height: 100vh;
	display: grid;
	place-items: center;
	background: radial-gradient(circle at 15% 10%,#e8eeff 0,transparent 35%),var(--soft);
}

.login-card {
	width: min(430px,92vw);
	padding: 32px;
}

.login-mark {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--primary);
	display: grid;
	place-items: center;
	color: #fff;
	font-weight: 900;
	font-size: 19px;
}

.report-paper {
	width: 210mm;
	min-height: 297mm;
	margin: 0 auto;
	background: #fff;
	padding: 18mm 16mm;
	box-shadow: 0 10px 40px rgba(0,0,0,.08);
}

.sidebar-backdrop {
	display: none;
}

@media(max-width:991.98px) {
	.sidebar {
		width: 272px;
		transform: translateX(-100%);
		box-shadow: 12px 0 30px rgba(15,23,42,.22);
	}

	.sidebar.open,body.sidebar-hidden .sidebar.open {
		transform: translateX(0);
	}

	.content,body.sidebar-hidden .content {
		margin-left: 0;
		width: 100%;
		padding: 20px 16px 28px;
	}

	.sidebar-backdrop {
		position: fixed;
		inset: var(--topbar) 0 0;
		background: rgba(15,23,42,.4);
		z-index: 1015;
	}

	.sidebar-backdrop.show {
		display: block;
	}

	.grade-grid {
		grid-template-columns: 1fr;
	}

	.topbar {
		padding: 0 12px;
	}

	.brand-copy small {
		max-width: 160px;
	}
}

@media(max-width:575.98px) {
	.topbar {
		padding: 0 10px;
		gap: 6px;
	}

	.topbar-start {
		gap: 8px;
		flex: 1 1 auto;
		min-width: 0;
	}

	.topbar-end {
		gap: 4px;
		flex: 0 0 auto;
	}

	.sidebar-toggle {
		width: 36px;
		height: 36px;
		flex: 0 0 36px;
	}

	.brand {
		gap: 8px;
		min-width: 0;
		max-width: calc(100vw - 118px);
	}

	.brand-logo {
		width: 35px;
		height: 35px;
		flex-basis: 35px;
	}

	.brand-copy {
		display: block;
		min-width: 0;
		max-width: 150px;
	}

	.brand-copy strong {
		font-size: 12.5px;
		line-height: 1.05;
	}

	.brand-copy small {
		font-size: 9.5px;
		margin-top: 3px;
		max-width: 150px;
	}

	.profile-trigger {
		gap: 4px;
		padding: 3px;
	}

	.profile-avatar {
		width: 34px;
		height: 34px;
	}

	.profile-chevron {
		width: 13px;
		height: 13px;
	}

	.page-title {
		font-size: 20px;
	}

	.page-heading {
		margin-bottom: 18px!important;
	}
}

@media(max-width:380px) {
	.brand-copy {
		max-width: 118px;
	}

	.brand-copy strong,.brand-copy small {
		max-width: 118px;
	}

	.brand-copy strong {
		font-size: 12px;
	}

	.brand-copy small {
		font-size: 9px;
	}
}

@media print {
	.topbar,.sidebar,.sidebar-backdrop,.no-print {
		display: none!important;
	}

	.content {
		margin: 0!important;
		padding: 0!important;
		width: 100%!important;
	}

	.report-paper {
		box-shadow: none;
		margin: 0;
		padding: 10mm;
		width: auto;
		min-height: auto;
	}

	body {
		background: #fff;
	}
}

/* UI refinement v2 */
:root {
	--radius: 12px;
	--card-border: #e7ecf3;
	--card-shadow: 0 4px 18px rgba(15,23,42,.045);
}

.side-link.active {
	background: #3157d5!important;
	color: #fff!important;
	box-shadow: none!important;
}

.side-link.active .side-icon {
	color: #fff!important;
	opacity: 1!important;
}

body.sidebar-hidden .side-link.active {
	box-shadow: none!important;
}

.panel,.card {
	border: 1px solid var(--card-border)!important;
	border-radius: 12px!important;
	box-shadow: var(--card-shadow)!important;
	background: #fff;
	overflow: hidden;
}

.card-header {
	border-radius: 0!important;
	background: #fff!important;
	border-bottom: 1px solid #edf1f6!important;
	padding: 15px 18px!important;
}

.card-body {
	padding: 18px;
}

.card-footer {
	border-radius: 0!important;
	border-top: 1px solid #edf1f6!important;
	background: #fff!important;
	padding: 12px 16px!important;
}

.stat {
	padding: 18px 20px;
}

.stat.card {
	min-height: 92px;
}

.modal-content {
	border-radius: 12px!important;
	overflow: hidden;
}

.sum-item {
	border-radius: 10px;
}

.ajax-pagination-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	min-height: 34px;
}

.ajax-pagination-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	color: #64748b;
	font-size: 12px;
	font-weight: 600;
}

.ajax-pagination-meta .page-size-wrap {
	display: flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
}

.ajax-pagination-meta .page-size {
	width: 72px;
	min-height: 32px;
	height: 32px;
	padding: 3px 26px 3px 9px;
	border-radius: 8px;
	font-size: 12px;
	color: #334155;
	background-color: #fff;
	border-color: #dfe4eb;
}

.ajax-pagination-info {
	white-space: nowrap;
}

.ajax-pagination-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-left: auto;
}

.pagination {
	gap: 3px;
}

.pagination .page-item {
	margin: 0;
}

.pagination .page-link {
	min-width: 32px;
	height: 32px;
	padding: 0 9px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #e2e8f0!important;
	border-radius: 8px!important;
	margin: 0!important;
	background: #fff!important;
	color: #526078!important;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	box-shadow: none!important;
}

.pagination .page-link:hover {
	background: #f1f5ff!important;
	border-color: #cbd7ff!important;
	color: #3157d5!important;
}

.pagination .page-item.active .page-link {
	background: #3157d5!important;
	border-color: #3157d5!important;
	color: #fff!important;
}

.pagination .page-item.disabled .page-link {
	background: #f8fafc!important;
	color: #aab3c2!important;
	border-color: #edf0f4!important;
	opacity: 1;
}

@media(max-width:767.98px) {
	.ajax-pagination-bar {
		align-items: flex-start;
		flex-direction: column;
	}

	.ajax-pagination-nav {
		margin-left: 0;
		width: 100%;
		justify-content: flex-start;
		overflow-x: auto;
		max-width: 100%;
	}

	.ajax-pagination-meta {
		width: 100%;
		justify-content: space-between;
	}

	.card-footer {
		padding: 11px 12px!important;
	}
}

/* Pagination visibility and standard table info v3 */
.card-footer .ajax-pagination-bar {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.ajax-pagination-meta {
	display: flex!important;
	align-items: center;
	gap: 16px;
	min-width: 0;
	color: #64748b!important;
}

.ajax-pagination-info {
	display: inline-block!important;
	color: #64748b!important;
	font-size: 12px!important;
	font-weight: 600!important;
	white-space: nowrap;
}

.ajax-pagination-meta .page-size-wrap {
	color: #64748b!important;
	font-weight: 600!important;
}

.pagination .page-link {
	color: #3157d5!important;
	background: #ffffff!important;
	border-color: #dbe2ee!important;
	font-weight: 700!important;
	opacity: 1!important;
	-webkit-text-fill-color: #3157d5!important;
}

.pagination .page-link:hover,.pagination .page-link:focus {
	color: #2448bd!important;
	-webkit-text-fill-color: #2448bd!important;
	background: #eef2ff!important;
	border-color: #b9c7f7!important;
}

.pagination .page-item.active>.page-link,.pagination .page-item.active .page-link {
	color: #ffffff!important;
	-webkit-text-fill-color: #ffffff!important;
	background: #3157d5!important;
	border-color: #3157d5!important;
}

.pagination .page-item.disabled>.page-link,.pagination .page-item.disabled .page-link {
	color: #7b8798!important;
	-webkit-text-fill-color: #7b8798!important;
	background: #f1f5f9!important;
	border-color: #e2e8f0!important;
}

@media(max-width:767.98px) {
	.card-footer .ajax-pagination-bar {
		flex-direction: column;
		align-items: stretch;
	}

	.ajax-pagination-meta {
		justify-content: space-between;
		width: 100%;
		gap: 10px;
	}

	.ajax-pagination-info {
		white-space: normal;
	}

	.ajax-pagination-nav {
		justify-content: flex-end!important;
		width: 100%;
		overflow-x: auto;
	}
}


/* Pagination v3 - high contrast */
.card-footer {
	background: #fff!important;
}

.ajax-pagination-bar {
	display: flex!important;
	align-items: center!important;
	justify-content: space-between!important;
	gap: 18px!important;
	width: 100%!important;
}

.ajax-pagination-meta {
	display: flex!important;
	align-items: center!important;
	gap: 14px!important;
	flex-wrap: wrap!important;
	color: #667085!important;
	font-size: 12px!important;
}

.ajax-pagination-info {
	display: inline-block!important;
	color: #667085!important;
	font-weight: 500!important;
	white-space: nowrap!important;
}

.ajax-pagination-meta .page-size-wrap {
	display: flex!important;
	align-items: center!important;
	gap: 7px!important;
	color: #667085!important;
}

.ajax-pagination-meta .page-size {
	width: 72px!important;
	height: 32px!important;
	padding: 3px 26px 3px 9px!important;
	color: #344054!important;
	background: #fff!important;
	border: 1px solid #d0d5dd!important;
	border-radius: 8px!important;
}

.ajax-pagination-nav {
	margin-left: auto!important;
	display: flex!important;
	justify-content: flex-end!important;
	align-items: center!important;
}

.pagination {
	display: flex!important;
	gap: 4px!important;
	margin: 0!important;
}

.pagination .page-item {
	display: block!important;
}

.pagination .page-link {
	display: flex!important;
	align-items: center!important;
	justify-content: center!important;
	min-width: 34px!important;
	height: 34px!important;
	padding: 0 10px!important;
	border: 1px solid #d0d5dd!important;
	border-radius: 8px!important;
	background: #fff!important;
	color: #344054!important;
	-webkit-text-fill-color: #344054!important;
	font-size: 12px!important;
	font-weight: 700!important;
	line-height: 1!important;
	box-shadow: none!important;
	opacity: 1!important;
}

.pagination .page-link:hover,.pagination .page-link:focus {
	background: #eef2ff!important;
	border-color: #aebcf6!important;
	color: #3157d5!important;
	-webkit-text-fill-color: #3157d5!important;
}

.pagination .page-item.active .page-link {
	background: #3157d5!important;
	border-color: #3157d5!important;
	color: #fff!important;
	-webkit-text-fill-color: #fff!important;
}

.pagination .page-item.disabled .page-link {
	background: #f2f4f7!important;
	border-color: #e4e7ec!important;
	color: #98a2b3!important;
	-webkit-text-fill-color: #98a2b3!important;
}

@media(max-width:767.98px) {
	.ajax-pagination-bar {
		flex-direction: column!important;
		align-items: stretch!important;
	}

	.ajax-pagination-meta {
		justify-content: space-between!important;
	}

	.ajax-pagination-info {
		white-space: normal!important;
	}

	.ajax-pagination-nav {
		width: 100%!important;
		overflow-x: auto!important;
		justify-content: flex-end!important;
	}
}

/* Pagination fixed 20/page: info on left, navigation on right */
.ajax-pagination-meta .page-size-wrap,.ajax-pagination-meta .page-size {
	display: none!important;
}

.ajax-pagination-info {
	color: #667085!important;
	font-weight: 500!important;
}

.ajax-pagination-nav {
	margin-left: auto!important;
}

/* Data Siswa: tab status dan aksi massal */
.student-status-tabs {
	gap: .4rem;
}

.student-status-tabs .nav-link {
	border: 1px solid #e1e7f0;
	color: #53627a;
	background: #fff;
	font-weight: 600;
	border-radius: 9px;
	padding: .48rem .9rem;
}

.student-status-tabs .nav-link:hover {
	color: #3157d5;
	border-color: #c6d2f6;
}

.student-status-tabs .nav-link.active {
	background: #3157d5!important;
	border-color: #3157d5!important;
	color: #fff!important;
	box-shadow: 0 5px 13px rgba(49,87,213,.18);
}

.check-col {
	width: 44px;
	text-align: center!important;
}

.check-col .form-check-input {
	margin: 0;
	vertical-align: middle;
	cursor: pointer;
}

.bulk-student-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 14px 16px;
	border-top: 1px solid #e7ebf1;
	background: #fbfcfe;
	border-radius: 0 0 12px 12px;
}

.bulk-selected {
	color: #65738a;
	white-space: nowrap;
}

.bulk-controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .55rem;
	flex-wrap: wrap;
}

.bulk-controls .form-select {
	min-width: 190px;
}

.bulk-controls #bulkClass {
	min-width: 220px;
}

@media(max-width:767.98px) {
	.bulk-student-bar {
		align-items: stretch;
		flex-direction: column;
	}

	.bulk-controls {
		justify-content: stretch;
	}

	.bulk-controls>* {
		flex: 1 1 100%;
	}

	.bulk-controls .form-select,.bulk-controls #bulkClass {
		width: 100%;
		min-width: 0;
	}

	.student-status-tabs {
		overflow-x: auto;
		flex-wrap: nowrap;
	}

	.student-status-tabs .nav-link {
		white-space: nowrap;
	}
}


/* Data Siswa: rapikan aksi massal tepat di bawah pagination */
.student-table-footer {
	padding: 0!important;
	border-top: 1px solid #edf1f6!important;
	background: #fff!important;
}

.student-table-footer>.ajax-pagination-bar {
	padding: 12px 16px!important;
	margin: 0!important;
	min-height: 58px;
}

.student-table-footer .bulk-student-bar {
	width: 100%;
	margin: 0!important;
	padding: 12px 16px!important;
	border-top: 1px solid #edf1f6!important;
	background: #f8fafc!important;
	border-radius: 0!important;
}

.student-table-footer .bulk-selected {
	display: flex;
	align-items: center;
	min-height: 36px;
	color: #667085;
	font-size: 12px;
	font-weight: 600;
}

.student-table-footer .bulk-selected strong {
	color: #3157d5;
	font-weight: 700;
	margin-right: 4px;
}

.student-table-footer .bulk-controls {
	margin-left: auto;
}

@media(max-width:767.98px) {
	.student-table-footer>.ajax-pagination-bar {
		padding: 11px 12px!important;
	}

	.student-table-footer .bulk-student-bar {
		padding: 12px!important;
	}

	.student-table-footer .bulk-controls {
		margin-left: 0;
	}
}

/* Data Siswa - Aksi massal bergaya form horizontal */
.student-table-footer .bulk-student-bar {
	display: block!important;
	padding: 14px 16px 16px!important;
	background: #fff!important;
	border-top: 1px solid #edf1f6!important;
}

.student-table-footer .bulk-controls-grid {
	display: grid!important;
	grid-template-columns: minmax(220px,305px) minmax(220px,305px) auto;
	align-items: end!important;
	justify-content: start!important;
	gap: 8px!important;
	margin: 0!important;
	width: 100%;
}

.student-table-footer .bulk-field {
	min-width: 0;
}

.student-table-footer .bulk-field .form-label {
	font-size: 12px!important;
	font-weight: 700!important;
	color: #111827!important;
}

.student-table-footer .bulk-field .form-select {
	width: 100%!important;
	min-width: 0!important;
	height: 44px!important;
	border: 1px solid #d8dee9!important;
	border-radius: 9px!important;
	padding-left: 13px!important;
	color: #344054!important;
	background-color: #fff!important;
	box-shadow: none!important;
}

.student-table-footer .bulk-field .form-select:focus {
	border-color: #3157d5!important;
	box-shadow: 0 0 0 3px rgba(49,87,213,.08)!important;
}

.student-table-footer .bulk-selected {
	display: inline-flex!important;
	min-height: 0!important;
	align-items: center!important;
	font-size: 11px!important;
	font-weight: 500!important;
	color: #98a2b3!important;
	white-space: nowrap;
}

.student-table-footer .bulk-selected strong {
	margin-right: 3px!important;
	color: #3157d5!important;
}

.student-table-footer .bulk-apply-wrap {
	display: flex;
	align-items: flex-end;
	height: 44px;
}

.student-table-footer .bulk-apply-wrap .btn {
	height: 36px!important;
	min-width: 82px!important;
	border-radius: 8px!important;
	margin-bottom: 4px!important;
	font-weight: 600!important;
}

@media(max-width:767.98px) {
	.student-table-footer .bulk-controls-grid {
		grid-template-columns: 1fr!important;
		gap: 10px!important;
	}

	.student-table-footer .bulk-apply-wrap {
		height: auto!important;
	}

	.student-table-footer .bulk-apply-wrap .btn {
		width: 100%!important;
		height: 42px!important;
		margin: 0!important;
	}
}

.teacher-bulk-grid {
	grid-template-columns: minmax(230px,1fr) minmax(230px,1fr) auto;
}

@media (max-width:767.98px) {
	.teacher-bulk-grid {
		grid-template-columns: 1fr;
	}
}

/* STS report preview - aligned with official mid-semester report layout */
.report-sts {
	font-family: Arial,Helvetica,sans-serif;
	color: #111;
}

.report-sts .report-identity {
	display: flex;
	gap: 56px;
	align-items: flex-start;
	font-size: 12px;
	line-height: 1.45;
}

.report-sts .report-identity-col {
	flex: 1;
	min-width: 0;
}

.report-sts .report-identity-right {
	padding-left: 30px;
}

.report-sts .report-identity-table {
	width: 100%;
	border-collapse: collapse;
}

.report-sts .report-identity-table td {
	padding: 2px 0;
	vertical-align: top;
	border: 0;
}

.report-sts .report-identity-table td:first-child {
	width: 118px;
	white-space: nowrap;
}

.report-sts .report-identity-table .colon {
	width: 16px;
	text-align: center;
}

.report-sts .report-identity-divider {
	border-top: 1px solid #777;
	margin: 14px 0 0;
}

.report-sts .report-main-title {
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	letter-spacing: .15px;
	margin: 28px 0 28px;
	white-space: nowrap;
}

.report-sts .report-table-wrap {
	overflow: visible;
}

.report-sts .report-score-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 11px;
	table-layout: fixed;
}

.report-sts .report-score-table th,.report-sts .report-score-table td {
	border: 1px solid #777;
	padding: 6px 6px;
	vertical-align: middle;
}

.report-sts .report-score-table thead th {
	text-align: center;
	font-weight: 700;
	background: #fff;
}

.report-sts .report-score-table .col-no {
	width: 38px;
}

.report-sts .report-score-table .col-subject {
	width: 245px;
}

.report-sts .report-score-table .col-score {
	width: 45px;
}

.report-sts .report-score-table .col-average {
	width: 82px;
}

.report-sts .report-group-row td {
	font-weight: 700;
	background: #fafafa;
	padding-top: 5px;
	padding-bottom: 5px;
}

@media(max-width:767.98px) {
	.report-sts .report-identity {
		display: block;
	}

	.report-sts .report-identity-right {
		padding-left: 0;
		margin-top: 8px;
	}

	.report-sts .report-main-title {
		font-size: 15px;
		white-space: normal;
	}

	.report-sts .report-table-wrap {
		overflow-x: auto;
	}

	.report-sts .report-score-table {
		min-width: 760px;
	}
}

@media print {
	.report-sts .report-identity {
		display: flex!important;
	}

	.report-sts .report-main-title {
		font-size: 16px;
		margin: 22px 0 22px;
		white-space: nowrap;
	}

	.report-sts .report-score-table {
		font-size: 9px;
	}

	.report-sts .report-score-table th,.report-sts .report-score-table td {
		padding: 4px;
	}
}

/* STS report refinement: larger type, compact A4 layout, aligned lower section */
.report-sts .report-score-table {
	font-size: 12.5px;
	line-height: 1.22;
}

.report-sts .report-score-table th,.report-sts .report-score-table td {
	padding: 4px 6px;
	vertical-align: middle;
}

.report-sts .report-score-table .report-subject-name {
	vertical-align: middle;
	text-align: left;
	line-height: 1.22;
}

.report-sts .report-score-table .report-average-cell {
	text-align: center!important;
	vertical-align: middle!important;
}

.report-sts .report-score-table tbody td.text-center {
	text-align: center!important;
	vertical-align: middle!important;
}

.report-sts .report-group-row td {
	padding-top: 4px;
	padding-bottom: 4px;
}

.report-sts .report-bottom-grid {
	display: grid;
	grid-template-columns: 40% 60%;
	gap: 16px;
	margin-top: 14px;
	font-size: 11.5px;
	align-items: stretch;
}

.report-sts .report-bottom-grid h6 {
	font-size: 11.5px;
	font-weight: 700;
	margin: 0 0 6px;
}

.report-sts .report-attendance-box table {
	width: 100%;
	border-collapse: collapse;
}

.report-sts .report-attendance-box td {
	padding: 1px 0;
	border: 0;
	vertical-align: top;
}

.report-sts .report-attendance-box td:first-child {
	width: 145px;
}

.report-sts .report-note-box {
	border: 1px solid #777;
	min-height: 62px;
	padding: 7px 9px;
	line-height: 1.3;
	border-radius: 0;
}

.report-sts .report-signatures {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 16px;
	margin-top: 18px;
	font-size: 11px;
	line-height: 1.25;
	page-break-inside: avoid;
	break-inside: avoid;
}

.report-sts .signature-space {
	height: 42px;
}

.report-sts .signature-space-short {
	height: 31px;
}

.report-sts .report-bottom-grid {
	page-break-inside: avoid;
	break-inside: avoid;
}

@media(max-width:767.98px) {
	.report-sts .report-bottom-grid {
		grid-template-columns: 1fr;
	}

	.report-sts .report-signatures {
		grid-template-columns: 1fr;
		gap: 22px;
	}
}

@media print {
	.report-paper.report-sts {
		padding: 7mm 9mm!important;
	}

	.report-sts .report-identity {
		font-size: 11px;
		line-height: 1.32;
	}

	.report-sts .report-identity-table td {
		padding: 1px 0;
	}

	.report-sts .report-identity-divider {
		margin-top: 8px;
	}

	.report-sts .report-main-title {
		font-size: 16px;
		margin: 15px 0 15px;
	}

	.report-sts .report-score-table {
		font-size: 11px;
		line-height: 1.18;
	}

	.report-sts .report-score-table th,.report-sts .report-score-table td {
		padding: 2.5px 4px;
	}

	.report-sts .report-group-row td {
		padding-top: 2.5px;
		padding-bottom: 2.5px;
	}

	.report-sts .report-bottom-grid {
		display: grid!important;
		grid-template-columns: 40% 60%!important;
		gap: 12px;
		margin-top: 10px;
		font-size: 10.5px;
	}

	.report-sts .report-bottom-grid h6 {
		font-size: 10.5px;
		margin-bottom: 4px;
	}

	.report-sts .report-note-box {
		min-height: 46px;
		padding: 5px 7px;
	}

	.report-sts .report-signatures {
		display: grid!important;
		grid-template-columns: 1fr 1fr 1fr!important;
		gap: 10px;
		margin-top: 11px;
		font-size: 10px;
	}

	.report-sts .signature-space {
		height: 30px;
	}

	.report-sts .signature-space-short {
		height: 24px;
	}
}

/* Mapel pilihan: pemilih peserta massal */
.participant-picker-wrap {
	border: 1px solid var(--bs-border-color,#dee2e6);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

.participant-picker-wrap .table-responsive {
	max-height: 420px;
	overflow: auto;
}

.participant-picker-wrap .table thead th {
	position: sticky;
	top: 0;
	z-index: 2;
	background: #f8fafc;
}

.participant-picker-wrap .card-footer {
	border-top: 1px solid var(--bs-border-color,#dee2e6);
	padding: .65rem .8rem!important;
}

#participantSelectedCount {
	font-weight: 700;
	color: #3157d5;
}

/* Responsive page heading actions: keep desktop layout, stack actions under title on narrow screens */
.page-heading {
	gap: 16px;
}

.page-heading-copy {
	min-width: 0;
	flex: 1 1 auto;
}

.page-heading-actions {
	flex: 0 0 auto;
	min-width: 0;
}

.page-heading-actions:empty {
	display: none;
}

.page-heading-actions>.d-flex {
	justify-content: flex-end;
}

@media(max-width:767.98px) {
	.page-heading {
		flex-direction: column!important;
		align-items: stretch!important;
		gap: 12px!important;
	}

	.page-heading-copy {
		width: 100%;
	}

	.page-heading-actions {
		width: 100%;
	}

	.page-heading-actions>.d-flex {
		width: 100%;
		justify-content: flex-start!important;
		align-items: stretch!important;
		gap: 8px!important;
	}

	.page-heading-actions>.d-flex>.btn,
  .page-heading-actions>.d-flex>a.btn,
  .page-heading-actions>.d-flex>form {
		flex: 1 1 calc(50% - 4px);
		min-width: 0;
	}

	.page-heading-actions>.d-flex>form>.btn {
		width: 100%;
	}
}

@media(max-width:420px) {
	.page-heading-actions>.d-flex>.btn,
  .page-heading-actions>.d-flex>a.btn,
  .page-heading-actions>.d-flex>form {
		flex-basis: 100%;
		width: 100%;
	}
}

/* Global application footer */
.content {
	min-height: calc(100vh - var(--topbar));
	display: flex;
	flex-direction: column;
}

.app-footer {
	margin-top: auto;
	margin-left: -24px;
	margin-right: -24px;
	margin-bottom: -24px;
	padding: 14px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	background: #fff;
	border-top: 1px solid #e7ecf3;
	border-left: 0;
	border-right: 0;
	border-bottom: 0;
	border-radius: 0;
	box-shadow: 0 -1px 5px rgba(15,23,42,.025);
	color: #7b8798;
	font-size: 11.5px;
	font-weight: 500;
	position: relative;
}

.app-footer::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -18px;
	height: 18px;
	background: #f5f7fb;
	pointer-events: none;
}

.app-footer-left,.app-footer-right {
	min-width: 0;
}

.app-footer-right {
	text-align: right;
}

@media(max-width:991.98px) {
	.app-footer {
		margin-left: -16px;
		margin-right: -16px;
		margin-bottom: -16px;
		padding-left: 16px;
		padding-right: 16px;
	}
}

@media(max-width:767.98px) {
	.app-footer {
		padding-top: 13px;
		padding-bottom: 13px;
		flex-direction: column;
		justify-content: center;
		text-align: center;
		gap: 4px;
	}

	.app-footer-left,.app-footer-right {
		width: 100%;
		text-align: center;
	}
}

/* Footer final fix: flush to viewport bottom without leftover content padding */
.content {
	min-height: calc(100vh - var(--topbar))!important;
	display: flex!important;
	flex-direction: column!important;
	padding-bottom: 0!important;
}

.app-footer {
	flex: 0 0 auto!important;
	margin-top: auto!important;
	margin-left: -28px!important;
	margin-right: -28px!important;
	margin-bottom: 0!important;
	padding: 14px 28px!important;
	background: #fff!important;
	border-top: 1px solid #e7ecf3!important;
	border-left: 0!important;
	border-right: 0!important;
	border-bottom: 0!important;
	border-radius: 0!important;
	box-shadow: 0 -1px 5px rgba(15,23,42,.025)!important;
}

.app-footer::before {
	display: none!important;
	content: none!important;
}

@media(max-width:991.98px) {
	.content {
		padding-bottom: 0!important;
	}

	.app-footer {
		margin-left: -16px!important;
		margin-right: -16px!important;
		margin-bottom: 0!important;
		padding-left: 16px!important;
		padding-right: 16px!important;
	}
}

@media(max-width:767.98px) {
	.app-footer {
		padding-top: 13px!important;
		padding-bottom: 13px!important;
	}
}

/* Guru dashboard */
.teacher-stat-card {
	position: relative;
	overflow: hidden;
	padding: 22px 20px;
	min-height: 108px;
	text-align: center;
	justify-content: center;
}

.teacher-stat-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: #d9e2f2;
}

.teacher-stat-card.teacher-stat-mapel::before {
	background: #3157d5;
}

.teacher-stat-card.teacher-stat-kelas::before {
	background: #4b91c5;
}

.teacher-stat-card.teacher-stat-draft::before {
	background: #d99a2b;
}

.teacher-stat-card.teacher-stat-sent::before {
	background: #35a06f;
}

.teacher-stat-card .stat-label {
	font-size: 11.5px;
	margin-bottom: 7px;
}

.teacher-stat-card .stat-value {
	font-size: 29px;
	line-height: 1.05;
	margin-top: 0;
}

.attention-list {
	padding: 8px 20px 16px;
}

.attention-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 15px 0;
	border-bottom: 1px solid #edf1f7;
}

.attention-item:last-child {
	border-bottom: 0;
}

.attention-item>div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.attention-item strong {
	font-size: 14px;
}

.attention-item small {
	color: #718096;
	line-height: 1.45;
}

.attention-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	margin-top: 6px;
	flex: 0 0 auto;
}

.attention-danger {
	background: #ef4444;
}

.attention-warning {
	background: #f59e0b;
}

.attention-primary {
	background: #3157d5;
}

.homeroom-summary-card {
	overflow: hidden;
}

.mini-progress-box {
	border: 1px solid #e4eaf3;
	border-radius: 10px;
	padding: 13px 15px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	background: #fbfcfe;
}

.mini-progress-box span {
	font-size: 13px;
	color: #64748b;
}

.mini-progress-box strong {
	font-size: 20px;
	color: #172033;
}

@media (max-width:767.98px) {
	.teacher-stat-card {
		min-height: 94px;
		padding: 17px 12px;
	}

	.teacher-stat-card .stat-value {
		font-size: 25px;
	}

	.attention-list {
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* Guru activity feed */
.activity-feed {
	padding: 4px 20px 12px;
	max-height: 360px;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
}

.activity-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid #edf1f7;
}

.activity-item:last-child {
	border-bottom: 0;
}

.activity-icon {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	margin-top: 6px;
	flex: 0 0 auto;
	box-shadow: 0 0 0 4px rgba(49,87,213,.08);
}

.activity-primary {
	background: #3157d5;
}

.activity-success {
	background: #22a06b;
}

.activity-warning {
	background: #f59e0b;
}

.activity-danger {
	background: #ef4444;
}

.activity-copy {
	min-width: 0;
}

.activity-text {
	font-size: 13.5px;
	font-weight: 600;
	color: #263246;
	line-height: 1.45;
}

.activity-time {
	margin-top: 3px;
	font-size: 11.5px;
	color: #8a96a8;
}

@media(max-width:767.98px) {
	.activity-feed {
		padding-left: 16px;
		padding-right: 16px;
	}

	.activity-text {
		font-size: 13px;
	}
}

.activity-feed::-webkit-scrollbar {
	width: 7px;
}

.activity-feed::-webkit-scrollbar-thumb {
	background: #d9e1ec;
	border-radius: 999px;
}

.activity-feed::-webkit-scrollbar-track {
	background: transparent;
}

/* Page title status badge */
.page-title-line {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	flex-wrap: wrap;
}

.page-title-line .page-title {
	flex: 0 1 auto;
}

.page-status-badge {
	font-size: 11.5px;
	line-height: 1;
	padding: 6px 9px;
	vertical-align: middle;
	text-transform: none;
}

@media(max-width:575.98px) {
	.page-title-line {
		gap: 7px;
	}

	.page-status-badge {
		font-size: 11.5px;
	}
}

/* Rapor STS - lower section formal layout (preview web = PDF) */
.report-sts .report-bottom-grid.report-bottom-formal {
	display: grid;
	grid-template-columns: 32% 68%;
	gap: 18px;
	margin-top: 14px;
	align-items: start;
	font-size: 11.5px;
	page-break-inside: avoid;
	break-inside: avoid;
}

.report-sts .report-lower-table,
.report-sts .report-note-formal {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #222;
	color: #111;
	background: #fff;
}

.report-sts .report-lower-table th,
.report-sts .report-lower-heading {
	font-size: 11.5px;
	font-weight: 400;
	text-align: center;
	line-height: 1.15;
	padding: 2px 5px;
	border-bottom: 1px solid #222;
	background: #fff;
}

.report-sts .report-attendance-table td {
	border: 1px solid #222;
	padding: 2px 7px;
	line-height: 1.18;
	vertical-align: middle;
}

.report-sts .report-attendance-table td:first-child {
	width: 67%;
}

.report-sts .report-attendance-table td:last-child {
	white-space: nowrap;
}

.report-sts .report-note-formal {
	min-height: 96px;
	height: auto;
}

.report-sts .report-note-content {
	min-height: 74px;
	padding: 7px 9px;
	line-height: 1.3;
	text-align: left;
	overflow: visible;
	overflow-wrap: anywhere;
}

.report-sts .report-signature-area {
	margin-top: 34px;
	font-size: 11.5px;
	line-height: 1.25;
	color: #111;
	page-break-inside: avoid;
	break-inside: avoid;
}

.report-sts .report-signature-top-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 120px;
	align-items: start;
}

.report-sts .report-signature-block {
	text-align: center;
}

.report-sts .report-signature-wali {
	justify-self: end;
	min-width: 280px;
}

.report-sts .report-signature-parent {
	justify-self: start;
	min-width: 220px;
}

.report-sts .signature-space {
	height: 88px;
}

.report-sts .signature-space-parent {
	height: 98px;
}

.report-sts .signature-space-headmaster {
	height: 90px;
}

.report-sts .signature-name-underlined {
	display: inline-block;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.report-sts .signature-underline-line {
	width: 150px;
	border-bottom: 1px solid #111;
	margin: 0 auto;
}

.report-sts .report-signature-headmaster {
	width: 38%;
	margin: 8px auto 0;
	text-align: center;
}

@media(max-width:767.98px) {
	.report-sts .report-bottom-grid.report-bottom-formal {
		grid-template-columns: 32% 68%;
		gap: 10px;
		font-size: 10px;
	}

	.report-sts .report-lower-table th,.report-sts .report-lower-heading {
		font-size: 10px;
	}

	.report-sts .report-signature-area {
		font-size: 10px;
	}

	.report-sts .report-signature-top-row {
		grid-template-columns: 1fr 1fr;
		column-gap: 30px;
	}

	.report-sts .report-signature-parent {
		min-width: 0;
	}

	.report-sts .report-signature-wali {
		min-width: 0;
	}
}

@media print {
	.report-sts .report-bottom-grid.report-bottom-formal {
		display: grid!important;
		grid-template-columns: 32% 68%!important;
		gap: 13px;
		margin-top: 10px;
		font-size: 9.5px;
	}

	.report-sts .report-lower-table th,.report-sts .report-lower-heading {
		font-size: 9.5px;
		padding: 1.5px 4px;
	}

	.report-sts .report-attendance-table td {
		padding: 1.5px 5px;
	}

	.report-sts .report-note-formal {
		min-height: 72px;
		height: auto;
	}

	.report-sts .report-note-content {
		min-height: 54px;
		padding: 5px 7px;
		overflow: visible;
	}

	.report-sts .report-signature-area {
		margin-top: 24px;
		font-size: 9.5px;
	}

	.report-sts .report-signature-top-row {
		display: grid!important;
		grid-template-columns: 1fr 1fr!important;
		column-gap: 90px;
	}

	.report-sts .signature-space {
		height: 70px;
	}

	.report-sts .signature-space-parent {
		height: 78px;
	}

	.report-sts .signature-space-headmaster {
		height: 70px;
	}

	.report-sts .report-signature-headmaster {
		width: 38%;
		margin-top: 6px;
	}
}


/* Rapor STS: ukuran cetak diperbesar agar nyaman dibaca pada kertas A4 */
@media print {
	.report-sts .report-identity {
		font-size: 12px!important;
		line-height: 1.38!important;
	}

	.report-sts .report-main-title {
		font-size: 17px!important;
	}

	.report-sts .report-score-table {
		font-size: 13.5px!important;
		line-height: 1.24!important;
	}

	.report-sts .report-score-table th,.report-sts .report-score-table td {
		padding: 3px 4px!important;
	}

	.report-sts .report-bottom-grid.report-bottom-formal {
		font-size: 12px!important;
	}

	.report-sts .report-lower-table th,.report-sts .report-lower-heading {
		font-size: 12px!important;
	}

	.report-sts .report-attendance-table td {
		font-size: 12px!important;
	}

	.report-sts .report-note-content {
		font-size: 12px!important;
		line-height: 1.38!important;
	}

	.report-sts .report-signature-area {
		font-size: 12px!important;
	}
}


/* Rapor STS: samakan keterbacaan bagian bawah dengan tabel nilai */
.report-sts .report-bottom-grid.report-bottom-formal {
	font-size: 13px;
}

.report-sts .report-lower-table th,.report-sts .report-lower-heading {
	font-size: 13px;
}

.report-sts .report-attendance-table td {
	font-size: 13px;
}

.report-sts .report-note-content {
	font-size: 13px;
	line-height: 1.38;
}

.report-sts .report-signature-area {
	font-size: 13px;
}

.report-sts .signature-date-spacer {
	line-height: 1.25;
}

@media print {
	.report-sts .report-bottom-grid.report-bottom-formal {
		font-size: 13.5px!important;
	}

	.report-sts .report-lower-table th,.report-sts .report-lower-heading {
		font-size: 13.5px!important;
	}

	.report-sts .report-attendance-table td {
		font-size: 13.5px!important;
	}

	.report-sts .report-note-content {
		font-size: 13.5px!important;
		line-height: 1.34!important;
	}

	.report-sts .report-signature-area {
		font-size: 13.5px!important;
	}
}