/* =========================================================
   SAMASI ERP — Panduan Pengguna
   Tema putih. Semua warna diatur lewat variabel di bawah.
   ========================================================= */

:root{
  --aksen:#1667b0;
  --aksen-gelap:#10538e;
  --aksen-muda:#e7f0f9;

  --teks:#2f3a4a;
  --teks-judul:#1d2634;
  --teks-redup:#78849a;

  --putih:#ffffff;
  --latar:#f7f8fc;
  --garis:#e9ecf3;
  --garis-tebal:#dde2ec;

  --sukses:#0f8a6a;
  --sukses-muda:#e8f6f1;
  --awas:#c2410c;
  --awas-muda:#fdf0e8;

  --radius:14px;
  --radius-kecil:10px;
  --bayang:0 1px 2px rgba(29,38,52,.04), 0 6px 18px rgba(29,38,52,.05);
  --bayang-tipis:0 1px 2px rgba(29,38,52,.05);

  --font:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --tinggi-topbar:72px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none !important; animation:none !important}
}

body{
  margin:0;
  background:var(--latar);
  color:var(--teks);
  font-family:var(--font);
  font-size:15.5px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

a{color:var(--aksen);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--aksen);outline-offset:2px;border-radius:4px}

.skip{
  position:fixed;left:14px;top:-60px;z-index:80;background:var(--aksen);color:#fff;
  padding:10px 16px;border-radius:8px;text-decoration:none;font-size:14px;transition:top .18s;
}
.skip:focus{top:14px}

.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;
    stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------------- Header ---------------- */
.topbar{
  position:sticky;top:0;z-index:50;height:var(--tinggi-topbar);
  background:var(--putih);border-bottom:1px solid var(--garis);
}
.topbar-in{
  max-width:1440px;margin:0 auto;height:100%;
  display:flex;align-items:center;gap:18px;padding:0 26px;
}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--teks-judul)}
.brand-logo{
  width:34px;height:34px;object-fit:contain;display:block;
  border-radius:10px;background:var(--putih);
  box-shadow:0 0 0 1px rgba(22,103,176,.08);
}
.brand-text{font-size:17px;font-weight:500;letter-spacing:-.01em;white-space:nowrap}
.brand-text b{font-weight:800}

