/* ==================================================================
 * SIAKAD STIE Nusantara - Tema tampilan
 * ------------------------------------------------------------------
 * Lapisan gaya modern di atas Tabler. Dimuat paling akhir lewat
 * template/head.php sehingga berlaku sama di seluruh halaman.
 * ================================================================== */

:root {
	--sk-primary: #7b203a;
	--sk-primary-dark: #60182c;
	--sk-primary-soft: #f8edf0;
	--sk-navy: #4b1629;
	--sk-navy-2: #7b203a;
	--sk-accent: #a44762;
	--sk-success: #16a34a;
	--sk-warning: #d97706;
	--sk-danger: #dc2626;
	--sk-info: #0284c7;

	--sk-bg: #f6f7f9;
	--sk-surface: #ffffff;
	--sk-border: #e6eaf2;
	--sk-text: #1f2937;
	--sk-muted: #6b7280;

	--sk-radius: 12px;
	--sk-radius-sm: 10px;
	--sk-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 6px 20px -12px rgba(16, 24, 40, .18);
	--sk-shadow-hover: 0 2px 6px rgba(16, 24, 40, .06), 0 18px 36px -20px rgba(16, 24, 40, .28);

	/* selaraskan token bawaan Tabler */
	--tblr-body-bg: var(--sk-bg);
	--tblr-body-color: var(--sk-text);
	--tblr-primary: var(--sk-primary);
	--tblr-border-color: var(--sk-border);
	--tblr-font-sans-serif: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* ---------- dasar ---------- */
body {
	background: var(--sk-bg);
	color: var(--sk-text);
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	font-size: .875rem;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

.page-wrapper {
	min-height: calc(100vh - 120px);
}

.page-body {
	margin-top: 1.25rem;
}

a {
	color: var(--sk-primary);
	text-decoration: none;
}

a:hover {
	color: var(--sk-primary-dark);
}

::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

::-webkit-scrollbar-thumb {
	background: #cbd5e1;
	border-radius: 8px;
	border: 2px solid var(--sk-bg);
}

::-webkit-scrollbar-thumb:hover {
	background: #94a3b8;
}

/* ---------- bilah atas ---------- */
header.navbar.navbar-dark,
.navbar.navbar-dark {
	background: linear-gradient(120deg, var(--sk-navy) 0%, var(--sk-navy-2) 100%);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 10px 30px -18px rgba(75, 22, 41, .9);
	padding-top: .55rem;
	padding-bottom: .55rem;
	position: sticky;
	top: 0;
	z-index: 1030;
}

header.navbar .navbar-brand,
header.navbar .navbar-brand a {
	color: #fff;
	font-weight: 700;
	font-size: 1.05rem;
	letter-spacing: -.01em;
}

header.navbar .navbar-brand a:hover {
	color: #dbeafe;
}

header.navbar .nav-link,
header.navbar .text-reset {
	color: rgba(255, 255, 255, .92) !important;
}

header.navbar .nav-link .small,
header.navbar .text-muted {
	color: rgba(255, 255, 255, .65) !important;
}

header.navbar .avatar,
header.navbar img {
	border: 2px solid rgba(255, 255, 255, .35);
	border-radius: 10px !important;
	background-color: rgba(255, 255, 255, .15);
}

header.navbar .navbar-toggler {
	border-color: rgba(255, 255, 255, .35);
}

/* ---------- bilah menu ---------- */
.navbar-expand-md .navbar-light,
.navbar.navbar-light {
	background: var(--sk-surface);
	border-bottom: 1px solid var(--sk-border);
	padding: .15rem 0;
	box-shadow: 0 6px 18px -18px rgba(16, 24, 40, .6);
}

.navbar-light .navbar-nav .nav-link {
	color: #475467;
	font-weight: 500;
	border-radius: var(--sk-radius-sm);
	padding: .55rem .85rem;
	margin: .15rem .1rem;
	transition: background-color .15s ease, color .15s ease;
}

.navbar-light .navbar-nav .nav-link:hover {
	background: var(--sk-primary-soft);
	color: var(--sk-primary-dark);
}

.navbar-light .navbar-nav .nav-item.active > .nav-link,
.navbar-light .navbar-nav .nav-link.active {
	background: var(--sk-primary);
	color: #fff;
}

.navbar-light .navbar-nav .nav-item.active > .nav-link .nav-link-icon svg,
.navbar-light .navbar-nav .nav-link.active .nav-link-icon svg {
	color: #fff;
}

.navbar-light .navbar-nav .nav-link-title {
	white-space: nowrap;
}

.navbar-light .navbar-nav {
	flex-wrap: wrap;
}

.nav-link-icon svg {
	width: 18px;
	height: 18px;
	stroke-width: 1.9;
}

.dropdown-menu {
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius);
	box-shadow: var(--sk-shadow-hover);
	padding: .4rem;
	margin-top: .35rem;
}

.dropdown-item {
	border-radius: var(--sk-radius-sm);
	padding: .5rem .7rem;
	font-weight: 500;
}

.dropdown-item:hover,
.dropdown-item:focus {
	background: var(--sk-primary-soft);
	color: var(--sk-primary-dark);
}

/* ---------- judul halaman ---------- */
.page-header {
	padding: 1.6rem 0 .35rem;
}

.page-title {
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: -.02em;
	color: #101828;
	margin: 0;
	display: block;
}

.page-subtitle {
	color: var(--sk-muted);
	font-size: .85rem;
	margin-top: .2rem;
}

.page-title::after {
	content: "";
	display: block;
	width: 42px;
	height: 3px;
	margin-top: .5rem;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--sk-primary), var(--sk-accent));
}

/* ---------- kartu ---------- */
.card {
	background: var(--sk-surface);
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius);
	box-shadow: var(--sk-shadow);
	transition: box-shadow .18s ease, transform .18s ease;
}

.card:hover {
	box-shadow: var(--sk-shadow-hover);
}

/* kartu bersarang (pola lama: .card di dalam .card) dibuat polos */
.card .card {
	box-shadow: none;
	border: 0;
	border-radius: 0;
}

.card .card:hover {
	box-shadow: none;
}

