/* ULAYAT — gaya terang, tenang, kontras tinggi. Warna mengikuti logo: merah, hitam hangat, dan emas. */
:root{
  --latar:#f6f3ec;--kartu:#ffffff;--garis:#e3ddd0;--garis-kuat:#c9c1ae;
  --teks:#1c1410;--redup:#5a5048;
  --primer:#b32d06;--primer-hover:#8f2305;--di-primer:#ffffff;--primer-lembut:#fbece6;
  --emas:#b7791f;--emas-lembut:#fbf0d9;
  --ok:#0b6b3a;--ok-lembut:#e2f4ea;--bahaya:#a4262c;--bahaya-lembut:#fbe8e8;--netral-lembut:#eeeae0;
  --r:12px;--bayang:0 1px 2px rgba(28,20,16,.06),0 4px 14px rgba(28,20,16,.07);
  --font:ui-sans-serif,system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--latar);color:var(--teks);font:16px/1.55 var(--font)}
h1,h2,h3{line-height:1.25;margin:0}
h1{font-size:1.5rem;letter-spacing:.06em}h2{font-size:1.4rem}h3{font-size:1rem}
p{margin:0}
.memuat{padding:40px 16px;text-align:center;color:var(--redup)}
.lompat{position:absolute;left:-999px;top:8px;background:var(--primer);color:var(--di-primer);padding:8px 14px;border-radius:8px;z-index:10}
.lompat:focus{left:8px}
.ikon{flex:none;vertical-align:-3px}

/* Kerangka */
.bar{position:sticky;top:0;z-index:5;background:rgba(246,243,236,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--garis)}
.bar-dalam{max-width:760px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px}
.merek-kecil{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.1em;color:var(--primer)}
.peran{flex:1;min-width:0;text-align:right;color:var(--redup);font-size:.875rem;overflow-wrap:anywhere}
.logo-kecil{display:block;height:26px;width:auto}
.logo-masuk{display:block;height:54px;width:auto;max-width:100%}
.masuk .merek{display:grid;gap:8px;margin-bottom:6px}
.sr-saja{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
main#utama{max-width:760px;margin:0 auto;padding:20px 16px 56px;outline:none}

/* Tombol */
button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button,input{border-radius:10px}
.utama{display:block;width:100%;min-height:48px;margin-top:18px;background:var(--primer);color:var(--di-primer);border:0;font-weight:600;transition:background .18s,transform .18s}
.utama:hover{background:var(--primer-hover)}.utama:active{transform:scale(.99)}
.utama:disabled{opacity:.6;cursor:progress}
.sekunder{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;background:var(--kartu);color:var(--primer);border:1px solid var(--garis-kuat);font-weight:600;transition:border-color .18s,background .18s}
.sekunder:hover{border-color:var(--primer);background:var(--primer-lembut)}
.tautan{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 4px;margin-bottom:6px;background:none;border:0;color:var(--primer);font-weight:600}
.tautan:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--emas);outline-offset:2px}

