/* UI integrasi laporan PDF - tidak memengaruhi layout laporan cetak. */
.report-modal {
  position: fixed;
  inset: 0;
  z-index: 2200;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(3, 15, 29, 0.68);
  backdrop-filter: blur(6px);
}

.report-modal.hidden {
  display: none !important;
}

.report-modal-shell {
  width: min(760px, 100%);
  max-height: min(880px, calc(100vh - 36px));
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  background: #f8fafc;
  box-shadow: 0 28px 80px rgba(3, 15, 29, 0.34);
}

.report-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  color: #fff;
  background: linear-gradient(115deg, #071a2e, #123859 68%, #1667a8);
}

.report-modal-header h2,
.report-modal-header p {
  margin: 0;
}

.report-modal-header h2 {
  margin-top: 3px;
  font-size: 1.1rem;
}

.report-modal-header .section-kicker {
  color: #8ed3fb;
}

.report-modal-header .icon-button {
  flex: 0 0 auto;
  color: #fff;
  background: rgba(255, 255, 255, 0.14);
}

.report-modal-body {
  max-height: calc(100vh - 170px);
  overflow-y: auto;
  padding: 18px 20px 20px;
}

.report-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.report-form-grid .full-row {
  grid-column: 1 / -1;
}

.report-section-card {
  margin-top: 16px;
  padding: 14px;
  border: 1px solid #dbe4ee;
  border-radius: 13px;
  background: #fff;
}

.report-section-card h3 {
  margin: 0 0 10px;
  color: #0b2440;
  font-size: 0.9rem;
}

.report-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.report-check-grid .check-row {
  margin: 0;
  padding: 9px 10px;
  border: 1px solid #e2e8f0;
  border-radius: 9px;
  background: #f8fafc;
}

.report-warning {
  margin-top: 14px;
  padding: 11px 12px;
  border: 1px solid #f5c976;
  border-radius: 10px;
  color: #7b4b00;
  background: #fff8e7;
  font-size: 0.74rem;
  line-height: 1.5;
}

.report-warning.success {
  border-color: #9bd7b7;
  color: #12613c;
  background: #effbf4;
}

.report-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 16px;
}

.report-modal-actions .button {
  min-width: 145px;
}

.report-button-symbol {
  font-size: 0.85rem;
  line-height: 1;
}

@media (max-width: 680px) {
  .report-form-grid,
  .report-check-grid {
    grid-template-columns: 1fr;
  }

  .report-form-grid .full-row {
    grid-column: auto;
  }

  .report-modal-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .report-modal-actions .button {
    width: 100%;
  }
}

.report-structure-card {
  background: #f7fbf8;
}

.report-structure-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.report-structure-list span {
  position: relative;
  padding: 9px 10px 9px 28px;
  border: 1px solid #dbe8df;
  border-radius: 9px;
  background: #fff;
  color: #264936;
  font-size: .75rem;
}

.report-structure-list span::before {
  content: "✓";
  position: absolute;
  left: 10px;
  top: 8px;
  color: #1d7a4c;
  font-weight: 800;
}

@media (max-width: 680px) {
  .report-structure-list {
    grid-template-columns: 1fr;
  }
}


.report-scope-grid {
  display: grid;
  gap: 10px;
}

.report-scope-option {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  padding: 10px 12px;
  border: 1px solid #dbe4ee;
  border-radius: 10px;
  background: #fff;
}

.report-scope-option strong {
  display: block;
  margin-bottom: 2px;
  color: #0b2440;
  font-size: .88rem;
}

.report-scope-option span {
  display: block;
  color: #526172;
  font-size: .76rem;
  line-height: 1.4;
}

.report-owner-options-wrap.hidden { display:none !important; }
.report-owner-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:8px; }
.report-owner-option { display:flex; gap:8px; align-items:flex-start; padding:9px 10px; border:1px solid #e2e8f0; border-radius:9px; background:#f8fafc; font-size:.78rem; color:#264936; }
.report-owner-option input { margin-top:2px; }
.report-owner-empty { margin:8px 0 0; color:#6b7280; font-size:.76rem; }
@media (max-width: 680px) { .report-owner-options { grid-template-columns:1fr; } }