.searchbox{position:relative;margin-left:auto;width:min(400px,46vw)}
#search{
  width:100%;height:44px;padding:0 44px 0 16px;
  border:1px solid var(--garis-tebal);border-radius:11px;background:var(--putih);
  font-family:var(--font);font-size:14.5px;color:var(--teks);box-shadow:var(--bayang-tipis);
  transition:border-color .15s, box-shadow .15s;
}
#search::placeholder{color:#a3adbf}
#search:focus{outline:none;border-color:var(--aksen);box-shadow:0 0 0 3px var(--aksen-muda)}
.search-ic{position:absolute;right:14px;top:12px;color:#a3adbf;pointer-events:none}

.burger{
  display:none;align-items:center;justify-content:center;
  width:40px;height:40px;border:1px solid var(--garis-tebal);border-radius:10px;
  background:var(--putih);color:var(--teks);cursor:pointer;
}

/* ---------------- Kerangka ---------------- */
.shell{
  max-width:1440px;margin:0 auto;padding:28px 26px 60px;
  display:flex;align-items:flex-start;gap:30px;
}

/* ---------------- Sidebar ---------------- */
.sidebar{
  width:310px;flex:none;
  background:var(--putih);border:1px solid var(--garis);border-radius:var(--radius);
  box-shadow:var(--bayang);
  position:sticky;top:calc(var(--tinggi-topbar) + 28px);
  max-height:calc(100vh - var(--tinggi-topbar) - 56px);
  display:flex;flex-direction:column;overflow:hidden;
}
.sidebar-head{
  padding:20px 24px 16px;font-size:17px;font-weight:700;color:var(--teks-judul);
  border-bottom:1px solid var(--garis);
}
.menu{padding:12px 12px 18px;overflow-y:auto}

.grup-head{
  width:100%;display:flex;align-items:center;gap:11px;
  padding:9px 12px;border:0;background:none;cursor:pointer;
  font-family:var(--font);font-size:14.5px;font-weight:600;color:var(--teks-judul);
  border-radius:var(--radius-kecil);text-align:left;line-height:1.35;
}
.grup-head:hover{background:var(--latar)}
.grup-head > span{flex:1;min-width:0}
.grup-head .ic{width:18px;height:18px;color:var(--teks-redup)}
.grup-head .chev{width:16px;height:16px;transition:transform .2s;color:#9aa6b8}
.grup.buka > .grup-head .chev{transform:rotate(180deg)}
.grup.buka > .grup-head .ic:first-child{color:var(--aksen)}

/* tingkat kedua ke bawah dibuat sedikit lebih kecil */
.sub .grup-head{font-size:14px;font-weight:500}

.sub{display:none;position:relative;margin:0 0 2px;padding:0}
.grup.buka > .sub{display:block}
.sub::before{
  content:"";position:absolute;left:var(--garis-kiri,22px);top:2px;bottom:2px;
  width:1.5px;background:var(--garis);border-radius:2px;
}

.tautan{
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;margin:1px 0;border-radius:var(--radius-kecil);
  color:var(--teks);text-decoration:none;font-size:14px;line-height:1.4;
}
.tautan .ic{width:18px;height:18px;color:var(--teks-redup)}
.tautan span{flex:1;min-width:0}
.tautan:hover{background:var(--latar)}
.tautan-atas{font-size:14.5px;font-weight:600;color:var(--teks-judul)}
.tautan[aria-current="page"]{background:var(--aksen-muda);color:var(--aksen-gelap);font-weight:600}
.tautan[aria-current="page"] .ic{color:var(--aksen)}

.menu-kosong{padding:14px 14px 6px;color:var(--teks-redup);font-size:14px}

.scrim{display:none}

/* ---------------- Konten ---------------- */
.content{flex:1;min-width:0}

.crumb{
  display:flex;align-items:center;gap:8px;
  font-size:13.5px;color:var(--teks-redup);margin-bottom:14px;
}
.crumb b{color:var(--teks);font-weight:600}

.page-head{margin-bottom:26px}
.page-head h1{
  margin:0 0 10px;font-size:clamp(26px,3.4vw,34px);line-height:1.2;
  font-weight:800;letter-spacing:-.025em;color:var(--teks-judul);
}
.page-head .lead{margin:0;font-size:16.5px;color:var(--teks-redup);max-width:70ch}

.tool-bar{display:flex;justify-content:flex-end;margin-bottom:14px}
.tool{
  border:1px solid var(--garis-tebal);background:var(--putih);border-radius:9px;
  padding:8px 14px;font-family:var(--font);font-size:13.5px;font-weight:600;
  color:var(--teks);cursor:pointer;box-shadow:var(--bayang-tipis);
}
.tool:hover{border-color:var(--aksen);color:var(--aksen-gelap)}

/* ---------------- Beranda ---------------- */
.beranda{width:100%}
.beranda-eyebrow{
  display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--aksen-gelap);background:var(--aksen-muda);
  padding:5px 12px;border-radius:999px;margin-bottom:16px;
}
.beranda h1{
  margin:0 0 18px;font-size:clamp(28px,3.8vw,38px);line-height:1.18;
  font-weight:800;letter-spacing:-.025em;color:var(--teks-judul);
}
.beranda p{margin:0 0 14px;font-size:16px;line-height:1.65;color:var(--teks);text-align:justify;text-justify:inter-word}
.beranda p:last-of-type{margin-bottom:0}

.beranda-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:14px;margin-top:32px;max-width:none;
}
.beranda-kartu{
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  padding:20px;border:1px solid var(--garis);border-radius:var(--radius);
  background:var(--putih);box-shadow:var(--bayang-tipis);
  color:var(--teks-judul);text-decoration:none;font-weight:700;font-size:15.5px;
  transition:border-color .15s, box-shadow .15s, transform .15s;
}
.beranda-kartu:hover{
  border-color:var(--aksen);box-shadow:var(--bayang);transform:translateY(-2px);
  color:var(--aksen-gelap);
}
.beranda-kartu .ic{width:26px;height:26px;color:var(--aksen)}

