/* ================= TAMPILAN UMUM & LAYOUT ================= */
body {
  background-image: linear-gradient(rgba(240, 242, 245, 0.85), rgba(240, 242, 245, 0.85)), url('disbudpar.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-color: #f0f2f5; /* Warna cadangan jika gambar sedang dimuat */
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  min-height: 100vh;
}

.main-container {
  max-width: 1100px;
}

/* ================= KARTU MENU UTAMA (HERO CARDS) ================= */
.card-menu {
  border-radius: 14px;
  background: white;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card-menu:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}

.card-main-hero {
  border-width: 2px !important;
}

.card-menu.border-dashed {
  border: 2px dashed #ced4da !important;
  background-color: #fcfcfc;
}

.card-menu.border-dashed:hover {
  border-color: #198754 !important;
  background-color: #ffffff;
}

.menu-icon {
  font-size: 3rem;
  margin-bottom: 14px;
}

/* ================= FORMULIR & CARD ================= */
.form-card {
  border-radius: 12px;
  border: none;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.section-title {
  font-size: 1rem;
  font-weight: 600;
  color: #0d6efd;
  border-bottom: 2px solid #eef2f6;
  padding-bottom: 6px;
  margin-bottom: 14px;
  margin-top: 10px;
}

/* ================= LEMBAR CETAK DI LAYAR MODAL (A4) ================= */
.paper-sheet {
  background: white;
  color: black;
  font-family: 'Times New Roman', Times, serif;
  padding: 30px 45px;
  font-size: 11pt;
  line-height: 1.35;
  width: 210mm;
  min-height: 297mm;
  box-sizing: border-box;
}

.paper-sheet.landscape-sheet {
  width: 297mm !important;
  min-height: 210mm !important;
  padding: 20px 25px !important;
}

/* ================= KOP SURAT DINAS ================= */
.kop-surat {
  text-align: center;
  padding-bottom: 0;
  margin-bottom: 4px;
}

.kop-surat h4 { margin: 0; font-size: 14pt; font-weight: bold; }
.kop-surat h3 { margin: 0; font-size: 18pt; font-weight: bold; }
.kop-surat p { margin: 0; font-size: 8.5pt; }

.judul-surat {
  text-align: center;
  font-weight: bold;
  text-decoration: underline;
  font-size: 12.5pt;
  margin-top: 0;
  margin-bottom: 2px;
}

.nomor-surat {
  text-align: center;
  margin-bottom: 16px;
  font-size: 10.5pt;
}

/* ================= TABEL SPPD ================= */
.tabel-sppd {
  width: 100%;
  table-layout: fixed; /* Mengunci lebar kolom agar lurus sejajar tanpa overflow */
  border-collapse: collapse;
  margin-top: 10px;
  font-size: 10pt;
}

.tabel-sppd th, .tabel-sppd td {
  border: 1px solid black;
  padding: 4px 6px;
  vertical-align: top;
  word-wrap: break-word; /* Mencegah teks panjang merusak garis kolom */
}

.ttd-box {
  margin-top: 25px;
  float: right;
  width: 270px;
  text-align: center;
  font-family: Arial;
  
}

/* ================= TABEL LEMBAR VISUM SPPD ================= */
.tabel-visum-paten {
  width: 100%;
  border-collapse: collapse !important;
  border: 1.5px solid black !important;
  font-family: 'Times New Roman', serif;
  font-size: 9.5pt;
  line-height: 1.25;
}

.tabel-visum-paten > tbody > tr > td {
  border: 1px solid black !important;
  padding: 6px 8px !important;
  vertical-align: top !important;
}

.inner-table {
  width: 100%;
  border-collapse: collapse !important;
  border: none !important;
}

.inner-table td {
  border: none !important;
  padding: 1px 3px !important;
  font-size: 9.5pt;
  vertical-align: top;
}

/* ================= GAYA SURAT BUKTI (KWITANSI DINAS) ================= */
.kwitansi-box {
  width: 100%;
  border: 1.5px solid #000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9pt;
  line-height: 1.35;
  background: #fff;
  box-sizing: border-box;
}

.kwitansi-sidebar {
  width: 55px;
  border-right: 1.5px solid #000;
  padding: 8px 4px;
  vertical-align: top;
  text-align: center;
}

.kwitansi-sidebar-text {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  white-space: nowrap;
  letter-spacing: 0.5px;
}

.box-nominal {
  border: 2px solid #000;
  font-weight: bold;
  font-size: 13pt;
  padding: 3px 22px;
  display: inline-block;
  letter-spacing: 0.5px;
}

/* ================= TABEL RINCIAN BIAYA PERJALANAN DINAS ================= */
.tabel-rincian-biaya {
  width: 100%;
  border-collapse: collapse;
  border: 1.5px solid #000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 8.5pt;
}

.tabel-rincian-biaya th, .tabel-rincian-biaya td {
  border: 1px solid #000;
  padding: 4px 6px;
}

.tabel-rincian-biaya th {
  background-color: #f8f9fa;
  text-align: center;
  font-weight: bold;
}

/* ================= KONTAINER CETAK KHUSUS ================= */
#areaCetakKhusus {
  display: none;
}

/* ================= PENGATURAN CETAK (PRINT / PDF) ================= */
@media print {
  html, body, body.modal-open {
    overflow: visible !important;
    height: auto !important;
    background: white !important;
  }

  body > :not(#areaCetakKhusus) {
    display: none !important;
  }

  body > #areaCetakKhusus {
    display: block !important;
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: white !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  #areaCetakKhusus * {
    visibility: visible !important;
  }
}

/* ================= KARTU LOGIN & AUTENTIKASI ================= */
.auth-card {
  border-radius: 16px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.auth-icon {
  font-size: 3.5rem;
  display: inline-block;
  margin-bottom: 5px;
}

/* ================= WATERMARK KANAN BAWAH ================= */
.footer-watermark {
  position: fixed;
  bottom: 10px;
  right: 14px;
  display: flex;
  align-items: center;
  gap: 5px;
  background-color: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(4px);
  padding: 3px 10px;
  border-radius: 20px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  font-size: 0.75rem;
  color: #495057;
  font-weight: 500;
  z-index: 1010;
  user-select: none;
}

.footer-badge-logo {
  height: 15px;
  width: auto;
  object-fit: contain;
  vertical-align: middle;
}