.card-header {
	border-bottom: 1px solid var(--sk-border);
	padding: 1rem 1.25rem;
	background: transparent;
	min-height: auto;
}

.card-title {
	font-weight: 650;
	font-size: 1rem;
	color: #101828;
	margin: 0;
}

.card-body {
	padding: 1.15rem 1.25rem;
}

.card-status-top {
	height: 4px;
	border-radius: var(--sk-radius) var(--sk-radius) 0 0;
}

/* ---------- tabel ---------- */
.table {
	--tblr-table-bg: transparent;
	color: var(--sk-text);
	margin-bottom: 0;
}

.table > thead th,
.table > thead > tr > th {
	background: #f8fafc;
	border-bottom: 1px solid var(--sk-border);
	color: #475467;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
	padding: .7rem .85rem;
	vertical-align: middle;
}

.table > tbody > tr > td {
	border-top: 1px solid #f1f3f9;
	padding: .7rem .85rem;
	vertical-align: middle;
}

.table > tbody > tr:hover > td {
	background: #fcf6f8;
}

.table-responsive {
	border-radius: var(--sk-radius);
}

/* tabel kecil pembungkus tombol aksi di dalam sel */
.card-table td > table,
.table td > table {
	width: auto;
	margin: 0;
}

.card-table td > table td,
.table td > table td {
	border: 0;
	padding: 0 .15rem;
}

/* tautan ikon polos di dalam tabel (mis. tombol hapus tanpa kelas) */
.table td > a:not([class]),
.table td > table td > a:not([class]) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: var(--sk-radius-sm);
	border: 1px solid var(--sk-border);
	background: #fff;
	color: #667085;
	transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}

.table td > a:not([class]):hover {
	border-color: #e8bdc9;
	background: var(--sk-primary-soft);
	color: var(--sk-primary-dark);
}

.table td > a:not([class])[onclick*="apus"]:hover,
.table td > table td > a:not([class])[onclick*="apus"]:hover {
	border-color: #fecaca;
	background: #fef2f2;
	color: var(--sk-danger);
}

.table td > a:not([class]) svg {
	width: 18px;
	height: 18px;
}

/* foto di dalam tabel */
.table td img {
	border-radius: 10px;
	object-fit: cover;
	max-width: 56px;
	border: 1px solid var(--sk-border);
}

/* ---------- tombol ---------- */
.btn {
	border-radius: var(--sk-radius-sm);
	font-weight: 600;
	font-size: .82rem;
	padding: .5rem .9rem;
	border: 1px solid transparent;
	transition: background-color .15s ease, box-shadow .15s ease, transform .05s ease;
}

.btn:active {
	transform: translateY(1px);
}

.btn svg {
	width: 18px;
	height: 18px;
	stroke-width: 1.9;
}

/* tombol tanpa varian (banyak dipakai halaman lama) */
.btn:not([class*="btn-"]),
.btn.btn-default {
	background: var(--sk-surface);
	border-color: var(--sk-border);
	color: #344054;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}

.btn:not([class*="btn-"]):hover,
.btn.btn-default:hover {
	background: #f8fafc;
	border-color: #d7dded;
	color: var(--sk-primary-dark);
}

.btn-primary {
	background: var(--sk-primary);
	border-color: var(--sk-primary);
	color: #fff;
}

.btn-primary:hover,
.btn-primary:focus {
	background: var(--sk-primary-dark);
	border-color: var(--sk-primary-dark);
	color: #fff;
}

.btn-success {
	background: var(--sk-success);
	border-color: var(--sk-success);
	color: #fff;
}

.btn-success:hover {
	background: #15803d;
	border-color: #15803d;
	color: #fff;
}

.btn-danger {
	background: var(--sk-danger);
	border-color: var(--sk-danger);
	color: #fff;
}

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

.btn-info {
	background: var(--sk-info);
	border-color: var(--sk-info);
	color: #fff;
}

.btn-info:hover {
	background: #0369a1;
	border-color: #0369a1;
	color: #fff;
}

.btn-warning {
	background: var(--sk-warning);
	border-color: var(--sk-warning);
	color: #fff;
}

.btn-warning:hover {
	background: #b45309;
	border-color: #b45309;
	color: #fff;
}

.btn-secondary {
	background: #f1f5f9;
	border-color: #e2e8f0;
	color: #334155;
}

/* tombol yang isinya hanya ikon */
.btn.btn-icon,
.table .btn:has(> svg:only-child) {
	width: 34px;
	height: 34px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* ---------- formulir ---------- */
.form-label,
label {
	font-weight: 600;
	font-size: .8rem;
	color: #344054;
	margin-bottom: .35rem;
}

.form-control,
.form-select,
textarea,
input[type="text"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="email"],
input[type="password"],
select {
	border-radius: var(--sk-radius-sm);
	border: 1px solid #dfe4ee;
	padding: .55rem .75rem;
	font-size: .85rem;
	color: var(--sk-text);
	background-color: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.form-control:focus,
.form-select:focus,
textarea:focus,
select:focus,
input:focus {
	border-color: var(--sk-primary);
	box-shadow: 0 0 0 3px rgba(123, 32, 58, .14);
	outline: 0;
}

.form-hint,
small.form-hint {
	color: var(--sk-muted);
	font-size: .78rem;
	font-weight: 400;
}

.form-check-input:checked {
	background-color: var(--sk-primary);
	border-color: var(--sk-primary);
}

.input-icon .input-icon-addon {
	color: #98a2b3;
}

.input-icon .form-control {
	padding-left: 2.4rem;
}

/* ---------- modal & offcanvas ---------- */
.modal-content {
	border: 0;
	border-radius: var(--sk-radius);
	box-shadow: 0 24px 60px -20px rgba(16, 24, 40, .45);
	overflow: hidden;
}

.modal-header {
	border-bottom: 1px solid var(--sk-border);
	padding: 1rem 1.25rem;
}

.modal-title {
	font-weight: 650;
	font-size: 1rem;
}

.modal-body {
	padding: 1.25rem;
}

.modal-footer {
	border-top: 1px solid var(--sk-border);
	padding: .9rem 1.25rem;
	gap: .5rem;
}

.modal-backdrop.show {
	opacity: .45;
}

.offcanvas {
	border: 0;
	box-shadow: 0 24px 60px -20px rgba(16, 24, 40, .45);
}

.offcanvas-header {
	border-bottom: 1px solid var(--sk-border);
	padding: 1.1rem 1.25rem;
}

.offcanvas-title {
	font-size: 1.05rem;
	font-weight: 700;
}

.offcanvas-body {
	padding: 1.25rem;
}

/* ---------- tab di dalam kartu ---------- */
.card > .nav-tabs {
	border-bottom: 1px solid var(--sk-border);
	background: #fbfcfe;
	border-radius: var(--sk-radius) var(--sk-radius) 0 0;
	padding: .5rem .6rem 0;
	gap: .25rem;
	flex-wrap: wrap;
}

.nav-tabs .nav-link {
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: var(--sk-radius-sm) var(--sk-radius-sm) 0 0;
	color: #667085;
	font-weight: 600;
	font-size: .84rem;
	padding: .6rem .95rem;
	background: transparent;
	transition: color .15s ease, background-color .15s ease, border-color .15s ease;
}

.nav-tabs .nav-link:hover {
	color: var(--sk-primary-dark);
	background: var(--sk-primary-soft);
	border-bottom-color: rgba(123, 32, 58, .35);
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
	color: var(--sk-primary-dark);
	background: var(--sk-surface);
	border-bottom-color: var(--sk-primary);
}

.nav-tabs .nav-link svg {
	width: 18px;
	height: 18px;
}

.tab-content > .tab-pane {
	padding-top: .25rem;
}

.nav-pills .nav-link {
	border-radius: 999px;
	font-weight: 600;
	font-size: .82rem;
	color: #475467;
	padding: .45rem .9rem;
}

.nav-pills .nav-link.active {
	background: var(--sk-primary);
	color: #fff;
}

/* ---------- lencana & status ---------- */
.badge {
	border-radius: 999px;
	font-weight: 600;
	font-size: .72rem;
	padding: .32rem .6rem;
	letter-spacing: .01em;
}

.alert {
	border-radius: var(--sk-radius);
	border: 1px solid var(--sk-border);
}

/* ---------- kartu statistik dashboard ---------- */
.sk-stat {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--sk-border);
	background: var(--sk-surface);
	color: var(--sk-text);
}

.sk-stat::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 5px;
	background: var(--sk-stat-color, var(--sk-primary));
}

.sk-stat .card-body {
	padding: 1.15rem 1.25rem 1.15rem 1.4rem;
}

.sk-stat .h1 {
	font-size: 2rem;
	font-weight: 700;
	color: #101828;
	margin-bottom: .35rem !important;
	line-height: 1.1;
}

.sk-stat .d-flex.mb-2 > div {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--sk-muted);
}

