/* WAJ MEDAN — gaya tampilan. Warna mengikuti kebiasaan Excel WAJ: kuning = ketik, hijau = otomatis, biru tua = judul. */
:root {
  --biru-tua: #1F3864;
  --biru: #1F4E79;
  --biru-muda: #DDEBF7;
  --kuning-isi: #FFF2CC;
  --kuning-garis: #E2C46B;
  --hijau-otomatis: #E2F0D9;
  --hijau: #2E7D32;
  --merah: #C00000;
  --merah-muda: #FDECEA;
  --oranye: #C55A11;
  --ungu: #6A3D9A;
  --teks: #1d2433;
  --redup: #5f6b7a;
  --garis: #d5dbe3;
  --latar: #f3f5f8;
  --putih: #fff;
  --lebar-menu: 232px;
  --tinggi-atas: 54px;
  --radius: 8px;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--latar); color: var(--teks);
  font: 15px/1.45 "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
}
a { color: var(--biru); }
a:hover { color: var(--biru-tua); }
h1 { font-size: 22px; margin: 0; line-height: 1.25; }
h2 { font-size: 18px; margin: 26px 0 10px; color: var(--biru-tua); }
h3 { font-size: 16px; margin: 20px 0 8px; color: var(--biru-tua); }
small, .bantu, .catatan-kecil { color: var(--redup); }
.bantu { font-size: 13px; margin: 6px 0; display: block; }
.catatan-kecil { font-size: 13px; margin-top: 16px; }
code { background: #eef1f5; padding: 1px 5px; border-radius: 4px; }
.merah { color: var(--merah); }
.hijau { color: var(--hijau); }
.inline { display: inline; }
.tengah { text-align: center; }
[hidden] { display: none !important; }

/* ---------------- kerangka ---------------- */
.atas {
  position: fixed; inset: 0 0 auto 0; height: var(--tinggi-atas); z-index: 30;
  display: flex; align-items: center; gap: 14px; padding: 0 16px;
  background: var(--biru-tua); color: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.2);
}
.merek { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.merek:hover { color: #fff; }
.merek b { display: block; font-size: 16px; letter-spacing: .5px; }
.merek small { display: block; color: #c8d3e6; font-size: 12px; }
.logo {
  display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 8px;
  background: #fff; color: var(--biru-tua); font-weight: 800; font-size: 19px;
}
.logo.besar { width: 52px; height: 52px; font-size: 28px; background: var(--biru-tua); color: #fff; border-radius: 12px; }
.atas-kanan { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.siapa { text-align: right; line-height: 1.2; }
.siapa b { display: block; font-size: 14px; }
.siapa small { color: #c8d3e6; font-size: 12px; }
.atas .tombol.garis { color: #fff; border-color: rgba(255,255,255,.55); background: transparent; }
.atas .tombol.garis:hover { background: rgba(255,255,255,.12); }
.tombol-menu { display: none; background: none; border: 0; color: #fff; font-size: 24px; cursor: pointer; padding: 4px 8px; }

.samping {
  position: fixed; top: var(--tinggi-atas); bottom: 0; left: 0; width: var(--lebar-menu); z-index: 20;
  overflow-y: auto; background: var(--putih); border-right: 1px solid var(--garis); padding: 10px 0 30px;
}
.menu-item {
  display: block; padding: 7px 16px 7px 42px; color: var(--teks); text-decoration: none; font-size: 14px;
  border-left: 3px solid transparent;
}
.menu-item:hover { background: #eef3f9; color: var(--biru-tua); }
.menu-item.aktif { background: var(--biru-muda); border-left-color: var(--biru-tua); font-weight: 600; color: var(--biru-tua); }
.menu-utama { padding-left: 16px; font-weight: 600; margin-bottom: 4px; }
.menu-utama .ikon { margin-right: 8px; }
.menu-grup { margin-top: 8px; }
.menu-judul { padding: 6px 16px 3px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; color: var(--redup); }
.menu-judul .ikon { display: inline-block; width: 20px; margin-right: 6px; text-align: center; font-size: 13px; }

.isi { margin-left: var(--lebar-menu); padding: calc(var(--tinggi-atas) + 20px) 26px 60px; max-width: calc(var(--lebar-menu) + 1180px); }
.isi.lebar { max-width: none; }
.judul-halaman { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.judul-halaman .sub { margin: 4px 0 0; color: var(--redup); font-size: 14px; max-width: 900px; }
.tindakan { display: flex; flex-wrap: wrap; gap: 8px; }

body.polos { background: var(--latar); }
.polos-isi { max-width: 1100px; margin: 0 auto; padding: 30px 16px; }

/* ---------------- tombol ---------------- */
.tombol {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 8px 16px; border-radius: 6px; border: 1px solid var(--biru); background: var(--biru); color: #fff;
  font: inherit; font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; white-space: nowrap;
}
.tombol:hover { background: var(--biru-tua); color: #fff; }
.tombol.garis { background: var(--putih); color: var(--biru); }
.tombol.garis:hover { background: #eef3f9; color: var(--biru-tua); }
.tombol.kecil { padding: 4px 10px; font-size: 13px; }
.tombol.bahaya { background: var(--putih); color: var(--merah); border-color: var(--merah); }
.tombol.bahaya:hover { background: var(--merah); color: #fff; }
.tombol.penuh { width: 100%; padding: 11px; font-size: 15px; }
.tombol:disabled { opacity: .55; cursor: wait; }
.tombol-baris { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0; }
.baris-tindakan { margin: 0 0 10px; }

/* ---------------- pesan ---------------- */
.pesan { padding: 10px 14px; border-radius: var(--radius); margin: 0 0 14px; border: 1px solid; font-size: 14px; }
.pesan ul { margin: 6px 0 0; padding-left: 20px; }
.pesan-ok { background: #EAF5EA; border-color: #A9D3AB; color: #1B5E20; }
.pesan-info { background: #E8F1FB; border-color: #A9C6E8; color: #0D3C6E; }
.pesan-peringatan { background: #FFF6DB; border-color: #F0D27A; color: #6B4E00; }
.pesan-galat { background: var(--merah-muda); border-color: #F1A9A0; color: #8A1C12; }

/* ---------------- kartu & panel ---------------- */
.kartu-baris { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; margin: 0 0 16px; }
.kartu-baris.rapat { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
.kartu {
  background: var(--putih); border: 1px solid var(--garis); border-left: 4px solid var(--biru); border-radius: var(--radius);
  padding: 11px 14px; min-height: 84px;
}
.kartu-judul { font-size: 12.5px; color: var(--redup); font-weight: 600; text-transform: uppercase; letter-spacing: .3px; }
.kartu-nilai { font-size: 21px; font-weight: 700; margin: 3px 0 1px; font-variant-numeric: tabular-nums; }
.kartu-ket { font-size: 13px; color: var(--redup); }
.kartu.hijau { border-left-color: var(--hijau); }
.kartu.kuning { border-left-color: #E0A800; background: #FFFCF0; }
.kartu.merah { border-left-color: var(--merah); background: #FFF7F6; }
.kartu.merah .kartu-nilai { color: var(--merah); }
.kartu.abu { border-left-color: #9aa5b1; }
.kartu.biru { border-left-color: var(--biru); }
.kartu-tautan { display: block; text-decoration: none; color: inherit; }
.kartu-tautan:hover .kartu { box-shadow: 0 2px 10px rgba(31,56,100,.15); border-color: #b8c6da; }

.panel { background: var(--putih); border: 1px solid var(--garis); border-radius: var(--radius); padding: 16px 18px; margin: 0 0 16px; }
.panel > h2:first-child, .panel > h3:first-child { margin-top: 0; }
.panel.sempit { max-width: 680px; }
.panel.sorot { background: #EEF5FC; border-color: #BFD5EE; }
.panel.sorot p { margin: 4px 0 10px; }
.kolom-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.kolom-2 > div > h3:first-child { margin-top: 0; }

/* ---------------- form ---------------- */
.form { margin: 0; }
.isian { display: flex; flex-direction: column; gap: 4px; margin: 0 0 12px; min-width: 150px; }
.isian > span { font-size: 13px; font-weight: 600; color: #3d4757; }
.isian.sempit { max-width: 170px; }
.isian.sedang { min-width: 240px; }
.isian.lebar { flex: 1 1 380px; }
.wajib { color: var(--merah); font-style: normal; margin-left: 2px; }
.masuk {
  font: inherit; font-size: 14.5px; padding: 7px 10px; border: 1px solid #c9d1dc; border-radius: 6px;
  background: #FFFCF2; color: var(--teks); width: 100%;
}
.masuk:focus, .sel:focus { outline: 2px solid #7fa7d6; outline-offset: 0; border-color: #7fa7d6; background: #fff; }
.masuk[readonly], .masuk:disabled { background: #f1f3f6; color: #555; }
.masuk.otomatis { background: var(--hijau-otomatis); }
.masuk.angka { text-align: right; font-variant-numeric: tabular-nums; }
select.masuk { padding-right: 26px; }
textarea.masuk { resize: vertical; }
.isian input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--biru); }
.baris-isian { display: flex; flex-wrap: wrap; gap: 0 14px; align-items: flex-start; }
.baris-isian > .isian { flex: 0 1 auto; }

.filter {
  display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 12px;
  background: var(--putih); border: 1px solid var(--garis); border-radius: var(--radius); padding: 10px 14px 0; margin: 0 0 16px;
}
.filter .isian { margin-bottom: 10px; min-width: 130px; }
.filter .isian .masuk { background: #fff; padding: 5px 8px; font-size: 14px; }
.filter > .tombol { margin-bottom: 10px; }
.filter .isian:has(input[type="checkbox"]) { flex-direction: row-reverse; align-items: center; gap: 8px; }

/* ---------------- tabel data ---------------- */
.tabel-bungkus { overflow-x: auto; background: var(--putih); border: 1px solid var(--garis); border-radius: var(--radius); margin: 0 0 16px; }
.tabel { width: 100%; border-collapse: collapse; font-size: 14px; }
.tabel th {
  background: var(--biru-tua); color: #fff; text-align: left; font-weight: 600; font-size: 13px;
  padding: 8px 10px; white-space: nowrap; border-right: 1px solid rgba(255,255,255,.12);
}
.tabel td { padding: 7px 10px; border-top: 1px solid #e8ecf1; vertical-align: top; }
.tabel tbody tr:nth-child(even) td { background: #fafbfd; }
.tabel tbody tr:hover td { background: #f0f5fb; }
.tabel .angka { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tabel th.angka { text-align: right; }
.tabel .tengah { text-align: center; }
.tabel tfoot td { background: #eef2f7; font-weight: 700; border-top: 2px solid #c5cfdc; }
.tabel.rapat td { padding: 5px 8px; font-size: 13.5px; }
.tabel.rapat th { padding: 6px 8px; }
.tabel td.kosong { text-align: center; color: var(--redup); padding: 22px; }
.tabel tr.baris-merah td { background: #FDF0EE !important; }
.tabel td small { font-size: 12px; }
.tabel td:first-child > a { white-space: nowrap; }
.tabel .lencana { margin: 1px 2px 1px 0; }

.lencana {
  display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 12px; font-weight: 600;
  line-height: 1.6; white-space: nowrap; border: 1px solid transparent; vertical-align: 1px;
}
.lencana-hijau { background: #E3F2E3; color: #1B5E20; border-color: #BFE0C0; }
.lencana-merah { background: #FDE7E4; color: #9B1C12; border-color: #F4B9B1; }
.lencana-kuning { background: #FFF4D1; color: #6B4E00; border-color: #F0D98A; }
.lencana-oranye { background: #FDEBDD; color: #8A3D0A; border-color: #F2C39E; }
.lencana-biru { background: #E3EEFA; color: #0D3C6E; border-color: #B8D0EC; }
.lencana-abu { background: #EEF0F3; color: #4a5563; border-color: #d9dde3; }
.lencana-ungu { background: #EFE7F7; color: var(--ungu); border-color: #d9c6ec; }

.halaman-nav { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 6px 0 20px; color: var(--redup); font-size: 14px; }

/* ---------------- tabel isian ala Excel ---------------- */
.grid-bungkus { margin: 0 0 12px; }
.grid-bungkus > .grid { display: block; overflow-x: auto; }
.grid { border-collapse: collapse; background: var(--putih); border: 1px solid #b7c2d0; font-size: 14px; max-width: 100%; }
.grid th {
  background: var(--biru-tua); color: #fff; font-size: 12.5px; font-weight: 600; padding: 5px 6px; line-height: 1.2;
  text-align: left; vertical-align: bottom; border: 1px solid #2c4a7c;
}
.grid th.angka { text-align: right; }
.grid th.hitung { background: #385723; border-color: #4a6f31; }
.grid td { border: 1px solid #d0d7e1; padding: 0; height: 32px; }
.grid .sel {
  display: block; width: 100%; height: 31px; border: 0; margin: 0; padding: 4px 7px;
  font: inherit; font-size: 14px; background: var(--kuning-isi); color: var(--teks); border-radius: 0;
}
.grid select.sel { padding: 3px 4px; }
.grid .sel.angka { text-align: right; font-variant-numeric: tabular-nums; }
.grid .sel.huruf-besar { text-transform: uppercase; }
.grid .sel.salah { background: #F8C9C3; outline: 2px solid var(--merah); outline-offset: -2px; }
.grid .sel::placeholder { color: #b3a36e; }
/* lebar sel mengikuti kolom (width 100%); kelas ukuran hanya lebar minimum */
.grid .xs { min-width: 50px; }
.grid .s { min-width: 74px; }
.grid .m { min-width: 110px; }
.grid .l { min-width: 140px; }
.grid .xl { min-width: 220px; }
.grid input[type="date"].sel { min-width: 128px; padding-right: 2px; }
.grid td.hitung {
  background: var(--hijau-otomatis); text-align: right; padding: 4px 8px; font-variant-numeric: tabular-nums;
  white-space: nowrap; min-width: 84px; color: #22391a;
}
.grid td.hitung.redup { color: #7d8f74; font-style: italic; font-size: 12.5px; }
.grid td.hitung.salah { background: #F8C9C3; color: var(--merah); font-weight: 700; }
.grid td.aksi { background: #fafbfc; text-align: center; width: 32px; }
.grid tfoot td { background: #eef2f7; font-weight: 700; padding: 5px 8px; height: auto; }
.grid tfoot td.total { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hapus-baris { border: 0; background: none; color: #b0332a; font-size: 20px; line-height: 1; cursor: pointer; width: 30px; height: 30px; }
.hapus-baris:hover { background: var(--merah-muda); }
.grid tr.baris-baru td { animation: sorot 1.2s ease-out; }
@keyframes sorot { from { box-shadow: inset 0 0 0 999px rgba(255, 213, 79, .45); } to { box-shadow: none; } }
.grid-tombol { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0 0; }
.grid-tombol .bantu { margin: 0 0 0 6px; }
.legenda { display: inline-flex; gap: 12px; font-size: 12.5px; color: var(--redup); margin-left: auto; }
.legenda i { display: inline-block; width: 13px; height: 13px; border: 1px solid #c5b56f; background: var(--kuning-isi); vertical-align: -2px; margin-right: 4px; }
.legenda i.hijau { background: var(--hijau-otomatis); border-color: #9cc28a; }

.ringkas-live { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 10px 14px; margin: 0 0 12px; background: #F6FAF3; border: 1px solid #cfe3c4; border-radius: var(--radius); font-size: 14px; }
.ringkas-live:empty { display: none; }
.ringkas-live span { white-space: nowrap; }
.ringkas-live b { font-variant-numeric: tabular-nums; }
.ringkas-live .merah b, .ringkas-live b.merah { color: var(--merah); }

/* ---------------- beranda & laporan ---------------- */
.daftar-perhatian { list-style: none; margin: 0; padding: 0; }
.daftar-perhatian li { border-left: 4px solid #9aa5b1; background: #f7f9fb; padding: 8px 12px; margin: 0 0 6px; border-radius: 0 6px 6px 0; font-size: 14px; }
.daftar-perhatian a { text-decoration: none; color: var(--teks); display: block; }
.daftar-perhatian a:hover { color: var(--biru-tua); text-decoration: underline; }
.perhatian-merah { border-left-color: var(--merah) !important; background: #FFF6F5 !important; }
.perhatian-oranye { border-left-color: #E07B22 !important; background: #FFF8F1 !important; }
.perhatian-kuning { border-left-color: #E0A800 !important; background: #FFFCEF !important; }
.perhatian-biru { border-left-color: var(--biru) !important; background: #F1F6FC !important; }
.kosong-baik { color: var(--hijau); font-weight: 600; margin: 4px 0; }
.kosong-baik::before { content: "✓ "; }

.status-periode { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; border-left: 5px solid #E0A800; }
.status-periode.terkunci { border-left-color: var(--hijau); background: #F4FAF3; }
.tanda-centang, .tanda-silang, .tanda-info {
  display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font-weight: 800; font-size: 13px; color: #fff;
}
.tanda-centang { background: var(--hijau); }
.tanda-silang { background: #E07B22; }
.tanda-info { background: #6b8fbf; font-style: italic; font-family: Georgia, serif; }
details.rincian { background: var(--putih); border: 1px solid var(--garis); border-radius: var(--radius); padding: 8px 12px; margin: 0 0 10px; }
details.rincian summary { cursor: pointer; padding: 4px 0; }
details.rincian[open] summary { margin-bottom: 8px; }
details.rincian .tabel-bungkus { margin-bottom: 6px; }
.daftar-peran { margin: 6px 0; padding-left: 20px; }
.daftar-peran li { margin: 3px 0; }
.sandi-awal { max-width: 460px; margin: 12px 0; }
.sandi-awal th { width: 130px; }
code.sandi { font-size: 22px; letter-spacing: 1px; padding: 4px 10px; background: var(--kuning-isi); }
ul.beda { margin: 4px 0 0; padding-left: 16px; font-size: 12.5px; color: #3d4757; }
pre.json { font-size: 11.5px; white-space: pre-wrap; max-height: 240px; overflow: auto; background: #f6f8fa; padding: 8px; }

/* ---------------- masuk & galat ---------------- */
.kotak-masuk { max-width: 400px; margin: 8vh auto 0; background: var(--putih); border: 1px solid var(--garis); border-radius: 12px; padding: 28px 28px 20px; box-shadow: 0 8px 30px rgba(31,56,100,.10); }
.masuk-merek { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.masuk-merek b { display: block; font-size: 21px; color: var(--biru-tua); letter-spacing: .5px; }
.masuk-merek small { display: block; font-size: 13px; }
.kotak-galat { max-width: 520px; margin: 10vh auto 0; background: var(--putih); border: 1px solid var(--garis); border-radius: 12px; padding: 26px 30px; text-align: center; }
.kotak-galat h1 { color: var(--biru-tua); margin-bottom: 8px; }

/* ---------------- halaman cetak ---------------- */
.cetak { background: var(--putih); max-width: 1000px; margin: 0 auto; padding: 26px 30px; border: 1px solid var(--garis); }
.cetak.lanskap { max-width: 1250px; }
.cetak-alat { display: flex; gap: 10px; margin: -6px 0 18px; }
.cetak-kop { display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 3px double var(--biru-tua); padding-bottom: 10px; margin-bottom: 14px; }
.cetak-judul { font-size: 22px; font-weight: 800; color: var(--biru-tua); letter-spacing: 1px; }
.cetak-info { border-collapse: collapse; margin: 0 0 14px; font-size: 14px; }
.cetak-info td { padding: 3px 14px 3px 0; }
.cetak-info td:nth-child(odd) { color: var(--redup); }
.cetak-tabel { font-size: 13px; margin-bottom: 14px; border: 1px solid #9aa7b8; }
.cetak-tabel th, .cetak-tabel td { border: 1px solid #b8c2cf; }
.cetak-ttd { display: flex; justify-content: space-around; gap: 20px; margin-top: 36px; text-align: center; font-size: 14px; }
.pengajuan { margin-top: 10px; }
.pengajuan .baris-isian .isian { min-width: 240px; }
.polos-cetak { border: 0; border-bottom: 1px dotted #9aa7b8; border-radius: 0; background: transparent; padding: 3px 4px; }
.halaman-baru { height: 0; }

/* ---------------- halaman isian lebar (grading): menu samping disembunyikan di layar sedang, buka lewat ☰ ---------------- */
@media (min-width: 901px) and (max-width: 1559px) {
  body.ada-grid-lebar .tombol-menu { display: inline-block; }
  body.ada-grid-lebar .samping { transform: translateX(-100%); box-shadow: 4px 0 18px rgba(0,0,0,.18); }
  body.ada-grid-lebar.menu-buka .samping { transform: none; transition: transform .18s ease; }
  body.ada-grid-lebar.menu-buka::after { content: ""; position: fixed; inset: var(--tinggi-atas) 0 0 0; background: rgba(15,25,40,.25); z-index: 15; }
  body.ada-grid-lebar .isi { margin-left: 0; }
}

/* ---------------- layar kecil ---------------- */
@media (max-width: 1100px) {
  .kolom-2 { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .tombol-menu { display: inline-block; }
  .samping { transform: translateX(-100%); transition: transform .18s ease; box-shadow: 4px 0 18px rgba(0,0,0,.18); }
  body.menu-buka .samping { transform: none; }
  body.menu-buka::after { content: ""; position: fixed; inset: var(--tinggi-atas) 0 0 0; background: rgba(15,25,40,.35); z-index: 15; }
  .isi { margin-left: 0; padding: calc(var(--tinggi-atas) + 14px) 12px 50px; }
  .siapa { display: none; }
  .merek small { display: none; }
  .judul-halaman { align-items: flex-start; }
  h1 { font-size: 20px; }
  .kartu-nilai { font-size: 18px; }
}

/* ---------------- cetak ---------------- */
@page { size: A4; margin: 12mm; }
@page lanskap { size: A4 landscape; margin: 10mm; }
@media print {
  body { background: #fff; font-size: 12px; }
  .atas, .samping, .tindakan, .filter, .grid-tombol, .cetak-alat, .layar-saja, .hapus-baris, .tombol, .halaman-nav, form.inline { display: none !important; }
  .isi { margin: 0; padding: 0; max-width: none; }
  .polos-isi { padding: 0; max-width: none; }
  .cetak { border: 0; padding: 0; max-width: none; }
  .cetak.lanskap { page: lanskap; }
  .halaman-baru { break-before: page; }
  .panel, .tabel-bungkus, .kartu, details.rincian { border-color: #999; box-shadow: none; break-inside: avoid-page; }
  .tabel-bungkus { overflow: visible; }
  .tabel th { background: #1F3864 !important; color: #fff !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .tabel td { padding: 3px 6px; }
  .tabel tbody tr:nth-child(even) td { background: #fff; }
  .polos-cetak { border-bottom-color: transparent; }
  .masuk { border-color: #999; background: #fff; }
  details.rincian { display: block; }
  details.rincian > :not(summary) { display: block; }
  a { color: inherit; text-decoration: none; }
  .kartu-baris { grid-template-columns: repeat(4, 1fr); }
}
