:root{
  --semen:#DDDED6; --semen-2:#D2D4CA; --kertas:#EAEBE4;
  --tinta:#141A16; --tinta-60:#5C645D; --tinta-40:#8B918B;
  --enamel:#2C4A3B; --enamel-lt:#C9D5CC;
  --plat:#E8B21F; --bata:#8C1D18; --bata-lt:#EBD5D2;
  --kursi:#1E5B8C; --kursi-lt:#CFDEE9;
  --garis:#B8BAB0; --r:2px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--semen);color:var(--tinta);
  font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:14px;line-height:1.5;
  background-image:repeating-linear-gradient(0deg,transparent 0 27px,rgba(20,26,22,.035) 27px 28px);
}
.mono{font-family:"IBM Plex Mono",monospace}
.shell{max-width:1180px;margin:0 auto;padding:0 18px 90px}

/* ---------- papan status ---------- */
.papan{background:var(--tinta);color:var(--kertas);margin:0 -18px 0;padding:16px 18px 14px;border-bottom:3px solid var(--plat)}
.papan-in{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end}
.merk{flex:1 1 220px;min-width:200px}
.merk .kecil{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--plat);font-weight:600}
.merk h1{font-family:"Anton",sans-serif;font-size:clamp(26px,4.4vw,38px);line-height:.94;margin-top:5px}
.merk .sub{font-size:11px;color:#9EA69F;margin-top:6px}
.hitung{display:flex;gap:14px;flex-wrap:wrap}
.plat-box{background:var(--plat);color:var(--tinta);padding:7px 13px 5px;border-radius:var(--r);min-width:88px;text-align:center;box-shadow:inset 0 0 0 2px rgba(20,26,22,.85)}
.plat-box .n{font-family:"Anton",sans-serif;font-size:32px;line-height:.9;display:block}
.plat-box .l{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-top:3px;display:block}
.plat-box.gelap{background:transparent;color:var(--kertas);box-shadow:inset 0 0 0 1px #3D453E}
.plat-box.gelap .n{font-size:26px;color:var(--plat)}
.plat-box.bahaya{background:var(--bata);color:#fff;box-shadow:inset 0 0 0 2px rgba(20,26,22,.85)}
.plat-box.bahaya .n{color:#fff}

/* ---------- bar koneksi ---------- */
#bar{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.06em;
  padding:7px 18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;
  background:var(--semen-2);border-bottom:1px solid var(--garis);color:var(--tinta-60)}
#bar.err{background:var(--bata);color:#fff}
#bar.warn{background:var(--plat);color:var(--tinta)}
#bar b{font-weight:600}
#bar button{font:inherit;background:transparent;border:1px solid currentColor;color:inherit;
  padding:2px 9px;border-radius:var(--r);cursor:pointer}
#bar button:hover{background:rgba(0,0,0,.12)}
.titik{width:7px;height:7px;border-radius:50%;background:var(--tinta-40);display:inline-block;flex:0 0 auto}
.titik.ok{background:var(--enamel)}.titik.no{background:var(--bata)}.titik.lokal{background:var(--plat)}

/* ---------- nav ---------- */
nav{position:sticky;top:0;z-index:40;background:var(--tinta);margin:0 -18px 22px;padding:0 18px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:1px solid #313A33}
.nav-in{max-width:1180px;margin:0 auto;display:flex;gap:1px;min-width:max-content}
nav button{font-family:"IBM Plex Mono",monospace;background:none;border:0;color:#8B938C;
  padding:11px 13px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;
  font-weight:500;border-bottom:3px solid transparent;transition:color .13s,border-color .13s;white-space:nowrap}
nav button:hover{color:var(--kertas)}
nav button[aria-selected="true"]{color:var(--plat);border-bottom-color:var(--plat)}
nav button:focus-visible{outline:2px solid var(--plat);outline-offset:-2px}
nav button .lonceng{background:var(--bata);color:#fff;border-radius:9px;padding:0 5px;margin-left:5px;font-size:9.5px}

/* ---------- umum ---------- */
h2.jud{font-family:"Anton",sans-serif;font-size:22px;margin:32px 0 4px;display:flex;align-items:baseline;gap:10px}
h2.jud:first-child{margin-top:6px}
h2.jud .kode{font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--tinta-40);font-weight:600;letter-spacing:.1em}
.ket{font-size:12.5px;color:var(--tinta-60);margin-bottom:16px;max-width:74ch}
.kartu{background:var(--kertas);border:1px solid var(--garis);border-radius:var(--r);padding:16px 18px}
.kartu+.kartu{margin-top:10px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-40);font-weight:600;margin-bottom:7px}
.pil{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:var(--r)}
.pil.hijau{background:var(--enamel-lt);color:var(--enamel)}
.pil.kuning{background:var(--plat);color:var(--tinta)}
.pil.merah{background:var(--bata-lt);color:var(--bata)}
.pil.biru{background:var(--kursi-lt);color:var(--kursi)}
.pil.abu{background:var(--semen-2);color:var(--tinta-60)}

/* ---------- fokus / blok ---------- */
.fokus{background:var(--tinta);color:var(--kertas);border-radius:var(--r);padding:20px 22px;border-left:6px solid var(--plat)}
.fokus .eyebrow{color:var(--plat)}
.fokus h3{font-family:"Anton",sans-serif;font-size:clamp(19px,3vw,25px);line-height:1.12;margin-bottom:9px}
.fokus p{font-size:13.5px;color:#B9C0BA;max-width:64ch}
.blok{border-left:4px solid var(--garis);padding:13px 15px;background:var(--kertas);border-radius:var(--r);margin-bottom:9px}
.blok.kritis{border-left-color:var(--bata);background:#F3E6E4}
.blok.perhatian{border-left-color:var(--plat)}
.blok.aman{border-left-color:var(--enamel)}
.blok h4{font-size:13.5px;font-weight:600;margin-bottom:4px}
.blok p{font-size:12.5px;color:var(--tinta-60);line-height:1.5}
.blok .aksi{font-size:12px;margin-top:7px;padding-top:7px;border-top:1px dashed var(--garis)}
.blok .aksi b{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--tinta-40);display:block;margin-bottom:2px}

/* ---------- strip gelombang ---------- */
.strip{display:flex;gap:2px;margin:14px 0 6px;overflow-x:auto;padding-bottom:5px}
.gel{flex:0 0 auto;min-width:62px;text-align:center;background:var(--kertas);border:1px solid var(--garis);
  padding:7px 5px 6px;cursor:pointer;border-radius:var(--r);transition:transform .12s,background .12s;font:inherit;color:inherit}
.gel:hover{transform:translateY(-2px)}
.gel .k{font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:600;display:block}
.gel .t{font-size:9px;color:var(--tinta-60);margin-top:2px;font-family:"IBM Plex Mono",monospace;display:block}
.gel.lewat{background:var(--semen-2);color:var(--tinta-40)}
.gel.lewat .t{color:var(--tinta-40)}
.gel.kini{background:var(--plat);border-color:var(--tinta);box-shadow:inset 0 0 0 2px var(--tinta)}
.gel.next{border-color:var(--enamel);border-width:2px}

/* ---------- tugas ---------- */
.tugas{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-top:1px solid var(--garis)}
.tugas:first-of-type{border-top:0}
.tugas input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:17px;height:17px;margin-top:1px;
  border:2px solid var(--tinta);border-radius:var(--r);cursor:pointer;background:transparent;position:relative}
.tugas input[type=checkbox]:checked{background:var(--enamel);border-color:var(--enamel)}
.tugas input[type=checkbox]:checked::after{content:"";position:absolute;left:4px;top:0;width:5px;height:10px;
  border:solid var(--kertas);border-width:0 2.5px 2.5px 0;transform:rotate(43deg)}
.tugas input:disabled{opacity:.4;cursor:not-allowed}
.tugas input:focus-visible{outline:2px solid var(--kursi);outline-offset:2px}
.tugas .isi{flex:1;min-width:0}
.tugas .judul{font-size:13.5px;font-weight:500;line-height:1.35}
.tugas.done .judul{text-decoration:line-through;color:var(--tinta-40)}
.tugas .meta{font-family:"IBM Plex Mono",monospace;font-size:10px;color:var(--tinta-40);margin-top:4px;display:flex;gap:9px;flex-wrap:wrap}
.tugas .meta .telat{color:var(--bata);font-weight:600}
.tugas .catat{font-size:11.5px;color:var(--tinta-60);margin-top:4px;font-style:italic}
.ubahmini{font-family:"IBM Plex Mono",monospace;font-size:10px;background:none;border:0;color:var(--kursi);
  cursor:pointer;text-decoration:underline;padding:0}

/* ---------- gate tri-state ---------- */
.gerbang{border:2px solid var(--tinta);border-radius:var(--r);background:var(--kertas);padding:13px 15px;margin-bottom:9px}
.gerbang.lolos{border-color:var(--enamel);background:#E4EBE5}
.gerbang.gagal{border-color:var(--bata);background:#F3E6E4}
.gerbang h4{font-size:13.5px;font-weight:600;margin-bottom:5px}
.gerbang .amb{font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--tinta-60);margin-bottom:8px}
.gerbang .pilihan{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:8px}
.gerbang .jatuh{margin-top:9px;padding-top:9px;border-top:1px dashed var(--garis);font-size:12.5px;color:var(--bata)}
.gerbang .jatuh b{display:block;font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
.gbtn{font-family:"IBM Plex Mono",monospace;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  padding:5px 11px;border:1px solid var(--tinta);background:transparent;color:var(--tinta);border-radius:var(--r);cursor:pointer}
.gbtn[aria-pressed="true"].ya{background:var(--enamel);border-color:var(--enamel);color:#fff}
.gbtn[aria-pressed="true"].no{background:var(--bata);border-color:var(--bata);color:#fff}
.gbtn:disabled{opacity:.45;cursor:not-allowed}

/* ---------- tabel ---------- */
table{width:100%;border-collapse:collapse;font-size:12.5px}
th{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;text-align:left;
  padding:8px 9px;background:var(--tinta);color:var(--kertas);font-weight:600;vertical-align:bottom}
td{padding:9px;border-bottom:1px solid var(--garis);vertical-align:top;line-height:1.42}
tbody tr:nth-child(even){background:rgba(20,26,22,.028)}
.tbl-wrap{overflow-x:auto;border:1px solid var(--garis);border-radius:var(--r);background:var(--kertas)}
table td.kd{font-family:"IBM Plex Mono",monospace;font-weight:600;white-space:nowrap}

/* ---------- form / tombol ---------- */
.pilih{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}
.pilih label{display:block}
.pilih .eyebrow{margin-bottom:5px}
select,input[type=text],input[type=date],input[type=number],input[type=email],textarea{
  width:100%;font-family:"IBM Plex Sans",sans-serif;font-size:13px;padding:9px 10px;
  border:1px solid var(--tinta);background:var(--kertas);color:var(--tinta);border-radius:var(--r)}
textarea{min-height:74px;resize:vertical;line-height:1.45}
select:focus,input:focus,textarea:focus{outline:2px solid var(--kursi);outline-offset:1px}
.tbl-btn{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  background:var(--tinta);color:var(--plat);border:0;padding:11px 18px;border-radius:var(--r);cursor:pointer}
.tbl-btn:hover{background:var(--enamel);color:var(--kertas)}
.tbl-btn:disabled{opacity:.5;cursor:not-allowed}
.tbl-btn.alt{background:transparent;color:var(--tinta);box-shadow:inset 0 0 0 1px var(--tinta)}
.tbl-btn.alt:hover{background:var(--tinta);color:var(--plat)}
.tbl-btn.bahaya{background:var(--bata);color:#fff}
.btn-baris{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* ---------- brief ---------- */
.brief{background:var(--kertas);border:1px solid var(--tinta);border-radius:var(--r);padding:0;overflow:hidden;margin-top:18px}
.brief-kop{background:var(--tinta);color:var(--kertas);padding:15px 18px}
.brief-kop .eyebrow{color:var(--plat);margin-bottom:5px}
.brief-kop h3{font-family:"Anton",sans-serif;font-size:20px;line-height:1.1}
.brief-kop .rinci{font-family:"IBM Plex Mono",monospace;font-size:10.5px;color:#9EA69F;margin-top:7px;display:flex;gap:14px;flex-wrap:wrap}
.brief-isi{padding:16px 18px}
.brief-isi h5{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tinta-40);font-weight:600;margin:18px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--garis)}
.brief-isi h5:first-child{margin-top:0}
.scene{display:grid;grid-template-columns:76px 1fr;gap:12px;padding:8px 0;border-bottom:1px dotted var(--garis)}
.scene .tc{font-family:"IBM Plex Mono",monospace;font-size:11.5px;font-weight:600;color:var(--kursi)}
.scene .isi{font-size:13px;line-height:1.48}
.scene .isi em{font-style:normal;color:var(--bata);font-weight:600;font-size:12px}
.tolak{background:#F3E6E4;border:2px solid var(--bata);color:var(--bata);padding:11px 13px;border-radius:var(--r);
  font-size:13px;font-weight:600;line-height:1.45}
ul.dot{list-style:none;padding:0}
ul.dot li{font-size:13px;line-height:1.5;padding:5px 0 5px 17px;position:relative}
ul.dot li::before{content:"—";position:absolute;left:0;color:var(--tinta-40);font-family:"IBM Plex Mono",monospace}
ul.dot.larang li::before{content:"×";color:var(--bata);font-weight:700}

/* ---------- guardrail ---------- */
.gr{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--garis);border-radius:var(--r);overflow:hidden}
.gr>div{padding:12px 14px;border-bottom:1px solid var(--garis)}
.gr .kiri{background:#F3E6E4;border-right:1px solid var(--garis)}
.gr .kanan{background:var(--enamel-lt)}
.gr .lbl{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;margin-bottom:5px}
.gr .kiri .lbl{color:var(--bata)}
.gr .kanan .lbl{color:var(--enamel)}
.gr p{font-size:12.5px;line-height:1.45}
.uji{border:2px solid var(--tinta);border-radius:var(--r);padding:14px 16px;background:var(--kertas)}
.uji h4{font-family:"Anton",sans-serif;font-size:15px;margin-bottom:5px}
.uji p{font-size:12.5px;color:var(--tinta-60);line-height:1.45}
.uji .gagal{font-size:12px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--garis);color:var(--bata);font-weight:500}

/* ---------- editor ---------- */
.ubah-baris{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--garis)}
.ubah-baris:first-child{border-top:0}
.ubah-baris .kd2{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:600;flex:0 0 66px;padding-top:2px}
.ubah-baris .nm{flex:1;min-width:0;font-size:13px;line-height:1.4}
.ubah-baris .nm small{display:block;color:var(--tinta-40);font-family:"IBM Plex Mono",monospace;font-size:10px;margin-top:3px}
.ubah-baris.arsip{opacity:.5}
.ubah-baris.arsip .nm{text-decoration:line-through}
.medan{margin-bottom:13px}
.medan>label{display:block}
.medan .bantu{font-size:11px;color:var(--tinta-40);margin-top:3px;line-height:1.4}
.medan .baris-daftar{display:flex;gap:6px;margin-bottom:5px}
.medan .baris-daftar input{flex:1}
.kotak-centang{display:flex;flex-wrap:wrap;gap:5px}
.kotak-centang label{display:inline-flex;align-items:center;gap:5px;font-size:12px;
  border:1px solid var(--garis);background:var(--kertas);padding:5px 9px;border-radius:var(--r);cursor:pointer}
.kotak-centang label:has(input:checked){background:var(--tinta);color:var(--kertas);border-color:var(--tinta)}
.kotak-centang input{accent-color:var(--plat)}
.grup-jud{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tinta-40);font-weight:600;margin:20px 0 9px;padding-bottom:5px;border-bottom:1px solid var(--garis)}

/* ---------- riwayat ---------- */
.riw{display:grid;grid-template-columns:104px 1fr;gap:11px;padding:10px 0;border-top:1px solid var(--garis);font-size:12.5px}
.riw:first-child{border-top:0}
.riw .wkt{font-family:"IBM Plex Mono",monospace;font-size:10.5px;color:var(--tinta-40);line-height:1.35}
.riw .apa b{font-weight:600}
.riw .diff{font-family:"IBM Plex Mono",monospace;font-size:11px;margin-top:3px;line-height:1.5}
.riw .diff .lama{color:var(--bata);text-decoration:line-through}
.riw .diff .baru{color:var(--enamel)}
.riw .oleh{font-family:"IBM Plex Mono",monospace;font-size:10px;color:var(--tinta-40);margin-top:3px}

/* ---------- masuk ---------- */
#masuk{position:fixed;inset:0;z-index:90;background:var(--tinta);display:none;
  align-items:center;justify-content:center;padding:22px}
#masuk.tampil{display:flex}
#masuk .kotak{background:var(--kertas);border-radius:var(--r);padding:28px 26px;max-width:400px;width:100%;
  border-top:5px solid var(--plat)}
#masuk h2{font-family:"Anton",sans-serif;font-size:25px;line-height:1.05;margin-bottom:7px}
#masuk p{font-size:12.5px;color:var(--tinta-60);margin-bottom:16px;line-height:1.5}
#masuk .kabar2{font-family:"IBM Plex Mono",monospace;font-size:11px;margin-top:11px;line-height:1.5}

.hidden{display:none}
.kabar{font-family:"IBM Plex Mono",monospace;font-size:10.5px;color:var(--tinta-40);padding:8px 0;line-height:1.5}
footer{margin-top:44px;padding-top:16px;border-top:1px solid var(--garis);font-family:"IBM Plex Mono",monospace;
  font-size:10px;color:var(--tinta-40);letter-spacing:.04em;line-height:1.6}

@media (max-width:620px){
  .gr{grid-template-columns:1fr}
  .gr .kiri{border-right:0}
  .scene{grid-template-columns:66px 1fr;gap:9px}
  .papan-in{gap:14px}
  .riw{grid-template-columns:1fr;gap:3px}
  .ubah-baris{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- hub (kartu navigasi command center) ---------- */
.hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:6px}
.hub a{display:block;background:var(--kertas);border:1px solid var(--garis);border-radius:var(--r);
  padding:15px 16px;text-decoration:none;color:var(--tinta);transition:transform .12s,border-color .12s}
.hub a:hover{transform:translateY(-2px);border-color:var(--tinta)}
.hub .hj{font-family:var(--f-judul);font-size:17px;margin-bottom:4px;display:flex;align-items:center;gap:8px}
.hub .hk{font-size:12px;color:var(--tinta-60);line-height:1.45}
.hub .pil{margin-left:auto}
/* ---------- kepala mini + bottom nav (halaman turunan) ---------- */
.kepala-mini{padding:20px 18px 8px;max-width:760px;margin:0 auto}
.kepala-mini .km-eyebrow{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--tinta-40);font-weight:600}
.kepala-mini h1{font-family:var(--f-judul);font-size:clamp(24px,6vw,32px);line-height:1.02;margin:6px 0 10px}
.km-chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-family:"IBM Plex Mono",monospace;font-size:10px;font-weight:600;letter-spacing:.06em;
  padding:4px 9px;border-radius:99px;background:var(--kertas);border:1px solid var(--garis);color:var(--tinta-60)}
.chip.merah{background:var(--bata);border-color:var(--bata);color:#fff}
.chip.hijau{background:var(--enamel-lt);border-color:var(--enamel-lt);color:var(--enamel)}
/* Menimpa SEMUA yang diwarisi dari aturan `nav` desain tab lama (sticky, top:0,
   margin negatif, overflow, border-bottom). Tanpa top:auto, elemen ini punya
   top:0 DAN bottom:0 sekaligus lalu melar setinggi layar. */
nav.bawah{position:fixed;top:auto;bottom:0;left:0;right:0;z-index:50;display:flex;
  height:auto;margin:0;padding:0;overflow:visible;border-bottom:0;
  background:var(--tinta);border-top:2px solid var(--plat)}
nav.bawah a{flex:1;text-align:center;padding:11px 4px 12px;text-decoration:none;
  font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:#8B938C;font-weight:600}
nav.bawah a.aktif{color:var(--plat)}
body.ada-bawah{padding-bottom:74px}
:root{--f-judul:"Anton",Impact,sans-serif}

/* ---------- nav atas lengkap (semua halaman kerja) ---------- */
nav.atas{position:sticky;top:0;z-index:45;background:var(--tinta);margin:0;padding:0;
  overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:2px solid var(--plat);
  border-top:0;height:auto;bottom:auto}
nav.atas .in{display:flex;gap:0;min-width:max-content;padding:0 8px}
nav.atas a{display:block;padding:11px 13px;text-decoration:none;white-space:nowrap;
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.08em;
  text-transform:uppercase;color:#8B938C;font-weight:600;border-bottom:3px solid transparent}
nav.atas a:hover{color:var(--kertas)}
nav.atas a.aktif{color:var(--plat);border-bottom-color:var(--plat)}
nav.atas a .lonceng{background:var(--bata);color:#fff;border-radius:9px;padding:0 5px;margin-left:5px}

/* ---------- tombol aksi baris + tambah ---------- */
.baris-aksi{display:flex;gap:9px;flex:0 0 auto;align-items:center;padding-left:8px}
.aksi-mini{font-family:"IBM Plex Mono",monospace;font-size:10px;background:none;border:0;
  color:var(--kursi);cursor:pointer;text-decoration:underline;padding:2px 0}
.aksi-mini.bahaya{color:var(--bata)}
.bar-tambah{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 12px}

/* ---------- editor sebagai modal ---------- */
#modal-edit{position:fixed;inset:0;z-index:80;background:rgba(20,26,22,.72);
  display:none;align-items:flex-start;justify-content:center;padding:18px;overflow-y:auto}
#modal-edit.tampil{display:flex}
#modal-edit .kotak-edit{background:var(--semen);border-radius:var(--r);max-width:680px;width:100%;
  margin:auto;box-shadow:0 18px 50px rgba(0,0,0,.4)}