/* Masuk */
.masuk{max-width:420px!important;padding-top:9vh!important}
.kartu{background:var(--kartu);border:1px solid var(--garis);border-radius:var(--r);box-shadow:var(--bayang);padding:20px}
.masuk .kartu{padding:26px}
.merek{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.sub{color:var(--redup);font-size:.875rem}
label{display:block;margin:16px 0 6px;font-size:.9rem;font-weight:600}
input{display:block;width:100%;min-height:48px;padding:10px 12px;font:inherit;color:var(--teks);background:#fff;border:1px solid var(--garis-kuat)}
input:hover{border-color:var(--primer)}
.bantu{margin-top:6px;color:var(--redup);font-size:.85rem}
.galat{display:flex;gap:8px;align-items:flex-start;margin-top:14px;padding:10px 12px;border-radius:10px;background:var(--bahaya-lembut);color:var(--bahaya);font-size:.9rem;font-weight:500}
.catatan{display:flex;gap:8px;align-items:flex-start;margin-top:16px;color:var(--redup);font-size:.85rem}

/* Judul & daftar */
.judul{display:flex;align-items:center;gap:10px;margin:6px 0 4px;flex-wrap:wrap}
.pengantar{color:var(--redup);margin:4px 0 16px;max-width:60ch}
.hitung{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 8px;border-radius:99px;background:var(--emas-lembut);color:#7a4d0b;font-weight:700;font-size:.85rem}
.daftar{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.perkara{display:grid;grid-template-columns:1fr auto;gap:6px 12px;width:100%;text-align:left;padding:16px;background:var(--kartu);border:1px solid var(--garis);box-shadow:var(--bayang);color:inherit;min-height:44px;transition:border-color .18s,transform .18s}
.perkara:hover{border-color:var(--primer);transform:translateY(-1px)}
.perkara .atas{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.perkara .nag{color:var(--redup);font-size:.9rem}
.perkara .lihat{grid-column:2;grid-row:1/3;align-self:center;color:var(--primer);font-weight:600}
.id{font-family:ui-monospace,Consolas,monospace;font-weight:700;overflow-wrap:anywhere}
.lencana{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;font-size:.8rem;font-weight:600;white-space:nowrap}
.lencana.tahap{background:var(--primer-lembut);color:var(--primer)}
.st-ok{background:var(--ok-lembut);color:var(--ok)}.st-bahaya{background:var(--bahaya-lembut);color:var(--bahaya)}.st-netral{background:var(--netral-lembut);color:var(--redup)}
.kosong{display:flex;gap:12px;align-items:flex-start;padding:22px;border:1px dashed var(--garis-kuat);border-radius:var(--r);color:var(--redup);background:var(--kartu)}
.kosong.kecil{padding:12px;border:0}

/* Detail */
.alur{list-style:none;padding:0;margin:18px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px 6px}
.alur li{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:.78rem;color:var(--redup)}
.alur .titik{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:2px solid var(--garis-kuat);background:var(--kartu);font-weight:700;font-size:.8rem}
.alur li.lewat{color:var(--ok)}.alur li.lewat .titik{background:var(--ok);border-color:var(--ok);color:#fff}
.alur li.kini{color:var(--teks);font-weight:700}.alur li.kini .titik{background:var(--primer);border-color:var(--primer);color:#fff;box-shadow:0 0 0 4px var(--primer-lembut)}
.kartu+.kartu,.kartu+.galat,.kartu+.berkas{margin-top:14px}
.meta{display:grid;grid-template-columns:96px 1fr;gap:8px 12px;margin:12px 0 0}
.meta dt{color:var(--redup);font-size:.9rem}.meta dd{margin:0;overflow-wrap:anywhere}
.bukti{list-style:none;padding:0;margin:8px 0 0}
.bukti-baris{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px 12px;align-items:center;padding:12px 0;border-top:1px solid var(--garis)}
.ik-berkas{color:var(--emas)}.bukti-teks{display:flex;flex-direction:column;min-width:0}.jenis{color:var(--redup);font-size:.85rem}
.berkas{margin-top:14px;padding:18px;background:var(--emas-lembut);border:1px solid #ecd9ab;border-radius:var(--r)}
.hash{margin:6px 0 10px;color:var(--redup);font-size:.8rem;overflow-wrap:anywhere}
code{font-family:ui-monospace,Consolas,monospace}
pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:12px;background:#fff;border:1px solid var(--garis);border-radius:10px;font:.85rem/1.5 ui-monospace,Consolas,monospace}

@media (max-width:560px){
  .alur{grid-template-columns:repeat(4,1fr)}
  .bukti-baris{grid-template-columns:auto 1fr;}
  .bukti-baris .lencana,.bukti-baris .sekunder{grid-column:2;justify-self:start}
  .peran{font-size:.8rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Unggah & versi */
select{display:block;width:100%;min-height:48px;padding:10px 12px;font:inherit;color:var(--teks);background:#fff;border:1px solid var(--garis-kuat);border-radius:10px}
select:hover{border-color:var(--primer)}
input[type=file]{padding:9px 10px;background:var(--kartu)}
input[type=file]::file-selector-button{margin-right:10px;padding:6px 12px;border:1px solid var(--garis-kuat);border-radius:8px;background:var(--primer-lembut);color:var(--primer);font:inherit;font-weight:600;cursor:pointer}
.opsional{color:var(--redup);font-weight:400}
.sukses{display:flex;gap:8px;align-items:flex-start;margin:14px 0;padding:10px 12px;border-radius:10px;background:var(--ok-lembut);color:var(--ok);font-size:.9rem;font-weight:500;overflow-wrap:anywhere}
.aksi{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.bukti-baris{grid-template-columns:auto 1fr auto}
.bukti-baris .aksi{grid-column:1/-1;justify-content:flex-end}
.form-versi,.riwayat{display:block;padding:12px 14px;margin:0 0 8px;background:var(--latar);border-radius:10px;border:1px solid var(--garis)}
.form-versi .utama{margin-top:12px}.kecil-lebar{width:auto;padding:0 18px}
.riwayat ul{list-style:none;padding:0;margin:6px 0 0}
.riwayat li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--garis)}
.rw-judul{display:flex;gap:6px;align-items:center;font-weight:600;font-size:.9rem;color:var(--redup)}
.no-versi{display:grid;place-items:center;min-width:34px;height:26px;border-radius:99px;background:var(--primer-lembut);color:var(--primer);font-weight:700;font-size:.8rem}
.rw-teks{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
@media (max-width:560px){.bukti-baris .aksi{justify-content:flex-start}.bukti-baris{grid-template-columns:auto 1fr}.bukti-baris .lencana{grid-column:2;justify-self:start}}

/* Alur perkara */
.judul .geser{margin-left:auto}
.kecil-pengantar{margin:6px 0 0;font-size:.9rem}
.kartu .aksi + form,.kartu .aksi + .bantu{margin-top:14px}
#form-tahap{margin-top:14px;padding:12px 14px;background:var(--latar);border:1px solid var(--garis);border-radius:10px}
.petugas,.rw-perkara,.rw-status{list-style:none;padding:0;margin:8px 0 0}
.petugas li,.rw-perkara li,.rw-status li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--garis)}
.rw-status{margin-top:4px}
.rw-status li{grid-template-columns:1fr}
#form-penugasan{margin-top:14px;padding-top:6px;border-top:1px solid var(--garis)}
.alur{grid-template-columns:repeat(4,1fr)}

/* Tata kelola */
textarea{display:block;width:100%;min-height:84px;padding:10px 12px;font:inherit;color:var(--teks);background:#fff;border:1px solid var(--garis-kuat);border-radius:10px;resize:vertical}
textarea:hover{border-color:var(--primer)}
.isi-panjang{white-space:pre-wrap;overflow-wrap:anywhere}
.tanggapan{padding:8px 10px;background:var(--primer-lembut);border-radius:8px}
.kartu form h3{margin:0 0 6px}
.kartu form + form{margin-top:18px;padding-top:14px;border-top:1px solid var(--garis)}
.rw-perkara .no-versi{min-width:44px;font-size:.7rem;text-align:center;padding:0 6px}

/* Akun */
.menu{display:flex;gap:4px;margin-left:auto;margin-right:6px}
.kecil-menu{min-height:36px;padding:0 8px;font-size:.88rem}
.sekali{margin:14px 0;padding:16px;border:2px solid var(--bahaya);border-radius:var(--r);background:var(--bahaya-lembut)}
.sekali h3{display:flex;gap:6px;align-items:center;color:var(--bahaya);margin:0 0 6px}
.rahasia{user-select:all;font-size:.95rem;background:#fff}
@media (max-width:560px){.bar-dalam{flex-wrap:wrap}.menu{order:3;width:100%;margin:0}.peran{text-align:left}}

/* Header: menu turun ke baris sendiri bila sempit (tidak boleh meluap) */
.bar-dalam{flex-wrap:wrap;row-gap:2px}
.peran{flex:1 1 8ch}
@media (max-width:760px){.menu{order:3;width:100%;margin:0 0 4px;justify-content:flex-start;gap:2px}.peran{text-align:right}}

.balik{margin-top:14px;text-align:center;font-size:.9rem}.balik a{color:var(--primer);display:inline-block;min-height:44px;line-height:44px}

/* Pustaka adat (kelola) */
.sumber-isian{margin:12px 0;padding:12px 14px;border:1px solid var(--garis);border-radius:10px;background:#fcfbf7}
.sumber-isian legend{padding:0 6px;font-weight:650;font-size:.9rem;color:var(--primer)}
.kartu h4{margin:18px 0 4px;font-size:1rem}
.isi-bacaan p+p{margin-top:.9em}
.isi-bacaan{max-width:68ch;overflow-wrap:anywhere}
.lead{color:var(--redup);margin-bottom:14px}
.sumber-daftar{margin:0;padding-left:20px;display:grid;gap:10px}
.sumber-rinci{display:block;color:var(--redup);font-size:.85rem}
.riwayat-versi,.celah{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.catatan-tinjau{margin:12px 0;padding:10px 14px;border-left:3px solid var(--emas);background:var(--emas-lembut);border-radius:0 10px 10px 0;font-size:.92rem}
.kartu .aksi + .aksi{margin-top:12px}

/* OCR bukti */
.ocr-panel{list-style:none;grid-column:1/-1;margin-top:8px;padding:14px;border:1px solid var(--garis-kuat);border-radius:var(--r);background:#fcfbf7}
.ocr-judul{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.ocr-judul h4{margin:0;font-size:1rem}
.ocr-hasil{margin-top:12px;padding-top:12px;border-top:1px solid var(--garis)}
.ocr-kepala{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.ocr-meta{color:var(--redup);font-size:.85rem}
.ocr-label{display:flex;gap:8px;align-items:flex-start;margin:10px 0;padding:8px 10px;border-radius:10px;background:var(--emas-lembut);color:#6b4300;font-size:.88rem}
.ocr-teks{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;padding:12px;max-height:340px;overflow:auto;background:#fff;border:1px solid var(--garis);border-radius:10px;font:.92rem/1.55 ui-monospace,Consolas,monospace}
.ocr-riwayat{margin-top:10px;font-size:.88rem;color:var(--redup)}
.ocr-riwayat ul{margin:6px 0;padding-left:20px}
.ocr-opsi{margin-top:12px;padding:10px 12px;border:1px dashed var(--garis-kuat);border-radius:10px}
.pilih{display:flex;gap:8px;align-items:flex-start;font-weight:500;margin:6px 0}
.pilih input{width:auto;margin-top:4px;flex:none;min-width:20px;min-height:20px}
.izin-eksternal{margin:10px 0}
.form-ocr-koreksi,.form-ocr-tinjau{margin-top:12px}
