/* Sederhana: hitam-putih, border penuh, tanpa dekorasi. */
* { box-sizing: border-box; }
body { font-family: Arial, Helvetica, sans-serif; color: #000; background: #fff; margin: 0; }
header, main, footer { max-width: 1100px; margin: 0 auto; padding: 12px 16px; }
header { border-bottom: 2px solid #000; }
h1 { font-size: 22px; margin: 8px 0; }
h2 { font-size: 18px; margin: 20px 0 8px; border: 1px solid #000; background: #fff; padding: 6px 10px; }
h3 { font-size: 15px; margin: 14px 0 6px; }
.tombol-grid { display: flex; flex-wrap: wrap; gap: 6px; }
.tombol-grid button { border: 1px solid #000; background: #fff; color: #000; padding: 6px 10px; font-size: 13px; cursor: pointer; }
.tombol-grid button:hover { background: #000; color: #fff; }
#kembali { border: 1px solid #000; background: #fff; padding: 6px 12px; cursor: pointer; margin-bottom: 12px; }
#kembali:hover { background: #000; color: #fff; }
form.dinamis { border: 1px solid #000; padding: 16px; }
form.dinamis fieldset { border: 1px solid #000; margin: 0 0 14px; padding: 10px 12px; }
form.dinamis legend { font-weight: bold; padding: 0 6px; }
.baris { margin-bottom: 10px; }
.baris label.utama { display: block; font-weight: bold; margin-bottom: 3px; font-size: 14px; }
.baris .wajib { color: #000; }
.baris input[type=text], .baris input[type=number], .baris input[type=date],
.baris input[type=tel], .baris input[type=email], .baris input[type=file],
.baris select, .baris textarea {
  width: 100%; max-width: 480px; border: 1px solid #000; padding: 6px; font-size: 14px; background: #fff;
}
.baris textarea { min-height: 70px; }
.baris .bantuan { font-size: 12px; margin: 3px 0 0; }
.baris .galat { font-size: 12px; font-weight: bold; margin: 3px 0 0; display: none; }
.baris.invalid .galat { display: block; }
.baris.invalid input, .baris.invalid select, .baris.invalid textarea { border: 2px solid #000; }
.opsi { margin: 2px 0; font-size: 14px; }
.meta-form { border: 1px solid #000; padding: 8px 12px; margin-bottom: 14px; font-size: 13px; }
.meta-form table { border-collapse: collapse; }
.meta-form td { border: 1px solid #000; padding: 3px 8px; }
button.kirim { border: 1px solid #000; background: #fff; padding: 8px 18px; font-size: 15px; cursor: pointer; }
button.kirim:hover { background: #000; color: #fff; }
pre#hasil { border: 1px solid #000; padding: 10px; overflow-x: auto; font-size: 12px; }
footer { border-top: 1px solid #000; font-size: 12px; }
#cari { border: 1px solid #000; padding: 6px 10px; width: 100%; max-width: 420px; font-size: 14px; margin: 12px 0; }
.hitung { font-weight: normal; font-size: 13px; }