/* ---------------- Accordion ---------------- */
.acc{
  background:var(--putih);border:1px solid var(--garis);border-radius:var(--radius);
  box-shadow:var(--bayang-tipis);margin-bottom:14px;overflow:hidden;
  transition:border-color .15s, box-shadow .15s;
}
.acc.buka{border-color:var(--garis-tebal);box-shadow:var(--bayang)}
.acc-head{
  width:100%;display:flex;align-items:center;gap:16px;
  padding:20px 24px;border:0;background:none;cursor:pointer;text-align:left;
  font-family:var(--font);font-size:16.5px;font-weight:700;
  letter-spacing:-.01em;color:var(--teks-judul);line-height:1.45;
}
.acc-head:hover{color:var(--aksen-gelap)}
.acc-head .chev{width:22px;height:22px;margin-left:auto;color:#a3adbf;transition:transform .22s}
.acc.buka .acc-head .chev{transform:rotate(180deg);color:var(--aksen)}

.acc-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s ease}
.acc.buka .acc-wrap{grid-template-rows:1fr}
.acc-body{overflow:hidden}
.acc-inner{padding:0 24px 24px;border-top:1px solid var(--garis);margin-top:-1px;padding-top:20px}

/* ---------------- Isi artikel ---------------- */
.acc-inner p{margin:0 0 14px}
.acc-inner p:last-child{margin-bottom:0}
.acc-inner h3{font-size:15.5px;font-weight:700;color:var(--teks-judul);margin:22px 0 8px}
.acc-inner ul, .acc-inner ol{margin:0 0 16px;padding-left:22px}
.acc-inner li{margin-bottom:7px}
.acc-inner strong{font-weight:700;color:var(--teks-judul)}
.acc-inner code{
  font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:.87em;
  background:var(--latar);border:1px solid var(--garis);padding:1px 6px;border-radius:5px;
}

figure{margin:20px 0;}
figure img{
  display:block;width:100%;height:auto;border:1px solid var(--garis);
  border-radius:var(--radius-kecil);background:var(--latar);
  cursor:zoom-in;
}
figcaption{margin-top:9px;font-size:13.5px;color:var(--teks-redup);text-align:center}

/* lightbox: klik gambar untuk memperbesar */
body.lightbox-aktif{overflow:hidden}
.lightbox{
  position:fixed;inset:0;z-index:200;padding:32px;
  background:rgba(15,20,30,.78);
  display:none;align-items:center;justify-content:center;
}
.lightbox.buka{display:flex}
.lightbox-inner{
  position:relative;max-width:96vw;max-height:94vh;
  display:flex;flex-direction:column;align-items:center;
}
.lightbox-stage{
  position:relative;width:min(1400px,92vw);height:min(860px,80vh);
  display:flex;align-items:center;justify-content:center;
}
.lightbox-stage img{
  display:block;width:100%;height:100%;object-fit:contain;
  border-radius:var(--radius-kecil);background:var(--putih);
  box-shadow:0 20px 60px rgba(0,0,0,.4);cursor:default;
}
.lightbox-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(255,255,255,.3);background:rgba(15,20,30,.55);
  color:#fff;display:grid;place-items:center;cursor:pointer;
}
.lightbox-nav:hover{background:rgba(15,20,30,.8)}
.lightbox-nav[hidden]{display:none}
.lightbox-prev{left:12px}
.lightbox-next{right:12px}
.lightbox-caption{
  margin-top:14px;font-size:13.5px;color:#fff;opacity:.85;text-align:center;
}
.lightbox-caption:empty{display:none}
.lightbox-counter{margin-top:4px;font-size:12px;color:#fff;opacity:.65;text-align:center}
.lightbox-counter:empty{display:none}
.lightbox-close{
  position:absolute;top:-46px;right:0;width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);
  color:#fff;display:grid;place-items:center;cursor:pointer;
}
.lightbox-close:hover{background:rgba(255,255,255,.18)}
.lightbox-close .ic{width:18px;height:18px}
@media (max-width:640px){
  .lightbox{padding:16px}
  .lightbox-close{top:-40px;width:32px;height:32px}
  .lightbox-nav{width:36px;height:36px}
  .lightbox-nav .ic{width:16px;height:16px}
}