.sk-stat svg {
	width: 34px;
	height: 34px;
	padding: 7px;
	border-radius: 10px;
	color: var(--sk-stat-color, var(--sk-primary));
	background: var(--sk-stat-soft, var(--sk-primary-soft));
	stroke-width: 2;
}

.sk-stat-primary {
	--sk-stat-color: #7b203a;
	--sk-stat-soft: #eaf0ff;
}

.sk-stat-warning {
	--sk-stat-color: #ea8c00;
	--sk-stat-soft: #fff4e3;
}

.sk-stat-info {
	--sk-stat-color: #a44762;
	--sk-stat-soft: #e6f6fe;
}

.sk-stat-dark {
	--sk-stat-color: #475569;
	--sk-stat-soft: #eef1f6;
}

.sk-stat-success {
	--sk-stat-color: #16a34a;
	--sk-stat-soft: #e7f7ed;
}

.sk-stat-danger {
	--sk-stat-color: #dc2626;
	--sk-stat-soft: #fdeaea;
}

.card .subheader,
.subheader {
	text-transform: uppercase;
	letter-spacing: .05em;
	font-size: .7rem;
	font-weight: 700;
	color: var(--sk-muted);
}

.card .h1,
.card h1 {
	font-weight: 700;
	letter-spacing: -.02em;
}

/* ---------- footer ---------- */
.footer {
	background: transparent;
	border-top: 1px solid var(--sk-border);
	margin-top: 2rem;
	padding: 1.1rem 0;
	color: var(--sk-muted);
	font-size: .8rem;
}

.footer a {
	color: var(--sk-muted);
}

.footer a:hover {
	color: var(--sk-primary);
}

