/* Gaya dasar — palet netral abu, warna hanya untuk status (PRD §19.1, §19.3).
   Font sistem sementara; font swadaya menyusul (KT-06). Kontras AA di kedua tema (NFR-36). */
:root{color-scheme:light dark;--latar:#f6f6f4;--kartu:#fff;--teks:#1d1f22;--teks-2:#5b5f66;--garis:#d9dbdf;--aksen:#1f4e79;
  --siap:#1b7f3b;--perhatian:#a15c00;--kritis:#b3261e;--info:#2a5d8f;--fokus:#ffbf47}
@media (prefers-color-scheme:dark){:root{--latar:#15171a;--kartu:#1e2126;--teks:#e8e9eb;--teks-2:#a4a8b0;--garis:#33373d;--aksen:#8ab6e0;
  --siap:#5fcf86;--perhatian:#f2b45c;--kritis:#ff7b72;--info:#8ab6e0}}
*{box-sizing:border-box}html{font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
body{margin:0;background:var(--latar);color:var(--teks);min-height:100vh;display:flex;flex-direction:column}
.lompat{position:absolute;left:-999px;top:0;background:var(--aksen);color:#fff;padding:.5rem}.lompat:focus{left:.5rem}
.kepala{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--garis);background:var(--kartu)}
.lockup-nama{font-weight:700;display:block}.lockup-sub{color:var(--teks-2);font-size:.85rem}
.kepala-kanan{display:flex;gap:.75rem;align-items:center}.peran-aktif{font-size:.9rem}
.isi{flex:1;padding:1.25rem 1rem;max-width:72rem;width:100%;margin:0 auto}
.kaki{padding:.75rem 1rem;border-top:1px solid var(--garis);color:var(--teks-2);font-size:.8rem}
h1{font-size:1.5rem;margin:0 0 .75rem}h2{font-size:1.15rem;margin:1.5rem 0 .5rem}
.kartu{background:var(--kartu);border:1px solid var(--garis);border-radius:8px;padding:1rem;margin-bottom:1rem}
.kartu-sempit{max-width:30rem}
label{display:block;font-weight:600;margin:.75rem 0 .25rem}
input[type=text],input[type=password],input[type=email],input[type=tel],input[type=number],input[type=date],select,textarea{width:100%;padding:.55rem .65rem;border:1px solid var(--garis);border-radius:6px;background:var(--kartu);color:var(--teks);font:inherit}
input:focus,select:focus,textarea:focus,button:focus,a:focus{outline:3px solid var(--fokus);outline-offset:2px}
.tombol{display:inline-block;min-height:44px;padding:.6rem 1.1rem;border-radius:6px;border:1px solid var(--aksen);background:var(--aksen);color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.tombol-sekunder{background:transparent;color:var(--aksen)}
.tombol[disabled]{opacity:.55;cursor:not-allowed}
.paginasi{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.75rem 0}
.paginasi .tombol{min-height:36px;padding:.35rem .75rem}
.paginasi [aria-disabled=true].tombol{opacity:.45;cursor:default}
.pesan{padding:.75rem 1rem;border-left:4px solid var(--info);background:var(--kartu);border-radius:4px}
.galat{padding:.75rem 1rem;border-left:4px solid var(--kritis);background:var(--kartu);border-radius:4px}
.kode-galat{font-family:ui-monospace,Menlo,monospace;font-size:.85rem;color:var(--teks-2)}
.chip{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.8rem;border:1px solid var(--garis)}
.chip-siap{color:var(--siap);border-color:var(--siap)}.chip-perhatian{color:var(--perhatian);border-color:var(--perhatian)}
.chip-kritis{color:var(--kritis);border-color:var(--kritis)}.chip-info{color:var(--info);border-color:var(--info)}
.kisi{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}
.daftar-polos{list-style:none;padding:0;margin:0}.daftar-polos li{padding:.4rem 0;border-bottom:1px solid var(--garis)}
table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--garis);vertical-align:top}
th{font-size:.85rem;color:var(--teks-2)}td.angka,th.angka{text-align:right;font-variant-numeric:tabular-nums}
.gulir{overflow-x:auto}.kecil{font-size:.85rem;color:var(--teks-2)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---- layar modul ES ---- */
.kepala-layar{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;justify-content:space-between}
.kpi{display:flex;flex-direction:column;gap:.15rem}.kpi-nilai{font-size:2rem;font-variant-numeric:tabular-nums;line-height:1.1}
.kpi-meta{font-size:.75rem;color:var(--teks-2)}.chip-asal{border-style:dashed}
.tombol-kecil{min-height:0;padding:.15rem .6rem;font-size:.8rem}
.ubin-kisi{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}
.ubin{border:1px solid var(--garis);border-left-width:5px;border-radius:6px;padding:.5rem .6rem;background:var(--kartu);text-decoration:none;color:inherit;display:block}
.ubin-siap{border-left-color:var(--siap)}.ubin-perhatian{border-left-color:var(--perhatian)}.ubin-kritis{border-left-color:var(--kritis)}
.ubin strong{font-size:1.4rem;font-variant-numeric:tabular-nums}.ubin .kecil{display:block}
.batang{display:flex;align-items:center;gap:.5rem;margin:.25rem 0}.batang span.isi{height:.9rem;background:var(--info);border-radius:3px;min-width:2px}
.batang-kritis span.isi{background:var(--kritis)}.batang-perhatian span.isi{background:var(--perhatian)}
.saring{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:end;margin-bottom:.75rem}.saring label{margin:0}.saring input,.saring select{width:auto;min-width:10rem}
.dua-kolom{display:grid;gap:1rem;grid-template-columns:2fr 1fr}@media(max-width:900px){.dua-kolom{grid-template-columns:1fr}}
.kosong{padding:1rem;border:1px dashed var(--garis);border-radius:6px;color:var(--teks-2)}
.matriks td.sel{text-align:center;min-width:2rem;height:2rem}
.dinding{font-size:1.15rem}.dinding h2{font-size:1.4rem}.dinding .kpi-nilai{font-size:2.6rem}

/* ---- FR-EXP-08 / §17.7.6: lembar gaya cetak — A4 potret, tanpa navigasi/filter/aksi, header tabel berulang ---- */
@page{size:A4 portrait;margin:20mm}
@media print{
  :root{color-scheme:light;--latar:#fff;--kartu:#fff;--teks:#000;--teks-2:#333;--garis:#999}
  .kepala-kanan,.saring,.tombol,.lompat,#kesegaran button,.paginasi,details>summary,form{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}.isi{max-width:none;padding:0}
  .kepala{border-bottom:2px solid #000;padding:0 0 6pt}.kepala::after{content:"KONI Provinsi Kalimantan Barat · Porprov XIV 2026";display:block;font-size:9pt}
  .kaki{position:fixed;bottom:0;left:0;right:0;font-size:8pt;border-top:1px solid #000;background:#fff}
  .kartu{border:1px solid #999;break-inside:avoid;page-break-inside:avoid;box-shadow:none}
  table{page-break-inside:auto}thead{display:table-header-group}tr{page-break-inside:avoid}
  .chip{border:1px solid #000;color:#000!important}.ubin{border-left-width:2px;border-left-color:#000}
  a{color:#000;text-decoration:none}.gulir{overflow:visible}
  .kisi{grid-template-columns:repeat(2,1fr)}.dua-kolom{grid-template-columns:1fr}
}