/* langkah bernomor */
ol.langkah{list-style:none;counter-reset:s;margin:0 0 18px;padding:0}
ol.langkah > li{
  counter-increment:s;position:relative;padding:0 0 16px 42px;
}
ol.langkah > li::before{
  content:counter(s);position:absolute;left:0;top:1px;
  width:26px;height:26px;border-radius:50%;
  background:var(--aksen-muda);color:var(--aksen-gelap);
  font-size:13px;font-weight:700;display:grid;place-items:center;
}
ol.langkah > li p{margin:0}
ol.langkah > li p + p{margin-top:4px;color:var(--teks-redup);font-size:14.5px}

/* kotak informasi */
.info, .awas{padding:16px 18px;border-radius:var(--radius-kecil);margin:0 0 18px}
.info{background:var(--sukses-muda);border:1px solid #cfe9e0}
.awas{background:var(--awas-muda);border:1px solid #f6d9c6}
.info .tag, .awas .tag{
  display:block;font-size:12px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;margin-bottom:5px;
}
.info .tag{color:var(--sukses)}
.awas .tag{color:var(--awas)}
.info p:last-child, .awas p:last-child{margin-bottom:0}

/* tabel */
.tabel{overflow-x:auto;margin:0 0 18px;border:1px solid var(--garis);border-radius:var(--radius-kecil)}
table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:460px}
th,td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--garis)}
th{background:var(--latar);font-weight:700;color:var(--teks-judul);font-size:13px;
   letter-spacing:.03em;text-transform:uppercase}
tr:last-child td{border-bottom:0}

/* daftar field sebagai kartu — dipakai untuk pasangan Field/Keterangan
   agar tidak perlu digeser ke samping di layar sempit seperti tabel */
.field-list{
  display:grid;grid-template-columns:1fr;
  gap:12px;margin:0 0 18px;
}
.field-card{
  display:grid;grid-template-columns:1fr;gap:10px;
  padding:14px 16px;border:1px solid var(--garis);border-radius:var(--radius-kecil);
  background:var(--putih);
}
.field-card:has(.field-thumb-group){
  grid-template-columns:140px 1fr;gap:16px;align-items:stretch;
}
.field-thumb-group{position:relative;width:100%;height:100%;min-height:90px}
.field-thumb-group .field-thumb{
  display:none;width:100%;height:100%;object-fit:cover;object-position:top;
  border:1px solid var(--garis);border-radius:8px;background:var(--latar);
  cursor:zoom-in;
}
.field-thumb-group .field-thumb:first-child{display:block}
.field-thumb-group .field-thumb-count{
  position:absolute;right:6px;bottom:6px;z-index:1;pointer-events:none;
  background:rgba(15,20,30,.72);color:#fff;font-size:11px;font-weight:700;
  padding:2px 7px;border-radius:999px;
}
.field-text{min-width:0}
.field-label{
  display:block;margin-bottom:4px;font-size:12px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--aksen-gelap);
}
.field-desc{font-size:14.5px;color:var(--teks);line-height:1.55}
@media (max-width:560px){
  .field-card:has(.field-thumb-group){grid-template-columns:1fr}
  .field-thumb-group{height:150px;min-height:0}
}
.field-desc:last-child{margin-bottom:0}