/* ---------- halaman login ---------- */
body.page-login {
    background: #fff;
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.5rem;
}
.sk-login { width: 100%; max-width: 380px; }
.sk-login-card { background: #fff; border: 0; border-radius: 0; box-shadow: none; }
.sk-login-brand { text-align: center; padding: 0; margin-bottom: 2rem; }
.sk-login-brand img { display: block; width: 60px; height: 60px; object-fit: contain; margin: 0 auto 1rem; }
.sk-login-label { display: block; color: var(--sk-primary); font-size: .8rem; font-weight: 700; letter-spacing: .12em; margin-bottom: .6rem; }
.sk-login-brand h1 { color: var(--sk-text); font-size: 1.6rem; font-weight: 700; line-height: 1.3; margin: 0; letter-spacing: -.025em; }
.sk-login-brand p { color: var(--sk-muted); font-size: .9rem; line-height: 1.5; margin: .6rem 0 0; }
.sk-login-body { padding: 0; }
.sk-login-body .form-label { font-size: .875rem; margin-bottom: .5rem; }
.sk-login-body .form-control, .sk-login-body .form-select { min-height: 46px; background-color: #fff; border-radius: 8px; }
.sk-login-body .btn-primary { min-height: 46px; margin-top: .5rem; border-radius: 8px; font-size: .9rem; box-shadow: none; }
.sk-password { position: relative; }
.sk-password .form-control { padding-right: 7rem; }
.sk-password-toggle { position: absolute; top: 50%; right: .3rem; transform: translateY(-50%); min-height: 40px; min-width: 44px; border: 0; background: transparent; color: var(--sk-primary); font-size: .78rem; font-weight: 600; cursor: pointer; padding: .25rem .6rem; border-radius: 6px; }
.sk-password-toggle:hover { background: var(--sk-primary-soft); }
.sk-password-toggle:focus-visible { outline: 2px solid var(--sk-primary); outline-offset: 1px; }
.sk-login-footer { text-align: center; margin-top: 2rem; padding: 0; color: var(--sk-muted); font-size: .75rem; line-height: 1.6; }
@media (max-width: 420px) { body.page-login { padding: 2rem 1.25rem; } .sk-login-brand h1 { font-size: 1.45rem; } }

/* ---------- responsif ---------- */
@media (max-width: 767.98px) {
	.page-title {
		font-size: 1.2rem;
	}

	.card-body {
		padding: 1rem;
	}

	.table > thead th,
	.table > tbody > tr > td {
		padding: .55rem .6rem;
	}
}

/* Kerangka navigasi ringkas — identitas maroon */
.container-xl { max-width: 1240px; }
.sk-header { background: #fff; border-top: 4px solid var(--sk-primary); border-bottom: 1px solid var(--sk-border); padding: 18px 0; box-shadow: none; }
.sk-header-inner, .sk-header-actions { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.sk-header .sk-brand { display: flex; align-items: center; gap: 12px; color: var(--sk-text); min-width: 0; }
.sk-brand strong { display: block; font-size: 20px; letter-spacing: -.5px; color: var(--sk-primary); }
.sk-brand small { display: block; font-size: 12px; color: var(--sk-muted); max-width: 330px; overflow-wrap: anywhere; }
.sk-brand-logo, .sk-brand-mark { width: 44px; height: 44px; object-fit: contain; flex-shrink: 0; }
.sk-brand-mark { background: var(--sk-primary); color: #fff; display: grid; place-items: center; border-radius: 12px; font-size: 24px; font-weight: 700; }
.sk-period { padding-right: 24px; border-right: 1px solid var(--sk-border); }
.sk-period span, .sk-account-label small, .sk-account-info small { display: block; font-size: 12px; color: var(--sk-muted); }
.sk-period strong { font-size: 13px; font-weight: 600; }
.sk-account { display: flex; align-items: center; gap: 10px; border: 0; padding: 0; background: transparent; color: var(--sk-text); text-align: left; }
.sk-account-label strong { display: block; font-size: 13px; font-weight: 600; max-width: 210px; overflow-wrap: anywhere; }
.sk-account-photo, .sk-account-initial { width: 38px; height: 38px; object-fit: cover; border-radius: 50%; flex-shrink: 0; }
.sk-account-initial { display: grid; place-items: center; background: var(--sk-primary-soft); color: var(--sk-primary); font-weight: 600; }
.sk-account-info { padding: 8px 12px 12px; border-bottom: 1px solid var(--sk-border); margin-bottom: 6px; }
.sk-header .sk-menu-toggle { color: var(--sk-primary); border: 1px solid var(--sk-border); padding: 8px 12px; font-size: 20px; }
.navbar-light .sk-navigation { gap: 6px; padding: 8px 0; }
.navbar-light .sk-navigation .nav-link { border: 0; background: transparent; font-family: inherit; font-size: 14px; padding: 10px 16px; margin: 0; }
.navbar-light .sk-navigation .nav-item.active > .nav-link, .navbar-light .sk-navigation .nav-link.active { background: var(--sk-primary-soft); color: var(--sk-primary); }
.navbar-light .sk-navigation .nav-item.active::after { border-color: var(--sk-primary); }
.sk-navigation .nav-item.active .nav-link::after { border-color: var(--sk-primary); }
.dropdown-item.active { background: var(--sk-primary-soft); color: var(--sk-primary-dark); }
.page-wrapper > br { display: none; }
.page-header { padding: 28px 0 0; }
.page-title { font-size: 25px; }
.page-title::after { display: none; }
.page-body { margin-top: 24px; }
.card { box-shadow: 0 2px 5px rgba(16,24,40,.025); }
.card:hover { box-shadow: 0 2px 5px rgba(16,24,40,.025); }
.table > thead th, .table > thead > tr > th { text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 600; background: #fafafb; }
.table > tbody > tr > td { padding-top: 13px; padding-bottom: 13px; }
.card-header { flex-wrap: wrap; gap: 12px; }
.card-body > .card > .card-header { padding-left: 0; padding-right: 0; }
.form-control, .form-select { min-height: 40px; }
.btn-outline-primary { border-color: var(--sk-primary); color: var(--sk-primary); }
.btn-outline-primary:hover { background: var(--sk-primary); color: #fff; }
.bg-primary, .bg-blue { background-color: var(--sk-primary) !important; }
.text-primary, .text-blue { color: var(--sk-primary) !important; }
.bg-primary-lt, .bg-blue-lt { background-color: var(--sk-primary-soft) !important; color: var(--sk-primary) !important; }
.nav-tabs .nav-link.active { color: var(--sk-primary); border-bottom-color: var(--sk-primary); }
.sk-dashboard-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 8px 0 24px; }
.sk-dashboard-heading h2 { margin: 4px 0 8px; font-size: 28px; line-height: 1.25; letter-spacing: -.7px; }
.sk-eyebrow { color: var(--sk-muted); font-size: 12px; }
.sk-dashboard-heading p { margin: 0; color: var(--sk-muted); }
.sk-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-bottom: 24px; }
.sk-metric { padding: 22px; }
.sk-metric dt { color: var(--sk-muted); font-size: 13px; font-weight: 500; }
.sk-metric dd { color: var(--sk-text); font-size: 32px; font-weight: 600; margin: 8px 0 6px; font-variant-numeric: tabular-nums; }
.sk-metric small { color: var(--sk-muted); }
.sk-home-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); gap: 24px; }
.sk-work-item { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 18px 22px; border-bottom: 1px solid var(--sk-border); }
.sk-work-item:last-child { border: 0; }
.sk-work-item strong { display: block; font-weight: 600; }
.sk-work-item small { display: block; color: var(--sk-muted); margin-top: 4px; }
.sk-work-item .btn { flex-shrink: 0; }
.sk-shortcuts { padding: 10px 22px; }
.sk-shortcuts a { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; color: var(--sk-text); border-bottom: 1px solid var(--sk-border); }
.sk-shortcuts a:hover { color: var(--sk-primary); }
.sk-shortcuts a:last-child { border: 0; }
.sk-period-note { padding: 16px 22px; font-size: 13px; color: var(--sk-muted); border-top: 1px solid var(--sk-border); }
.sk-status { display: inline-flex; padding: 4px 8px; border-radius: 6px; font-size: 12px; background: var(--sk-primary-soft); color: var(--sk-primary); }
.sk-profile-heading { margin: 0 0 22px; }
.sk-profile-heading h2 { margin: 8px 0; }
.sk-master-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.sk-dashboard-heading .btn > span { margin-left: 6px; }
button:focus-visible, a:focus-visible { outline: 3px solid #a44762; outline-offset: 3px; }
@media (max-width: 991.98px) {
  .sk-header-actions { gap: 14px; }
  .sk-period { padding-right: 14px; }
  .sk-account-label { display: none; }
  .sk-home-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
  .sk-header { padding: 14px 0; }
  .sk-header-inner { gap: 12px; }
  .sk-brand small { max-width: 150px; font-size: 11px; }
  .sk-brand strong { font-size: 18px; }
  .sk-brand-logo, .sk-brand-mark { width: 36px; height: 36px; }
  .sk-period { display: none; }
  .sk-header-actions { gap: 10px; }
  .navbar-light .sk-navigation { width: 100%; padding: 10px 0; gap: 4px; }
  #navbar-menu .navbar-light .container-xl { padding-left: 16px; padding-right: 16px; }
  .navbar-light .sk-navigation .nav-link { padding: 12px 16px; }
  .sk-navigation .dropdown-menu { box-shadow: none; margin: 4px 0; }
  .sk-dashboard-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  .sk-dashboard-heading h2 { font-size: 24px; }
  .sk-metrics { gap: 12px; grid-template-columns: 1fr; }
  .sk-metric { padding: 16px 20px; position: relative; }
  .sk-metric dd { margin: 6px 0; font-size: 28px; }
  .sk-work-item { padding: 16px; gap: 12px; }
  .sk-work-item .btn { min-height: 44px; }
  .form-control, .form-select { font-size: 16px; }
  .table .btn, .table td > a:not([class]), .table td > table td > a:not([class]) { min-width: 44px; min-height: 44px; }
  .offcanvas { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }

/* Layout halaman akademik */
.sk-academic .page-body { margin-bottom: 32px; }
.sk-filter-bar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; padding: 20px; background: var(--sk-surface); border: 1px solid var(--sk-border); border-radius: 12px; margin-bottom: 24px; }
.sk-filter-bar > div { min-width: 180px; flex: 0 1 280px; }
.sk-filter-bar .sk-filter-search { flex: 1 1 220px; }
.sk-identity { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; padding: 22px; }
.sk-identity span, .sk-identity small { display: block; color: var(--sk-muted); font-size: 12px; }
.sk-identity strong { display: block; font-weight: 600; margin: 6px 0; overflow-wrap: anywhere; }
.sk-inline-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 24px; }
.sk-inline-summary > div { padding: 18px 22px; border-radius: 12px; border: 1px solid var(--sk-border); background: #fff; }
.sk-inline-summary span { display: block; color: var(--sk-muted); font-size: 13px; }
.sk-inline-summary strong { font-size: 24px; font-variant-numeric: tabular-nums; display: block; margin-top: 4px; }
.sk-study-grid { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 24px; align-items: start; }
.sk-section-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; padding: 22px; border-bottom: 1px solid var(--sk-border); }
.sk-section-head h2, .sk-study-summary h2 { margin: 0; font-size: 16px; font-weight: 600; }
.sk-section-head p { margin: 6px 0 0; font-size: 13px; color: var(--sk-muted); }
.sk-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.sk-data-table td { white-space: normal; }
.sk-data-table td strong { display: block; font-weight: 600; }
.sk-data-table td small { display: block; color: var(--sk-muted); margin-top: 5px; font-size: 12px; }
.sk-data-table .sk-empty { text-align: center; padding: 36px 20px; color: var(--sk-muted); }
.sk-data-table .sk-grade-input { max-width: 140px; min-width: 100px; }
.sk-study-summary { padding: 22px; }
.sk-study-summary p { font-size: 13px; color: var(--sk-muted); margin: 10px 0 18px; }
.sk-summary-value { margin-top: 20px; }
.sk-summary-value strong { font-size: 32px; font-weight: 600; font-variant-numeric: tabular-nums; }
.sk-summary-value span { color: var(--sk-muted); }
.sk-summary-status { border-top: 1px solid var(--sk-border); padding-top: 20px; }
.sk-notice { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; padding: 16px 20px; background: var(--sk-primary-soft); border-radius: 10px; }
.sk-notice p { margin: 0; color: #60182c; font-size: 13px; }
.sk-save-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; padding: 20px 22px; border-top: 1px solid var(--sk-border); background: #fafafb; border-radius: 0 0 12px 12px; }
.sk-save-bar strong { display: block; font-size: 13px; font-weight: 600; }
.sk-save-bar small { display: block; margin-top: 5px; color: var(--sk-muted); }
.sk-back-link { display: inline-block; margin: 0 0 20px; }
.sk-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.sk-form-wide { grid-column: 1 / -1; }
.sk-form-section { padding: 20px 0; border-bottom: 1px solid var(--sk-border); }
.sk-form-section:first-child { padding-top: 0; }
.sk-form-section:last-child { border-bottom: 0; }
.sk-form-section h3 { font-size: 15px; font-weight: 600; margin: 0 0 18px; }
.sk-form-section legend { font-size: 15px; font-weight: 600; margin: 0 0 18px; }
.sk-profile-grid { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 24px; align-items: start; }
.sk-profile-card { padding: 28px 22px; text-align: center; }
.sk-profile-photo, .sk-profile-placeholder { width: 100px; height: 100px; border-radius: 50%; object-fit: cover; margin: 0 auto 18px; }
.sk-profile-placeholder { display: grid; place-items: center; background: var(--sk-primary-soft); color: var(--sk-primary); font-size: 32px; }
.sk-profile-card h3 { margin: 0 0 8px; }
.sk-profile-card p { color: var(--sk-muted); font-size: 13px; }
.sk-profile-card .sk-actions { justify-content: center; }
.sk-long-form .offcanvas { width: min(680px,100vw); }
.sk-long-form .offcanvas form { width: 100%; }
.sk-long-form .offcanvas-body { padding: 24px; }
.sk-long-form .offcanvas-header { border-bottom: 1px solid var(--sk-border); padding: 22px 24px; }
.sk-long-form .sk-form-grid .mb-3 { margin-bottom: 0 !important; }
@media (max-width: 991.98px) {
  .sk-profile-grid { grid-template-columns: 1fr; }
  .sk-study-grid { grid-template-columns: minmax(0,1fr); }
  .sk-study-summary { order: -1; }
}
@media (max-width: 767.98px) {
  .sk-filter-bar { padding: 16px; gap: 12px; }
  .sk-filter-bar > div { min-width: 0; flex-basis: 100%; }
  .sk-filter-bar > button { width: 100%; min-height: 44px; }
  .sk-identity { grid-template-columns: 1fr; padding: 18px; gap: 16px; }
  .sk-inline-summary { gap: 8px; }
  .sk-inline-summary > div { padding: 12px; }
  .sk-inline-summary span { font-size: 11px; }
  .sk-inline-summary strong { font-size: 22px; }
  .sk-section-head { padding: 18px; }
  .sk-section-head .sk-actions { width: 100%; }
  .sk-mobile-rows thead { display: none; }
  .sk-mobile-rows, .sk-mobile-rows tbody { display: block; width: 100%; }
  .sk-mobile-rows tr { display: block; border-bottom: 1px solid var(--sk-border); padding: 12px 16px; }
  .sk-mobile-rows tr:last-child { border-bottom: 0; }
  .sk-mobile-rows > tbody > tr > td { display: grid; grid-template-columns: 104px minmax(0,1fr); align-items: start; gap: 4px 12px; padding: 8px 0; border: 0; overflow-wrap: anywhere; }
  .sk-mobile-rows td::before { content: attr(data-label); grid-column: 1; grid-row: 1 / span 4; font-size: 12px; font-weight: 500; color: var(--sk-muted); }
  .sk-mobile-rows td > * { grid-column: 2; }
  .sk-mobile-rows td small { margin: 0; }
  .sk-mobile-rows > tbody > tr > td.sk-empty { display: block; padding: 24px 0; }
  .sk-mobile-rows td.sk-empty::before { content: none; }
  .sk-mobile-rows .form-check-input { width: 24px; height: 24px; margin: 0; }
  .sk-save-bar { padding: 18px; }
  .sk-save-bar .sk-actions { width: 100%; }
  .sk-save-bar .btn { min-height: 44px; }
  .sk-form-grid { grid-template-columns: 1fr; gap: 16px; }
  .sk-long-form .offcanvas-body { padding: 18px; }
  .sk-data-table .sk-grade-input { max-width: 100%; min-width: 0; }
}
@media print {
  .sk-filter-bar, .sk-actions, .sk-notice, .sk-save-bar, .sk-back-link, .sk-study-summary, .sk-academic .footer, .sk-eyebrow { display: none !important; }
  .sk-academic .page-header { display: block !important; padding-top: 0; }
  .sk-academic .container-xl { width: 100%; max-width: none; padding: 0; }
  .sk-academic .page-body { margin-top: 15px; }
  .sk-study-grid { display: block; }
  .sk-mobile-rows { display: table; }
  .sk-mobile-rows thead { display: table-header-group; }
  .sk-mobile-rows tbody { display: table-row-group; }
  .sk-mobile-rows tr { display: table-row; break-inside: avoid; }
  .sk-mobile-rows > tbody > tr > td { display: table-cell; border-bottom: 1px solid #ddd; }
  .sk-mobile-rows td::before { content: none; }
  .sk-identity, .sk-inline-summary { break-inside: avoid; }
}

/* ---------- cetak ---------- */
@media print {

	.navbar,
	.footer,
	.page-header,
	.d-print-none {
		display: none !important;
	}

	.card {
		box-shadow: none !important;
		border: 0 !important;
	}

	body {
		background: #fff;
	}
}
.sk-policy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
@media (max-width: 767px) { .sk-policy-grid { grid-template-columns: minmax(0, 1fr); } }
/* Shared application shell with top navigation */
.sk-app-shell { background:#f7f8fa; }
.sk-app-shell .wrapper { display:block; }
.sk-app-shell .sk-header { background:#fff; border-bottom:1px solid var(--sk-border); }
.sk-app-shell .page-wrapper { margin-left:0; min-width:0; }
.sk-app-shell #navbar-menu { background:#fff; position:relative; z-index:1010; border-bottom:1px solid var(--sk-border); }
.sk-app-shell #navbar-menu > .navbar { padding:0; border:0; box-shadow:none; }
.sk-app-shell .sk-navigation { display:flex; flex-direction:row; flex-wrap:wrap; gap:6px; width:100%; list-style:none; padding:10px 0; margin:0; }
.sk-app-shell .sk-navigation .nav-item { margin:0; }
.sk-app-shell .sk-navigation .nav-item::after { display:none; }
.sk-app-shell .sk-navigation .nav-link { display:flex; align-items:center; gap:8px; padding:10px 14px; border-radius:8px; font-size:13px; font-weight:500; color:#566173; }
.sk-nav-icon { flex-shrink:0; width:18px; height:18px; }
.sk-app-shell .sk-navigation .nav-link.active { color:var(--sk-primary); background:var(--sk-primary-soft); font-weight:600; }
.sk-app-shell .sk-navigation .nav-link:hover { background:#f5f6f8; }
.sk-app-shell .sk-navigation .dropdown-menu { min-width:220px; padding:8px; border-radius:10px; box-shadow:0 8px 24px #18223015; }
.sk-app-shell .sk-navigation .dropdown-item { border-radius:6px; padding:10px 12px; font-size:13px; }
.sk-app-shell .sk-navigation .dropdown-item.active { color:var(--sk-primary); background:var(--sk-primary-soft); }
.sk-app-shell .card { border-radius:12px; box-shadow:0 2px 6px #18223003; }
.sk-app-shell .page-title { font-size:24px; letter-spacing:-.025em; }
.sk-app-shell .table th { font-size:10px; letter-spacing:.04em; background:#fafbfc; color:#667085; padding-top:13px; padding-bottom:13px; }
.sk-app-shell .table > tbody > tr > td { vertical-align:middle; }
.sk-app-shell .table > tbody > tr:hover { background:#fcf9fa; }
.sk-app-shell .table td img { max-width:40px; max-height:40px; object-fit:cover; border-radius:8px; }
.sk-app-shell .table .table { background:transparent; margin:0; }
.sk-table-tools { display:flex; gap:12px; align-items:center; flex-wrap:wrap; padding:16px; border-bottom:1px solid var(--sk-border); background:#fff; }
.sk-table-tools input { max-width:240px; }
.sk-table-tools select { width:auto; max-width:220px; }
.sk-table-columns { margin-left:auto; position:relative; }
.sk-table-columns summary { cursor:pointer; color:var(--sk-primary); font-size:12px; padding:8px; }
.sk-table-columns > div { position:absolute; right:0; top:100%; background:white; border:1px solid var(--sk-border); box-shadow:0 8px 24px #18223015; border-radius:10px; width:210px; padding:12px; z-index:5; }
.sk-table-columns label { display:flex; gap:8px; padding:5px; font-size:12px; }
.sk-table-pager { display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; padding:16px; border-top:1px solid var(--sk-border); color:#667085; font-size:12px; background:white; }
.sk-table-pager .sk-actions { display:flex; gap:8px; align-items:center; }
.sk-column-hidden { display:none!important; }
.sk-field-error { display:block; color:#b42318; font-size:12px; margin:5px 0 0; }
.sk-required { color:var(--sk-primary); margin-left:4px; }
.sk-app-shell [aria-invalid=true] { border-color:#d92d20; box-shadow:0 0 0 3px #fef3f2; }
.sk-status.sk-status-success { background:#ecfdf3; color:#067647; }
.sk-status.sk-status-warning { background:#fffaeb; color:#b54708; }
.sk-status.sk-status-neutral { background:#f2f4f7; color:#475467; }
.sk-status.sk-status-danger { background:#fef3f2; color:#b42318; }
.sk-days { padding:8px 22px 24px; }
.sk-day + .sk-day { margin-top:24px; }
.sk-day-heading { display:flex; gap:12px; align-items:center; margin:12px 0; font-size:14px; }
.sk-day-heading small { color:#667085; font-weight:400; font-size:12px; }
.sk-day-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); gap:12px; }
.sk-class-card { border:1px solid var(--sk-border); border-radius:10px; padding:18px; background:#fff; display:flex; flex-direction:column; gap:12px; }
.sk-class-time { font-size:12px; font-weight:600; color:var(--sk-primary); }
.sk-class-card h3 { font-size:15px; line-height:1.5; margin:0 0 4px; }
.sk-class-card small,.sk-class-details { font-size:12px; color:#667085; }
.sk-class-details { display:grid; gap:4px; }
.sk-class-card .sk-actions { margin-top:auto; padding-top:8px; }
.sk-empty-state { text-align:center; color:#667085; padding:40px 16px; }
.sk-dashboard-status { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; margin-bottom:24px; border-left:3px solid var(--sk-primary); }
.sk-dashboard-status strong { display:block; margin-bottom:4px; }
.sk-dashboard-status p { color:#667085; margin:0; font-size:12px; }
@media (min-width:1024px) {
.sk-app-shell #navbar-menu { display:block!important; height:auto!important; }
.sk-app-shell .sk-menu-toggle { display:none!important; }
}
@media (max-width:1023px) {
.sk-app-shell #navbar-menu:not(.show) { display:none!important; }
.sk-app-shell #navbar-menu.show { display:block!important; }
.sk-app-shell .sk-menu-toggle { display:flex!important; }
.sk-app-shell .sk-navigation { flex-direction:column; padding:12px 0; }
.sk-app-shell .sk-navigation .nav-link { width:100%; min-height:44px; }
.sk-app-shell .sk-navigation .dropdown-menu { position:static!important; transform:none!important; width:100%; border:0; box-shadow:none; padding-left:26px; }
.sk-app-shell .sk-header .container-xl { padding:12px 16px; }
.sk-app-shell .page-wrapper > .container-xl,.sk-app-shell .page-body > .container-xl { padding-left:16px; padding-right:16px; }
}
@media (max-width:575px) {
.sk-table-tools { gap:8px; padding:12px; }
.sk-table-tools input { max-width:100%; width:100%; }
.sk-table-tools select { max-width:100%; }
.sk-table-pager { align-items:flex-start; }
.sk-days { padding:8px 14px 18px; }
.sk-dashboard-status { align-items:flex-start; flex-direction:column; }
.sk-app-shell .sk-header .sk-period { display:none; }
}
@media print {
.sk-app-shell #navbar-menu { display:none!important; }
.sk-app-shell .page-wrapper { margin-left:0!important; }
.sk-table-tools,.sk-table-pager { display:none!important; }
.sk-class-card { break-inside:avoid; }
}
.sk-app-shell tr[hidden],.sk-app-shell .sk-field-error[hidden] { display:none!important; }
.sk-managed-table { border-radius:0; }
.sk-class-progress { display:block; width:130px; max-width:100%; height:6px; margin-top:10px; accent-color:var(--sk-primary); }
.sk-table-pager select { width:auto; min-width:100px; }
.sk-table-tools:empty { display:none; }
.sk-app-shell .table .btn-warning { background:var(--sk-primary-soft); color:var(--sk-primary); border-color:transparent; }
.sk-footer-inner { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; color:var(--sk-muted); font-size:11px; }
.sk-footer-inner small { font-size:10px; }
@media(max-width:575px) { .sk-footer-inner { justify-content:center; text-align:center; } }
/* Mobile interaction and compact layouts */
@media(max-width:1023px) {
.sk-app-shell #navbar-menu.show { max-height:65svh; overflow-y:auto; overscroll-behavior:contain; }
.sk-app-shell .sk-menu-toggle,.sk-app-shell .sk-account { min-width:44px; min-height:44px; }
.sk-app-shell .sk-header { padding:6px 0; }
.sk-app-shell .sk-header .container-xl { padding-top:8px; padding-bottom:8px; }
.sk-form-disclosure > summary { cursor:pointer; font-size:14px; font-weight:600; padding:16px 0; }
.sk-form-disclosure .sk-form-section legend,.sk-form-disclosure .sk-form-section > h3 { display:none; }
.sk-identity-details > summary { color:var(--sk-primary); font-size:12px; padding:8px 0; cursor:pointer; }
.sk-identity-details > div { padding:8px 0; }
.sk-app-shell .offcanvas form { display:flex; flex-direction:column; height:100svh; min-height:0; }
.sk-app-shell .offcanvas-body { flex:1; min-height:0; overflow-y:auto; }
.sk-form-footer { display:flex; gap:8px; flex-shrink:0; padding:12px 18px calc(12px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid var(--sk-border); }
}
@media(min-width:1024px){
.sk-identity-details { display:contents; }
.sk-identity-details > summary,.sk-form-disclosure > summary { display:none; }
.sk-identity-details:not([open]) > div,.sk-form-disclosure:not([open]) > .sk-form-section { display:block!important; }
.sk-form-footer { display:flex; gap:8px; padding:18px; }
}
@media(max-width:1023px){
body.sk-app-shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body.sk-app-shell select,body.sk-app-shell textarea,body.page-login input,body.page-login select { font-size:16px!important; }
body.sk-app-shell .btn,body.sk-app-shell button.btn,body.sk-app-shell a.btn { min-height:44px; }
.sk-app-shell .page-header { padding-top:16px; }
.sk-app-shell .page-body { margin-top:16px; }
.sk-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.sk-metric { padding:12px 10px; }
.sk-metric dt { font-size:11px; line-height:1.5; }
.sk-metric dd { font-size:24px; }
.sk-metric small { font-size:10px; line-height:1.4; }
.sk-dashboard-heading { margin-bottom:16px; }
.sk-dashboard-status { padding:14px 16px; margin-bottom:16px; }
.sk-identity { gap:10px; padding:16px; }
.sk-identity-details { grid-column:1/-1; }
.sk-study-summary { padding:16px; }
.sk-study-summary > p,.sk-study-summary .sk-summary-status p { margin:8px 0; }
.sk-master-cards > thead { display:none; }
.sk-master-cards,.sk-master-cards > tbody { display:block; width:100%; }
.sk-master-cards > tbody > tr { display:block; padding:12px 16px; border-bottom:1px solid var(--sk-border); }
.sk-master-cards > tbody > tr > td { display:grid; grid-template-columns:96px minmax(0,1fr); gap:10px; padding:8px 0; border:0; white-space:normal; overflow-wrap:anywhere; text-align:left!important; }
.sk-master-cards > tbody > tr > td::before { content:attr(data-label); color:var(--sk-muted); font-size:11px; }
.sk-master-cards > tbody > tr > td > * { min-width:0; }
.sk-master-cards > tbody > tr > td.sk-cell-actions { display:block; border-top:1px solid var(--sk-border); margin-top:8px; }
.sk-master-cards .sk-cell-actions::before { display:none; }
.sk-master-cards .sk-cell-actions > table { display:table; }
.sk-master-cards .sk-cell-actions .offcanvas,.sk-master-cards .sk-cell-actions .modal { text-align:left; }
.sk-table-columns { display:none; }
.sk-table-pager { padding:12px; gap:8px; }
.sk-table-pager .sk-actions { display:grid; grid-template-columns:auto 1fr 1fr; gap:6px; width:100%; }
.sk-table-pager select { min-width:0; max-width:100px; }
.sk-table-pager .btn { padding-left:8px; padding-right:8px; font-size:12px; }
.sk-course-choice { display:flex; align-items:center; min-width:44px; min-height:44px; cursor:pointer; }
.sk-mobile-save { position:fixed; inset:auto 0 max(env(safe-area-inset-bottom),var(--sk-keyboard-inset,0px)); z-index:1025; border-top:1px solid var(--sk-border); border-radius:0; box-shadow:0 -4px 16px #18223012; background:white; padding:12px 16px; }
.sk-has-mobile-save { padding-bottom:150px; }
.sk-mobile-save.sk-save-bar { gap:8px; }
.sk-mobile-save .sk-actions { width:auto; }
.sk-mobile-save.sk-save-bar strong { font-size:12px; }
.sk-mobile-save.sk-save-bar small { font-size:11px; }
.sk-krs-dock { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; align-items:center; }
.sk-krs-dock .sk-summary-value { margin:0; }
.sk-krs-dock .sk-summary-value strong { font-size:24px; }
.sk-krs-dock #save-selection { grid-column:2; grid-row:1/3; max-width:170px; }
.sk-krs-dock #selection-message { grid-column:1; margin:0; font-size:11px; }
}
@media print { .sk-mobile-save { position:static!important; box-shadow:none!important; } .sk-has-mobile-save { padding-bottom:0; } }
@media(max-width:1023px){
.sk-master-cards > tbody > tr { display:flex; flex-direction:column; }
.sk-master-cards > tbody > tr > td { width:100%; }
.sk-master-cards > tbody > tr > td.sk-cell-title { order:-1; display:block; font-size:15px; font-weight:600; padding-bottom:12px; }
.sk-master-cards .sk-cell-title::before { display:none; }
.sk-master-cards > tbody > tr > td[data-label="NO" i],.sk-master-cards > tbody > tr > td[data-label="NO." i],.sk-master-cards > tbody > tr > td[data-label="FOTO" i] { display:none; }
.sk-master-cards > tbody > tr > td[colspan] { display:block; }
}