/* kartu prioritas */
.tingkat{border:1px solid var(--garis);border-radius:var(--radius-kecil);overflow:hidden;margin:0 0 18px}
.tingkat-baris{display:flex;gap:16px;padding:16px 18px;border-bottom:1px solid var(--garis)}
.tingkat-baris:last-child{border-bottom:0}
.tingkat-baris:first-child{background:var(--aksen-muda)}
.tingkat-no{
  width:30px;height:30px;flex:none;border-radius:8px;background:var(--putih);
  border:1px solid var(--garis-tebal);color:var(--aksen-gelap);
  display:grid;place-items:center;font-weight:800;font-size:14px;
}
.tingkat-isi h3{margin:0 0 3px;font-size:15px}
.tingkat-isi p{margin:0;font-size:14.5px;color:var(--teks-redup)}

/* navigasi bawah */
.pager{display:flex;gap:14px;margin-top:32px}
.pager a{
  flex:1;display:block;padding:16px 18px;background:var(--putih);
  border:1px solid var(--garis);border-radius:var(--radius);
  text-decoration:none;color:var(--teks-judul);box-shadow:var(--bayang-tipis);
}
.pager a:hover{border-color:var(--aksen);box-shadow:var(--bayang)}
.pager span{display:block;font-size:12.5px;color:var(--teks-redup);margin-bottom:3px}
.pager .kanan{text-align:right}
.pager b{font-weight:700;font-size:15px}

.foot{
  max-width:1440px;margin:0 auto;padding:24px 26px 40px;
  display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;
  font-size:13.5px;color:var(--teks-redup);border-top:1px solid var(--garis);
}

/* ---------------- Layar kecil ---------------- */
@media (max-width:1000px){
  .burger{display:flex}
  .brand-text{display:none}
  .shell{padding:20px 18px 50px}
  .sidebar{
    position:fixed;left:0;top:var(--tinggi-topbar);z-index:60;
    width:min(320px,86vw);height:calc(100vh - var(--tinggi-topbar));
    border-radius:0;border-left:0;transform:translateX(-102%);transition:transform .22s ease;
  }
  .sidebar.buka{transform:translateX(0)}
  .scrim.buka{display:block;position:fixed;inset:var(--tinggi-topbar) 0 0 0;
              z-index:55;background:rgba(29,38,52,.4)}
}
@media (max-width:560px){
  .topbar-in{padding:0 16px;gap:12px}
  .searchbox{width:100%}
  .acc-head{padding:16px 18px;font-size:15.5px;gap:10px}
  .acc-inner{padding:18px 18px 20px}
  .pager{flex-direction:column}
}

@media print{
  .topbar,.sidebar,.scrim,.pager,.tool-bar,.foot,.crumb{display:none !important}
  body{background:#fff}
  .shell{display:block;padding:0}
  .acc-wrap{grid-template-rows:1fr !important}
  .acc{break-inside:avoid;box-shadow:none;border-color:#ddd}
}

/* ---------------- Penanda akses ---------------- */
.chip{
  display:flex;align-items:center;gap:8px;
  padding:7px 14px;border:1px solid var(--garis-tebal);border-radius:999px;
  background:var(--putih);color:var(--teks);cursor:pointer;
  font-family:var(--font);font-size:13.5px;font-weight:600;white-space:nowrap;
  box-shadow:var(--bayang-tipis);
}
.chip:hover{border-color:var(--aksen);color:var(--aksen-gelap)}
.chip .dot{width:8px;height:8px;border-radius:50%;background:var(--aksen);flex:none}

.notice{
  background:var(--awas-muda);border:1px solid #f6d9c6;color:var(--awas);
  padding:12px 16px;border-radius:var(--radius-kecil);margin-bottom:18px;font-size:14px;
}

@media (max-width:760px){ .chip span:last-child{display:none} .chip{padding:8px} }
