/* bundled source: stage-5.18-ui.css */
/* Stage 5.18: one coherent Ruang Maslahat palette and one dashboard scroll. */
:root {
  --rm518-navy: #10293d;
  --rm518-blue: #245a73;
  --rm518-teal: #0f766e;
  --rm518-teal-dark: #0d615b;
  --rm518-paper: #f5f8fa;
  --rm518-line: #dce7ec;
}

/* ========================================================================== 
   STAGE 5.44.42 — PELAPORAN MASYARAKAT EMPAT TAHAP
   ========================================================================== */

html .rm58-report-panel.rm5442-report-enhanced {
  --rm5442-accent: #a8550b;
  --rm5442-accent-strong: #8b4107;
  --rm5442-accent-soft: #fff7ed;
  --rm5442-accent-border: #fed7aa;
  width: min(520px, calc(100vw - 36px)) !important;
  max-width: min(520px, calc(100vw - 36px)) !important;
}

html .rm58-report-panel.rm5442-report-enhanced.rm528-report-sawah {
  --rm5442-accent: #177449;
  --rm5442-accent-strong: #115b39;
  --rm5442-accent-soft: #f0fdf4;
  --rm5442-accent-border: #bbf7d0;
}

html .rm5442-report-enhanced .rm58-report-body {
  padding: 14px !important;
  background: #f7faf9 !important;
  scrollbar-gutter: stable !important;
}

html .rm5442-report-enhanced .rm58-report-body > .rm525-draft-row {
  margin-bottom: 10px !important;
  border-color: #dbe6e5 !important;
  background: #fff !important;
}

html .rm5442-report-enhanced .lapor-pelanggaran-form-wrap,
html .rm5442-report-enhanced .lindungi-sawah-form-wrap,
html .rm5442-report-enhanced .lapor-pelanggaran-card,
html .rm5442-report-enhanced .lindungi-sawah-card {
  min-width: 0 !important;
}

html .rm5442-report-enhanced .rm5442-report-workspace {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 10px !important;
}

html .rm5442-report-enhanced .rm5442-report-stepper {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 6px !important;
  padding: 10px !important;
  border: 1px solid #dae5e5 !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 8px 24px rgba(15, 49, 56, .055) !important;
}

html .rm5442-report-enhanced .rm5442-report-step-button {
  position: relative !important;
  display: flex !important;
  min-width: 0 !important;
  min-height: 54px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 7px 6px !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  color: #607580 !important;
  background: transparent !important;
  box-shadow: none !important;
  font: inherit !important;
  cursor: pointer !important;
  transition: border-color .18s ease, background .18s ease, color .18s ease !important;
}

html .rm5442-report-enhanced .rm5442-report-step-button:hover,
html .rm5442-report-enhanced .rm5442-report-step-button:focus-visible {
  border-color: #d6e2e1 !important;
  color: #284d57 !important;
  background: #f3f7f7 !important;
  outline: none !important;
}

html .rm5442-report-enhanced .rm5442-report-step-button.is-active {
  border-color: var(--rm5442-accent-border) !important;
  color: var(--rm5442-accent-strong) !important;
  background: var(--rm5442-accent-soft) !important;
}

html .rm5442-report-enhanced .rm5442-report-step-button.is-complete {
  color: #0f766e !important;
}

html .rm5442-report-enhanced .rm5442-report-step-visual {
  position: relative !important;
  display: inline-flex !important;
  width: 27px !important;
  min-width: 27px !important;
  height: 27px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 9px !important;
  background: #eef4f3 !important;
}

html .rm5442-report-enhanced .rm5442-report-step-visual > svg {
  width: 15px !important;
  height: 15px !important;
}

html .rm5442-report-enhanced .rm5442-report-step-number {
  position: absolute !important;
  right: -4px !important;
  bottom: -4px !important;
  display: inline-flex !important;
  width: 13px !important;
  height: 13px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid #fff !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #71868f !important;
  font-size: 7px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

html .rm5442-report-enhanced .rm5442-report-step-button.is-active .rm5442-report-step-visual {
  color: #fff !important;
  background: var(--rm5442-accent) !important;
}

html .rm5442-report-enhanced .rm5442-report-step-button.is-active .rm5442-report-step-number,
html .rm5442-report-enhanced .rm5442-report-step-button.is-complete .rm5442-report-step-number {
  background: #0f766e !important;
}

html .rm5442-report-enhanced .rm5442-report-step-label {
  overflow: hidden !important;
  color: inherit !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html .rm5442-report-enhanced .rm5442-report-context {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1px !important;
  overflow: hidden !important;
  border: 1px solid #dce7e6 !important;
  border-radius: 14px !important;
  background: #dce7e6 !important;
}

html .rm5442-report-enhanced .rm5442-context-item {
  display: flex !important;
  min-width: 0 !important;
  min-height: 50px !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 3px !important;
  padding: 8px 9px !important;
  background: #fff !important;
}

html .rm5442-report-enhanced .rm5442-context-item > span {
  color: #7a8e96 !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

html .rm5442-report-enhanced .rm5442-context-item > strong {
  overflow: hidden !important;
  color: #435f69 !important;
  font-size: 9.2px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html .rm5442-report-enhanced .rm5442-context-item.is-ready > strong {
  color: #0f766e !important;
}

html .rm5442-report-enhanced .rm5442-report-step-panel {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 13px !important;
  padding: 15px !important;
  border: 1px solid #d9e5e4 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(20, 55, 61, .055) !important;
}

html .rm5442-report-enhanced .rm5442-report-step-panel[hidden] {
  display: none !important;
}

html .rm5442-report-enhanced .rm5442-report-section-head {
  display: grid !important;
  grid-template-columns: 39px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  padding-bottom: 11px !important;
  border-bottom: 1px solid #e5ecec !important;
}

html .rm5442-report-enhanced .rm5442-report-section-icon {
  display: inline-flex !important;
  width: 39px !important;
  height: 39px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  color: var(--rm5442-accent-strong) !important;
  background: var(--rm5442-accent-soft) !important;
  box-shadow: inset 0 0 0 1px var(--rm5442-accent-border) !important;
}

html .rm5442-report-enhanced .rm5442-report-section-icon svg {
  width: 20px !important;
  height: 20px !important;
}

html .rm5442-report-enhanced .rm5442-report-section-copy {
  min-width: 0 !important;
}

html .rm5442-report-enhanced .rm5442-report-section-eyebrow {
  display: block !important;
  margin-bottom: 2px !important;
  color: var(--rm5442-accent) !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

html .rm5442-report-enhanced .rm5442-report-section-copy h4 {
  margin: 0 !important;
  color: #173947 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.3 !important;
}

html .rm5442-report-enhanced .rm5442-report-section-copy h4:focus {
  outline: none !important;
}

html .rm5442-report-enhanced .rm5442-report-section-copy p {
  margin: 3px 0 0 !important;
  color: #657983 !important;
  font-size: 9.6px !important;
  line-height: 1.45 !important;
}

html .rm5442-report-enhanced .rm5442-report-grid,
html .rm5442-report-enhanced .rm5442-report-identity-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

html .rm5442-report-enhanced .rm5442-report-identity-grid {
  padding: 10px !important;
  border: 1px solid #dce8e7 !important;
  border-radius: 13px !important;
  background: #f4f9f8 !important;
}

html .rm5442-report-enhanced .rm5442-report-identity-grid input[readonly] {
  min-height: 38px !important;
  border-color: #d9e4e3 !important;
  background: #fff !important;
  color: #536c76 !important;
}

html .rm5442-report-enhanced [data-rm5442-field="lpJenisPelanggaran"],
html .rm5442-report-enhanced [data-rm5442-field="lpNamaObjek"],
html .rm5442-report-enhanced [data-rm5442-field="lpDetailAlamat"],
html .rm5442-report-enhanced [data-rm5442-field="lpJenisPemanfaatan"],
html .rm5442-report-enhanced [data-rm5442-field="lsDetailAlamat"],
html .rm5442-report-enhanced [data-rm5442-field="lsDetailPelanggaran"],
html .rm5442-report-enhanced [data-rm5442-field="lpUraianPelanggaran"],
html .rm5442-report-enhanced [data-rm5442-field="lpFotoInput"],
html .rm5442-report-enhanced [data-rm5442-field="lsFotoInput"] {
  grid-column: 1 / -1 !important;
}

html .rm5442-report-enhanced .rm5442-report-evidence-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
}

html .rm5442-report-enhanced .rm5442-report-coordinate-grid {
  padding: 10px !important;
  border: 1px dashed #cfdedd !important;
  border-radius: 13px !important;
  background: #f8fbfb !important;
}

html .rm5442-report-enhanced .form-group {
  min-width: 0 !important;
}

html .rm5442-report-enhanced .form-group > label {
  display: flex !important;
  min-height: 17px !important;
  align-items: center !important;
  margin: 0 0 5px !important;
  color: #38535e !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

html .rm5442-report-enhanced input:not([type="file"]),
html .rm5442-report-enhanced textarea,
html .rm5442-report-enhanced select,
html .rm5442-report-enhanced .lp-custom-select-trigger,
html .rm5442-report-enhanced .ls-custom-select-trigger {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 42px !important;
  border-color: #cfdedd !important;
  border-radius: 11px !important;
  color: #173947 !important;
  background-color: #fff !important;
  font-size: 10.8px !important;
}

html .rm5442-report-enhanced input:not([type="file"]):focus,
html .rm5442-report-enhanced textarea:focus,
html .rm5442-report-enhanced select:focus,
html .rm5442-report-enhanced .lp-custom-select-trigger:focus-visible,
html .rm5442-report-enhanced .ls-custom-select-trigger:focus-visible {
  border-color: #4aa89d !important;
  outline: 3px solid rgba(20, 135, 123, .12) !important;
  box-shadow: none !important;
}

html .rm5442-report-enhanced textarea {
  min-height: 108px !important;
  resize: vertical !important;
}

html .rm5442-report-enhanced input[type="file"] {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 46px !important;
  padding: 5px !important;
  border: 1px dashed #b8d0cc !important;
  border-radius: 12px !important;
  color: #526d77 !important;
  background: #f7fbfa !important;
  font-size: 9.5px !important;
}

html .rm5442-report-enhanced input[type="file"]::file-selector-button {
  min-height: 34px !important;
  margin-right: 8px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 9px !important;
  color: #fff !important;
  background: #176f67 !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

html .rm5442-report-enhanced .lapor-pelanggaran-aoi-card,
html .rm5442-report-enhanced .lindungi-sawah-aoi-card {
  padding: 13px !important;
  border-color: #d5e2e1 !important;
  border-radius: 15px !important;
  background: #f7faf9 !important;
}

html .rm5442-report-enhanced .lapor-pelanggaran-aoi-actions,
html .rm5442-report-enhanced .lindungi-sawah-aoi-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

html .rm5442-report-enhanced .lapor-aoi-icon-btn,
html .rm5442-report-enhanced .lindungi-aoi-icon-btn {
  min-height: 42px !important;
  border-color: #cbdedb !important;
  color: #245a59 !important;
  background: #fff !important;
}

html .rm5442-report-enhanced .lapor-aoi-icon-btn:hover:not(:disabled),
html .rm5442-report-enhanced .lindungi-aoi-icon-btn:hover:not(:disabled) {
  border-color: #8fc6be !important;
  color: #0e665f !important;
  background: #edf8f6 !important;
}

html .rm5442-report-enhanced .rm5442-report-review {
  display: flex !important;
  flex-direction: column !important;
  gap: 11px !important;
}

html .rm5442-report-enhanced .rm5442-report-review-summary {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 11px !important;
  border: 1px solid #cfe3df !important;
  border-radius: 13px !important;
  background: #f1f8f6 !important;
}

html .rm5442-report-enhanced .rm5442-report-review-mark {
  display: inline-flex !important;
  width: 38px !important;
  height: 38px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 11px !important;
  color: #fff !important;
  background: #13766d !important;
}

html .rm5442-report-enhanced .rm5442-report-review-mark svg {
  width: 19px !important;
  height: 19px !important;
}

html .rm5442-report-enhanced .rm5442-report-review-summary strong {
  display: block !important;
  color: #17444a !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}

html .rm5442-report-enhanced .rm5442-report-review-summary p {
  margin: 2px 0 0 !important;
  color: #61777f !important;
  font-size: 9px !important;
  line-height: 1.4 !important;
}

html .rm5442-report-enhanced .rm5442-report-review-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
}

html .rm5442-report-enhanced .rm5442-report-review-row {
  min-width: 0 !important;
  padding: 10px !important;
  border: 1px solid #dce7e6 !important;
  border-radius: 12px !important;
  background: #fff !important;
}

html .rm5442-report-enhanced .rm5442-report-review-row.is-full {
  grid-column: 1 / -1 !important;
}

html .rm5442-report-enhanced .rm5442-report-review-row dt {
  margin: 0 0 4px !important;
  color: #7a8d95 !important;
  font-size: 8px !important;
  font-weight: 850 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

html .rm5442-report-enhanced .rm5442-report-review-row dd {
  margin: 0 !important;
  overflow-wrap: anywhere !important;
  color: #244955 !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
}

html .rm5442-report-enhanced .rm5442-report-confirmation {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: flex-start !important;
  gap: 9px !important;
  padding: 11px !important;
  border: 1px solid #d5e3e1 !important;
  border-radius: 12px !important;
  color: #425f69 !important;
  background: #fbfdfd !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  cursor: pointer !important;
}

html .rm5442-report-enhanced .rm5442-report-confirmation.is-required {
  border-color: #f59e0b !important;
  background: #fffbeb !important;
}

html .rm5442-report-enhanced .rm5442-report-confirmation input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

html .rm5442-report-enhanced .rm5442-report-confirmation-mark {
  display: inline-flex !important;
  width: 18px !important;
  height: 18px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.5px solid #a9bfbc !important;
  border-radius: 6px !important;
  color: transparent !important;
  background: #fff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

html .rm5442-report-enhanced .rm5442-report-confirmation input:checked + .rm5442-report-confirmation-mark {
  border-color: #0f766e !important;
  color: #fff !important;
  background: #0f766e !important;
}

html .rm5442-report-enhanced .rm5442-report-confirmation input:focus-visible + .rm5442-report-confirmation-mark {
  outline: 3px solid rgba(15, 118, 110, .18) !important;
  outline-offset: 2px !important;
}

html .rm5442-report-enhanced .rm5442-report-official-note {
  margin: 0 !important;
  padding: 9px 10px !important;
  border-left: 3px solid #8ebbb5 !important;
  border-radius: 0 10px 10px 0 !important;
  color: #61777f !important;
  background: #f5f9f8 !important;
  font-size: 8.8px !important;
  line-height: 1.5 !important;
}

html .rm5442-report-enhanced .rm5442-report-navigation {
  position: sticky !important;
  bottom: -14px !important;
  z-index: 5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin: 0 -14px -14px !important;
  padding: 12px 14px 14px !important;
  border-top: 1px solid rgba(213, 226, 224, .85) !important;
  background: linear-gradient(180deg, rgba(247, 250, 249, .88), #f7faf9 30%) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

html .rm5442-report-enhanced .rm5442-report-back,
html .rm5442-report-enhanced .rm5442-report-next {
  display: inline-flex !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 15px !important;
  border-radius: 11px !important;
  font-size: 10.5px !important;
  font-weight: 850 !important;
  cursor: pointer !important;
}

html .rm5442-report-enhanced .rm5442-report-back {
  border: 1px solid #cad9d8 !important;
  color: #45636d !important;
  background: #fff !important;
}

html .rm5442-report-enhanced .rm5442-report-next {
  min-width: 148px !important;
  border: 1px solid var(--rm5442-accent) !important;
  color: #fff !important;
  background: var(--rm5442-accent) !important;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--rm5442-accent) 22%, transparent) !important;
}

html .rm5442-report-enhanced .rm5442-report-back svg,
html .rm5442-report-enhanced .rm5442-report-next svg {
  width: 16px !important;
  height: 16px !important;
}

html .rm5442-report-enhanced .rm5442-report-back:hover,
html .rm5442-report-enhanced .rm5442-report-back:focus-visible {
  border-color: #98b8b4 !important;
  color: #174d4a !important;
  background: #eef7f5 !important;
}

html .rm5442-report-enhanced .rm5442-report-next:hover,
html .rm5442-report-enhanced .rm5442-report-next:focus-visible {
  border-color: var(--rm5442-accent-strong) !important;
  background: var(--rm5442-accent-strong) !important;
}

html .rm5442-report-enhanced .rm5442-report-navigation > button[hidden] {
  display: none !important;
}

html .rm5442-report-enhanced .rm5442-report-navigation[hidden] {
  display: none !important;
}

html .rm5442-report-enhanced #lpShowMapActionWrap,
html .rm5442-report-enhanced #lsShowMapActionWrap,
html .rm5442-report-enhanced #lpAfterMapFields,
html .rm5442-report-enhanced #lsAfterMapFields,
html .rm5442-report-enhanced > .lapor-pelanggaran-grid[hidden],
html .rm5442-report-enhanced > .lindungi-sawah-grid[hidden] {
  display: none !important;
}

html .rm5442-report-enhanced #lpSubmitActionWrap,
html .rm5442-report-enhanced #lsSubmitActionWrap {
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

html .rm5442-report-enhanced #lpSubmitActionWrap[hidden],
html .rm5442-report-enhanced #lsSubmitActionWrap[hidden] {
  display: none !important;
}

html .rm5442-report-enhanced #lpSubmitButton,
html .rm5442-report-enhanced #lsSubmitButton {
  width: 100% !important;
  min-height: 44px !important;
  border: 1px solid #0f766e !important;
  border-radius: 11px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #0f5f5a, #128277) !important;
  box-shadow: 0 9px 20px rgba(15, 118, 110, .18) !important;
}

html .rm5442-report-enhanced #lpSubmitButton:hover:not(:disabled),
html .rm5442-report-enhanced #lsSubmitButton:hover:not(:disabled),
html .rm5442-report-enhanced #lpSubmitButton:focus-visible:not(:disabled),
html .rm5442-report-enhanced #lsSubmitButton:focus-visible:not(:disabled) {
  border-color: #0b5e58 !important;
  background: linear-gradient(135deg, #0b514d, #0f766e) !important;
  transform: none !important;
}

html .rm5442-report-enhanced [data-report-step-panel="4"].is-success > .rm5442-report-section-head,
html .rm5442-report-enhanced [data-report-step-panel="4"].is-success > .rm5442-report-review,
html .rm5442-report-enhanced [data-report-step-panel="4"].is-success > #lpSubmitActionWrap,
html .rm5442-report-enhanced [data-report-step-panel="4"].is-success > #lsSubmitActionWrap {
  display: none !important;
}

html .rm5442-report-enhanced .rm5442-report-success {
  display: flex !important;
  min-height: 300px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px 16px !important;
  text-align: center !important;
}

html .rm5442-report-enhanced .rm5442-report-success[hidden] {
  display: none !important;
}

html .rm5442-report-enhanced .rm5442-report-success-icon {
  display: inline-flex !important;
  width: 58px !important;
  height: 58px !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 12px !important;
  border: 7px solid #dcfce7 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #16805b !important;
  box-shadow: 0 9px 24px rgba(22, 128, 91, .2) !important;
  font-size: 25px !important;
  font-weight: 900 !important;
}

html .rm5442-report-enhanced .rm5442-report-success-kicker {
  color: #13745b !important;
  font-size: 8.5px !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

html .rm5442-report-enhanced .rm5442-report-success h4 {
  margin: 5px 0 6px !important;
  color: #153b47 !important;
  font-size: 17px !important;
  font-weight: 860 !important;
  line-height: 1.3 !important;
}

html .rm5442-report-enhanced .rm5442-report-success > p {
  max-width: 350px !important;
  margin: 0 !important;
  color: #607780 !important;
  font-size: 10px !important;
  line-height: 1.55 !important;
}

html .rm5442-report-enhanced .rm5442-report-success-id {
  display: flex !important;
  min-width: min(280px, 100%) !important;
  flex-direction: column !important;
  gap: 4px !important;
  margin: 16px 0 !important;
  padding: 11px 15px !important;
  border: 1px dashed #a8cec4 !important;
  border-radius: 12px !important;
  background: #f1f9f6 !important;
}

html .rm5442-report-enhanced .rm5442-report-success-id span {
  color: #70858d !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

html .rm5442-report-enhanced .rm5442-report-success-id strong {
  overflow-wrap: anywhere !important;
  color: #0f655b !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

html .rm5442-report-enhanced .rm5442-report-success-actions {
  display: grid !important;
  width: min(360px, 100%) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

html .rm5442-report-enhanced .rm5442-report-success-actions button {
  min-height: 42px !important;
  padding: 0 12px !important;
  border: 1px solid #bad7d2 !important;
  border-radius: 11px !important;
  color: #155e58 !important;
  background: #fff !important;
  font-size: 9.5px !important;
  font-weight: 850 !important;
  cursor: pointer !important;
}

html .rm5442-report-enhanced .rm5442-report-success-actions button:last-child {
  border-color: #0f766e !important;
  color: #fff !important;
  background: #0f766e !important;
}

html .rm5442-report-enhanced .rm5442-report-success-actions button:hover,
html .rm5442-report-enhanced .rm5442-report-success-actions button:focus-visible {
  border-color: #0f766e !important;
  background: #eaf7f4 !important;
}

html .rm5442-report-enhanced .rm5442-report-success-actions button:last-child:hover,
html .rm5442-report-enhanced .rm5442-report-success-actions button:last-child:focus-visible {
  border-color: #0b5e58 !important;
  background: #0b5e58 !important;
}

@media (max-width: 720px) {
  html .rm58-report-panel.rm5442-report-enhanced {
    right: 10px !important;
    width: calc(100vw - 20px) !important;
    max-width: none !important;
  }

  html .rm5442-report-enhanced .rm5442-report-stepper {
    gap: 3px !important;
    padding: 7px !important;
  }

  html .rm5442-report-enhanced .rm5442-report-step-button {
    min-height: 49px !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 5px 3px !important;
  }

  html .rm5442-report-enhanced .rm5442-report-step-visual {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
  }

  html .rm5442-report-enhanced .rm5442-report-step-label {
    font-size: 8.5px !important;
  }

  html .rm5442-report-enhanced .rm5442-report-context {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  html .rm5442-report-enhanced .rm58-report-body {
    padding: 10px !important;
  }

  html .rm5442-report-enhanced .rm5442-report-identity-grid,
  html .rm5442-report-enhanced .rm5442-report-grid,
  html .rm5442-report-enhanced .rm5442-report-review-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html .rm5442-report-enhanced .rm5442-report-review-row,
  html .rm5442-report-enhanced .rm5442-report-review-row.is-full {
    grid-column: auto !important;
  }

  html .rm5442-report-enhanced .rm5442-report-step-panel {
    padding: 12px !important;
    border-radius: 15px !important;
  }

  html .rm5442-report-enhanced .rm5442-report-section-head {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  html .rm5442-report-enhanced .rm5442-report-section-icon {
    width: 36px !important;
    height: 36px !important;
  }

  html .rm5442-report-enhanced .lapor-pelanggaran-aoi-actions,
  html .rm5442-report-enhanced .lindungi-sawah-aoi-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html .rm5442-report-enhanced .rm5442-report-navigation {
    bottom: -10px !important;
    margin: 0 -10px -10px !important;
    padding: 10px !important;
  }

  html .rm5442-report-enhanced .rm5442-report-back,
  html .rm5442-report-enhanced .rm5442-report-next {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html .rm5442-report-enhanced .rm5442-report-step-button,
  html .rm5442-report-enhanced .rm5442-report-back,
  html .rm5442-report-enhanced .rm5442-report-next {
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

html body input[type="checkbox"],
html body input[type="radio"],
html body input[type="range"],
html body .rm-v18-target-row input,
html body .rm-v41926-field input[type="range"] {
  accent-color: var(--rm518-teal) !important;
}

html body .webgis-adddata-type,
html body .webgis-adddata-type-badge,
html body .webgis-adddata-dataset-type,
html body .webgis-dataset-card-type,
html body .rm-v41926-popup-code,
html body .rm-v419-result-kicker,
html body .rm-v18-identify-count,
html body .rm-v18-analysis-note strong,
html body .ubah-sandi-info-text h4,
html body .ubah-sandi-info-icon,
html body .change-password-info-box h4,
html body .password-change-info h4 {
  color: var(--rm518-teal-dark) !important;
}

html body .webgis-coordinate-swap:hover,
html body .webgis-coordinate-swap:focus-visible,
html body [id*="Swap"]:hover,
html body [id*="swap"]:hover,
html body .rm-v18-target-actions button:hover,
html body .rm-v419-mini-actions button:hover {
  border-color: #a6cfd0 !important;
  background: #eaf5f3 !important;
  color: var(--rm518-teal-dark) !important;
}

.webgis-layer-legend-metric {
  display: inline-block !important;
  margin-left: 6px !important;
  color: var(--rm518-teal) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
}

.webgis-print-legend-metric {
  display: inline-block !important;
  margin-left: 4px !important;
  color: var(--rm518-teal) !important;
  font-size: 8.8px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.rm517-layer-edit-button,
.rm517-style-edit-button,
.rm-v41928-edit-btn,
.rm-style-edit-visible-btn {
  padding: 0 !important;
}

.rm517-style-edit-button,
.rm-v41928-edit-btn,
.rm-style-edit-visible-btn {
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
}

.rm517-layer-edit-button svg,
.rm517-style-edit-button svg,
.rm-v41928-edit-btn svg,
.rm-style-edit-visible-btn svg {
  width: 17px !important;
  height: 17px !important;
  color: var(--rm518-blue) !important;
}

/* Embedded work modules expand to their real document height. The parent
   dashboard owns the only vertical workspace scrollbar. */
html.rm-admin-embed,
html.rm-admin-embed body {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

html.rm-admin-embed .modern-dashboard-page,
html.rm-admin-embed .modern-dashboard-main,
html.rm-admin-embed #adminModuleContainer,
html.rm-admin-embed .rm-admin-module-container,
html.rm-admin-embed .rm-admin-module-card,
html.rm-admin-embed .rm-admin-spatial-layout,
html.rm-admin-embed .rm517-style-grid {
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: visible !important;
}

html.rm-admin-embed .rm517-style-summary-wrap,
html.rm-admin-embed .rm-admin-user-table-wrap {
  max-height: none !important;
  overflow-y: visible !important;
  overflow-x: auto !important;
}

/* Dashboard Internal: fixed shell, fixed header, single scrolling work area. */
html[data-page="dashboard-admin"],
html[data-page="dashboard-admin"] body {
  width: 100%;
  height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

html[data-page="dashboard-admin"] .shell {
  --rm518-sidebar-width: 264px;
  width: 100%;
  height: 100dvh !important;
  min-height: 0 !important;
  grid-template-columns: var(--rm518-sidebar-width) minmax(0, 1fr) !important;
  overflow: hidden !important;
  transition: grid-template-columns .2s ease;
}

html[data-page="dashboard-admin"] .shell[data-sidebar-collapsed="true"] {
  --rm518-sidebar-width: 82px;
}

html[data-page="dashboard-admin"] .sidebar {
  position: relative !important;
  top: auto !important;
  min-height: 0 !important;
  height: 100dvh !important;
  padding: 22px 16px !important;
  overflow: hidden !important;
}

html[data-page="dashboard-admin"] .sidebar .nav {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
}

html[data-page="dashboard-admin"] .sidebar .nav::-webkit-scrollbar {
  display: none;
}

html[data-page="dashboard-admin"] .main {
  display: flex !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100dvh !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

html[data-page="dashboard-admin"] .topbar {
  position: relative !important;
  top: auto !important;
  z-index: 50;
  flex: 0 0 76px !important;
  min-height: 76px !important;
  padding-right: 26px !important;
  padding-left: 23px !important;
}

html[data-page="dashboard-admin"] .rm518-topbar-heading {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 13px;
}

html[data-page="dashboard-admin"] .rm518-sidebar-toggle {
  display: inline-flex;
  width: 39px;
  min-width: 39px;
  height: 39px;
  align-items: center;
  justify-content: center;
  border: 1px solid #dce7ec;
  border-radius: 12px;
  background: #f7fafb;
  color: var(--rm518-blue);
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease, color .16s ease;
}

html[data-page="dashboard-admin"] .rm518-sidebar-toggle:hover,
html[data-page="dashboard-admin"] .rm518-sidebar-toggle:focus-visible {
  border-color: #a8d0cd;
  background: #eaf5f3;
  color: var(--rm518-teal-dark);
}

html[data-page="dashboard-admin"] .rm518-sidebar-toggle svg {
  width: 18px;
  height: 18px;
}

html[data-page="dashboard-admin"] .content {
  width: 100%;
  max-width: 1600px !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  padding: 25px 28px 40px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(36, 90, 115, .36) transparent;
}

html[data-page="dashboard-admin"] .workspace {
  min-height: 0 !important;
}

html[data-page="dashboard-admin"] .workspace-frame-shell {
  min-height: 220px !important;
  overflow: visible !important;
}

html[data-page="dashboard-admin"] .workspace-frame {
  min-height: 0 !important;
  height: 240px;
  overflow: hidden !important;
  border-radius: 18px;
}

html[data-page="dashboard-admin"] .workspace-frame[hidden] {
  display: none !important;
}

html[data-page="dashboard-admin"] .workspace-loading {
  min-height: 220px;
  border-radius: 18px;
}

html[data-page="dashboard-admin"] .user-trigger {
  min-height: 53px !important;
  gap: 10px !important;
  padding: 6px 10px 6px 6px !important;
  border-color: #dfe8ed !important;
  border-radius: 14px !important;
}

html[data-page="dashboard-admin"] .user-trigger .avatar {
  width: 39px !important;
  height: 39px !important;
}

html[data-page="dashboard-admin"] .usermeta {
  display: grid !important;
  max-width: 220px !important;
  gap: 2px;
}

html[data-page="dashboard-admin"] .rm518-user-name-line {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
}

html[data-page="dashboard-admin"] .usermeta strong {
  min-width: 0;
  max-width: 156px;
  overflow: hidden;
  font-size: 10.9px !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html[data-page="dashboard-admin"] #userRoleBadge {
  padding: 3px 6px;
  border-radius: 6px;
  background: #eaf5f3;
  color: var(--rm518-teal-dark);
  font-size: 8px;
  font-weight: 850;
  white-space: nowrap;
}

html[data-page="dashboard-admin"] #userEmail {
  display: block;
  max-width: 214px;
  margin: 0 !important;
  overflow: hidden;
  color: #6d7f8c;
  font-size: 9px !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html[data-page="dashboard-admin"] .shell[data-sidebar-collapsed="true"] .sidebar {
  padding-right: 12px !important;
  padding-left: 12px !important;
}

html[data-page="dashboard-admin"] .shell[data-sidebar-collapsed="true"] .brand {
  justify-content: center;
  padding-right: 0;
  padding-left: 0;
}

html[data-page="dashboard-admin"] .shell[data-sidebar-collapsed="true"] .brand > div,
html[data-page="dashboard-admin"] .shell[data-sidebar-collapsed="true"] .caption,
html[data-page="dashboard-admin"] .shell[data-sidebar-collapsed="true"] .nav a span,
html[data-page="dashboard-admin"] .shell[data-sidebar-collapsed="true"] .nav-section,
html[data-page="dashboard-admin"] .shell[data-sidebar-collapsed="true"] .sidefoot {
  display: none !important;
}

html[data-page="dashboard-admin"] .shell[data-sidebar-collapsed="true"] .nav {
  margin-top: 18px;
}

html[data-page="dashboard-admin"] .shell[data-sidebar-collapsed="true"] .nav a {
  min-height: 44px;
  justify-content: center;
  padding: 10px;
}

@media (max-width: 860px) {
  html[data-page="dashboard-admin"] .shell {
    --rm518-sidebar-width: 78px;
  }

  html[data-page="dashboard-admin"] .sidebar {
    padding: 18px 11px !important;
  }

  html[data-page="dashboard-admin"] .topbar {
    padding-right: 17px !important;
    padding-left: 17px !important;
  }

  html[data-page="dashboard-admin"] .content {
    padding: 19px !important;
  }
}

@media (max-width: 620px) {
  html[data-page="dashboard-admin"] .shell {
    display: block !important;
  }

  html[data-page="dashboard-admin"] .sidebar {
    position: fixed !important;
    z-index: 100;
    inset: auto 0 0 !important;
    width: auto !important;
    height: 64px !important;
    padding: 7px 8px !important;
  }

  html[data-page="dashboard-admin"] .main {
    padding-bottom: 64px !important;
  }

  html[data-page="dashboard-admin"] .topbar {
    min-height: 65px !important;
    flex-basis: 65px !important;
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  html[data-page="dashboard-admin"] .rm518-sidebar-toggle {
    display: none !important;
  }

  html[data-page="dashboard-admin"] .content {
    padding: 15px !important;
  }

  html[data-page="dashboard-admin"] .usermeta {
    display: none !important;
  }

  html[data-page="dashboard-admin"] .user-trigger {
    min-height: 43px !important;
    padding: 3px 6px 3px 3px !important;
  }

  html[data-page="dashboard-admin"] .user-trigger .avatar {
    width: 35px !important;
    height: 35px !important;
  }
}

/* Ruang Maslahat Stage 5.44.27 - Google Identity Services.
   Tombol Google dirender oleh iframe resmi Google; aplikasi hanya mengatur
   ruang di sekelilingnya dan tidak mengubah logo atau identitas merek Google. */
.rm-google-auth[hidden] {
  display: none !important;
}

.rm-google-auth {
  width: 100% !important;
  margin: 12px 0 0 !important;
}

.rm-auth-divider {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 11px !important;
  margin: 0 0 10px !important;
  color: #7A8793 !important;
  font: 600 11px/1 Arial, Helvetica, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}

.rm-auth-divider::before,
.rm-auth-divider::after {
  content: "" !important;
  height: 1px !important;
  background: #E3EAF0 !important;
}

.rm-google-button-host {
  display: flex !important;
  width: 100% !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 4px !important;
}

.rm-google-button-host > div,
.rm-google-button-host iframe {
  max-width: 100% !important;
}

.rm-google-auth.is-processing .rm-google-button-host {
  opacity: .58 !important;
}

.rm-google-auth-status {
  margin: 7px 0 0 !important;
  color: #607080 !important;
  font: 500 11px/1.45 Arial, Helvetica, sans-serif !important;
  text-align: center !important;
}

.rm-google-auth-status[data-type="error"] {
  color: #B42318 !important;
}

.rm-google-auth-status[data-type="success"] {
  color: #0F766E !important;
}

.rm-google-legal-links {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  margin: 7px 0 0 !important;
  color: #95A0AA !important;
  font: 500 10.5px/1.35 Arial, Helvetica, sans-serif !important;
}

.rm-google-legal-links a {
  color: #607080 !important;
  text-decoration: none !important;
}

.rm-google-legal-links a:hover,
.rm-google-legal-links a:focus-visible {
  color: #0F766E !important;
  text-decoration: underline !important;
}

body[data-page="login"] .rm-google-auth + .login-links,
body[data-page="register"] .rm-google-auth + .login-links {
  margin-top: 10px !important;
}

/* Login, register, and internal password controls share one fixed geometry
   with the Ubah Sandi modal. Switching SVGs must never move the button. */
html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"]) .password-input-wrap {
  position: relative !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"]) .password-input-wrap > .password-toggle {
  box-sizing: border-box !important;
  position: absolute !important;
  top: 50% !important;
  right: 7px !important;
  display: grid !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  place-items: center !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #426172 !important;
  box-shadow: none !important;
  line-height: 1 !important;
  overflow: hidden !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"]) .password-input-wrap > .password-toggle:hover,
html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"]) .password-input-wrap > .password-toggle:active,
html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"]) .password-input-wrap > .password-toggle:focus-visible,
html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"]) .password-input-wrap > .password-toggle.rm528-interactive:hover,
html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"]) .password-input-wrap > .password-toggle.rm528-interactive:active {
  transform: translateY(-50%) !important;
  box-shadow: none !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"]) .password-input-wrap > .password-toggle:hover,
html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"]) .password-input-wrap > .password-toggle:focus-visible {
  border-color: #d8e7e6 !important;
  background: #eef7f5 !important;
  color: #0f766e !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"]) .password-input-wrap > .password-toggle svg {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
}

@media (min-width: 981px) {
  body[data-page="register"] .rm-google-auth {
    margin-top: 8px !important;
  }

  body[data-page="register"] .rm-auth-divider {
    margin-bottom: 7px !important;
  }

  body[data-page="register"] .rm-google-legal-links {
    margin-top: 4px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-page="dashboard-admin"] .shell {
    transition: none !important;
  }
}

/* bundled source: stage-5.19-ui.css */
:root {
  --rm519-navy: #10293d;
  --rm519-navy-soft: #245a73;
  --rm519-teal: #0f766e;
  --rm519-teal-dark: #0d615b;
  --rm519-line: #dce7ec;
  --rm519-surface: #f5f9fa;
}

/* Keep every map control anchored while optional third-party scripts load. */
.webgis-map-control-rail > .webgis-home-map-btn,
.webgis-map-control-rail > .webgis-instant-zoom,
.webgis-map-control-rail > .webgis-my-location-floating {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

/* Internal identity: name, email, then the account role. */
html[data-page="dashboard-admin"] .user-trigger {
  min-height: 61px !important;
  padding: 5px 10px 5px 6px !important;
  border-radius: 14px !important;
}

html[data-page="dashboard-admin"] .user-trigger .avatar {
  width: 41px !important;
  height: 41px !important;
}

html[data-page="dashboard-admin"] .rm519-profile-meta {
  display: grid !important;
  align-content: center;
  justify-items: start;
  max-width: 234px !important;
  gap: 2px !important;
}

html[data-page="dashboard-admin"] .rm519-profile-meta #userName {
  max-width: 232px !important;
  font-size: 10.7px !important;
  line-height: 1.24 !important;
}

html[data-page="dashboard-admin"] .rm519-profile-meta #userEmail {
  max-width: 232px !important;
  font-size: 8.6px !important;
  line-height: 1.24 !important;
}

html[data-page="dashboard-admin"] .rm519-profile-meta #userRoleBadge {
  display: inline-flex;
  width: max-content;
  align-items: center;
  min-height: 15px;
  padding: 1px 6px !important;
  border-radius: 5px !important;
  background: #eaf5f3 !important;
  color: var(--rm519-teal-dark) !important;
  font-size: 7.6px !important;
  font-weight: 850;
  line-height: 1.22;
}

/* The reload action and legend field are equally sized. */
.rm517-style-toolbar:has(#rm517ReloadStyle) {
  grid-template-columns: minmax(220px, 1.26fr) minmax(170px, 1fr) minmax(170px, 1fr) !important;
}

.rm517-style-toolbar #rm517ReloadStyle {
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  align-self: end !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
}

/* Protected owner account and explicit destructive action. */
.rm519-user-actions {
  display: flex;
  min-width: 102px;
  align-items: center;
  gap: 8px;
}

#adminUsersTableBody [hidden] {
  display: none !important;
}

.rm519-user-delete {
  width: 35px !important;
  height: 35px !important;
  min-width: 35px !important;
  padding: 0 !important;
}

.rm519-user-delete.is-loading {
  opacity: .52;
  pointer-events: none;
}

.rm519-super-admin-badge,
.rm519-account-active,
.rm519-account-protected,
.rm519-owner-label,
.rm519-status-pill {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid #cde6e1;
  border-radius: 8px;
  background: #eaf5f3;
  color: var(--rm519-teal-dark);
  font-size: 10px;
  font-weight: 760;
  line-height: 1.3;
  white-space: nowrap;
}

.rm519-owner-label {
  margin-top: 4px;
  padding: 3px 7px;
  font-size: 8.5px;
}

.rm519-owner-scope {
  color: var(--rm519-navy-soft);
  font-size: 10px;
  font-weight: 740;
  white-space: nowrap;
}

.rm519-account-protected {
  border-color: #dce7ec;
  background: #f5f9fa;
  color: #536b79;
}

/* Reference and zoning rules read like an administration workspace. */
html.rm-admin-console .rm-admin-rule-layout {
  display: grid;
  gap: 17px;
}

html.rm-admin-console .rm-admin-rule-form,
html.rm-admin-console .rm-admin-rule-preview {
  border: 1px solid var(--rm519-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(16, 41, 61, .045);
}

html.rm-admin-console .rm-admin-rule-form {
  display: grid;
  gap: 16px;
  padding: 18px !important;
}

html.rm-admin-console .rm-admin-rule-form .rm-admin-spatial-form-head {
  padding-bottom: 12px;
  border-bottom: 1px solid #edf2f4;
}

html.rm-admin-console .rm-admin-rule-form .rm-admin-spatial-form-head > strong {
  color: var(--rm519-navy);
  font-size: 13px;
  font-weight: 830;
}

html.rm-admin-console .rm-admin-rule-form .rm-style-paste-card {
  overflow: hidden;
  padding: 16px !important;
  border: 1px solid #dde9ec !important;
  border-radius: 15px !important;
  background: linear-gradient(156deg, #f7fbfb 0%, #fff 74%) !important;
}

html.rm-admin-console .rm-admin-rule-form .rm-style-paste-title > strong {
  color: var(--rm519-navy);
  font-size: 12px;
}

html.rm-admin-console .rm-admin-rule-form .rm-style-paste-title > p {
  max-width: 820px;
  margin: 6px 0 0 !important;
  color: #687d89;
  font-size: 10.5px;
  line-height: 1.65;
}

.rm519-rule-guide {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 15px;
  margin-top: 13px;
}

.rm519-rule-guide > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #4f6875;
  font-size: 9.7px;
  font-weight: 720;
}

.rm519-rule-guide > span > b {
  display: inline-flex;
  width: 19px;
  height: 19px;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: #e6f2f1;
  color: var(--rm519-teal-dark);
  font-size: 9px;
}

html.rm-admin-console .rm-admin-rule-form .rm-style-sheet-scroller {
  overflow: auto hidden !important;
  margin-top: 14px !important;
  border: 1px solid #dce7eb !important;
  border-radius: 12px !important;
  background: #fff !important;
}

html.rm-admin-console .rm-admin-rule-form .rm-rule-sheet-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

html.rm-admin-console .rm-admin-rule-form .rm-rule-sheet-table thead th {
  min-height: 57px;
  padding: 10px 11px !important;
  border: 0 !important;
  border-right: 1px solid #e4edf0 !important;
  border-bottom: 1px solid #dce7eb !important;
  background: #f2f7f8 !important;
  text-align: left !important;
}

html.rm-admin-console .rm-admin-rule-form .rm-rule-sheet-table thead th strong {
  display: block;
  color: var(--rm519-navy) !important;
  font-size: 10px !important;
  font-weight: 820 !important;
  white-space: nowrap;
}

html.rm-admin-console .rm-admin-rule-form .rm-rule-sheet-table thead th em {
  display: block;
  margin-top: 4px;
  color: #758a95 !important;
  font-size: 8.8px !important;
  font-style: normal !important;
  white-space: nowrap;
}

html.rm-admin-console .rm-admin-rule-form .rm-rule-sheet-table tbody td {
  height: 39px !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-right: 1px solid #edf2f4 !important;
  border-bottom: 1px solid #edf2f4 !important;
  color: #314c5d;
  font-size: 10px !important;
}

html.rm-admin-console .rm-admin-rule-form .rm-rule-sheet-table tbody tr:nth-child(even) td {
  background: #fbfdfd;
}

html.rm-admin-console .rm-admin-rule-form .rm-rule-sheet-table tbody td:focus {
  outline: 2px solid rgba(15, 118, 110, .24);
  outline-offset: -2px;
  background: #f0f8f6 !important;
}

html.rm-admin-console .rm-admin-rule-form .rm-admin-style-template {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

html.rm-admin-console .rm-admin-rule-form .rm-admin-style-template > strong {
  color: #405967;
  font-size: 10px;
}

/* Report geometry stays opt-in because polygon payloads are expensive. */
.rm519-report-display {
  display: grid;
  gap: 8px;
  padding: 11px;
  border: 1px solid #dce8eb;
  border-radius: 12px;
  background: #f6faf9;
}

.rm519-report-display-label {
  color: var(--rm519-navy);
  font-size: 10.5px;
  font-weight: 790;
}

.rm519-report-display-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  padding: 4px;
  border: 1px solid #dbe7ea;
  border-radius: 10px;
  background: #fff;
}

.rm519-report-display-options > button {
  min-height: 31px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #627783;
  font-size: 10px;
  font-weight: 760;
  cursor: pointer;
}

.rm519-report-display-options > button[aria-pressed="true"] {
  background: #e7f3f0;
  color: var(--rm519-teal-dark);
}

.rm519-report-display > small {
  color: #70828d;
  font-size: 9px;
  line-height: 1.4;
}

/* A dropdown must escape the report panel's 1274 stacking context. */
.webgis-overlay-header:has(.modern-user-dropdown),
.webgis-overlay-header:has(#rmMapAccountMenu) {
  z-index: 1450 !important;
  overflow: visible !important;
}

.modern-user-dropdown,
.webgis-user-menu-mini,
#userDropdownMenu,
#rmMapAccountMenu {
  z-index: 1460 !important;
}

@media (max-width: 880px) {
  .rm517-style-toolbar:has(#rm517ReloadStyle) {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  html[data-page="dashboard-admin"] .rm519-profile-meta {
    max-width: 155px !important;
  }

  html[data-page="dashboard-admin"] .rm519-profile-meta #userEmail,
  html[data-page="dashboard-admin"] .rm519-profile-meta #userName {
    max-width: 153px !important;
  }

  html.rm-admin-console .rm-admin-rule-form {
    padding: 13px !important;
  }
}

/* bundled source: stage-5.20-ui.css */
:root {
  --rm520-navy: #10293d;
  --rm520-blue: #245a73;
  --rm520-teal: #0f766e;
  --rm520-teal-dark: #0d615b;
  --rm520-amber: #d97706;
  --rm520-line: #dce7ec;
  --rm520-muted: #6d7f8c;
  --rm520-paper: #f5f8fa;
}

/* Google Maps-like basemap gallery with local thumbnails. */
html body .webgis-basemap-stack {
  scrollbar-width: none !important;
}

html body .webgis-basemap-stack::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

html body .webgis-basemap-stack:not(.is-open) {
  max-height: 0 !important;
  overflow: hidden !important;
}

html body .webgis-basemap-stack.is-open {
  display: grid !important;
  width: 298px !important;
  max-width: calc(100vw - 28px) !important;
  max-height: none !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;
  padding: 10px !important;
  overflow: hidden !important;
  border: 1px solid rgba(16, 41, 61, .13) !important;
  border-radius: 17px !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 18px 42px rgba(12, 38, 56, .18) !important;
  backdrop-filter: blur(14px);
}

html body .webgis-basemap-stack.is-open .webgis-basemap-card {
  position: relative !important;
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 88px !important;
  grid-template-rows: 56px auto !important;
  align-content: start !important;
  justify-items: stretch !important;
  gap: 6px !important;
  padding: 4px !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

html body .webgis-basemap-stack.is-open .webgis-basemap-card:hover {
  background: #f1f6f7 !important;
}

html body .webgis-basemap-stack.is-open .webgis-basemap-card.active {
  border-color: rgba(15, 118, 110, .42) !important;
  background: #edf7f5 !important;
}

html body .webgis-basemap-stack.is-open .webgis-basemap-card.active::after {
  content: "✓" !important;
  position: absolute !important;
  top: 7px !important;
  right: 7px !important;
  display: grid !important;
  width: 18px !important;
  height: 18px !important;
  place-items: center !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  background: var(--rm520-teal) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  box-shadow: 0 3px 9px rgba(13, 97, 91, .28) !important;
}

html body .webgis-basemap-stack.is-open .webgis-basemap-thumb {
  display: block !important;
  width: 100% !important;
  height: 56px !important;
  min-width: 0 !important;
  border: 1px solid rgba(16, 41, 61, .1) !important;
  border-radius: 9px !important;
  background-color: #dce7e5 !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28) !important;
  overflow: hidden !important;
}

html body .webgis-basemap-thumb > span {
  display: none !important;
}

html body .thumb-osm { background-image: url('/assets/basemaps/street.svg?v=5.20.0') !important; }
html body .thumb-google-satellite { background-image: url('/assets/basemaps/satellite.svg?v=5.20.0') !important; }
html body .thumb-google-hybrid { background-image: url('/assets/basemaps/hybrid.svg?v=5.20.0') !important; }
html body .thumb-esri-satellite { background-image: url('/assets/basemaps/esri.svg?v=5.20.0') !important; }
html body .thumb-bing-satellite { background-image: url('/assets/basemaps/bing.svg?v=5.20.0') !important; }
html body .thumb-atrbpn { background-image: url('/assets/basemaps/atrbpn.svg?v=5.20.0') !important; }

html body .webgis-basemap-stack.is-open .webgis-basemap-name {
  display: block !important;
  min-width: 0 !important;
  padding: 0 2px 2px !important;
  color: #3d5563 !important;
  font-size: 8.7px !important;
  font-weight: 760 !important;
  line-height: 1.28 !important;
  text-align: center !important;
  white-space: normal !important;
}

/* Toast is owned by the top document, above every workspace and menu. */
.rm520-toast-region {
  position: fixed;
  top: max(18px, env(safe-area-inset-top, 0px));
  right: max(18px, env(safe-area-inset-right, 0px));
  z-index: 2147483000;
  display: grid;
  width: min(370px, calc(100vw - 32px));
  gap: 9px;
  pointer-events: none;
}

.rm520-toast {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 28px;
  align-items: start;
  gap: 10px;
  padding: 13px 12px;
  border: 1px solid #cfe6e1;
  border-radius: 14px;
  background: rgba(255, 255, 255, .98);
  color: var(--rm520-navy);
  box-shadow: 0 20px 52px rgba(10, 35, 52, .2);
  pointer-events: auto;
  animation: rm520ToastIn .22s ease-out both;
}

.rm520-toast-icon {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 10px;
  background: #e8f5f2;
  color: var(--rm520-teal-dark);
  font-size: 17px;
  font-weight: 900;
}

.rm520-toast strong,
.rm520-toast small { display: block; }
.rm520-toast strong { margin-top: 1px; font-size: 11.5px; }
.rm520-toast small { margin-top: 4px; color: #617682; font-size: 10px; line-height: 1.5; }
.rm520-toast button { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: #738792; font-size: 18px; cursor: pointer; }
.rm520-toast button:hover { background: #f0f5f6; color: var(--rm520-navy); }
.rm520-toast.is-leaving { animation: rm520ToastOut .18s ease-in both; }
@keyframes rm520ToastIn { from { opacity: 0; transform: translate3d(0, -8px, 0) scale(.985); } }
@keyframes rm520ToastOut { to { opacity: 0; transform: translate3d(8px, 0, 0) scale(.985); } }

html[data-page="dashboard-admin"] .topbar,
html[data-page="dashboard-admin"] .actions,
html[data-page="dashboard-admin"] .user,
html[data-page="dashboard-admin"] #userMenu {
  z-index: 2100 !important;
}

html[data-page="dashboard-admin"] #userMenu {
  width: 218px !important;
}

/* Main dashboard analytics. */
.rm520-dashboard-insights {
  display: grid;
  grid-template-columns: minmax(260px, .9fr) minmax(360px, 1.35fr) minmax(240px, .8fr);
  gap: 13px;
  margin-top: 17px;
}

.rm520-insight-card,
.rm520-followup-chart-card {
  min-width: 0;
  padding: 17px;
  border: 1px solid rgba(16, 41, 61, .085);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 9px 25px rgba(13, 39, 58, .055);
}

.rm520-insight-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.rm520-insight-head span {
  color: var(--rm520-teal-dark);
  font-size: 8.5px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.rm520-insight-head h2 {
  margin: 4px 0 0;
  color: var(--rm520-navy);
  font-size: 13px;
  letter-spacing: -.01em;
}

.rm520-insight-head small {
  color: #81919b;
  font-size: 8.7px;
  font-weight: 700;
  text-align: right;
}

.rm520-chart-loading {
  min-height: 138px;
  display: grid;
  place-items: center;
  color: #81919b;
  font-size: 9.5px;
}

.rm520-donut-layout {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin-top: 12px;
}

.rm520-donut {
  position: relative;
  width: 108px;
  height: 108px;
  border-radius: 50%;
  background: conic-gradient(var(--rm520-teal) 0 25%, #245a73 25% 50%, #d97706 50% 75%, #a9b8c1 75% 100%);
}

.rm520-donut::after {
  content: "";
  position: absolute;
  inset: 17px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(16, 41, 61, .05);
}

.rm520-donut-center {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  align-content: center;
  justify-items: center;
  color: var(--rm520-navy);
}

.rm520-donut-center strong { font-size: 19px; line-height: 1; }
.rm520-donut-center small { margin-top: 4px; color: #7b8d98; font-size: 7.8px; font-weight: 800; text-transform: uppercase; }

.rm520-chart-legend { display: grid; gap: 7px; }
.rm520-chart-legend > div { display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; align-items: center; gap: 7px; color: #536b78; font-size: 8.8px; }
.rm520-chart-legend i { width: 8px; height: 8px; border-radius: 3px; }
.rm520-chart-legend strong { color: var(--rm520-navy); font-size: 9.2px; }

.rm520-trend-wrap { margin-top: 12px; }
.rm520-trend-svg { display: block; width: 100%; height: 112px; overflow: visible; }
.rm520-trend-grid { stroke: #e8eef1; stroke-width: 1; }
.rm520-trend-area { fill: url(#rm520TrendFill); }
.rm520-trend-line { fill: none; stroke: var(--rm520-teal); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.rm520-trend-dot { fill: #fff; stroke: var(--rm520-teal); stroke-width: 1.8; }
.rm520-trend-labels { display: flex; justify-content: space-between; margin-top: 4px; color: #8999a2; font-size: 7.8px; font-weight: 700; }

.rm520-health-list { display: grid; gap: 11px; margin-top: 15px; }
.rm520-health-item { display: grid; gap: 6px; }
.rm520-health-copy { display: flex; justify-content: space-between; gap: 8px; color: #586f7c; font-size: 8.8px; font-weight: 760; }
.rm520-health-copy strong { color: var(--rm520-navy); }
.rm520-health-track { height: 7px; overflow: hidden; border-radius: 999px; background: #eaf0f2; }
.rm520-health-track > i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--rm520-teal), #46a99f); }

/* Follow-up reports: compact cards and useful charts, without the old hero. */
.pegawai-followup-hero { display: none !important; }
.rm520-followup-insights {
  display: grid;
  grid-template-columns: minmax(270px, .95fr) minmax(360px, 1.3fr) minmax(230px, .75fr);
  gap: 14px;
  margin: 16px 0;
}
.rm520-followup-chart-card { padding: 16px; }
.rm520-followup-insights .rm520-chart-loading { min-height: 128px; }
.rm520-type-bars { display: grid; gap: 14px; margin-top: 20px; }
.rm520-type-row { display: grid; gap: 7px; }
.rm520-type-copy { display: flex; justify-content: space-between; gap: 8px; color: #506a78; font-size: 9px; font-weight: 750; }
.rm520-type-copy strong { color: var(--rm520-navy); }
.rm520-type-track { height: 10px; border-radius: 999px; background: #eaf0f2; overflow: hidden; }
.rm520-type-track > i { display: block; height: 100%; min-width: 2px; border-radius: inherit; background: linear-gradient(90deg, var(--rm520-blue), #4c89a4); }
.rm520-type-row:last-child .rm520-type-track > i { background: linear-gradient(90deg, var(--rm520-teal), #55aaa0); }

/* Compact user manager. Work-area selectors live in the modal, not table rows. */
html.rm-admin-console .rm-v514-user-filter-grid .rm-admin-small-btn {
  width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  align-self: end !important;
  justify-content: center !important;
}

html.rm-admin-console .rm520-user-table-wrap {
  width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

html.rm-admin-console .rm520-user-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}

html.rm-admin-console .rm520-user-table th,
html.rm-admin-console .rm520-user-table td {
  min-width: 0 !important;
  padding: 11px 12px !important;
  vertical-align: middle !important;
  overflow-wrap: anywhere;
}

html.rm-admin-console .rm520-user-table th:nth-child(1) { width: 32%; }
html.rm-admin-console .rm520-user-table th:nth-child(2) { width: 20%; }
html.rm-admin-console .rm520-user-table th:nth-child(3) { width: 34%; }
html.rm-admin-console .rm520-user-table th:nth-child(4) { width: 14%; text-align: right; }
html.rm-admin-console .rm520-user-table td:nth-child(4) { text-align: right; }

.rm520-user-identity { min-width: 0; }
.rm520-user-identity strong,
.rm520-user-identity small,
.rm520-user-identity em { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm520-user-identity strong { color: var(--rm520-navy); font-size: 10.7px; }
.rm520-user-identity small { margin-top: 4px; color: #607783; font-size: 9.2px; }
.rm520-user-identity em { margin-top: 4px; color: #95a3aa; font: 7.8px ui-monospace, SFMono-Regular, Menlo, monospace; }
.rm520-user-access { display: flex; flex-wrap: wrap; gap: 5px; }
.rm520-user-pill { display: inline-flex; min-width: 0; align-items: center; padding: 4px 7px; border: 1px solid #d7e6e8; border-radius: 7px; background: #f2f7f8; color: #476170; font-size: 8.3px; font-weight: 850; line-height: 1.25; }
.rm520-user-pill.role { border-color: #cee5e1; background: #eaf5f3; color: var(--rm520-teal-dark); }
.rm520-user-pill.inactive { border-color: #ead9d3; background: #fff3ef; color: #9a4a2d; }
.rm520-user-scope { display: block; color: #496574; font-size: 9.2px; font-weight: 730; line-height: 1.45; }
.rm520-user-scope small { display: block; margin-top: 3px; color: #87969e; font-size: 8.1px; font-weight: 650; }
.rm520-user-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: 6px; }
.rm520-user-action { display: inline-grid; width: 34px; height: 34px; place-items: center; padding: 0; border: 1px solid #d8e5e9; border-radius: 9px; background: #fff; color: var(--rm520-blue); cursor: pointer; }
.rm520-user-action:hover { border-color: #acd1cc; background: #edf7f5; color: var(--rm520-teal-dark); }
.rm520-user-action.danger { border-color: #eadbd6; color: #a04b33; }
.rm520-user-action.danger:hover { border-color: #dfbdae; background: #fff3ef; }
.rm520-user-action svg { width: 15px; height: 15px; }
.rm520-user-protected { color: #7f9099; font-size: 8px; font-weight: 800; white-space: nowrap; }

.rm520-user-modal {
  position: fixed;
  inset: 0;
  z-index: 2147482000;
  display: none;
  place-items: center;
  padding: 20px;
  background: rgba(7, 25, 38, .52);
  backdrop-filter: blur(6px);
}
.rm520-user-modal.is-open { display: grid; }
.rm520-user-modal-card { width: min(620px, calc(100vw - 28px)); max-height: min(720px, calc(100vh - 32px)); overflow: auto; border: 1px solid rgba(255,255,255,.5); border-radius: 19px; background: #fff; box-shadow: 0 28px 75px rgba(7, 27, 42, .3); }
.rm520-user-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 18px 19px 15px; border-bottom: 1px solid #e7eef1; }
.rm520-user-modal-head span { color: var(--rm520-teal-dark); font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.rm520-user-modal-head h3 { margin: 5px 0 0; color: var(--rm520-navy); font-size: 15px; }
.rm520-user-modal-close { width: 32px; height: 32px; border: 0; border-radius: 9px; background: #f0f5f6; color: #526d7a; font-size: 20px; cursor: pointer; }
.rm520-user-modal-summary { margin: 16px 19px 0; padding: 12px 13px; border: 1px solid #dce8eb; border-radius: 12px; background: #f6fafb; }
.rm520-user-modal-summary strong,
.rm520-user-modal-summary small { display: block; }
.rm520-user-modal-summary strong { color: var(--rm520-navy); font-size: 11px; }
.rm520-user-modal-summary small { margin-top: 4px; color: #667d89; font-size: 9px; }
.rm520-user-modal-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; padding: 16px 19px; }
.rm520-user-modal-form > label,
.rm520-user-modal-scope > span { color: #4f6876; font-size: 9px; font-weight: 820; }
.rm520-user-modal-form select { width: 100%; height: 42px; margin-top: 6px; padding: 8px 34px 8px 11px; border: 1px solid #d6e3e8; border-radius: 10px; background: #fff; color: var(--rm520-navy); font-size: 10px; font-weight: 720; }
.rm520-user-modal-scope { grid-column: 1 / -1; padding-top: 2px; }
.rm520-user-modal-scope #rm520EditScope { margin-top: 7px; }
html.rm-admin-console .rm520-user-modal .rm-v514-scope-picker { min-width: 0 !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
html.rm-admin-console .rm520-user-modal .rm-v514-scope-field > span { display: block !important; }
.rm520-user-modal-note { grid-column: 1 / -1; margin: 0; padding: 10px 11px; border-radius: 10px; background: #eef6f5; color: #567078; font-size: 8.8px; line-height: 1.55; }
.rm520-user-modal-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 13px 19px 18px; border-top: 1px solid #edf2f4; }
.rm520-user-modal-actions button { min-width: 104px; min-height: 39px; border: 1px solid #d7e3e7; border-radius: 10px; background: #fff; color: #496473; font-size: 9.5px; font-weight: 820; cursor: pointer; }
.rm520-user-modal-actions .primary { border-color: var(--rm520-teal); background: var(--rm520-teal); color: #fff; }
.rm520-user-modal-actions button:disabled { opacity: .58; cursor: wait; }

@media (max-width: 1180px) {
  .rm520-dashboard-insights,
  .rm520-followup-insights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rm520-insight-health,
  .rm520-followup-type-card { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  html body .webgis-basemap-stack.is-open { width: 210px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .rm520-dashboard-insights,
  .rm520-followup-insights { grid-template-columns: 1fr; }
  .rm520-insight-health,
  .rm520-followup-type-card { grid-column: auto; }
  .rm520-donut-layout { grid-template-columns: 104px minmax(0, 1fr); }
  html.rm-admin-console .rm520-user-table thead { display: none; }
  html.rm-admin-console .rm520-user-table,
  html.rm-admin-console .rm520-user-table tbody,
  html.rm-admin-console .rm520-user-table tr,
  html.rm-admin-console .rm520-user-table td { display: block; width: 100% !important; }
  html.rm-admin-console .rm520-user-table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px 12px; padding: 12px; border-bottom: 1px solid #e4ecef; }
  html.rm-admin-console .rm520-user-table td { padding: 0 !important; border: 0 !important; }
  html.rm-admin-console .rm520-user-table td:nth-child(1),
  html.rm-admin-console .rm520-user-table td:nth-child(3) { grid-column: 1 / -1; }
  html.rm-admin-console .rm520-user-table td:nth-child(4) { grid-column: 2; grid-row: 2; }
  .rm520-user-modal-form { grid-template-columns: 1fr; }
  .rm520-user-modal-scope,
  .rm520-user-modal-note { grid-column: auto; }
  html.rm-admin-console .rm520-user-modal .rm-v514-scope-picker { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  .rm520-toast { animation: none; }
}

/* bundled source: stage-5.23-ui.css */
:root {
  --rm521-navy: #10293d;
  --rm521-blue: #245a73;
  --rm521-teal: #0f766e;
  --rm521-teal-dark: #0d615b;
  --rm521-red: #b42318;
  --rm521-red-dark: #971c14;
  --rm521-line: #dce7ec;
  --rm521-paper: #f5f8fa;
}

/* One professional confirmation surface for destructive and sensitive actions. */
.rm521-confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(7, 25, 38, .58);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
.rm521-confirm-modal[hidden] { display: none !important; }
.rm521-confirm-card {
  position: relative;
  display: grid;
  width: min(440px, calc(100vw - 30px));
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  padding: 21px;
  border: 1px solid rgba(255, 255, 255, .66);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(5, 24, 38, .32);
  animation: rm521ConfirmIn .18s ease-out both;
}
.rm521-confirm-icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 14px;
  background: #fff0ee;
  color: var(--rm521-red);
}
.rm521-confirm-modal.is-primary .rm521-confirm-icon { background: #e8f5f2; color: var(--rm521-teal-dark); }
.rm521-confirm-icon svg { width: 23px; height: 23px; }
.rm521-confirm-copy { min-width: 0; padding-right: 22px; }
.rm521-confirm-copy > span { display: block; color: var(--rm521-teal-dark); font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.rm521-confirm-modal.is-danger .rm521-confirm-copy > span { color: var(--rm521-red); }
.rm521-confirm-copy h3 { margin: 5px 0 7px; color: var(--rm521-navy); font-size: 17px; line-height: 1.25; }
.rm521-confirm-copy p { margin: 0; color: #526b79; font-size: 11px; font-weight: 650; line-height: 1.58; }
.rm521-confirm-copy small { display: block; margin-top: 8px; padding: 8px 9px; border-radius: 9px; background: #f4f7f8; color: #74858e; font-size: 9px; font-weight: 680; line-height: 1.5; }
.rm521-confirm-close { position: absolute; top: 12px; right: 12px; width: 31px; height: 31px; padding: 0; border: 0; border-radius: 9px; background: #f1f5f6; color: #617783; font-size: 19px; cursor: pointer; }
.rm521-confirm-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; padding-top: 4px; }
.rm521-confirm-actions button { min-width: 112px; min-height: 40px; padding: 0 14px; border-radius: 11px; font-size: 10px; font-weight: 850; cursor: pointer; }
.rm521-confirm-cancel { border: 1px solid #d8e3e7; background: #fff; color: #486271; }
.rm521-confirm-submit { border: 1px solid var(--rm521-red); background: linear-gradient(135deg, var(--rm521-red), var(--rm521-red-dark)); color: #fff; box-shadow: 0 9px 20px rgba(180, 35, 24, .18); }
.rm521-confirm-modal.is-primary .rm521-confirm-submit { border-color: var(--rm521-teal); background: linear-gradient(135deg, var(--rm521-teal), var(--rm521-blue)); box-shadow: 0 9px 20px rgba(15, 118, 110, .18); }
html.rm521-modal-open { overflow: hidden !important; }
@keyframes rm521ConfirmIn { from { opacity: 0; transform: translateY(9px) scale(.985); } }

/* Internal workspace: one hero and one broad work surface. */
html[data-page="dashboard-admin"] .content { max-width: none !important; padding: 22px 24px 38px !important; }
html[data-page="dashboard-admin"] .workspace-head {
  position: relative;
  overflow: hidden;
  align-items: center !important;
  min-height: 128px;
  margin: 0 0 14px !important;
  padding: 22px 24px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 20px;
  background: linear-gradient(128deg, #10293d 0%, #17445a 58%, #0f766e 132%);
  color: #fff;
  box-shadow: 0 16px 38px rgba(13, 39, 58, .12);
}
html[data-page="dashboard-admin"] .workspace-head::before,
html[data-page="dashboard-admin"] .workspace-head::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; pointer-events: none; }
html[data-page="dashboard-admin"] .workspace-head::before { width: 230px; height: 230px; right: -54px; top: -118px; }
html[data-page="dashboard-admin"] .workspace-head::after { width: 135px; height: 135px; right: 115px; bottom: -104px; }
html[data-page="dashboard-admin"] .workspace-head > div { position: relative; z-index: 1; max-width: 820px; }
html[data-page="dashboard-admin"] .workspace-head span { border: 1px solid rgba(255,255,255,.15) !important; background: rgba(255,255,255,.1) !important; color: #d9fffa !important; }
html[data-page="dashboard-admin"] .workspace-head h1 { margin-top: 10px !important; color: #fff !important; font-size: 22px !important; }
html[data-page="dashboard-admin"] .workspace-head p { max-width: 760px; color: rgba(255,255,255,.74) !important; font-size: 10.5px !important; line-height: 1.6; }
html[data-page="dashboard-admin"] .workspace-frame-shell { min-height: 180px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
html[data-page="dashboard-admin"] .workspace-frame { border-radius: 0 !important; background: transparent !important; }
html[data-page="dashboard-admin"] .workspace-loading { border: 1px solid var(--rm521-line); border-radius: 17px !important; background: #fff !important; }
html.rm-admin-embed .modern-dashboard-main { background: transparent !important; }
html.rm-admin-embed .rm-admin-module-container { padding: 0 2px 10px !important; }
html.rm-admin-embed .rm-admin-module-card { width: 100% !important; padding: 19px !important; border-radius: 17px !important; box-shadow: 0 9px 25px rgba(13,39,58,.05) !important; }

/* Dashboard cards use light tonal surfaces instead of plain white blocks. */
html[data-page="dashboard-admin"] .grid { grid-template-columns: minmax(0, 1fr) !important; }
html[data-page="dashboard-admin"] .grid > aside.panel { display: none !important; }
html[data-page="dashboard-admin"] .stat { position: relative; overflow: hidden; min-height: 142px; padding: 15px 16px !important; background: linear-gradient(145deg, #fff 0%, #f1f7f9 100%) !important; }
html[data-page="dashboard-admin"] .stat::after { content: ""; position: absolute; right: -25px; bottom: -34px; width: 92px; height: 92px; border-radius: 50%; background: rgba(36,90,115,.055); }
html[data-page="dashboard-admin"] .stat:nth-child(2) { background: linear-gradient(145deg, #fff 0%, #fff7ea 100%) !important; }
html[data-page="dashboard-admin"] .stat:nth-child(3) { background: linear-gradient(145deg, #fff 0%, #edf8f5 100%) !important; }
html[data-page="dashboard-admin"] .stat:nth-child(4) { background: linear-gradient(145deg, #fff 0%, #f3f1f9 100%) !important; }
html[data-page="dashboard-admin"] .stat:nth-child(5) { background: linear-gradient(145deg, #fff 0%, #eef7f6 100%) !important; }
html[data-page="dashboard-admin"] .stat strong { position: relative; z-index: 1; margin-top: 10px !important; font-size: 21px !important; font-weight: 820; }
html[data-page="dashboard-admin"] .stat span:not(.stat-icon) { position: relative; z-index: 1; font-size: 10px !important; }
html[data-page="dashboard-admin"] .stat small { position: relative; z-index: 1; font-size: 8.7px !important; line-height: 1.45; }
.pegawai-followup-summary-card { position: relative; overflow: hidden; min-height: 112px; padding: 15px 16px !important; border-radius: 17px !important; background: linear-gradient(145deg, #fff 0%, #eff7f8 100%) !important; }
.pegawai-followup-summary-card:nth-child(2) { background: linear-gradient(145deg, #fff 0%, #fff7e9 100%) !important; }
.pegawai-followup-summary-card:nth-child(3) { background: linear-gradient(145deg, #fff 0%, #edf4f8 100%) !important; }
.pegawai-followup-summary-card:nth-child(4) { background: linear-gradient(145deg, #fff 0%, #edf8f5 100%) !important; }
.pegawai-followup-summary-card::after { content: ""; position: absolute; right: -24px; bottom: -38px; width: 92px; height: 92px; border-radius: 50%; background: rgba(15,118,110,.055); }
.pegawai-followup-summary-card span { position: relative; z-index: 1; margin-bottom: 8px !important; color: #5a7180 !important; font-size: 9.5px !important; }
.pegawai-followup-summary-card strong { position: relative; z-index: 1; color: var(--rm521-navy) !important; font-size: 23px !important; font-weight: 820; }
.rm520-insight-card, .rm520-followup-chart-card { background: linear-gradient(155deg, #fff 0%, #f7fafb 100%) !important; }
html.rm-admin-console .rm-admin-log-insights article { background: linear-gradient(145deg, #fff, #f0f7f8) !important; }
html.rm-admin-console .rm-admin-log-insights article strong { font-size: 18px !important; }

/* Compact filters and user table; the action column remains visible with an open sidebar. */
html.rm-admin-console .rm-v514-user-filter-grid { grid-template-columns: minmax(118px,.72fr) minmax(170px,1.05fr) minmax(112px,.65fr) minmax(112px,.65fr) minmax(142px,.76fr) !important; gap: 8px !important; }
html.rm-admin-console .rm-v514-user-filter-grid > label { min-width: 0 !important; }
html.rm-admin-console .rm520-user-table th,
html.rm-admin-console .rm520-user-table td { padding: 9px 8px !important; }
html.rm-admin-console .rm520-user-table th:nth-child(1) { width: 35% !important; }
html.rm-admin-console .rm520-user-table th:nth-child(2) { width: 18% !important; }
html.rm-admin-console .rm520-user-table th:nth-child(3) { width: 31% !important; }
html.rm-admin-console .rm520-user-table th:nth-child(4) { width: 16% !important; }
.rm520-user-actions { width: 100%; justify-content: flex-end !important; gap: 5px !important; white-space: nowrap; }
.rm520-user-action { width: 31px !important; height: 31px !important; border-radius: 8px !important; }
.rm520-user-protected { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.rm520-user-identity strong { font-size: 10.2px !important; }
.rm520-user-identity small, .rm520-user-scope { font-size: 8.7px !important; }

/* Legend editor: primary controls align; hatch controls and preview sit below. */
.rm517-style-pattern-settings { grid-template-columns: repeat(4, minmax(82px, 1fr)) !important; align-items: end; }
.rm517-style-pattern-preview { grid-column: 1 / -1; display: grid; gap: 7px; padding-top: 3px; }
.rm517-style-pattern-preview > span:first-child { color: #385466; font-size: 9px; font-weight: 850; }
.rm517-style-pattern-preview .rm517-style-swatch { height: 58px; }
.rm517-admin-style-dialog { width: min(1040px, calc(100vw - 28px)) !important; }
.rm517-admin-style-primary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.rm517-admin-style-pattern-area { display: grid; grid-template-columns: minmax(0, 1fr); gap: 13px; align-items: stretch; }
.rm517-admin-style-pattern-area #rm517EditPatternSettings:not([hidden]) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; }
.rm517-admin-style-pattern-area #rm517EditPatternSettings > h4 { grid-column: 1 / -1; }
.rm517-admin-style-preview-section { align-content: start; }
.rm517-admin-style-preview-section .rm517-admin-style-preview { min-height: 104px; height: 104px; }
.rm521-local-style-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; align-items: end !important; }
.rm521-local-style-toolbar #rm517LocalSummary { display: none !important; }
#rm517LocalRegenerate,
#rm517RegenerateStyle,
#rm517LocalApply,
#rm517AdminStyleApply { border-color: var(--rm521-teal) !important; background: linear-gradient(135deg, var(--rm521-teal), var(--rm521-blue)) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(15,118,110,.16) !important; }
#rm517LocalRegenerate { width: 100% !important; min-height: 42px !important; height: 42px !important; justify-content: center !important; border-radius: 12px !important; }
#rm517LocalCancel,
#rm517AdminStyleCancel { border-color: var(--rm521-red) !important; background: linear-gradient(135deg, var(--rm521-red), var(--rm521-red-dark)) !important; color: #fff !important; }
.rm517-edit-legend-action { border-color: #bfdcdf !important; background: linear-gradient(145deg, #f4fafb, #e7f4f3) !important; color: var(--rm521-teal-dark) !important; }
.rm517-edit-legend-action svg { width: 18px !important; height: 18px !important; }

/* Admin filter and reset button dimensions. */
.rm517-style-toolbar:has(#rm517ReloadStyle) { grid-template-columns: minmax(300px,1.65fr) minmax(220px,1fr) 152px !important; }
#rm517ReloadStyle { width: 152px !important; height: 42px !important; min-height: 42px !important; border-color: var(--rm521-teal) !important; background: linear-gradient(135deg, var(--rm521-teal), var(--rm521-blue)) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(15,118,110,.15) !important; }
html.rm-admin-console .rm-admin-search-grid.spatial { grid-template-columns: minmax(170px,1fr) minmax(260px,1.45fr) minmax(170px,1fr) !important; gap: 10px !important; }
html.rm-admin-console .rm-admin-search-grid.spatial > .rm-admin-small-btn { width: 100% !important; min-height: 42px !important; height: 42px !important; align-self: end !important; justify-content: center !important; }
html.rm-admin-console .rm-admin-log-toolbar { grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 10px !important; }
html.rm-admin-console .rm-admin-log-toolbar > .rm-admin-small-btn { width: 100% !important; min-height: 42px !important; height: 42px !important; align-self: end !important; justify-content: center !important; }
html.rm-admin-console #adminModuleContainer .rm521-reset-button,
html.rm-admin-console #adminModuleContainer button[onclick*="resetAdmin"] { border-color: var(--rm521-red) !important; background: linear-gradient(135deg, var(--rm521-red), var(--rm521-red-dark)) !important; color: #fff !important; box-shadow: 0 7px 16px rgba(180,35,24,.14) !important; }

@media (max-width: 1120px) {
  html.rm-admin-console .rm-v514-user-filter-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  html.rm-admin-console .rm-v514-user-filter-grid .rm-admin-small-btn { grid-column: auto !important; }
  .rm517-admin-style-primary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .rm517-admin-style-primary-grid > :last-child { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .rm521-confirm-card { grid-template-columns: 40px minmax(0,1fr); padding: 17px; }
  .rm521-confirm-icon { width: 39px; height: 39px; }
  .rm521-confirm-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .rm521-confirm-actions button { min-width: 0; }
  html[data-page="dashboard-admin"] .content { padding: 14px !important; }
  html[data-page="dashboard-admin"] .workspace-head { min-height: 116px; padding: 18px; border-radius: 17px; }
  html.rm-admin-console .rm-v514-user-filter-grid,
  html.rm-admin-console .rm-admin-search-grid.spatial,
  html.rm-admin-console .rm-admin-log-toolbar,
  .rm517-style-toolbar:has(#rm517ReloadStyle),
  .rm521-local-style-toolbar,
  .rm517-admin-style-primary-grid,
  .rm517-admin-style-pattern-area,
  .rm517-admin-style-pattern-area #rm517EditPatternSettings:not([hidden]) { grid-template-columns: 1fr !important; }
  .rm517-admin-style-pattern-area #rm517EditPatternSettings > h4 { grid-column: auto; }
  .rm517-admin-style-primary-grid > :last-child { grid-column: auto; }
  #rm517ReloadStyle,
  #rm517LocalRegenerate { width: 100% !important; }
  .rm517-style-pattern-settings { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .rm521-confirm-card { animation: none; }
}

/* =========================================================
   Stage 5.22–5.23 — responsive print, users, reports, and dashboard
   ========================================================= */

/* Print disclaimer lives under Metadata. The footer no longer consumes paper. */
#webgisPrintLayoutPage .webgis-print-footer,
body.rm-exporting-map-pdf #webgisPrintLayoutPage .webgis-print-footer,
body.rm-exporting-map-pdf-full #webgisPrintLayoutPage .webgis-print-footer,
body.rm-native-print-r38 #webgisPrintLayoutPage .webgis-print-footer {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.webgis-print-layout-page .webgis-print-sidebar {
  grid-template-rows: repeat(4, max-content) !important;
  grid-auto-rows: max-content !important;
  align-content: start !important;
}
.webgis-print-layout-page .webgis-print-sidebar > .webgis-print-sidebar-card {
  align-self: start !important;
  min-height: max-content;
}
.webgis-print-layout-page .webgis-print-disclaimer-card {
  flex: 0 0 auto !important;
  border-color: #cbd5e1 !important;
  background: #f8fafc !important;
}
.webgis-print-layout-page .webgis-print-disclaimer-card h4 { background: #eef2f7 !important; }
.webgis-print-layout-page .webgis-print-disclaimer-text {
  margin: 0 !important;
  color: #475569 !important;
  font-size: 7.7px !important;
  line-height: 1.31 !important;
  text-align: justify !important;
  overflow-wrap: anywhere !important;
}
.webgis-print-sidebar.has-reduced-metadata .webgis-print-metadata-card::after {
  content: 'Sebagian metadata diringkas otomatis agar legenda tetap terbaca.';
  display: block;
  margin-top: 4px;
  padding-top: 4px;
  border-top: 1px dashed #d7dde5;
  color: #64748b;
  font-size: 7.2px;
  line-height: 1.2;
}
.webgis-print-layout-page .webgis-print-legend { max-height: none !important; overflow: visible !important; }
.rm522-print-visual-tile { transition: none !important; }

/* Local symbology renders only one small page of controls at a time. */
.rm522-local-style-list-head { align-items: end !important; }
.rm522-local-style-search { width: min(290px, 44%); }
.rm522-local-style-search input {
  width: 100%;
  min-height: 38px;
  padding: 0 11px;
  border: 1px solid #cedce2;
  border-radius: 10px;
  background: #fff;
  color: #193c50;
  font: 700 10.5px/1.2 inherit;
}
.rm522-local-style-loading {
  display: flex;
  min-height: 128px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 18px;
  border: 1px dashed #cbdce2;
  border-radius: 14px;
  background: #f7fafb;
  color: #647b87;
  font-size: 10.5px;
  font-weight: 750;
  text-align: center;
}
.rm522-local-style-loading.is-error { border-color: #e9c7c0; background: #fff5f2; color: #a44231; }
.rm522-local-style-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 0 2px;
}
.rm522-local-style-pager[hidden] { display: none !important; }
.rm522-local-style-pager button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #d4e1e5;
  border-radius: 9px;
  background: #fff;
  color: #315468;
  font-size: 9px;
  font-weight: 820;
  cursor: pointer;
}
.rm522-local-style-pager button:disabled { opacity: .42; cursor: default; }
.rm522-local-style-pager span { color: #687d88; font-size: 9px; font-weight: 760; }

/* Compact user table wins over the legacy 410 px work-area cell rule. */
html.rm-admin-console .rm520-user-table-wrap { overflow-x: hidden !important; }
html.rm-admin-console table.rm520-user-table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}
html.rm-admin-console table.rm520-user-table th,
html.rm-admin-console table.rm520-user-table td { min-width: 0 !important; max-width: none !important; }
html.rm-admin-console table.rm520-user-table th:nth-child(1),
html.rm-admin-console table.rm520-user-table td:nth-child(1) { width: 34% !important; }
html.rm-admin-console table.rm520-user-table th:nth-child(2),
html.rm-admin-console table.rm520-user-table td:nth-child(2) { width: 18% !important; }
html.rm-admin-console table.rm520-user-table th:nth-child(3),
html.rm-admin-console table.rm520-user-table td:nth-child(3) { width: auto !important; }
html.rm-admin-console table.rm520-user-table th:nth-child(4),
html.rm-admin-console table.rm520-user-table td:nth-child(4) {
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  padding-left: 5px !important;
  padding-right: 5px !important;
  text-align: center !important;
}
html.rm-admin-console .rm520-user-actions { justify-content: center !important; }

/* Dashboard feed: reports left; dataset and activity form a compact right stack. */
html[data-page="dashboard-admin"] .rm522-dashboard-feed-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.46fr) minmax(320px, .78fr);
  gap: 15px;
  align-items: stretch;
  margin-top: 15px;
}
html[data-page="dashboard-admin"] .rm522-dashboard-feed-grid > .panel,
html[data-page="dashboard-admin"] .rm522-dashboard-feed-stack > .panel { margin: 0 !important; min-width: 0; }
html[data-page="dashboard-admin"] .rm522-dashboard-feed-stack {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 15px;
  min-width: 0;
}
html[data-page="dashboard-admin"] .rm522-dashboard-feed-stack .row { padding-top: 8px !important; padding-bottom: 8px !important; }

/* An embedded iframe is taller than the parent viewport. Keep report modals in
   the visible parent viewport instead of at the iframe document's far top. */
html.rm-admin-embed body { position: relative !important; }
html.rm-admin-embed .rm522-embedded-report-modal {
  position: absolute !important;
  inset: auto 0 auto 0 !important;
  top: var(--rm522-modal-top, 12px) !important;
  width: 100% !important;
  height: var(--rm522-modal-height, 620px) !important;
  min-height: 360px !important;
  max-height: var(--rm522-modal-height, 620px) !important;
  box-sizing: border-box !important;
  overflow: auto !important;
  z-index: 2147482800 !important;
}
html.rm-admin-embed .rm522-embedded-report-modal > .pegawai-followup-modal,
html.rm-admin-embed .rm522-embedded-report-modal > .laporan-saya-map-modal {
  max-height: calc(var(--rm522-modal-height, 620px) - 28px) !important;
  margin: 12px auto !important;
  overflow: auto !important;
}

/* The account dropdown is the highest interactive map surface. */
.webgis-overlay-header:has(#rmMapAccountMenu),
.webgis-overlay-header:has(.modern-user-dropdown) {
  z-index: 2147482000 !important;
  overflow: visible !important;
}
.webgis-overlay-right,
#rmMapAccountWrap,
#rmMapAccountMenu {
  z-index: 2147482100 !important;
}
#rmMapAccountMenu { isolation: isolate; }

/* Point/polygon selector inside the main-map report panel. */
#rm513AdminReportShell .rm519-report-display { margin-top: 10px; }
#rm513AdminReportShell .rm519-report-display-options { flex: 0 0 auto; }

@media (max-width: 1120px) {
  html[data-page="dashboard-admin"] .rm522-dashboard-feed-grid { grid-template-columns: 1fr; }
  html[data-page="dashboard-admin"] .rm522-dashboard-feed-stack { grid-template-columns: repeat(2, minmax(0,1fr)); grid-template-rows: none; }
}
@media (max-width: 760px) {
  .rm522-local-style-list-head { align-items: stretch !important; flex-direction: column; }
  .rm522-local-style-search { width: 100%; }
  html[data-page="dashboard-admin"] .rm522-dashboard-feed-stack { grid-template-columns: 1fr; }
  html.rm-admin-console table.rm520-user-table td:nth-child(1),
  html.rm-admin-console table.rm520-user-table td:nth-child(2),
  html.rm-admin-console table.rm520-user-table td:nth-child(3),
  html.rm-admin-console table.rm520-user-table td:nth-child(4) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  html.rm-admin-console table.rm520-user-table td:nth-child(4) { text-align: right !important; }
  html.rm-admin-console .rm520-user-actions { justify-content: flex-end !important; }
}

/* =========================================================
   Stage 5.23 — clean first paint and readable internal workspaces
   ========================================================= */

html body .webgis-welcome-splash {
  z-index: 2147483400 !important;
}

body.rm-page-map.rm-map-preboot #app,
body.rm-page-map.rm-map-preboot #app * {
  visibility: hidden !important;
  pointer-events: none !important;
}

.rm521-confirm-card {
  width: min(528px, calc(100vw - 32px));
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 17px;
  padding: 27px;
  border-radius: 22px;
}

.rm521-confirm-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
}

.rm521-confirm-icon svg { width: 26px; height: 26px; }
.rm521-confirm-copy { padding-right: 27px; }
.rm521-confirm-copy > span { font-size: 10.5px; letter-spacing: .085em; }
.rm521-confirm-copy h3 { margin: 7px 0 9px; font-size: 20px; line-height: 1.3; }
.rm521-confirm-copy p { font-size: 13px; line-height: 1.68; }
.rm521-confirm-copy small { margin-top: 12px; padding: 11px 12px; font-size: 11.5px; line-height: 1.6; }
.rm521-confirm-actions { gap: 10px; padding-top: 9px; }
.rm521-confirm-actions button { min-width: 132px; min-height: 45px; padding: 0 17px; font-size: 12px; }

/* An actual grid on every row prevents legacy table minimum widths from hiding Aksi. */
@media (min-width: 761px) {
  html.rm-admin-console #adminUsersTableWrap table.rm520-user-table,
  html.rm-admin-console #adminUsersTableWrap table.rm520-user-table thead,
  html.rm-admin-console #adminUsersTableWrap table.rm520-user-table tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  html.rm-admin-console #adminUsersTableWrap table.rm520-user-table thead tr,
  html.rm-admin-console #adminUsersTableWrap table.rm520-user-table tbody tr {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(105px, .84fr) minmax(0, 1.08fr) 102px !important;
    box-sizing: border-box !important;
  }

  html.rm-admin-console #adminUsersTableWrap table.rm520-user-table th:nth-child(n),
  html.rm-admin-console #adminUsersTableWrap table.rm520-user-table td:nth-child(n) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 11px 9px !important;
    box-sizing: border-box !important;
  }

  html.rm-admin-console #adminUsersTableWrap table.rm520-user-table th:nth-child(4),
  html.rm-admin-console #adminUsersTableWrap table.rm520-user-table td:nth-child(4) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    text-align: center !important;
  }
}

html.rm-admin-console #adminModuleContainer .rm-admin-module-card,
html.rm-admin-console #adminModuleContainer .rm-admin-user-table-wrap,
html.rm-admin-console #adminUsersTableWrap {
  min-width: 0 !important;
  max-width: 100% !important;
}

html.rm-admin-console #adminUsersTableWrap .rm520-user-table th {
  font-size: 11px !important;
  letter-spacing: .025em !important;
}

html.rm-admin-console #adminUsersTableWrap .rm520-user-identity strong {
  font-size: 12.5px !important;
  line-height: 1.4 !important;
}

html.rm-admin-console #adminUsersTableWrap .rm520-user-identity small {
  margin-top: 3px !important;
  font-size: 10.8px !important;
  line-height: 1.4 !important;
}

html.rm-admin-console #adminUsersTableWrap .rm520-user-identity em {
  margin-top: 3px !important;
  font-size: 9.6px !important;
}

html.rm-admin-console #adminUsersTableWrap .rm520-user-pill {
  padding: 5px 7px !important;
  font-size: 10px !important;
}

html.rm-admin-console #adminUsersTableWrap .rm520-user-access { gap: 5px !important; }

html.rm-admin-console #adminUsersTableWrap .rm520-user-scope {
  overflow-wrap: anywhere !important;
  font-size: 11.3px !important;
  line-height: 1.48 !important;
}

html.rm-admin-console #adminUsersTableWrap .rm520-user-scope small {
  margin-top: 4px !important;
  font-size: 10.1px !important;
  line-height: 1.4 !important;
}

html.rm-admin-console #adminUsersTableWrap .rm520-user-actions {
  width: auto !important;
  min-width: 0 !important;
  gap: 6px !important;
}

html.rm-admin-console #adminUsersTableWrap .rm520-user-action {
  width: 35px !important;
  height: 35px !important;
}

html.rm-admin-console #adminUsersTableWrap .rm520-user-protected {
  font-size: 10px !important;
}

/* Scoped filters stay available to national and provincial administrators. */
html.rm-admin-console #adminModuleContainer .rm523-log-region-field[hidden] {
  display: none !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar:has(.rm523-log-region-field:not([hidden])) {
  grid-template-columns: minmax(116px, .84fr) minmax(135px, .95fr) minmax(150px, 1.05fr) minmax(170px, 1.24fr) minmax(124px, .8fr) !important;
  align-items: end !important;
  gap: 9px !important;
}

html.rm-admin-console #adminModuleContainer .rm523-log-region-field {
  display: grid;
  min-width: 0;
  gap: 6px;
  color: #405a69;
  font-size: 11px;
  font-weight: 780;
}

html.rm-admin-console #adminModuleContainer .rm523-log-region-field select {
  width: 100%;
  min-width: 0;
  height: 42px;
  padding: 0 28px 0 10px;
  border: 1px solid #d9e5e9;
  border-radius: 10px;
  background: #fff;
  color: #284658;
  font-family: inherit;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.2;
}

html.rm-admin-console #adminModuleContainer .rm523-log-region-field select:disabled {
  background: #f5f8f9;
  color: #617782;
}

html.rm-admin-console #adminModuleContainer .rm-admin-log-wrap { overflow-x: hidden !important; }

@media (min-width: 761px) {
  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table,
  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table thead,
  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table thead tr,
  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table tbody tr {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(115px, .88fr) minmax(145px, 1.04fr) minmax(135px, .95fr) minmax(0, 1.25fr) !important;
    box-sizing: border-box !important;
  }

  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table th:nth-child(n),
  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table td:nth-child(n) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 11px 10px !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
  }
}

html.rm-admin-console #adminModuleContainer .rm-admin-log-table th { font-size: 11px !important; }
html.rm-admin-console #adminModuleContainer .rm-log-user { min-width: 0 !important; gap: 6px !important; }
html.rm-admin-console #adminModuleContainer .rm-log-primary { font-size: 11.8px !important; line-height: 1.46 !important; }
html.rm-admin-console #adminModuleContainer .rm-log-secondary { margin-top: 3px !important; font-size: 10.6px !important; line-height: 1.43 !important; }
html.rm-admin-console #adminModuleContainer .rm-log-id { margin-top: 4px !important; font-size: 9.4px !important; }
html.rm-admin-console #adminModuleContainer .rm-log-note { font-size: 11.4px !important; line-height: 1.56 !important; }
html.rm-admin-console #adminModuleContainer .rm-log-activity-badge,
html.rm-admin-console #adminModuleContainer .rm-admin-role-badge { padding: 5px 7px !important; font-size: 9.7px !important; }
html.rm-admin-console #adminModuleContainer .rm-log-ref-type,
html.rm-admin-console #adminModuleContainer .rm-log-ref-id,
html.rm-admin-console #adminModuleContainer .rm-log-ref-empty { font-size: 9.5px !important; }
html.rm-admin-console #adminModuleContainer .rm-admin-log-summary { font-size: 10.8px !important; }
html.rm-admin-console #adminModuleContainer .rm-admin-log-insights { gap: 8px !important; padding: 10px !important; }
html.rm-admin-console #adminModuleContainer .rm-admin-log-insights article { padding: 10px 11px !important; }
html.rm-admin-console #adminModuleContainer .rm-admin-log-insights span { font-size: 9.8px !important; }

/* Ten report entries identify their public reporting channel at a glance. */
html[data-page="dashboard-admin"] .rm523-latest-report {
  min-height: 71px;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

html[data-page="dashboard-admin"] .rm523-latest-report .list-copy { min-width: 0; }
html[data-page="dashboard-admin"] .rm523-latest-report .list-copy > strong { font-size: 11.8px !important; }

html[data-page="dashboard-admin"] .rm523-report-kind {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin-top: 4px;
  padding: 3px 7px;
  border: 1px solid #dbe7ee;
  border-radius: 7px;
  background: #edf4f8;
  color: #245a73;
  font-size: 9.6px;
  font-weight: 780;
  line-height: 1.35;
}

html[data-page="dashboard-admin"] .rm523-latest-report.is-sawah .rm523-report-kind {
  border-color: #cfe7e2;
  background: #ebf6f3;
  color: #0d615b;
}

html[data-page="dashboard-admin"] .rm523-latest-report .list-copy > small {
  display: block;
  margin-top: 4px;
  font-size: 10.2px !important;
  line-height: 1.4 !important;
}

#rm513AdminReportShell .rm513-admin-report-item { padding: 13px; }
#rm513AdminReportShell .rm513-admin-report-item-top { align-items: flex-start; flex-wrap: wrap; }

#rm513AdminReportShell .rm523-report-type {
  display: inline-flex;
  max-width: 100%;
  padding: 5px 8px;
  border: 1px solid #dce8ef;
  border-radius: 8px;
  background: #eef4f8;
  color: #245a73;
  font-size: 10px;
  font-weight: 790;
  line-height: 1.35;
}

#rm513AdminReportShell .rm513-admin-report-item.is-sawah .rm523-report-type {
  border-color: #d3e9e3;
  background: #edf7f4;
  color: #0d615b;
}

#rm513AdminReportShell .rm513-admin-report-item h4 { font-size: 12.2px; }
#rm513AdminReportShell .rm513-admin-report-item p { font-size: 10.8px; }
#rm513AdminReportShell .rm513-admin-report-item-meta { font-size: 9.7px; }

html.rm-admin-console #adminModuleContainer .rm-admin-module-head > div > p,
html.rm-admin-console #adminModuleContainer .rm-v514-scope-banner {
  font-size: 11.5px !important;
  line-height: 1.6 !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > label,
html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label,
html.rm-admin-console #adminModuleContainer .rm-v514-field-label {
  font-size: 11px !important;
}

@media (max-width: 1120px) {
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar:has(.rm523-log-region-field:not([hidden])) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar:has(.rm523-log-region-field:not([hidden])) > label:nth-of-type(4) {
    grid-column: span 2;
  }
}

@media (max-width: 760px) {
  .rm521-confirm-card {
    width: min(470px, calc(100vw - 28px));
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    padding: 20px;
  }

  .rm521-confirm-icon { width: 45px; height: 45px; }
  .rm521-confirm-copy h3 { font-size: 18px; }
  .rm521-confirm-copy p { font-size: 12.4px; }
  .rm521-confirm-actions button { min-width: 0; }

  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar:has(.rm523-log-region-field:not([hidden])) {
    grid-template-columns: 1fr !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar:has(.rm523-log-region-field:not([hidden])) > label:nth-of-type(4) {
    grid-column: auto;
  }

  html[data-page="dashboard-admin"] .rm523-latest-report { min-height: 68px; }
}

/* =========================================================
   Stage 5.24 — exact print scale, comfortable modals, responsive controls
   ========================================================= */

/* Pratinjau memakai merah lembut yang sama dengan tombol Reset Intersect. */
#webgisPrintPanelShell .webgis-print-actions .webgis-print-action-btn.secondary {
  border: 1px solid #fecaca !important;
  background: #fff1f2 !important;
  color: #a83232 !important;
  box-shadow: none !important;
}

#webgisPrintPanelShell .webgis-print-actions .webgis-print-action-btn.secondary:hover,
#webgisPrintPanelShell .webgis-print-actions .webgis-print-action-btn.secondary:focus-visible {
  border-color: #f3b6b9 !important;
  background: #fce7e9 !important;
  color: #912c32 !important;
  box-shadow: 0 8px 18px rgba(155, 43, 47, .10) !important;
}

/* Tombol toolbar memiliki lebar stabil; ruang tambahan diberikan ke filter. */
html.rm-admin-console #adminModuleContainer .rm-admin-search-grid.spatial {
  grid-template-columns: minmax(132px, .92fr) minmax(176px, 1.38fr) 132px !important;
  align-items: end !important;
  gap: 10px !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-search-grid.spatial > label,
html.rm-admin-console #adminModuleContainer .rm-admin-search-grid.spatial input,
html.rm-admin-console #adminModuleContainer .rm-admin-search-grid.spatial .rm-combo-trigger {
  min-width: 0 !important;
  max-width: 100% !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-search-grid.spatial > .rm-admin-small-btn,
html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > .rm-admin-small-btn,
html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > .rm-admin-small-btn {
  width: 132px !important;
  min-width: 132px !important;
  max-width: 132px !important;
  min-height: 42px !important;
  height: 42px !important;
  justify-self: end !important;
  padding-inline: 13px !important;
  white-space: nowrap !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-spatial-form .rm-admin-create-foot {
  align-items: center !important;
  gap: 12px !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-spatial-form .rm-admin-create-foot > small {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-spatial-form .rm-admin-create-foot > .rm-admin-small-btn {
  display: inline-flex !important;
  min-width: 158px !important;
  min-height: 43px !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding-inline: 13px !important;
  white-space: nowrap !important;
}

html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table th:nth-child(4),
html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:nth-child(4) {
  padding-right: 13px !important;
  white-space: nowrap !important;
}

html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table th:last-child,
html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:last-child {
  padding-left: 12px !important;
  text-align: center !important;
}

html.rm-admin-console #adminSpatialTableWrap .rm516-dataset-actions {
  justify-content: center !important;
}

/* Konfirmasi destruktif lembut, mudah dibaca, dan konsisten dengan logout. */
.rm521-confirm-modal {
  background: rgba(9, 27, 40, .40) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
}

.rm521-confirm-card {
  width: min(500px, calc(100vw - 32px)) !important;
  border-color: #e6edef !important;
  box-shadow: 0 28px 76px rgba(7, 29, 47, .22) !important;
}

.rm521-confirm-icon {
  background: #fff2f0 !important;
}

.rm521-confirm-modal.is-primary .rm521-confirm-icon {
  background: #e8f5f2 !important;
}

.rm521-confirm-copy small {
  border: 1px solid #e6ecee !important;
  background: #f8fafb !important;
}

/* Portal tidak memindahkan DOM modal: iframe sumber menjadi fullscreen. */
html[data-page="dashboard-admin"] .workspace-frame.rm524-modal-frame {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483200 !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-width: 100vw !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

html.rm524-parent-modal-open .content {
  overflow-y: hidden !important;
}

html.rm-admin-embed.rm524-portal-active,
html.rm-admin-embed.rm524-portal-active body {
  width: 100% !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
  background: transparent !important;
}

html.rm-admin-embed.rm524-portal-active body > * {
  visibility: hidden !important;
}

html.rm-admin-embed.rm524-portal-active .rm524-portal-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483300 !important;
  display: grid !important;
  width: 100% !important;
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: none !important;
  place-items: center !important;
  box-sizing: border-box !important;
  padding: clamp(12px, 3vw, 28px) !important;
  overflow: auto !important;
  visibility: visible !important;
  background: rgba(9, 27, 40, .39) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
}

html.rm-admin-embed.rm524-portal-active .rm524-portal-modal > .rm520-user-modal-card,
html.rm-admin-embed.rm524-portal-active .rm524-portal-modal > .rm517-admin-style-dialog,
html.rm-admin-embed.rm524-portal-active .rm524-portal-modal > .pegawai-followup-modal,
html.rm-admin-embed.rm524-portal-active .rm524-portal-modal > .laporan-saya-map-modal {
  max-height: min(88dvh, 860px) !important;
  margin: 0 auto !important;
  border-radius: 20px !important;
  box-shadow: 0 28px 78px rgba(7, 29, 47, .24) !important;
}

html.rm-admin-embed.rm524-portal-active .rm524-portal-modal > .rm520-user-modal-card {
  width: min(670px, calc(100vw - 30px)) !important;
}

html.rm-admin-embed.rm524-portal-active .rm524-portal-modal > .pegawai-followup-modal {
  width: min(760px, calc(100vw - 30px)) !important;
  overflow: auto !important;
}

html.rm-admin-embed.rm524-portal-active .rm524-portal-modal > .laporan-saya-map-modal {
  width: min(980px, calc(100vw - 30px)) !important;
}

/* Tipografi modal admin kembali nyaman pada notebook maupun ponsel. */
.rm520-user-modal-head { padding: 20px 22px 17px !important; }
.rm520-user-modal-head span { font-size: 10px !important; }
.rm520-user-modal-head h3 { font-size: 19px !important; }
.rm520-user-modal-summary strong { font-size: 13px !important; }
.rm520-user-modal-summary small { font-size: 11.5px !important; }
.rm520-user-modal-form > label,
.rm520-user-modal-scope > span { font-size: 11.8px !important; }
.rm520-user-modal-form select { font-size: 12.5px !important; }
.rm520-user-modal-note { font-size: 11px !important; line-height: 1.62 !important; }
.rm520-user-modal-actions button { min-height: 43px !important; font-size: 11.5px !important; }
.rm517-admin-style-head p { font-size: 12px !important; line-height: 1.55 !important; }
.rm517-admin-style-section label { font-size: 11px !important; }
.rm517-admin-style-note { font-size: 11.2px !important; line-height: 1.58 !important; }

@media (max-width: 1120px) {
  html.rm-admin-console #adminModuleContainer .rm-admin-spatial-form .rm-admin-create-foot > .rm-admin-small-btn {
    min-width: 152px !important;
  }
}

@media (max-width: 760px) {
  html.rm-admin-console #adminModuleContainer,
  html.rm-admin-console #adminModuleContainer .rm-admin-module-card,
  html.rm-admin-console #adminModuleContainer .rm-admin-spatial-layout,
  html.rm-admin-console #adminModuleContainer .rm-admin-spatial-form,
  html.rm-admin-console #adminModuleContainer .rm-admin-spatial-list,
  html.rm-admin-console #adminModuleContainer .rm-admin-search-panel,
  html.rm-admin-console #adminModuleContainer .rm517-style-shell,
  html.rm-admin-console #adminModuleContainer .rm517-style-grid {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-module-card {
    padding: 13px !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-spatial-form,
  html.rm-admin-console #adminModuleContainer .rm-admin-spatial-list {
    padding: 12px !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-search-grid.spatial,
  html.rm-admin-console #adminModuleContainer .rm-admin-form-grid,
  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid,
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar,
  .rm520-user-modal-form,
  .rm517-admin-style-two,
  .rm517-admin-style-primary-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-search-grid.spatial > .rm-admin-small-btn,
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > .rm-admin-small-btn,
  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > .rm-admin-small-btn,
  html.rm-admin-console #adminModuleContainer .rm-admin-spatial-form .rm-admin-create-foot > .rm-admin-small-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-spatial-form .rm-admin-create-foot {
    align-items: stretch !important;
  }

  html.rm-admin-console #adminSpatialTableWrap {
    overflow-x: hidden !important;
    border: 0 !important;
    background: transparent !important;
  }

  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table,
  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table thead {
    display: none !important;
  }

  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table tbody tr {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin: 0 0 11px !important;
    overflow: hidden !important;
    border: 1px solid #dfe8ec !important;
    border-radius: 14px !important;
    background: #fff !important;
  }

  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:nth-child(n) {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 10px 11px !important;
    border-top: 1px solid #edf2f3 !important;
    overflow-wrap: anywhere !important;
    text-align: left !important;
  }

  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:nth-child(1),
  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:nth-child(2),
  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:nth-child(5) {
    grid-column: 1 / -1 !important;
  }

  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:first-child {
    border-top: 0 !important;
  }

  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:nth-child(2)::before,
  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:nth-child(3)::before,
  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:nth-child(4)::before,
  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:nth-child(5)::before {
    display: block;
    margin-bottom: 6px;
    color: #677e89;
    font-size: 10px;
    font-weight: 820;
  }

  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:nth-child(2)::before { content: 'Wilayah'; }
  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:nth-child(3)::before { content: 'Status'; }
  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:nth-child(4)::before { content: 'Muat Awal'; }
  html.rm-admin-console #adminSpatialTableWrap .rm-admin-user-table td:nth-child(5)::before { content: 'Aksi'; }

  html.rm-admin-console #adminSpatialTableWrap .rm516-dataset-actions {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  /* Log tidak boleh terpotong oleh overflow tersembunyi pada layar kecil. */
  html.rm-admin-console #adminLogsTableWrap.rm-admin-log-wrap {
    overflow-x: visible !important;
  }

  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table,
  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table thead {
    display: none !important;
  }

  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    margin: 0 0 10px !important;
    overflow: hidden !important;
    border: 1px solid #e3ebef !important;
    border-radius: 13px !important;
    background: #fff !important;
  }

  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table td:nth-child(n) {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 12px !important;
    border-top: 1px solid #edf2f4 !important;
    overflow-wrap: anywhere !important;
  }

  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table td:first-child {
    border-top: 0 !important;
  }

  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table td::before {
    display: block;
    margin-bottom: 6px;
    color: #677e89;
    font-size: 10px;
    font-weight: 820;
  }

  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table td:nth-child(1)::before { content: 'Waktu'; }
  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table td:nth-child(2)::before { content: 'Pengguna'; }
  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table td:nth-child(3)::before { content: 'Aktivitas'; }
  html.rm-admin-console #adminModuleContainer table.rm-admin-log-table td:nth-child(4)::before { content: 'Detail'; }

  /* Aturan lama mendefinisikan ulang dua kolom setelah media query mobile. */
  #rm57ProfileModal .profile-layout,
  #rm57ProfileModal .profile-form-grid,
  body[data-page="profil-saya"] .profile-layout,
  body[data-page="profil-saya"] .profile-form-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  #rm57ProfileModal .profile-form-grid > .form-group,
  body[data-page="profil-saya"] .profile-form-grid > .form-group {
    min-width: 0 !important;
    margin: 0 !important;
  }

  #rm57ProfileModal .profile-label-row,
  #rm57ProfileModal .profile-contact-head,
  body[data-page="profil-saya"] .profile-label-row,
  body[data-page="profil-saya"] .profile-contact-head {
    min-height: 0 !important;
    height: auto !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }

  #rm57ProfileModal .profile-contact-label-wrap,
  body[data-page="profil-saya"] .profile-contact-label-wrap {
    display: flex !important;
    min-width: 0 !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
  }

  #rm57ProfileModal .profile-contact-actions,
  body[data-page="profil-saya"] .profile-contact-actions {
    width: 100% !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  #rm57ProfileModal .profile-sidebar-card {
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
  }

  #rm57ProfileModal .rm57-modal-body,
  #rm57PasswordModal .rm57-modal-body {
    padding: 13px !important;
  }

  .rm57-modal-card,
  .rm520-user-modal-card,
  .photo-crop-dialog,
  .otp-modal-content {
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 24px) !important;
  }

  .rm520-user-modal-actions,
  .rm517-admin-style-foot,
  .photo-crop-footer,
  .profile-form-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  .profile-form-actions > button:only-child {
    grid-column: 1 / -1 !important;
  }

  .rm520-user-modal-actions button,
  .rm517-admin-style-foot button,
  .photo-crop-footer button,
  .profile-form-actions button {
    min-width: 0 !important;
    white-space: normal !important;
  }

  .webgis-print-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .webgis-print-actions .webgis-print-action-btn {
    min-width: 0 !important;
    padding-inline: 9px !important;
    font-size: 12px !important;
  }

  .webgis-print-actions .webgis-print-action-btn.primary:last-child {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 620px) {
  /* Semua modul admin tetap dapat dijangkau dari navigasi bawah ponsel. */
  html[data-page="dashboard-admin"] .sidebar .nav {
    display: grid !important;
    width: 100% !important;
    height: 50px !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(48px, 1fr) !important;
    grid-template-columns: none !important;
    gap: 4px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none !important;
  }

  html[data-page="dashboard-admin"] .sidebar .nav::-webkit-scrollbar {
    display: none !important;
  }

  html[data-page="dashboard-admin"] .sidebar .nav .nav-section {
    display: none !important;
  }

  html[data-page="dashboard-admin"] .sidebar .nav a:nth-child(n+6) {
    display: flex !important;
  }

  html[data-page="dashboard-admin"] .sidebar .nav a {
    min-width: 48px !important;
    min-height: 47px !important;
    justify-content: center !important;
  }
}

/* Stage 5.44.27 - auth actions use one coherent geometry. The official Google
   button remains rendered by Google, while its iframe is clipped to the same
   rounded silhouette as the primary Login/Register actions. */
html body:is([data-page="login"], [data-page="register"]) .rm-google-button-host {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 5px 14px rgba(16, 41, 61, .08) !important;
  overflow: hidden !important;
}

html body:is([data-page="login"], [data-page="register"]) .rm-google-button-host > div,
html body:is([data-page="login"], [data-page="register"]) .rm-google-button-host iframe {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Compact secondary navigation replaces the former two-line map explanation. */
html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .rm-auth-map-return {
  margin: 10px 0 0 !important;
  padding: 10px 0 0 !important;
  border-top: 1px solid #e8eef3 !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .rm-auth-map-button {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  margin: 0 !important;
  padding: 9px 14px !important;
  border: 1px solid #e2c67d !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #fffaf0 0%, #f8e8bd 100%) !important;
  color: #755113 !important;
  box-shadow: 0 5px 14px rgba(139, 101, 27, .09) !important;
  font: 750 12.5px/1.2 Arial, Helvetica, sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .rm-auth-map-button:hover,
html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .rm-auth-map-button:focus-visible {
  border-color: #c99f42 !important;
  background: linear-gradient(135deg, #fff6df 0%, #f1d895 100%) !important;
  color: #61400b !important;
  box-shadow: 0 8px 18px rgba(139, 101, 27, .14) !important;
  outline: 0 !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .rm-auth-map-button:active {
  transform: translateY(0) !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .rm-auth-map-button svg {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .rm-auth-map-button span {
  display: inline !important;
  margin: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
}

@media (max-width: 420px) {
  html[data-page="dashboard-admin"] .content { padding-inline: 10px !important; }
  html[data-page="dashboard-admin"] .workspace-head { padding: 15px !important; }
  html[data-page="dashboard-admin"] .workspace-head h1 { font-size: 19px !important; }
  .rm521-confirm-card { grid-template-columns: 1fr !important; gap: 11px !important; padding: 18px !important; }
  .rm521-confirm-copy { padding-right: 0 !important; }
  .rm521-confirm-actions { grid-column: auto !important; }
}

/* bundled source: stage-5.25-ui.css */
/* Stage 5.25: reliable report workspaces, proportionate dialogs and tidy filters. */

/* Give each action only the width its actual label requires. */
html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid {
  grid-template-columns:
    minmax(108px, .78fr)
    minmax(162px, 1.35fr)
    minmax(104px, .72fr)
    minmax(104px, .72fr)
    max-content !important;
  align-items: end !important;
  gap: 8px !important;
}

html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > .rm-admin-small-btn {
  width: auto !important;
  min-width: 158px !important;
  max-width: none !important;
  justify-self: start !important;
  padding-inline: 13px !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar {
  grid-template-columns: minmax(144px, .86fr) minmax(240px, 1.52fr) max-content !important;
  align-items: end !important;
  gap: 8px !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar:has(.rm523-log-region-field:not([hidden])) {
  grid-template-columns:
    minmax(122px, .78fr)
    minmax(132px, .88fr)
    minmax(140px, .94fr)
    minmax(180px, 1.24fr)
    max-content !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > .rm-admin-small-btn {
  width: auto !important;
  min-width: 132px !important;
  max-width: none !important;
  justify-self: start !important;
  padding-inline: 14px !important;
  white-space: nowrap !important;
}

/* Delete confirmation: compact hierarchy, optical alignment and a proper icon. */
.rm521-confirm-card {
  width: min(444px, calc(100vw - 32px)) !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 13px 14px !important;
  padding: 20px !important;
  border-radius: 19px !important;
}

.rm521-confirm-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
}

.rm521-confirm-icon svg {
  width: 22px !important;
  height: 22px !important;
}

.rm521-confirm-close {
  position: absolute !important;
  top: 13px !important;
  right: 13px !important;
  display: grid !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  place-items: center !important;
  border: 1px solid #e7ecef !important;
  border-radius: 10px !important;
  background: #f8fafb !important;
  color: #5b707c !important;
  line-height: 1 !important;
}

.rm521-confirm-close svg {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
}

.rm521-confirm-close:hover,
.rm521-confirm-close:focus-visible {
  border-color: #d6e2e5 !important;
  background: #eef4f5 !important;
  color: #163447 !important;
}

.rm521-confirm-copy {
  padding-top: 1px !important;
  padding-right: 29px !important;
}

.rm521-confirm-copy > span {
  font-size: 9.5px !important;
  letter-spacing: .075em !important;
}

.rm521-confirm-copy h3 {
  margin: 5px 0 6px !important;
  font-size: 18px !important;
  line-height: 1.32 !important;
}

.rm521-confirm-copy p {
  font-size: 12.3px !important;
  font-weight: 450 !important;
  line-height: 1.62 !important;
}

.rm521-confirm-copy small {
  margin-top: 9px !important;
  padding: 9px 10px !important;
  border-radius: 10px !important;
  font-size: 10.8px !important;
  font-weight: 500 !important;
}

.rm521-confirm-copy small[hidden] {
  display: none !important;
}

.rm521-confirm-actions {
  gap: 8px !important;
  padding-top: 1px !important;
}

.rm521-confirm-actions button {
  min-width: 114px !important;
  min-height: 41px !important;
  padding-inline: 14px !important;
  border-radius: 11px !important;
  font-size: 11.5px !important;
}

/* Report dialogs use the complete viewport, with one scroll surface per card. */
#followupDetailModal,
#followupMapModal,
#laporanSayaDetailModal,
#laporanSayaMapModal {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  padding: clamp(12px, 3vw, 28px) !important;
  place-items: center !important;
  overflow: hidden !important;
  overscroll-behavior: contain !important;
  background: rgba(10, 29, 42, .42) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
}

#followupDetailModal.rm525-report-modal-open,
#followupMapModal.rm525-report-modal-open,
#laporanSayaDetailModal.rm525-report-modal-open,
#laporanSayaMapModal.rm525-report-modal-open,
html.rm-admin-embed.rm524-portal-active .rm524-portal-modal.rm525-report-modal-open {
  display: grid !important;
}

#followupDetailModal > .pegawai-followup-modal,
#laporanSayaDetailModal > .laporan-saya-modal,
#followupMapModal > .laporan-saya-map-modal,
#laporanSayaMapModal > .laporan-saya-map-modal,
html.rm-admin-embed.rm524-portal-active .rm524-portal-modal > .pegawai-followup-modal,
html.rm-admin-embed.rm524-portal-active .rm524-portal-modal > .laporan-saya-map-modal {
  position: relative !important;
  display: flex !important;
  max-height: min(86dvh, 820px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid #e7edef !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 28px 76px rgba(8, 29, 45, .24) !important;
}

#followupDetailModal > .pegawai-followup-modal,
#laporanSayaDetailModal > .laporan-saya-modal,
html.rm-admin-embed.rm524-portal-active #followupDetailModal > .pegawai-followup-modal {
  width: min(710px, calc(100vw - 32px)) !important;
}

#followupMapModal > .laporan-saya-map-modal,
#laporanSayaMapModal > .laporan-saya-map-modal,
html.rm-admin-embed.rm524-portal-active #followupMapModal > .laporan-saya-map-modal {
  width: min(920px, calc(100vw - 32px)) !important;
}

.pegawai-followup-modal-head,
.laporan-saya-modal-head,
.laporan-saya-map-head {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  min-height: 76px !important;
  padding: 15px 19px !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  border-bottom: 1px solid #eaf0f1 !important;
  background: #fff !important;
}

.pegawai-followup-modal-head h3,
.laporan-saya-modal-head h3,
.laporan-saya-map-head h3 {
  margin: 4px 0 0 !important;
  font-size: clamp(16px, 2.4vw, 19px) !important;
  font-weight: 690 !important;
  line-height: 1.32 !important;
}

.pegawai-followup-modal-close,
.laporan-saya-modal-close {
  position: relative !important;
  z-index: 5 !important;
  display: grid !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  flex: 0 0 36px !important;
  place-items: center !important;
  border: 1px solid #e4ebed !important;
  border-radius: 11px !important;
  background: #f7f9fa !important;
  color: #526974 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}

.pegawai-followup-modal-close svg,
.laporan-saya-modal-close svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  pointer-events: none !important;
}

.pegawai-followup-modal-close:hover,
.laporan-saya-modal-close:hover,
.pegawai-followup-modal-close:focus-visible,
.laporan-saya-modal-close:focus-visible {
  border-color: #cfe1df !important;
  background: #eef7f5 !important;
  color: #0f766e !important;
}

.rm525-followup-scroll,
#laporanSayaDetailModal .laporan-saya-modal-body,
#followupMapModal .laporan-saya-map-body,
#laporanSayaMapModal .laporan-saya-map-body,
.rm58-report-body {
  min-height: 0 !important;
  flex: 1 1 auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-color: #c4d4d5 transparent !important;
  scrollbar-width: thin !important;
  scrollbar-gutter: stable !important;
}

.rm525-followup-scroll::-webkit-scrollbar,
#laporanSayaDetailModal .laporan-saya-modal-body::-webkit-scrollbar,
#followupMapModal .laporan-saya-map-body::-webkit-scrollbar,
#laporanSayaMapModal .laporan-saya-map-body::-webkit-scrollbar,
.rm58-report-body::-webkit-scrollbar {
  width: 8px !important;
}

.rm525-followup-scroll::-webkit-scrollbar-track,
#laporanSayaDetailModal .laporan-saya-modal-body::-webkit-scrollbar-track,
#followupMapModal .laporan-saya-map-body::-webkit-scrollbar-track,
#laporanSayaMapModal .laporan-saya-map-body::-webkit-scrollbar-track,
.rm58-report-body::-webkit-scrollbar-track {
  margin-block: 8px !important;
  border-radius: 999px !important;
  background: transparent !important;
}

.rm525-followup-scroll::-webkit-scrollbar-thumb,
#laporanSayaDetailModal .laporan-saya-modal-body::-webkit-scrollbar-thumb,
#followupMapModal .laporan-saya-map-body::-webkit-scrollbar-thumb,
#laporanSayaMapModal .laporan-saya-map-body::-webkit-scrollbar-thumb,
.rm58-report-body::-webkit-scrollbar-thumb {
  border: 2px solid #fff !important;
  border-radius: 999px !important;
  background: #c4d4d5 !important;
}

.rm525-followup-scroll .pegawai-followup-modal-body {
  padding: 17px 19px 7px !important;
}

.rm525-followup-scroll .pegawai-followup-update-box {
  margin: 7px 19px 18px !important;
  padding: 15px !important;
  border-radius: 15px !important;
}

.pegawai-followup-detail-grid,
.laporan-saya-detail-grid {
  align-items: start !important;
  gap: 10px 12px !important;
}

.pegawai-followup-detail-item,
.laporan-saya-detail-item {
  min-width: 0 !important;
  padding: 11px 12px !important;
  border-radius: 12px !important;
}

.pegawai-followup-detail-item > span,
.laporan-saya-detail-item > span {
  display: block !important;
  margin-bottom: 5px !important;
  color: #71818a !important;
  font-size: 10.8px !important;
  font-weight: 550 !important;
  letter-spacing: .01em !important;
}

.pegawai-followup-detail-item > strong,
.laporan-saya-detail-item > strong {
  display: block !important;
  color: #273b48 !important;
  font-size: 12.6px !important;
  font-weight: 450 !important;
  line-height: 1.67 !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

.pegawai-followup-detail-item.full > strong,
.pegawai-followup-detail-item.full-width > strong,
.laporan-saya-detail-item.full > strong,
.laporan-saya-detail-item.full-width > strong {
  text-align: justify !important;
  text-justify: inter-word !important;
}

.pegawai-followup-update-box > label {
  font-size: 11.6px !important;
  font-weight: 580 !important;
}

.pegawai-followup-update-box textarea {
  min-height: 82px !important;
  font-weight: 430 !important;
}

#laporanSayaDetailModal .laporan-saya-modal-footer {
  flex: 0 0 auto !important;
  padding: 12px 19px !important;
  border-top: 1px solid #eaf0f1 !important;
  background: #fff !important;
}

#followupMapModal .laporan-saya-map-body,
#laporanSayaMapModal .laporan-saya-map-body {
  padding: 13px !important;
}

#followupMapModal .laporan-saya-map-canvas,
#laporanSayaMapModal .laporan-saya-map-canvas {
  min-height: min(58dvh, 540px) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

/* Reporting remains a side workspace so drawing on the actual map stays possible. */
.rm58-report-panel {
  top: 84px !important;
  right: 17px !important;
  bottom: 16px !important;
  width: min(526px, calc(100vw - 36px)) !important;
  max-width: min(526px, calc(100vw - 36px)) !important;
  border-radius: 23px !important;
}

.rm58-report-head {
  padding: 16px 51px 12px 18px !important;
}

.rm58-report-head h3 {
  max-width: 420px !important;
  font-size: 17.5px !important;
}

.rm58-report-head p {
  max-width: 425px !important;
  font-size: 11.5px !important;
  line-height: 1.53 !important;
}

.rm525-draft-row {
  display: flex !important;
  min-height: 22px !important;
  margin-top: 8px !important;
  align-items: center !important;
  gap: 7px !important;
}

.rm525-draft-status {
  min-width: 0 !important;
  color: #61747c !important;
  font-size: 10px !important;
  font-weight: 470 !important;
  line-height: 1.42 !important;
}

.rm525-draft-status.is-saved {
  color: #0f766e !important;
}

.rm525-draft-status.has-photos {
  color: #93662a !important;
}

.rm525-draft-clear {
  padding: 0 !important;
  flex: 0 0 auto !important;
  border: 0 !important;
  background: transparent !important;
  color: #9d4145 !important;
  font-size: 9.8px !important;
  font-weight: 650 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

.rm525-draft-clear[hidden] {
  display: none !important;
}

.rm58-report-head .rm57-close {
  top: 15px !important;
  right: 15px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 11px !important;
}

.rm58-report-head .rm57-close svg {
  width: 17px !important;
  height: 17px !important;
  pointer-events: none !important;
}

.rm58-report-body {
  padding: 15px 16px 18px !important;
}

.rm58-report-body .lapor-pelanggaran-grid,
.rm58-report-body .lindungi-sawah-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 11px !important;
  row-gap: 11px !important;
}

.rm58-report-body .form-group:has(#lpJenisPelanggaran),
.rm58-report-body .form-group:has(#lpNamaObjek),
.rm58-report-body .form-group:has(#lpDetailAlamat),
.rm58-report-body .form-group:has(#lpJenisPemanfaatan),
.rm58-report-body .form-group:has(#lpUraianPelanggaran),
.rm58-report-body .form-group:has(#lsDetailAlamat),
.rm58-report-body .form-group:has(#lsJenisDugaan),
.rm58-report-body .form-group:has(#lsDetailPelanggaran),
.rm58-report-body .form-group.full,
.rm58-report-body .form-group.full-width,
.rm58-report-body .lapor-pelanggaran-aoi-card,
.rm58-report-body .lindungi-sawah-aoi-card {
  grid-column: 1 / -1 !important;
}

.rm58-report-body input:not([type="file"]),
.rm58-report-body textarea,
.rm58-report-body select,
.rm58-report-body .rm-custom-select-trigger {
  min-height: 42px !important;
  border-radius: 11px !important;
  font-size: 11.7px !important;
}

.rm58-report-body textarea {
  min-height: 96px !important;
  line-height: 1.58 !important;
}

.rm58-report-body .lapor-pelanggaran-aoi-actions,
.rm58-report-body .lindungi-sawah-aoi-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.rm58-report-body .lapor-aoi-icon-btn,
.rm58-report-body .lindungi-aoi-icon-btn {
  min-height: 41px !important;
  line-height: 1.35 !important;
}

@media (max-width: 1210px) {
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar:has(.rm523-log-region-field:not([hidden])) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar:has(.rm523-log-region-field:not([hidden])) > label:nth-of-type(4) {
    grid-column: span 2 !important;
  }
}

@media (max-width: 1030px) {
  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) max-content !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label:nth-of-type(2) {
    grid-column: span 2 !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > .rm-admin-small-btn {
    justify-self: start !important;
  }

  .rm58-report-panel {
    width: min(482px, calc(100vw - 34px)) !important;
    max-width: min(482px, calc(100vw - 34px)) !important;
  }
}

@media (max-width: 760px) {
  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid,
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar,
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar:has(.rm523-log-region-field:not([hidden])) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label:nth-of-type(2),
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar:has(.rm523-log-region-field:not([hidden])) > label:nth-of-type(4) {
    grid-column: auto !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > .rm-admin-small-btn,
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > .rm-admin-small-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-self: stretch !important;
  }

  .rm58-report-panel {
    top: 70px !important;
    right: 9px !important;
    bottom: max(9px, env(safe-area-inset-bottom)) !important;
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    border-radius: 19px !important;
  }

  .rm58-report-head {
    padding: 14px 45px 10px 15px !important;
  }

  .rm58-report-head h3 {
    font-size: 16px !important;
  }

  .rm58-report-body {
    padding: 12px 13px 15px !important;
  }

  #followupDetailModal,
  #followupMapModal,
  #laporanSayaDetailModal,
  #laporanSayaMapModal {
    padding: 10px !important;
  }

  #followupDetailModal > .pegawai-followup-modal,
  #laporanSayaDetailModal > .laporan-saya-modal,
  #followupMapModal > .laporan-saya-map-modal,
  #laporanSayaMapModal > .laporan-saya-map-modal {
    width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 22px) !important;
    border-radius: 17px !important;
  }

  .pegawai-followup-modal-head,
  .laporan-saya-modal-head,
  .laporan-saya-map-head {
    min-height: 68px !important;
    padding: 12px 14px !important;
  }

  .rm525-followup-scroll .pegawai-followup-modal-body {
    padding: 13px 13px 6px !important;
  }

  .rm525-followup-scroll .pegawai-followup-update-box {
    margin: 7px 13px 14px !important;
    padding: 12px !important;
  }

  .pegawai-followup-detail-item > strong,
  .laporan-saya-detail-item > strong {
    font-size: 12px !important;
  }

  #followupMapModal .laporan-saya-map-canvas,
  #laporanSayaMapModal .laporan-saya-map-canvas {
    min-height: 54dvh !important;
  }
}

@media (max-width: 480px) {
  .rm58-report-body .lapor-pelanggaran-grid,
  .rm58-report-body .lindungi-sawah-grid,
  .pegawai-followup-detail-grid,
  .laporan-saya-detail-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .rm525-draft-row {
    align-items: flex-start !important;
  }

  .rm525-draft-status {
    font-size: 9.5px !important;
  }

  .rm521-confirm-card {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 11px 11px !important;
    padding: 17px !important;
  }

  .rm521-confirm-icon {
    width: 40px !important;
    height: 40px !important;
  }

  .rm521-confirm-copy {
    padding-right: 23px !important;
  }

  .rm521-confirm-copy h3 {
    font-size: 16.8px !important;
  }

  .rm521-confirm-actions {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  .rm521-confirm-actions button {
    min-width: 0 !important;
  }
}

/* =========================================================
   STAGE 5.44.41 — ALUR ANALISIS TATA RUANG PROFESIONAL
   ========================================================= */

html .analysis-side-panel {
  width: min(470px, calc(100vw - 36px));
  border-radius: 24px;
  border-color: rgba(203, 213, 225, 0.82);
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.18);
}

html .analysis-panel-header {
  padding: 19px 22px 15px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfd 100%);
}

html .analysis-panel-header h3 {
  margin-bottom: 5px;
  color: #102a3b;
  font-size: 21px;
  letter-spacing: -0.025em;
}

html .analysis-panel-header p {
  max-width: 370px;
  font-size: 12.5px;
  line-height: 1.55;
}

html .rm-analysis-stepper {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 12px 18px 11px;
  overflow: visible;
  background: #f7fafb;
}

html .rm-analysis-stepper .analysis-step {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 5px;
  min-width: 0;
  padding: 0 3px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #7a8a9b;
}

html .rm-analysis-stepper .analysis-step::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 14px;
  left: calc(50% + 15px);
  width: calc(100% - 30px);
  height: 2px;
  background: #d9e2e8;
}

html .rm-analysis-stepper .analysis-step:last-child::after {
  display: none;
}

html .rm-analysis-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 29px;
  height: 29px;
  border: 2px solid #d9e2e8;
  border-radius: 50%;
  background: #ffffff;
  color: #718096;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 2px 7px rgba(15, 23, 42, 0.06);
}

html .rm-analysis-step-label {
  max-width: 100%;
  overflow: hidden;
  color: inherit;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html .rm-analysis-stepper .analysis-step.active {
  color: #0c6f69;
}

html .rm-analysis-stepper .analysis-step.active .rm-analysis-step-number {
  border-color: #0f7f76;
  background: #0f7f76;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(15, 127, 118, 0.24);
}

html .rm-analysis-stepper .analysis-step.completed {
  color: #287b70;
}

html .rm-analysis-stepper .analysis-step.completed::after {
  background: #73b7ad;
}

html .rm-analysis-stepper .analysis-step.completed .rm-analysis-step-number {
  border-color: #9bd0c8;
  background: #e8f7f3;
  color: #0c6f69;
}

html .rm-analysis-workflow-context {
  flex: 0 0 auto;
  display: flex;
  gap: 8px;
  padding: 9px 12px;
  overflow-x: auto;
  border-bottom: 1px solid #e4ebef;
  background: #ffffff;
  scrollbar-width: none;
}

html .rm-analysis-workflow-context[hidden] {
  display: none !important;
}

html .rm-analysis-workflow-context::-webkit-scrollbar {
  display: none;
}

html .rm-analysis-context-item {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  min-width: 170px;
  min-height: 55px;
  padding: 8px 35px 8px 8px;
  border: 1px solid #dbe6ea;
  border-radius: 13px;
  background: #f8fbfb;
}

html .rm-analysis-context-item:first-child {
  min-width: 145px;
  padding-right: 9px;
}

html .rm-analysis-context-item.is-pending {
  border-style: dashed;
  background: #fbfcfd;
}

html .rm-analysis-context-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  background: #e5f3f1;
  color: #0c756d;
}

html .rm-analysis-context-icon svg {
  width: 15px;
  height: 15px;
}

html .rm-analysis-context-copy {
  display: grid;
  min-width: 0;
}

html .rm-analysis-context-copy small,
html .rm-analysis-context-copy span {
  overflow: hidden;
  color: #718096;
  font-size: 9px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html .rm-analysis-context-copy strong {
  overflow: hidden;
  color: #183748;
  font-size: 10.5px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html .rm-analysis-context-item > button {
  position: absolute;
  top: 6px;
  right: 7px;
  padding: 2px 4px;
  border: 0;
  background: transparent;
  color: #0c756d;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}

html .analysis-panel-content {
  padding: 18px 20px 20px;
  background: #ffffff;
}

html .rm-analysis-step-eyebrow {
  display: inline-flex;
  margin-bottom: 7px;
  color: #0f766e;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

html .analysis-section-title h4 {
  color: #102a3b;
  font-size: 19px;
  letter-spacing: -0.02em;
}

html .analysis-section-title p {
  margin-bottom: 15px;
  font-size: 12.5px;
  line-height: 1.55;
}

html .rm-analysis-subsection-head {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 16px 0 9px;
}

html .rm-analysis-subsection-head > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 25px;
  border-radius: 8px;
  background: #e6f4f1;
  color: #0b7068;
  font-size: 9.5px;
  font-weight: 900;
}

html .rm-analysis-subsection-head > div {
  display: grid;
  gap: 1px;
}

html .rm-analysis-subsection-head strong {
  color: #163345;
  font-size: 12px;
}

html .rm-analysis-subsection-head small {
  color: #718096;
  font-size: 10px;
}

html .rm-analysis-type-grid,
html .rm-analysis-location-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

html .rm-analysis-type-choice,
html .rm-analysis-location-grid .analysis-choice {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 102px;
  padding: 12px;
  border-radius: 15px;
  box-shadow: none;
}

html .rm-analysis-type-choice {
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
}

html .rm-analysis-type-choice > span:nth-child(2) {
  min-width: 0;
}

html .rm-analysis-type-choice strong,
html .rm-analysis-location-grid .analysis-choice strong {
  margin: 0 0 4px;
  color: #183748;
  font-size: 11.5px;
  line-height: 1.35;
}

html .rm-analysis-type-choice small,
html .rm-analysis-location-grid .analysis-choice span {
  color: #6a7d8e;
  font-size: 10px;
  line-height: 1.45;
}

html .rm-analysis-type-choice .rm-analysis-type-icon,
html .rm-analysis-location-grid .rm-analysis-input-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #eef5f5;
  color: #176d68;
}

html .rm-analysis-type-choice .rm-analysis-type-icon svg,
html .rm-analysis-location-grid .rm-analysis-input-icon svg {
  width: 18px;
  height: 18px;
}

html .rm-analysis-choice-check {
  position: absolute;
  top: 8px;
  right: 8px;
  display: none;
  align-items: center;
  justify-content: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #0f7f76;
  color: #ffffff !important;
  font-size: 10px !important;
  font-weight: 900;
}

html .rm-analysis-type-choice.selected .rm-analysis-choice-check {
  display: inline-flex;
}

html .rm-analysis-type-choice.selected,
html .rm-analysis-location-grid .analysis-choice.selected {
  border-color: #55a99e;
  background: #eff9f6;
  box-shadow: inset 0 0 0 1px rgba(15, 127, 118, 0.14);
}

html .rm-analysis-guidance-card,
html .rm-analysis-drawing-state {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 13px;
  padding: 12px 13px;
  border: 1px dashed #b8ccd3;
  border-radius: 14px;
  background: #f8fbfc;
  color: #526778;
}

html .rm-analysis-guidance-card {
  display: grid;
  gap: 2px;
}

html .rm-analysis-guidance-card strong,
html .rm-analysis-drawing-state strong {
  color: #214455;
  font-size: 11.5px;
}

html .rm-analysis-guidance-card span,
html .rm-analysis-drawing-state span {
  font-size: 10.5px;
  line-height: 1.45;
}

html .rm-analysis-drawing-state > div {
  display: grid;
  gap: 2px;
}

html .rm-analysis-drawing-pulse {
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  border: 3px solid #bce1da;
  border-radius: 50%;
  background: #0f7f76;
  box-shadow: 0 0 0 4px rgba(15, 127, 118, 0.08);
}

html .rm-analysis-dataset-summary {
  display: grid;
  gap: 10px;
  margin-top: 13px;
  padding: 13px;
  border: 1px solid #e4c982;
  border-radius: 15px;
  background: #fffaf0;
}

html .rm-analysis-dataset-summary.is-ready {
  border-color: #a8d7ce;
  background: #f2fbf8;
}

html .rm-analysis-dataset-summary-head {
  display: flex;
  align-items: center;
  gap: 9px;
}

html .rm-analysis-dataset-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  border-radius: 9px;
  background: #f2d99c;
  color: #7c5b0d;
  font-size: 12px;
  font-weight: 900;
}

html .rm-analysis-dataset-summary.is-ready .rm-analysis-dataset-status {
  background: #d9f2eb;
  color: #087268;
}

html .rm-analysis-dataset-summary-head > div {
  display: grid;
  gap: 1px;
}

html .rm-analysis-dataset-summary-head small {
  color: #617587;
  font-size: 9.5px;
  font-weight: 700;
}

html .rm-analysis-dataset-summary-head strong {
  color: #183748;
  font-size: 12px;
}

html .rm-analysis-dataset-summary dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

html .rm-analysis-dataset-summary dl > div:last-child {
  grid-column: 1 / -1;
}

html .rm-analysis-dataset-summary dt {
  margin-bottom: 2px;
  color: #728394;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

html .rm-analysis-dataset-summary dd {
  margin: 0;
  color: #284758;
  font-size: 10.5px;
  line-height: 1.4;
}

html .analysis-panel-footer {
  flex: 0 0 auto;
  padding: 12px 16px;
  border-top-color: #dde6eb;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.04);
}

html .analysis-panel-footer .analysis-btn {
  min-height: 42px;
}

html .analysis-panel-footer .analysis-btn.primary {
  min-width: 148px;
}

html .analysis-panel-footer .analysis-btn:focus-visible,
html .rm-analysis-result-tabs button:focus-visible,
html .rm-analysis-type-choice:focus-visible,
html .rm-analysis-location-grid .analysis-choice:focus-visible {
  outline: 3px solid rgba(15, 127, 118, 0.24);
  outline-offset: 2px;
}

html .rm-analysis-result-root {
  display: grid;
  gap: 13px;
}

html .rm-analysis-verdict {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 11px;
  padding: 14px;
  border: 1px solid #cbd5e1;
  border-radius: 17px;
  background: #f8fafc;
}

html .rm-analysis-verdict.status-allowed {
  border-color: #98d7b3;
  background: #eefaf3;
}

html .rm-analysis-verdict.status-limited {
  border-color: #ead18d;
  background: #fff9e9;
}

html .rm-analysis-verdict.status-denied {
  border-color: #efaaa7;
  background: #fff3f2;
}

html .rm-analysis-verdict-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: #e7edf1;
  color: #526777;
  font-size: 18px;
  font-weight: 900;
}

html .rm-analysis-verdict.status-allowed .rm-analysis-verdict-icon {
  background: #cceedd;
  color: #087443;
}

html .rm-analysis-verdict.status-limited .rm-analysis-verdict-icon {
  background: #f7e8b9;
  color: #825f08;
}

html .rm-analysis-verdict.status-denied .rm-analysis-verdict-icon {
  background: #f7d5d3;
  color: #a92d27;
}

html .rm-analysis-verdict > div {
  min-width: 0;
}

html .rm-analysis-verdict small {
  display: block;
  margin-bottom: 1px;
  color: #6b7d8d;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

html .rm-analysis-verdict h5 {
  margin: 0 0 4px;
  color: #173646;
  font-size: 16px;
}

html .rm-analysis-verdict p {
  margin: 0;
  color: #536879;
  font-size: 10.5px;
  line-height: 1.5;
}

html .rm-analysis-result-tabs {
  display: flex;
  gap: 3px;
  padding: 3px;
  overflow-x: auto;
  border: 1px solid #dfe7eb;
  border-radius: 13px;
  background: #f4f7f8;
  scrollbar-width: none;
}

html .rm-analysis-result-tabs::-webkit-scrollbar {
  display: none;
}

html .rm-analysis-result-tabs button {
  flex: 1 0 auto;
  min-height: 34px;
  padding: 7px 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #607383;
  font-size: 9.5px;
  font-weight: 850;
  cursor: pointer;
}

html .rm-analysis-result-tabs button.active {
  background: #ffffff;
  color: #0b746b;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

html .rm-analysis-result-panel {
  display: grid;
  gap: 11px;
}

html .rm-analysis-result-panel[hidden] {
  display: none !important;
}

html .rm-analysis-summary-card,
html .rm-analysis-decision-note,
html .rm-analysis-disclaimer {
  padding: 13px 14px;
  border: 1px solid #dfe7eb;
  border-radius: 15px;
  background: #f8fafb;
}

html .rm-analysis-summary-card > span,
html .rm-analysis-decision-note strong,
html .rm-analysis-disclaimer strong {
  display: block;
  margin-bottom: 4px;
  color: #687b8b;
  font-size: 9.5px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

html .rm-analysis-summary-card > strong {
  display: block;
  color: #173646;
  font-size: 14px;
}

html .rm-analysis-summary-card p,
html .rm-analysis-disclaimer p {
  margin: 6px 0 0;
  color: #536879;
  font-size: 10.5px;
  line-height: 1.55;
}

html .rm-analysis-decision-note {
  display: grid;
  gap: 2px;
  border-left: 3px solid #147b72;
  background: #f4faf9;
}

html .rm-analysis-decision-note strong {
  margin: 0;
  color: #0c7169;
}

html .rm-analysis-decision-note span {
  color: #3f5d6d;
  font-size: 10.5px;
  line-height: 1.45;
}

html .rm-analysis-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

html .rm-analysis-metric-grid.is-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

html .rm-analysis-metric-grid article {
  display: grid;
  align-content: start;
  gap: 3px;
  min-width: 0;
  min-height: 82px;
  padding: 11px;
  border: 1px solid #dfe7eb;
  border-radius: 14px;
  background: #ffffff;
}

html .rm-analysis-metric-grid article > span {
  color: #718191;
  font-size: 9.5px;
  font-weight: 750;
}

html .rm-analysis-metric-grid article > strong {
  overflow-wrap: anywhere;
  color: #163547;
  font-size: 14px;
  line-height: 1.25;
}

html .rm-analysis-metric-grid article > small {
  color: #748696;
  font-size: 9px;
  line-height: 1.35;
}

html .rm-analysis-panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

html .rm-analysis-panel-heading > div {
  display: grid;
  gap: 2px;
}

html .rm-analysis-panel-heading strong {
  color: #183748;
  font-size: 12px;
}

html .rm-analysis-panel-heading span {
  color: #718191;
  font-size: 10px;
  line-height: 1.45;
}

html .rm-analysis-zone-list-modern {
  display: grid;
  gap: 7px;
}

html .rm-analysis-zone-card {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 10px;
  border: 1px solid #dfe7eb;
  border-radius: 13px;
  background: #ffffff;
}

html .rm-analysis-zone-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: #e8f4f2;
  color: #0b736b;
  font-size: 10px;
  font-weight: 900;
}

html .rm-analysis-zone-name,
html .rm-analysis-zone-share {
  display: grid;
  gap: 1px;
  min-width: 0;
}

html .rm-analysis-zone-name strong {
  overflow: hidden;
  color: #193849;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html .rm-analysis-zone-name span,
html .rm-analysis-zone-share span {
  color: #728394;
  font-size: 9px;
}

html .rm-analysis-zone-share {
  justify-items: end;
}

html .rm-analysis-zone-share strong {
  color: #0b736b;
  font-size: 11px;
}

html .rm-analysis-evaluation-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px 10px;
  padding: 11px;
  border: 1px solid #dfe7eb;
  border-radius: 13px;
  background: #ffffff;
}

html .rm-analysis-evaluation-row > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

html .rm-analysis-evaluation-row > div strong {
  color: #193849;
  font-size: 11px;
}

html .rm-analysis-evaluation-row > div span,
html .rm-analysis-rule-value {
  color: #718191;
  font-size: 9.5px;
}

html .rm-analysis-rule-value {
  grid-column: 1;
}

html .rm-analysis-evaluation-row .analysis-status-badge {
  grid-column: 2;
  grid-row: 1 / span 2;
  justify-self: end;
}

html .rm-analysis-two-column-data {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

html .rm-analysis-two-column-data > section {
  min-width: 0;
  padding: 11px;
  border: 1px solid #dfe7eb;
  border-radius: 14px;
  background: #f8fafb;
}

html .rm-analysis-two-column-data h5 {
  margin: 0 0 7px;
  color: #284758;
  font-size: 10.5px;
}

html .rm-analysis-data-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 5px 0;
  border-bottom: 1px solid #e7edef;
}

html .rm-analysis-data-row:last-child {
  border-bottom: 0;
}

html .rm-analysis-data-row span,
html .rm-analysis-data-row strong {
  font-size: 9.5px;
  line-height: 1.35;
}

html .rm-analysis-data-row span {
  color: #6a7d8d;
}

html .rm-analysis-data-row strong {
  color: #183748;
  text-align: right;
}

html .rm-analysis-source-card {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid #dfe7eb;
  border-radius: 15px;
  background: #ffffff;
}

html .rm-analysis-source-card > div {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid #e8edef;
}

html .rm-analysis-source-card > div:last-child {
  border-bottom: 0;
}

html .rm-analysis-source-card span {
  color: #718191;
  font-size: 9.5px;
  font-weight: 750;
}

html .rm-analysis-source-card strong {
  overflow-wrap: anywhere;
  color: #244454;
  font-size: 10px;
  line-height: 1.45;
}

html .analysis-btn:disabled,
html .analysis-btn.is-disabled {
  cursor: not-allowed;
  opacity: 0.48;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 520px) {
  html .analysis-side-panel {
    width: auto;
    max-height: calc(100dvh - 20px);
  }

  html .analysis-panel-header {
    padding: 15px 18px 12px;
  }

  html .analysis-panel-header h3 {
    font-size: 18px;
  }

  html .analysis-panel-header p {
    display: none;
  }

  html .rm-analysis-stepper {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding-inline: 12px;
  }

  html .rm-analysis-context-item {
    min-width: 155px;
  }

  html .analysis-panel-content {
    padding: 15px;
  }

  html .rm-analysis-type-grid,
  html .rm-analysis-location-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  html .rm-analysis-type-choice,
  html .rm-analysis-location-grid .analysis-choice {
    min-height: 82px;
  }

  html .rm-analysis-two-column-data {
    grid-template-columns: minmax(0, 1fr);
  }

  html .rm-analysis-source-card > div {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  html .analysis-panel-footer .analysis-btn.primary {
    min-width: 132px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html .analysis-side-panel,
  html .analysis-btn,
  html .analysis-choice {
    scroll-behavior: auto;
    transition-duration: 0.01ms !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rm58-report-panel {
    transition: none !important;
  }
}

/* bundled source: stage-5.27-ui.css */
/* Ruang Maslahat Stage 5.27 — workflow, overlay, and interaction polish. */

:root {
  --rm527-navy: #10293d;
  --rm527-teal: #0f766e;
  --rm527-teal-dark: #0b5e58;
  --rm527-red: #b42318;
  --rm527-red-dark: #8f1b13;
  --rm527-border: #dce7ec;
  --rm527-muted: #657986;
}

/* Do not flash the public yellow report action while an internal role is resolving. */
body.rm-page-map:not(.rm527-role-ready) #rmPublicReportButton {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.rm-page-map.rm527-role-ready #rmPublicReportButton {
  visibility: visible;
  opacity: 1;
  transition: opacity .16s ease, transform .16s ease, background-color .16s ease,
    border-color .16s ease, box-shadow .16s ease, filter .16s ease !important;
}

/* Map headers use a very high legacy z-index. Account/report workspaces must sit above them. */
.rm57-reports-panel,
.rm58-report-panel,
.rm513-admin-report-shell {
  z-index: 2147483300 !important;
}

.rm57-modal,
#followupDetailModal,
#followupMapModal,
#laporanSayaDetailModal,
#laporanSayaMapModal,
#photoCropModal,
#otpModal,
.rm520-user-modal,
.rm527-account-modal {
  z-index: 2147483500 !important;
}

.rm-confirm-backdrop,
.rm521-confirm-backdrop,
.rm-admin-logout-confirm {
  z-index: 2147483550 !important;
}

#rm520ToastRegion,
.toast-container,
.rm-toast-container {
  z-index: 2147483600 !important;
}

/* Professional colored modal headers. */
.rm57-modal-head,
.pegawai-followup-modal-head,
.laporan-saya-modal-head,
.laporan-saya-map-head,
.photo-crop-header,
.rm520-user-modal-head,
.rm527-account-modal-head {
  position: relative !important;
  isolation: isolate !important;
  border-bottom-color: rgba(255, 255, 255, .16) !important;
  background: linear-gradient(128deg, var(--rm527-navy) 0%, #16465a 52%, var(--rm527-teal) 100%) !important;
  color: #fff !important;
}

.rm527-modal-head-icon {
  display: grid !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  place-items: center !important;
  border: 1px solid rgba(255, 255, 255, .28) !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, .13) !important;
  color: #fff !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .16) !important;
}

.rm527-modal-head-icon svg {
  width: 21px !important;
  height: 21px !important;
}

.rm57-modal-head.rm527-decorated-head {
  padding-left: 76px !important;
}

.rm57-modal-head.rm527-decorated-head > .rm527-modal-head-icon {
  position: absolute !important;
  top: 17px !important;
  left: 19px !important;
}

.pegawai-followup-modal-head > div,
.laporan-saya-modal-head > div,
.laporan-saya-map-head > div,
.rm520-user-modal-head > div,
.rm527-account-modal-head > div {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.rm57-modal-head span:not(.rm527-modal-head-icon),
.pegawai-followup-modal-head span:not(.rm527-modal-head-icon),
.laporan-saya-modal-head span:not(.rm527-modal-head-icon),
.laporan-saya-map-head span:not(.rm527-modal-head-icon),
.rm520-user-modal-head span:not(.rm527-modal-head-icon),
.rm527-account-modal-head span:not(.rm527-modal-head-icon) {
  color: #bfe8df !important;
}

.rm57-modal-head h3,
.pegawai-followup-modal-head h3,
.laporan-saya-modal-head h3,
.laporan-saya-map-head h3,
.photo-crop-header h3,
.rm520-user-modal-head h3,
.rm527-account-modal-head h3 {
  color: #fff !important;
}

.rm57-modal-head p,
.pegawai-followup-modal-head p,
.laporan-saya-modal-head p,
.laporan-saya-map-head p,
.photo-crop-header p,
.rm527-account-modal-head p {
  color: rgba(235, 250, 247, .8) !important;
}

.rm57-modal-head .rm57-close,
.pegawai-followup-modal-close,
.laporan-saya-modal-close,
.photo-crop-close,
.rm520-user-modal-close,
.rm527-account-close {
  border: 1px solid rgba(255, 255, 255, .25) !important;
  background: rgba(255, 255, 255, .12) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.rm57-modal-head .rm57-close:hover,
.pegawai-followup-modal-close:hover,
.laporan-saya-modal-close:hover,
.photo-crop-close:hover,
.rm520-user-modal-close:hover,
.rm527-account-close:hover {
  border-color: rgba(255, 255, 255, .5) !important;
  background: rgba(255, 255, 255, .22) !important;
  color: #fff !important;
}

#rm57PasswordModal .ubah-sandi-info-icon {
  border: 1px solid #c9e5e1 !important;
  background: linear-gradient(145deg, #e7f5f2, #d6ece8) !important;
  color: #075f58 !important;
}

#rm57PasswordModal .password-input-wrap {
  position: relative !important;
}

#rm57PasswordModal .password-input-wrap input {
  padding-right: 50px !important;
}

#rm57PasswordModal .password-toggle {
  position: absolute !important;
  top: 50% !important;
  right: 7px !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #426172 !important;
  box-shadow: none !important;
}

#rm57PasswordModal .password-toggle:hover {
  transform: translateY(-50%) !important;
  border-color: #d8e7e6 !important;
  background: #eef7f5 !important;
  color: var(--rm527-teal) !important;
}

/* Workflow field and timeline. */
.pegawai-followup-update-box {
  border: 1px solid #dbe8e8 !important;
  background: linear-gradient(155deg, #f8fbfb, #f1f7f6) !important;
}

#followupUpdateStatus,
.pegawai-followup-select {
  min-height: 44px !important;
  padding: 0 42px 0 14px !important;
  border: 1px solid #cfdfe1 !important;
  border-radius: 999px !important;
  background-color: #fff !important;
  color: #17394a !important;
  font-weight: 700 !important;
  outline: none !important;
}

#followupUpdateStatus:focus,
.pegawai-followup-select:focus {
  border-color: #4b9d93 !important;
  box-shadow: 0 0 0 4px rgba(15, 118, 110, .1) !important;
}

#followupUpdateStatus:disabled {
  cursor: not-allowed !important;
  background-color: #edf2f3 !important;
  color: #71818a !important;
}

.rm527-workflow-help {
  display: block;
  margin: -3px 0 10px;
  color: var(--rm527-muted);
  font-size: 10.5px;
  line-height: 1.5;
}

.rm527-workflow-help.is-terminal {
  padding: 9px 11px;
  border: 1px solid #cae4df;
  border-radius: 11px;
  background: #eaf6f3;
  color: #0b675f;
  font-weight: 700;
}

.rm527-history {
  grid-column: 1 / -1;
  margin: 0 0 14px;
  padding: 15px;
  border: 1px solid #dce7e9;
  border-radius: 15px;
  background: #fff;
}

.rm527-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 13px;
}

.rm527-history-head strong {
  color: var(--rm527-navy);
  font-size: 13px;
}

.rm527-history-head span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #eaf5f3;
  color: var(--rm527-teal);
  font-size: 9.5px;
  font-weight: 800;
}

.rm527-timeline {
  position: relative;
  display: grid;
  gap: 12px;
}

.rm527-timeline::before {
  content: "";
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: 7px;
  width: 2px;
  border-radius: 999px;
  background: #d8e8e5;
}

.rm527-timeline-item {
  position: relative;
  display: grid;
  min-width: 0;
  padding-left: 28px;
  gap: 4px;
}

.rm527-timeline-dot {
  position: absolute;
  top: 4px;
  left: 1px;
  width: 14px;
  height: 14px;
  border: 3px solid #fff;
  border-radius: 999px;
  background: #d97706;
  box-shadow: 0 0 0 1px #cfdedd;
}

.rm527-timeline-item[data-status="DIPROSES"] .rm527-timeline-dot { background: #245a73; }
.rm527-timeline-item[data-status="SELESAI"] .rm527-timeline-dot { background: var(--rm527-teal); }
.rm527-timeline-item[data-status="DITOLAK"] .rm527-timeline-dot { background: #8b9ca5; }

.rm527-timeline-title {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 10px;
}

.rm527-timeline-title strong { color: #173747; font-size: 11.8px; }
.rm527-timeline-title time { color: #7c8d96; font-size: 9.5px; }
.rm527-timeline-item p { margin: 0; color: #4f6672; font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }
.rm527-timeline-item small { color: #7b8d97; font-size: 9.5px; }

/* Laporan Saya: separate all-report and unread follow-up views. */
.rm527-report-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 0 0 11px;
  padding: 4px;
  border: 1px solid #dce7e9;
  border-radius: 14px;
  background: #f1f6f6;
}

.rm527-report-tab {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 7px 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: #55707d;
  font-size: 10.5px;
  font-weight: 800;
  cursor: pointer;
}

.rm527-report-tab.is-active {
  border-color: #d6e4e4;
  background: #fff;
  color: var(--rm527-teal);
  box-shadow: 0 4px 12px rgba(17, 49, 63, .07);
}

.rm527-report-tab-badge {
  display: inline-grid;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  place-items: center;
  border-radius: 999px;
  background: #d92d20;
  color: #fff;
  font-size: 9px;
  line-height: 1;
}

#rmMapReportsItem {
  position: relative;
}

.rm527-map-report-badge {
  display: inline-grid;
  min-width: 20px;
  height: 20px;
  margin-left: auto;
  padding: 0 5px;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #d92d20;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 3px 8px rgba(180, 35, 24, .22);
}

.rm527-map-report-badge[hidden] {
  display: none !important;
}

.laporan-saya-item.rm527-unread-update {
  position: relative;
  border-color: rgba(217, 45, 32, .28) !important;
  box-shadow: 0 8px 24px rgba(180, 35, 24, .08) !important;
}

.laporan-saya-item.rm527-unread-update::after {
  content: "Baru ditindaklanjuti";
  display: inline-flex;
  margin-top: 9px;
  padding: 5px 8px;
  border-radius: 999px;
  background: #fff0ee;
  color: #b42318;
  font-size: 9px;
  font-weight: 850;
}

#rm57ReportsPanel[data-rm527-view="updates"] .laporan-saya-item:not(.rm527-unread-update) {
  display: none !important;
}

.rm527-update-empty {
  display: none;
  padding: 24px 14px;
  border: 1px dashed #cedddd;
  border-radius: 14px;
  background: #f8fbfb;
  color: #6b7f89;
  font-size: 11px;
  line-height: 1.55;
  text-align: center;
}

#rm57ReportsPanel[data-rm527-view="updates"][data-rm527-unread="0"] .rm527-update-empty {
  display: block;
}

/* Consistent cancel/reset semantics and tactile hover. */
.rm527-danger-soft {
  border: 1px solid #f0b8b2 !important;
  background: #fff1ef !important;
  color: var(--rm527-red) !important;
}

.rm527-danger-soft:hover,
.rm527-danger-soft:focus-visible {
  border-color: #d92d20 !important;
  background: var(--rm527-red) !important;
  color: #fff !important;
}

.rm527-neutral-cancel {
  border: 1px solid #cfdde2 !important;
  background: #fff !important;
  color: #385466 !important;
  box-shadow: 0 2px 7px rgba(15, 41, 61, .04) !important;
}

.rm527-neutral-cancel:hover,
.rm527-neutral-cancel:focus-visible {
  border-color: #92aab5 !important;
  background: #eef3f5 !important;
  color: #17394a !important;
}

.rm527-actionable,
.pegawai-followup-action,
.pegawai-followup-save-btn,
.laporan-saya-action-btn,
.laporan-saya-refresh-btn,
.rm-admin-small-btn,
.btn-primary,
.btn-secondary-outline,
.rm-confirm-btn,
.rm-admin-logout-actions button {
  transition: transform .16s ease, background-color .16s ease, color .16s ease,
    border-color .16s ease, box-shadow .16s ease, filter .16s ease, opacity .16s ease !important;
}

@media (hover: hover) {
  .rm527-actionable:not(:disabled):hover,
  .pegawai-followup-action:not(:disabled):hover,
  .pegawai-followup-save-btn:not(:disabled):hover,
  .laporan-saya-action-btn:not(:disabled):hover,
  .laporan-saya-refresh-btn:not(:disabled):hover,
  .rm-admin-small-btn:not(:disabled):hover,
  .btn-primary:not(:disabled):hover,
  .btn-secondary-outline:not(:disabled):hover,
  .rm-confirm-btn:not(:disabled):hover,
  .rm-admin-logout-actions button:not(:disabled):hover {
    transform: translateY(-1px);
    filter: saturate(1.08) brightness(.97);
    box-shadow: 0 8px 18px rgba(12, 42, 57, .13);
  }
}

.rm527-actionable:not(:disabled):active,
.pegawai-followup-action:not(:disabled):active,
.pegawai-followup-save-btn:not(:disabled):active,
.laporan-saya-action-btn:not(:disabled):active,
.btn-primary:not(:disabled):active {
  transform: translateY(0) scale(.985) !important;
}

/* Account modal that remains inside Dashboard Internal. */
.rm527-account-modal {
  position: fixed;
  inset: 0;
  display: none;
  padding: 20px;
  place-items: center;
  background: rgba(7, 29, 47, .5);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

.rm527-account-modal.is-open { display: grid; }

.rm527-account-card {
  display: flex;
  width: min(760px, calc(100vw - 32px));
  max-height: min(88dvh, 760px);
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 32px 90px rgba(5, 25, 39, .3);
}

.rm527-account-card.is-password { width: min(560px, calc(100vw - 32px)); }

.rm527-account-modal-head {
  display: flex;
  min-height: 82px;
  padding: 17px 18px;
  flex: 0 0 auto;
  align-items: center;
  gap: 13px;
}

.rm527-account-modal-head h3 { margin: 2px 0 0; font-size: 19px; }
.rm527-account-modal-head p { margin: 4px 0 0; font-size: 11px; line-height: 1.45; }
.rm527-account-close { display: grid; width: 36px; min-width: 36px; height: 36px; margin-left: auto; place-items: center; border-radius: 11px; cursor: pointer; }
.rm527-account-body { min-height: 0; padding: 18px; overflow: auto; }
.rm527-profile-layout { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 16px; }
.rm527-profile-aside { padding: 17px; border: 1px solid var(--rm527-border); border-radius: 17px; background: linear-gradient(150deg, #f6faf9, #edf6f4); text-align: center; }
.rm527-profile-avatar { position: relative; display: grid; width: 88px; height: 88px; margin: 0 auto 11px; place-items: center; overflow: hidden; border: 4px solid #fff; border-radius: 999px; background: linear-gradient(145deg, #173b50, var(--rm527-teal)); color: #fff; box-shadow: 0 8px 22px rgba(13, 49, 62, .18); font-size: 25px; font-weight: 800; }
.rm527-profile-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rm527-profile-aside strong { display: block; color: var(--rm527-navy); font-size: 13px; overflow-wrap: anywhere; }
.rm527-profile-aside small { display: block; margin-top: 4px; color: var(--rm527-muted); font-size: 10px; }
.rm527-photo-actions { display: grid; gap: 7px; margin-top: 14px; }
.rm527-photo-actions button, .rm527-photo-actions label { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; padding: 7px 9px; border: 1px solid #d4e2e3; border-radius: 10px; background: #fff; color: #315666; font-size: 9.8px; font-weight: 800; cursor: pointer; }
.rm527-account-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 12px; }
.rm527-field { display: grid; min-width: 0; gap: 6px; }
.rm527-field.full { grid-column: 1 / -1; }
.rm527-field label { color: #3e5968; font-size: 10.5px; font-weight: 800; }
.rm527-field input, .rm527-field textarea { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #d7e3e7; border-radius: 12px; background: #fff; color: #17384a; font: 600 12px/1.4 Arial, sans-serif; outline: none; }
.rm527-field textarea { min-height: 88px; resize: vertical; }
.rm527-field input:focus, .rm527-field textarea:focus { border-color: #4d9e94; box-shadow: 0 0 0 4px rgba(15, 118, 110, .1); }
.rm527-field input:disabled, .rm527-field textarea:disabled { background: #f2f5f6; color: #6c7f89; }
.rm527-password-wrap { position: relative; }
.rm527-password-wrap input { padding-right: 50px; }
.rm527-password-toggle { position: absolute; top: 50%; right: 7px; display: grid; width: 34px; height: 34px; padding: 0; transform: translateY(-50%); place-items: center; border: 0; border-radius: 9px; background: transparent; color: #496676; cursor: pointer; }
.rm527-password-toggle:hover { transform: translateY(-50%) !important; background: #eaf5f3; color: var(--rm527-teal); }
.rm527-account-status { display: none; margin: 13px 0 0; padding: 10px 12px; border-radius: 11px; background: #eaf5f3; color: #0b655d; font-size: 10.5px; line-height: 1.5; }
.rm527-account-status.is-error { display: block; background: #fff0ee; color: var(--rm527-red); }
.rm527-account-status.is-success, .rm527-account-status.is-info { display: block; }
.rm527-otp-row { display: none; grid-template-columns: 1fr auto; gap: 8px; margin-top: 10px; }
.rm527-otp-row.is-open { display: grid; }
.rm527-account-actions { display: flex; padding: 13px 18px 17px; flex: 0 0 auto; justify-content: flex-end; gap: 9px; border-top: 1px solid #e7edef; background: #fbfcfc; }
.rm527-account-actions button { min-height: 40px; padding: 0 15px; border-radius: 11px; font-size: 11px; font-weight: 800; cursor: pointer; }
.rm527-primary { border: 1px solid var(--rm527-teal); background: linear-gradient(135deg, var(--rm527-teal), #245a73); color: #fff; }

@media (max-width: 760px) {
  .rm57-reports-panel,
  .rm58-report-panel,
  .rm513-admin-report-shell {
    top: max(8px, env(safe-area-inset-top)) !important;
    right: 8px !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    left: 8px !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    border-radius: 19px !important;
  }

  .rm57-modal,
  #followupDetailModal,
  #followupMapModal,
  #laporanSayaDetailModal,
  #laporanSayaMapModal,
  .rm527-account-modal {
    padding: max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom)) !important;
  }

  .rm57-modal-card,
  #followupDetailModal > .pegawai-followup-modal,
  #laporanSayaDetailModal > .laporan-saya-modal,
  #followupMapModal > .laporan-saya-map-modal,
  #laporanSayaMapModal > .laporan-saya-map-modal,
  .rm527-account-card {
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100dvh - max(16px, env(safe-area-inset-top) + env(safe-area-inset-bottom))) !important;
    border-radius: 18px !important;
  }

  .rm57-modal-head,
  .pegawai-followup-modal-head,
  .laporan-saya-modal-head,
  .laporan-saya-map-head,
  .rm527-account-modal-head {
    min-height: 72px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  .rm57-modal-head.rm527-decorated-head { padding-left: 63px !important; }
  .rm57-modal-head.rm527-decorated-head > .rm527-modal-head-icon { top: 13px !important; left: 14px !important; width: 38px !important; min-width: 38px !important; height: 38px !important; }
  .rm527-modal-head-icon { width: 38px !important; min-width: 38px !important; height: 38px !important; flex-basis: 38px !important; }
  .rm527-profile-layout { grid-template-columns: minmax(0, 1fr); }
  .rm527-profile-aside { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; text-align: left; }
  .rm527-profile-avatar { width: 68px; height: 68px; margin: 0; font-size: 20px; }
  .rm527-photo-actions { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 2px; }
  .rm527-account-form { grid-template-columns: minmax(0, 1fr); }
  .rm527-field.full { grid-column: auto; }
  .rm527-account-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rm527-account-actions button { min-width: 0; }
}

@media (max-width: 460px) {
  .rm527-modal-head-icon { display: none !important; }
  .rm57-modal-head.rm527-decorated-head { padding-left: 15px !important; }
  .pegawai-followup-modal-head, .laporan-saya-modal-head, .laporan-saya-map-head { gap: 8px !important; }
  .rm527-history { padding: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .rm527-actionable,
  .pegawai-followup-action,
  .pegawai-followup-save-btn,
  .laporan-saya-action-btn,
  .rm57-reports-panel,
  .rm58-report-panel {
    transition: none !important;
  }
}

/* bundled source: stage-5.28-ui.css */
/* Ruang Maslahat Stage 5.28 — modal parity, regional filters and resilient UI */
:root {
  --rm528-teal-900: #123e4a;
  --rm528-teal-800: #0f5f5a;
  --rm528-teal-700: #0f766e;
  --rm528-teal-100: #dff3ef;
  --rm528-ink: #183344;
  --rm528-muted: #607683;
  --rm528-border: rgba(20, 47, 68, .14);
  --rm528-shadow: 0 26px 78px rgba(7, 29, 47, .24);
}

/* Brand title on the information map. */
html[data-page="peta-informasi"] .webgis-home-text strong {
  color: var(--rm528-teal-700) !important;
  letter-spacing: -.018em !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.8) !important;
}
html[data-page="peta-informasi"] .webgis-home-text small { color: #526b79 !important; }

/* All dialog backdrops must sit above map search, coordinates and application title. */
.rm528-top-modal,
#logoutConfirmModal,
#adminLogoutConfirm,
#rm521ConfirmModal,
#rm57ProfileModal,
#rm57PasswordModal,
#rm527AccountModal,
#rm520UserEditModal,
#rm517AdminStyleEditor,
#rm517LayerLegendModal,
#rmV26StyleModal,
#followupDetailModal,
#followupMapModal,
#laporanSayaDetailModal,
#laporanSayaMapModal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  isolation: isolate !important;
}

.rm528-top-modal:not([hidden]),
#logoutConfirmModal.open,
#adminLogoutConfirm.open,
#rm527AccountModal.is-open {
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

.rm528-modal-surface,
.rm528-account-surface {
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: var(--rm528-shadow) !important;
  overflow: hidden !important;
}

/* Profile and password use one visual component on map and dashboard. */
.rm57-modal-head,
.rm527-account-modal-head {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 46px minmax(0,1fr) 38px !important;
  align-items: center !important;
  gap: 2px 13px !important;
  min-height: 112px !important;
  padding: 19px 20px !important;
  border: 0 !important;
  background: linear-gradient(135deg, var(--rm528-teal-900), var(--rm528-teal-700)) !important;
  color: #fff !important;
  text-align: left !important;
}

.rm57-modal-head > .rm527-modal-head-icon,
.rm527-account-modal-head > .rm527-modal-head-icon {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.13) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16) !important;
}
.rm57-modal-head > .rm527-modal-head-icon svg,
.rm527-account-modal-head > .rm527-modal-head-icon svg { width: 22px !important; height: 22px !important; }

.rm57-modal-head > span:not(.rm527-modal-head-icon) { grid-column: 2 !important; grid-row: 1 !important; }
.rm57-modal-head > h3 { grid-column: 2 !important; grid-row: 2 !important; }
.rm57-modal-head > p { grid-column: 2 !important; grid-row: 3 !important; }
.rm57-modal-head > .rm57-close { grid-column: 3 !important; grid-row: 1 / span 3 !important; }
.rm527-account-modal-head > div { grid-column: 2 !important; grid-row: 1 / span 3 !important; min-width: 0 !important; }
.rm527-account-modal-head > .rm527-account-close { grid-column: 3 !important; grid-row: 1 / span 3 !important; }

.rm57-modal-head span,
.rm527-account-modal-head > div > span {
  margin: 0 !important;
  color: rgba(255,255,255,.78) !important;
  font-family: inherit !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}
.rm57-modal-head h3,
.rm527-account-modal-head h3 {
  margin: 2px 0 1px !important;
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1.18 !important;
  letter-spacing: -.018em !important;
  word-spacing: normal !important;
}
.rm57-modal-head p,
.rm527-account-modal-head p {
  margin: 0 !important;
  max-width: 680px !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 11.5px !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
}
.rm57-modal-head .rm57-close,
.rm527-account-modal-head .rm527-account-close {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.11) !important;
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1 !important;
}
.rm57-modal-head .rm57-close:hover,
.rm527-account-modal-head .rm527-account-close:hover {
  background: rgba(255,255,255,.22) !important;
  border-color: rgba(255,255,255,.42) !important;
}
.rm57-modal-body,
.rm527-account-body { background: linear-gradient(180deg,#fff,#f8fbfc) !important; }

/* Logout confirmation parity. */
#logoutConfirmModal,
#adminLogoutConfirm {
  box-sizing: border-box !important;
  place-items: center !important;
  padding: 18px !important;
  background: rgba(8, 25, 38, .45) !important;
}
.rm528-unified-logout-card {
  box-sizing: border-box !important;
  width: min(420px, calc(100vw - 32px)) !important;
  min-height: 0 !important;
  margin: auto !important;
  padding: 23px 24px 21px !important;
  border: 1px solid rgba(255,255,255,.8) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: var(--rm528-shadow) !important;
  color: var(--rm528-ink) !important;
  text-align: center !important;
}
.rm528-unified-logout-card .rm528-logout-visual {
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  width: 52px !important;
  height: 52px !important;
  margin: 0 auto 13px !important;
  border: 1px solid #fecaca !important;
  border-radius: 17px !important;
  background: linear-gradient(145deg,#fff7f7,#feecec) !important;
  color: #b4232d !important;
  box-shadow: 0 8px 18px rgba(185,28,28,.10) !important;
}
.rm528-unified-logout-card .rm528-logout-visual svg { width: 24px !important; height: 24px !important; }
.rm528-unified-logout-card .rm-confirm-content { margin: 0 !important; }
.rm528-unified-logout-card h3 {
  margin: 0 0 7px !important;
  color: #193445 !important;
  font-size: 19px !important;
  line-height: 1.25 !important;
  letter-spacing: -.016em !important;
}
.rm528-unified-logout-card p {
  margin: 0 auto !important;
  max-width: 350px !important;
  color: #627783 !important;
  font-size: 12px !important;
  line-height: 1.62 !important;
}
.rm528-unified-logout-card .rm-admin-logout-actions,
.rm528-unified-logout-card .rm-confirm-actions {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 10px !important;
  margin: 18px 0 0 !important;
}
.rm528-unified-logout-card .rm-admin-logout-actions button,
.rm528-unified-logout-card .rm-confirm-actions button {
  width: 100% !important;
  min-height: 43px !important;
  margin: 0 !important;
  border-radius: 12px !important;
}
.rm528-unified-logout-card .rm-admin-logout-cancel,
.rm528-unified-logout-card .rm-confirm-btn.ghost {
  border: 1px solid #cbd8df !important;
  background: #fff !important;
  color: #35505f !important;
}
.rm528-unified-logout-card .rm-admin-logout-cancel:hover,
.rm528-unified-logout-card .rm-confirm-btn.ghost:hover {
  border-color: #91a8b4 !important;
  background: #f3f7f8 !important;
}

/* Local layer legend editor. */
.rm517-layer-legend-modal,
.rm517-admin-style-modal {
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(12px,3vw,28px) !important;
  overflow: hidden !important;
  background: rgba(8,25,38,.43) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}
.rm517-layer-legend-modal[hidden],
.rm517-admin-style-modal[hidden] { display: none !important; }
.rm517-layer-legend-dialog,
.rm517-admin-style-dialog {
  display: flex !important;
  flex-direction: column !important;
  width: min(920px, calc(100vw - 28px)) !important;
  max-height: min(90dvh, 850px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.76) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: var(--rm528-shadow) !important;
}
.rm517-layer-legend-head,
.rm517-admin-style-head {
  position: relative !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
  min-height: 100px !important;
  padding: 18px 64px 17px 21px !important;
  border: 0 !important;
  background: linear-gradient(135deg,var(--rm528-teal-900),var(--rm528-teal-700)) !important;
  color: #fff !important;
  text-align: left !important;
}
.rm517-layer-legend-head > span {
  display: block !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}
.rm517-layer-legend-head h3,
.rm517-admin-style-head h3 { margin: 3px 0 3px !important; color:#fff !important; font-size:19px !important; line-height:1.2 !important; }
.rm517-layer-legend-head p,
.rm517-admin-style-head p { margin:0 !important; color:rgba(255,255,255,.82) !important; font-size:11.5px !important; line-height:1.5 !important; }
.rm517-layer-legend-close,
.rm517-admin-style-close {
  position: absolute !important;
  top: 18px !important;
  right: 19px !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.11) !important;
  color: #fff !important;
  line-height: 1 !important;
}
.rm517-layer-legend-close:hover,
.rm517-admin-style-close:hover { background:rgba(255,255,255,.22) !important; border-color:rgba(255,255,255,.42) !important; }
.rm517-layer-legend-body,
.rm517-admin-style-scroll {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: thin !important;
  scrollbar-color: #82b8ae transparent !important;
}
.rm517-layer-legend-body { padding: 18px 20px 20px !important; }
.rm517-layer-legend-body::-webkit-scrollbar,
.rm517-admin-style-scroll::-webkit-scrollbar,
.rm525-followup-scroll::-webkit-scrollbar,
.laporan-saya-map-body::-webkit-scrollbar { width: 10px !important; height: 10px !important; }
.rm517-layer-legend-body::-webkit-scrollbar-track,
.rm517-admin-style-scroll::-webkit-scrollbar-track,
.rm525-followup-scroll::-webkit-scrollbar-track,
.laporan-saya-map-body::-webkit-scrollbar-track { background: transparent !important; }
.rm517-layer-legend-body::-webkit-scrollbar-thumb,
.rm517-admin-style-scroll::-webkit-scrollbar-thumb,
.rm525-followup-scroll::-webkit-scrollbar-thumb,
.laporan-saya-map-body::-webkit-scrollbar-thumb {
  border: 3px solid transparent !important;
  border-radius: 999px !important;
  background: #82b8ae !important;
  background-clip: padding-box !important;
}

.rm521-local-style-toolbar {
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: end !important;
}
#rm517LocalRegenerate {
  width: auto !important;
  min-width: 112px !important;
  max-width: 150px !important;
  min-height: 40px !important;
  padding: 9px 14px !important;
  white-space: nowrap !important;
  justify-self: end !important;
}
.rm522-local-style-search {
  display: grid !important;
  gap: 5px !important;
  min-width: min(260px,100%) !important;
  font-family: inherit !important;
}
.rm528-local-search-label {
  color: #405967 !important;
  font-family: inherit !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.rm522-local-style-search input {
  min-height: 40px !important;
  border-radius: 11px !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}
.rm528-style-range-field > span {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 9px !important;
}
.rm528-style-range-field output {
  min-width: 47px !important;
  color: var(--rm528-teal-700) !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  text-align: right !important;
}
.rm528-style-range-field input[type="range"],
.rm517-admin-style-section input[type="range"] {
  width: 100% !important;
  height: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  accent-color: var(--rm528-teal-700) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}
.rm528-style-range-field input[type="range"]::-webkit-slider-runnable-track,
.rm517-admin-style-section input[type="range"]::-webkit-slider-runnable-track {
  height: 5px !important;
  border-radius: 999px !important;
  background: #d8e7e5 !important;
}
.rm528-style-range-field input[type="range"]::-webkit-slider-thumb,
.rm517-admin-style-section input[type="range"]::-webkit-slider-thumb {
  width: 17px !important;
  height: 17px !important;
  margin-top: -6px !important;
  border: 3px solid #fff !important;
  border-radius: 50% !important;
  background: var(--rm528-teal-700) !important;
  box-shadow: 0 2px 8px rgba(15,118,110,.28) !important;
  -webkit-appearance: none !important;
}
.rm528-style-range-field input[type="range"]::-moz-range-track,
.rm517-admin-style-section input[type="range"]::-moz-range-track {
  height: 5px !important;
  border-radius: 999px !important;
  background: #d8e7e5 !important;
}
.rm528-style-range-field input[type="range"]::-moz-range-thumb,
.rm517-admin-style-section input[type="range"]::-moz-range-thumb {
  width: 12px !important;
  height: 12px !important;
  border: 3px solid #fff !important;
  border-radius: 50% !important;
  background: var(--rm528-teal-700) !important;
  box-shadow: 0 2px 8px rgba(15,118,110,.28) !important;
}

html.rm-admin-embed.rm524-portal-active .rm524-portal-modal > .rm517-layer-legend-dialog,
html.rm-admin-embed.rm524-portal-active .rm524-portal-modal > .rm517-admin-style-dialog,
html.rm-admin-embed.rm524-portal-active .rm524-portal-modal > .rm-v41926-style-card {
  visibility: visible !important;
  width: min(920px,calc(100vw - 30px)) !important;
  max-height: min(90dvh,850px) !important;
  margin: 0 auto !important;
  border-radius: 22px !important;
  box-shadow: var(--rm528-shadow) !important;
}

/* Report entry panels have their own semantic color and icon. */
.rm58-report-panel { border-color: rgba(20,47,68,.14) !important; }
.rm58-report-panel .rm58-report-head {
  display: grid !important;
  grid-template-columns: 48px minmax(0,1fr) 36px !important;
  grid-template-rows: auto auto auto !important;
  align-items: center !important;
  gap: 2px 12px !important;
  min-height: 122px !important;
  padding: 18px 18px !important;
  border: 0 !important;
  color: #fff !important;
  text-align: left !important;
}
.rm528-report-violation .rm58-report-head { background: linear-gradient(135deg,#9a4b0c,#d97706) !important; }
.rm528-report-sawah .rm58-report-head { background: linear-gradient(135deg,#14532d,#15803d) !important; }
.rm528-report-head-icon {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  width: 46px !important;
  height: 46px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.14) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14) !important;
}
.rm528-report-head-icon svg { width:24px !important; height:24px !important; }
.rm58-report-head > .badge { grid-column:2 !important; grid-row:1 !important; color:rgba(255,255,255,.78) !important; }
.rm58-report-head > h3 { grid-column:2 !important; grid-row:2 !important; margin:1px 0 !important; color:#fff !important; line-height:1.22 !important; letter-spacing:-.015em !important; }
.rm58-report-head > p { grid-column:2 !important; grid-row:3 !important; margin:0 !important; color:rgba(255,255,255,.82) !important; line-height:1.45 !important; }
.rm58-report-head > .rm57-close {
  grid-column:3 !important;
  grid-row:1 / span 3 !important;
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  margin:0 !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:11px !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
}
.rm58-report-head > .rm57-close:hover { background:rgba(255,255,255,.24) !important; }
.rm528-report-violation .rm58-report-body { background: linear-gradient(180deg,#fffaf4,#fff) !important; }
.rm528-report-sawah .rm58-report-body { background: linear-gradient(180deg,#f5fbf6,#fff) !important; }

/* Follow-up modal header and scroll containment. */
.pegawai-followup-modal,
.laporan-saya-map-modal {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
.pegawai-followup-modal-head,
.laporan-saya-modal-head,
.laporan-saya-map-head {
  position: relative !important;
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  min-height: 96px !important;
  padding: 17px 19px !important;
  background: linear-gradient(135deg,var(--rm528-teal-900),var(--rm528-teal-700)) !important;
  color: #fff !important;
  text-align: left !important;
}
.pegawai-followup-modal-head > div,
.laporan-saya-modal-head > div,
.laporan-saya-map-head > div {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
.pegawai-followup-modal-head span,
.laporan-saya-modal-head span,
.laporan-saya-map-head span {
  display: block !important;
  margin: 0 0 3px !important;
  color: rgba(255,255,255,.76) !important;
  font-size: 9.8px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .08em !important;
  word-spacing: normal !important;
  text-transform: uppercase !important;
}
.pegawai-followup-modal-head h3,
.laporan-saya-modal-head h3,
.laporan-saya-map-head h3 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 19px !important;
  line-height: 1.24 !important;
  letter-spacing: -.014em !important;
  word-spacing: normal !important;
  text-align: left !important;
}
.rm527-modal-head-icon {
  flex: 0 0 auto !important;
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
}
.pegawai-followup-modal-close,
.laporan-saya-modal-close {
  flex: 0 0 auto !important;
  margin: 0 0 0 auto !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.11) !important;
  color: #fff !important;
}
.pegawai-followup-modal-close:hover,
.laporan-saya-modal-close:hover { background:rgba(255,255,255,.24) !important; }
.rm525-followup-scroll,
.laporan-saya-map-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: thin !important;
  scrollbar-color: #82b8ae transparent !important;
}
.pegawai-followup-update-box.is-terminal { padding-top: 13px !important; }
.pegawai-followup-update-box.is-terminal #followupUpdateStatus,
.pegawai-followup-update-box.is-terminal #followupUpdateCatatan,
.pegawai-followup-update-box.is-terminal label[for="followupUpdateStatus"],
.pegawai-followup-update-box.is-terminal label[for="followupUpdateCatatan"] { display:none !important; }
#followupUpdateButton[hidden] { display:none !important; }
#followupUpdateStatus {
  border-radius: 999px !important;
  padding-inline: 14px 38px !important;
}

/* Regional report filters. */
.pegawai-followup-filter-row {
  display: grid !important;
  grid-template-columns: minmax(260px,2fr) repeat(4,minmax(145px,.8fr)) !important;
  align-items: end !important;
  gap: 10px !important;
}
.rm528-followup-region-field {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
  color: #435d6b !important;
  font-size: 10.5px !important;
  font-weight: 750 !important;
}
.rm528-followup-region-field select { width:100% !important; min-height:42px !important; border-radius:12px !important; }
.rm528-followup-retry { margin-top: 11px !important; }

/* Admin regional filters and compact toolbar buttons. */
.rm-v514-user-filter-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit,minmax(145px,1fr)) !important;
  align-items: end !important;
  gap: 10px !important;
}
.rm-v514-user-filter-grid > label,
.rm-admin-log-toolbar > label { min-width: 0 !important; }
.rm-v514-user-filter-grid > button,
.rm-admin-log-toolbar > button {
  width: auto !important;
  min-width: max-content !important;
  max-width: 100% !important;
  min-height: 42px !important;
  padding-inline: 15px !important;
  justify-self: start !important;
  white-space: nowrap !important;
}
.rm528-user-region-field select,
.rm523-log-region-field select,
.rm528-rule-region-filters select {
  width: 100% !important;
  min-height: 42px !important;
  box-sizing: border-box !important;
  border: 1px solid #ccd9df !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #294756 !important;
  font-family: inherit !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}
.rm-admin-log-toolbar {
  display: grid !important;
  grid-template-columns: minmax(150px,.8fr) minmax(150px,.8fr) minmax(170px,.9fr) minmax(240px,1.6fr) auto !important;
  align-items: end !important;
  gap: 10px !important;
}
.rm528-rule-region-filters {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 10px !important;
  margin: 10px 0 12px !important;
  padding: 12px !important;
  border: 1px solid #d9e5e9 !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg,#f8fbfc,#f0f7f6) !important;
}
.rm528-rule-region-filters label { display:grid !important; gap:5px !important; color:#435d6b !important; font-size:10.5px !important; font-weight:750 !important; }

/* Dataset coverage is never clipped; style coverage is explicit. */
#adminSpatialTableWrap.rm528-dataset-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-width: thin !important;
}
#adminSpatialTableWrap.rm528-dataset-table-wrap .rm-admin-user-table {
  width: 100% !important;
  min-width: 820px !important;
  table-layout: auto !important;
}
#adminSpatialTableWrap.rm528-dataset-table-wrap th:nth-child(4),
#adminSpatialTableWrap.rm528-dataset-table-wrap td:nth-child(4) {
  display: table-cell !important;
  width: auto !important;
  min-width: 180px !important;
  max-width: 280px !important;
  visibility: visible !important;
  opacity: 1 !important;
  white-space: normal !important;
}
.rm528-style-scope {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 9px !important;
  border: 1px solid #cce4df !important;
  border-radius: 999px !important;
  background: #edf8f5 !important;
  color: #355b5a !important;
  font-size: 10.5px !important;
}
.rm528-style-scope b { color:var(--rm528-teal-700) !important; font-size:9.5px !important; text-transform:uppercase !important; letter-spacing:.04em !important; }
.rm528-style-year { color:#607683 !important; font-size:10.5px !important; }

/* Shared motion for buttons without a white inset edge. */
.rm528-interactive {
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease !important;
}
.rm528-interactive:not(:disabled):hover {
  transform: translateY(-1px) !important;
  filter: brightness(1.045) saturate(.98) !important;
}
.rm528-interactive:not(:disabled):not([class*="close"]):not(.rm-icon-action-btn):hover {
  box-shadow: 0 8px 18px rgba(7,29,47,.12) !important;
}
.rm528-interactive:not(:disabled):active { transform: translateY(0) scale(.985) !important; }
.rm528-danger-soft {
  border-color: #fecaca !important;
  background: #fff1f2 !important;
  color: #b4232d !important;
}
.rm528-danger-soft:hover { border-color:#fca5a5 !important; background:#ffe4e6 !important; }

@media (max-width: 1120px) {
  .pegawai-followup-filter-row { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .pegawai-followup-filter-row > :first-child { grid-column: 1 / -1 !important; }
  .rm-admin-log-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .rm-admin-log-toolbar > label:last-of-type { grid-column: 1 / -1 !important; }
}

@media (max-width: 720px) {
  .rm57-modal,
  .rm527-account-modal,
  .rm517-layer-legend-modal,
  .rm517-admin-style-modal,
  .pegawai-followup-modal-backdrop,
  .laporan-saya-map-backdrop { padding: 8px !important; }
  .rm57-modal-card,
  .rm527-account-card,
  .rm517-layer-legend-dialog,
  .rm517-admin-style-dialog,
  .pegawai-followup-modal,
  .laporan-saya-map-modal {
    width: calc(100vw - 16px) !important;
    max-width: none !important;
    max-height: calc(100dvh - 16px) !important;
    border-radius: 18px !important;
  }
  .rm57-modal-head,
  .rm527-account-modal-head {
    grid-template-columns: 39px minmax(0,1fr) 34px !important;
    min-height: 104px !important;
    gap: 2px 10px !important;
    padding: 15px 14px !important;
  }
  .rm57-modal-head > .rm527-modal-head-icon,
  .rm527-account-modal-head > .rm527-modal-head-icon { width:38px !important; height:38px !important; border-radius:12px !important; }
  .rm57-modal-head h3,
  .rm527-account-modal-head h3 { font-size:17px !important; }
  .rm57-modal-head p,
  .rm527-account-modal-head p { font-size:10.5px !important; }
  .rm517-layer-legend-head,
  .rm517-admin-style-head { min-height:92px !important; padding:15px 54px 14px 15px !important; }
  .rm517-layer-legend-body { padding:14px !important; }
  .rm521-local-style-toolbar { grid-template-columns:1fr !important; }
  #rm517LocalRegenerate { justify-self:start !important; }
  .rm522-local-style-list-head { align-items:stretch !important; }
  .rm522-local-style-search { min-width:0 !important; width:100% !important; }
  .rm58-report-panel.active {
    top: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    width: calc(100vw - 16px) !important;
    max-width: none !important;
    z-index: 2147483400 !important;
    border-radius: 19px !important;
  }
  .rm58-report-panel .rm58-report-head {
    grid-template-columns: 40px minmax(0,1fr) 34px !important;
    min-height: 112px !important;
    gap: 2px 10px !important;
    padding: 15px 13px !important;
  }
  .rm528-report-head-icon { width:39px !important; height:39px !important; border-radius:12px !important; }
  .rm58-report-head > h3 { font-size:15px !important; }
  .rm58-report-head > p { font-size:9.8px !important; }
  .pegawai-followup-modal-head,
  .laporan-saya-modal-head,
  .laporan-saya-map-head { min-height:88px !important; padding:14px !important; gap:9px !important; }
  .pegawai-followup-modal-head h3,
  .laporan-saya-modal-head h3,
  .laporan-saya-map-head h3 { font-size:16px !important; }
  .pegawai-followup-filter-row,
  .rm-admin-log-toolbar,
  .rm528-rule-region-filters { grid-template-columns:1fr !important; }
  .pegawai-followup-filter-row > :first-child,
  .rm-admin-log-toolbar > label:last-of-type { grid-column:auto !important; }
  .rm-v514-user-filter-grid { grid-template-columns:1fr !important; }
  .rm-v514-user-filter-grid > button,
  .rm-admin-log-toolbar > button { width:100% !important; justify-self:stretch !important; }
  #adminSpatialTableWrap.rm528-dataset-table-wrap .rm-admin-user-table { min-width:0 !important; }
  #adminSpatialTableWrap.rm528-dataset-table-wrap th:nth-child(4),
  #adminSpatialTableWrap.rm528-dataset-table-wrap td:nth-child(4) { min-width:0 !important; max-width:none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .rm528-interactive { transition:none !important; }
  .rm528-interactive:hover,
  .rm528-interactive:active { transform:none !important; }
}

/* bundled source: stage-5.29-ui.css */
/* Ruang Maslahat Stage 5.29 — Excel style import, visible loading and shared map data. */

.rm529-style-import {
  margin: 0 0 20px;
  overflow: hidden;
  border: 1px solid #b8d7d1;
  border-radius: 16px;
  background: linear-gradient(180deg, #f4fbf9 0%, #fff 42%);
  box-shadow: 0 10px 28px rgba(15, 118, 110, .08);
}

.rm529-style-import-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px 13px;
  border-bottom: 1px solid #dcebe8;
}

.rm529-style-import-head strong {
  display: block;
  color: #134e4a;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

.rm529-style-import-head p {
  max-width: 720px;
  margin: 4px 0 0;
  color: #526b67;
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.55;
}

.rm529-style-import-badge {
  flex: 0 0 auto;
  padding: 5px 10px;
  border: 1px solid #99cbc2;
  border-radius: 999px;
  background: #e5f6f2;
  color: #0f766e;
  font-family: inherit;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.rm529-style-import-scroller {
  max-height: 310px;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: #7fb7ad #edf6f4;
}

.rm529-style-import-scroller::-webkit-scrollbar { width: 9px; height: 9px; }
.rm529-style-import-scroller::-webkit-scrollbar-track { background: #edf6f4; border-radius: 999px; }
.rm529-style-import-scroller::-webkit-scrollbar-thumb {
  border: 2px solid #edf6f4;
  border-radius: 999px;
  background: #7fb7ad;
}

.rm529-style-import-table {
  width: max(100%, 1040px);
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  font-size: 12px;
}

.rm529-style-import-table th {
  position: sticky;
  z-index: 2;
  top: 0;
  min-width: 112px;
  padding: 10px 9px;
  border-right: 1px solid #d2e5e1;
  border-bottom: 1px solid #b8d7d1;
  background: #dff2ee;
  color: #155e58;
  text-align: left;
  white-space: nowrap;
  font: 700 10px/1.25 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.rm529-style-import-table th:first-child { min-width: 150px; }
.rm529-style-import-table th:nth-child(2) { min-width: 190px; }

.rm529-style-import-table td {
  min-width: 112px;
  height: 35px;
  padding: 7px 9px;
  border-right: 1px solid #e1ecea;
  border-bottom: 1px solid #e1ecea;
  background: rgba(255, 255, 255, .96);
  color: #233b37;
  outline: none;
  white-space: nowrap;
}

.rm529-style-import-table td:focus {
  position: relative;
  z-index: 1;
  box-shadow: inset 0 0 0 2px #0f766e;
  background: #f0fdfa;
}

.rm529-style-import-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 16px 14px;
  border-top: 1px solid #e0ecea;
}

.rm529-style-import-actions > small {
  max-width: 620px;
  color: #61736f;
  font-weight: 400;
}

.rm529-style-import-actions > div { display: flex; flex-wrap: wrap; gap: 8px; }

button.rm529-loading-control,
.rm-admin-small-btn.rm529-loading-control,
.webgis-adddata-button.rm529-loading-control {
  position: relative;
  isolation: isolate;
  min-width: 126px;
  min-height: 40px;
  padding-inline: 16px !important;
  overflow: hidden;
  gap: 8px;
  white-space: nowrap;
}

button.rm529-loading-control > *,
.rm529-loading-control > span {
  position: relative;
  z-index: 2;
}

.rm529-loading-control.rm529-has-progress::before {
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: var(--rm529-progress, 0%);
  border-radius: inherit 0 0 inherit;
  background: rgba(255, 255, 255, .2);
  content: "";
  transition: width .18s ease;
  pointer-events: none;
}

.rm529-loading-control .rm-btn-spinner,
.rm-admin-small-btn.primary.is-loading .rm-btn-spinner,
.webgis-adddata-button.is-loading .rm-btn-spinner,
.rm529-auto-spinner {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  border: 2px solid currentColor !important;
  border-right-color: transparent !important;
  border-radius: 50%;
  opacity: .95;
  animation: rm529-spin .72s linear infinite;
}

@keyframes rm529-spin { to { transform: rotate(360deg); } }

.rm529-dataset-note-label,
.rm529-dataset-note-label > :not(textarea),
#adminSpatialCatatan {
  font-weight: 400 !important;
}

.lindungi-sawah-map-data-status.is-loading,
.lapor-pelanggaran-map-data-status.is-loading,
#lsMapDataStatusBox.is-loading {
  border-color: #99cbc2 !important;
  background: #effaf7 !important;
  color: #155e58 !important;
}

@media (max-width: 720px) {
  .rm529-style-import { border-radius: 13px; }
  .rm529-style-import-head,
  .rm529-style-import-actions { align-items: stretch; flex-direction: column; }
  .rm529-style-import-badge { align-self: flex-start; }
  .rm529-style-import-actions > div { width: 100%; }
  .rm529-style-import-actions button { flex: 1 1 150px; }
  button.rm529-loading-control { min-width: 112px; padding-inline: 12px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .rm529-loading-control.rm529-has-progress::before { transition: none; }
  .rm529-loading-control .rm-btn-spinner { animation-duration: 1.35s; }
}

/* bundled source: stage-5.30-ui.css */
/* Ruang Maslahat Stage 5.30 — lightweight style index, compact Excel import and single loading. */

/* The local layer editor always owns the top visual layer. */
#rm517LayerLegendModal,
#rm517AdminStyleEditor {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  transform: none !important;
}
body.rm57-modal-open .webgis-overlay-header,
body.rm57-modal-open .webgis-search-card,
body.rm57-modal-open #webgisCoordinateBox,
body.rm57-modal-open .webgis-coordinate-box,
body.rm57-modal-open .webgis-map-control-rail {
  z-index: 1200 !important;
}

.rm521-local-style-toolbar {
  grid-template-columns: minmax(220px, 1fr) max-content !important;
  align-items: end !important;
}
#rm517LocalRegenerate {
  box-sizing: border-box !important;
  width: fit-content !important;
  min-width: 0 !important;
  max-width: 128px !important;
  min-height: 40px !important;
  padding: 9px 13px !important;
  flex: 0 0 auto !important;
  justify-self: end !important;
  white-space: nowrap !important;
}
.rm522-local-style-search,
.rm522-local-style-search span,
.rm528-local-search-label {
  font-family: inherit !important;
  font-style: normal !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.rm528-local-search-label,
.rm517-style-field > span {
  color: #405967 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

/* Excel paste stays compact until the admin deliberately opens it. */
.rm530-style-import-details {
  display: block;
  margin: 0 0 18px;
}
.rm530-style-import-details > summary {
  list-style: none;
}
.rm530-style-import-details > summary::-webkit-details-marker { display: none; }
.rm530-style-import-trigger.rm-admin-small-btn {
  box-sizing: border-box !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: min(100%, 290px) !important;
  min-height: 43px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  padding: 7px 11px !important;
  border: 1px solid #b8d7d1 !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg, #fff, #edf8f5) !important;
  color: #0f665f !important;
  cursor: pointer !important;
  box-shadow: 0 5px 14px rgba(15, 118, 110, .07) !important;
}
.rm530-style-import-trigger:hover {
  border-color: #7fb8ad !important;
  background: linear-gradient(145deg, #f8fffd, #e1f3ef) !important;
  transform: translateY(-1px) !important;
}
.rm530-style-import-trigger > svg { flex: 0 0 17px; }
.rm530-style-import-trigger > span { display: grid; min-width: 0; gap: 1px; text-align: left; }
.rm530-style-import-trigger strong { color: #134e4a; font-size: 11.5px; line-height: 1.2; }
.rm530-style-import-trigger small { color: #66807a; font-size: 9.5px; font-weight: 500; line-height: 1.25; }
.rm530-style-import-trigger > i { margin-left: auto; font-size: 17px; font-style: normal; transition: transform .16s ease; }
.rm530-style-import-details[open] .rm530-style-import-trigger > i { transform: rotate(180deg); }
.rm530-style-import-panel.rm529-style-import { margin: 10px 0 0 !important; }

/* Region columns remain readable; small screens scroll instead of hiding them. */
#adminSpatialTableWrap.rm528-dataset-table-wrap {
  position: relative !important;
  overflow-x: auto !important;
  overscroll-behavior-inline: contain !important;
  scrollbar-width: thin !important;
  scrollbar-color: #80b7ad #edf6f4 !important;
}
#adminSpatialTableWrap.rm528-dataset-table-wrap .rm-admin-user-table {
  width: max(100%, 860px) !important;
  min-width: 860px !important;
  table-layout: auto !important;
}
#adminSpatialTableWrap.rm528-dataset-table-wrap th:nth-child(4),
#adminSpatialTableWrap.rm528-dataset-table-wrap td:nth-child(4) {
  display: table-cell !important;
  min-width: 190px !important;
  max-width: 300px !important;
  visibility: visible !important;
  opacity: 1 !important;
  white-space: normal !important;
}
.rm528-style-scope {
  max-width: 100% !important;
  flex-wrap: wrap !important;
  border-radius: 12px !important;
}

/* One loading indicator: inside Add Data while open, below the account when closed. */
.rm530-global-dataset-progress {
  position: fixed;
  z-index: 2147483000;
  top: var(--rm530-progress-top, 76px);
  right: var(--rm530-progress-right, 18px);
  box-sizing: border-box;
  width: min(310px, calc(100vw - 20px));
  min-height: 54px;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  overflow: hidden;
  padding: 9px 11px;
  border: 1px solid rgba(255,255,255,.75);
  border-radius: 14px;
  background: rgba(16, 66, 72, .96);
  color: #fff;
  box-shadow: 0 15px 35px rgba(7,29,47,.24);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  cursor: pointer;
}
.rm530-global-dataset-progress[hidden] { display: none !important; }
.rm530-global-dataset-progress > i {
  position: absolute;
  z-index: 0;
  inset: auto auto 0 0;
  width: 14%;
  height: 3px;
  border-radius: 0 999px 999px 0;
  background: #65d7c3;
  transition: width .18s ease;
}
.rm530-global-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255,255,255,.38);
  border-right-color: #fff;
  border-radius: 50%;
  animation: rm530-spin .72s linear infinite;
}
.rm530-global-copy { display: grid; min-width: 0; gap: 1px; text-align: left; }
.rm530-global-copy strong { color: #fff; font-size: 11px; line-height: 1.2; }
.rm530-global-copy small { overflow: hidden; color: rgba(255,255,255,.78); font-size: 9.8px; font-weight: 500; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.rm530-global-percent { min-width: 30px; color: #d5fff7; font-size: 10px; font-weight: 800; text-align: right; }
@keyframes rm530-spin { to { transform: rotate(360deg); } }

@media (max-width: 720px) {
  .rm521-local-style-toolbar { grid-template-columns: 1fr !important; }
  #rm517LocalRegenerate { justify-self: start !important; }
  .rm530-style-import-trigger.rm-admin-small-btn { max-width: 100% !important; }
  .rm530-global-dataset-progress { width: min(280px, calc(100vw - 16px)); }
  #adminSpatialTableWrap.rm528-dataset-table-wrap .rm-admin-user-table {
    width: 860px !important;
    min-width: 860px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rm530-global-spinner { animation-duration: 1.4s; }
  .rm530-global-dataset-progress > i,
  .rm530-style-import-trigger,
  .rm530-style-import-trigger > i { transition: none !important; }
}

/* bundled source: stage-5.31-ui.css */
/* Ruang Maslahat Stage 5.31 — one Add Data spinner and a readable coverage column. */

/* The old inline CSS draws a second spinner through ::before. The real spinner
   is the DOM element; measured progress now uses ::after instead. */
.webgis-adddata-card-btn.is-loading::before,
.webgis-adddata-action-btn.is-loading::before,
.webgis-adddata-refresh-btn.is-loading::before,
.webgis-adddata-button.is-loading::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  animation: none !important;
}

.webgis-adddata-card-btn.rm529-loading-control,
.webgis-adddata-action-btn.rm529-loading-control,
.webgis-adddata-refresh-btn.rm529-loading-control,
.webgis-adddata-button.rm529-loading-control {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}

.webgis-adddata-card-btn.rm529-has-progress::after,
.webgis-adddata-action-btn.rm529-has-progress::after,
.webgis-adddata-refresh-btn.rm529-has-progress::after,
.webgis-adddata-button.rm529-has-progress::after {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 auto 0 0 !important;
  width: var(--rm529-progress, 0%) !important;
  height: auto !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: rgba(255,255,255,.2) !important;
  content: "" !important;
  animation: none !important;
  transition: width .18s ease !important;
  pointer-events: none !important;
}

.webgis-adddata-card-btn.is-loading > *,
.webgis-adddata-action-btn.is-loading > *,
.webgis-adddata-refresh-btn.is-loading > *,
.webgis-adddata-button.is-loading > * {
  position: relative !important;
  z-index: 2 !important;
}

.webgis-adddata-card-btn > .rm-btn-spinner,
.webgis-adddata-action-btn > .rm-btn-spinner,
.webgis-adddata-refresh-btn > .rm-btn-spinner,
.webgis-adddata-button > .rm-btn-spinner {
  display: inline-block !important;
  flex: 0 0 15px !important;
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
}

/* Seven real columns: Dataset, Category, Detail, Coverage, Geometry, Status, Action. */
#adminSpatialTableWrap.rm531-dataset-table-wrap {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
  scrollbar-width: thin !important;
  scrollbar-color: #6fa99f #edf6f4 !important;
}

#adminSpatialTableWrap.rm531-dataset-table-wrap .rm-admin-user-table {
  width: max(100%, 1100px) !important;
  min-width: 1100px !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

#adminSpatialTableWrap.rm531-dataset-table-wrap th,
#adminSpatialTableWrap.rm531-dataset-table-wrap td {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

#adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(1),
#adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(1) { width: 250px !important; }
#adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(2),
#adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(2) { width: 125px !important; }
#adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(3),
#adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(3) { width: 150px !important; }
#adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(4),
#adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(4) {
  display: table-cell !important;
  width: 235px !important;
  min-width: 235px !important;
  visibility: visible !important;
  opacity: 1 !important;
}
#adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(5),
#adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(5) { width: 110px !important; }
#adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(6),
#adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(6) { width: 100px !important; }
#adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(7),
#adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(7) { width: 90px !important; text-align: center !important; }

#adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(4) {
  background: #eaf7f4 !important;
  color: #155e58 !important;
}

#adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(4) .rm-admin-muted {
  display: block !important;
  max-width: 100% !important;
  color: #385a60 !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

#adminSpatialTableWrap.rm531-dataset-table-wrap thead th {
  position: sticky !important;
  z-index: 3 !important;
  top: 0 !important;
}

@media (max-width: 760px) {
  #adminSpatialTableWrap.rm531-dataset-table-wrap {
    max-height: min(620px, 72dvh) !important;
    overflow-x: hidden !important;
    padding: 8px !important;
    border-radius: 17px !important;
    background: #f3f8f7 !important;
  }
  #adminSpatialTableWrap.rm531-dataset-table-wrap .rm-admin-user-table,
  #adminSpatialTableWrap.rm531-dataset-table-wrap tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  #adminSpatialTableWrap.rm531-dataset-table-wrap thead { display: none !important; }
  #adminSpatialTableWrap.rm531-dataset-table-wrap tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    margin: 0 0 10px !important;
    padding: 11px 12px !important;
    border: 1px solid #dce9e7 !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 5px 15px rgba(15,70,69,.06) !important;
  }
  #adminSpatialTableWrap.rm531-dataset-table-wrap tbody td,
  #adminSpatialTableWrap.rm531-dataset-table-wrap tbody td:nth-child(4) {
    display: grid !important;
    grid-template-columns: 108px minmax(0,1fr) !important;
    align-items: start !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 8px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #edf2f1 !important;
    text-align: left !important;
  }
  #adminSpatialTableWrap.rm531-dataset-table-wrap tbody td:last-child { border-bottom: 0 !important; }
  #adminSpatialTableWrap.rm531-dataset-table-wrap tbody td::before {
    color: #60756f !important;
    content: attr(data-label) !important;
    font-size: 9.5px !important;
    font-weight: 850 !important;
    letter-spacing: .035em !important;
    line-height: 1.4 !important;
    text-transform: uppercase !important;
  }
  #adminSpatialTableWrap.rm531-dataset-table-wrap tbody td:nth-child(4) {
    margin: 3px 0 !important;
    padding: 10px !important;
    border: 1px solid #d3e9e4 !important;
    border-radius: 11px !important;
    background: #edf8f5 !important;
  }
  #adminSpatialTableWrap.rm531-dataset-table-wrap tbody td:last-child .rm-admin-small-btn {
    justify-self: start !important;
    width: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .webgis-adddata-card-btn.rm529-has-progress::after,
  .webgis-adddata-action-btn.rm529-has-progress::after,
  .webgis-adddata-refresh-btn.rm529-has-progress::after,
  .webgis-adddata-button.rm529-has-progress::after { transition: none !important; }
}

/* bundled source: stage-5.32-ui.css */
/*
 * Ruang Maslahat Stage 5.32.0
 * Canonical UI rules for modal headers, account actions, dataset scope fields,
 * style preview feedback, selects, and the single dataset loading surface.
 */

:root {
  --rm532-teal: #0f766e;
  --rm532-teal-dark: #155e75;
  --rm532-navy: #17384a;
  --rm532-muted: #667d89;
  --rm532-border: #d8e4e8;
  --rm532-focus: rgba(15, 118, 110, .14);
}

/* V16 rendered two progress hosts. Stage 5.30 is the only global progress UI. */
#rmV16DatasetLoadStack,
#rmV16PanelDatasetLoads {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* A button with a real spinner must not also draw an old pseudo spinner. */
button.is-loading[data-rm532-native-spinner="true"]::before,
button[aria-busy="true"][data-rm532-native-spinner="true"]::before {
  content: none !important;
  display: none !important;
  animation: none !important;
}

/* Canonical account header on the map and on the internal dashboard. */
html .rm57-modal-head.rm527-decorated-head,
html .rm57-modal-head,
html .rm527-account-modal-head {
  box-sizing: border-box !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) 38px !important;
  grid-template-rows: auto auto auto !important;
  align-items: center !important;
  gap: 2px 13px !important;
  min-height: 112px !important;
  padding: 19px 20px !important;
  padding-left: 20px !important;
  border: 0 !important;
  background: linear-gradient(135deg, #123e50, var(--rm532-teal)) !important;
  color: #fff !important;
  text-align: left !important;
}

html .rm57-modal-head > .rm527-modal-head-icon,
html .rm527-account-modal-head > .rm527-modal-head-icon,
html .rm58-report-head > .rm528-report-head-icon {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  margin: 0 !important;
}

html .rm57-modal-head > .rm527-modal-head-icon,
html .rm527-account-modal-head > .rm527-modal-head-icon {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  display: grid !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  place-items: center !important;
  border: 1px solid rgba(255, 255, 255, .23) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .13) !important;
  color: #fff !important;
}

html .rm57-modal-head > span:not(.rm527-modal-head-icon) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
}

html .rm57-modal-head > h3 {
  grid-column: 2 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
}

html .rm57-modal-head > p {
  grid-column: 2 !important;
  grid-row: 3 !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

html .rm527-account-modal-head > div {
  grid-column: 2 !important;
  grid-row: 1 / span 3 !important;
  min-width: 0 !important;
}

html .rm57-modal-head > .rm57-close,
html .rm527-account-modal-head > .rm527-account-close,
html .rm58-report-head > .rm57-close {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  justify-self: end !important;
  align-self: center !important;
  margin: 0 !important;
}

html .rm57-modal-head > .rm57-close,
html .rm527-account-modal-head > .rm527-account-close {
  grid-column: 3 !important;
  grid-row: 1 / span 3 !important;
}

#rm57ProfileModal .rm57-modal-card,
#rm527AccountModal .rm527-account-card:not(.is-password) {
  width: min(760px, calc(100vw - 36px)) !important;
}

#rm57PasswordModal .rm57-modal-card,
#rm527AccountModal .rm527-account-card.is-password {
  width: min(600px, calc(100vw - 36px)) !important;
}

/* Matching footer buttons for map and dashboard account dialogs. */
#profileActionButtons,
#rm57PasswordModal .ubah-sandi-actions,
.rm527-account-actions {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 9px !important;
}

#profileActionButtons button,
#rm57PasswordModal .ubah-sandi-actions button,
.rm527-account-actions button {
  box-sizing: border-box !important;
  min-width: 112px !important;
  min-height: 42px !important;
  padding: 9px 15px !important;
  border-radius: 12px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

#profileActionButtons .btn-primary,
#rm57PasswordModal .ubah-sandi-submit-btn,
.rm527-account-actions .rm527-primary {
  border: 1px solid var(--rm532-teal) !important;
  background: linear-gradient(135deg, var(--rm532-teal), var(--rm532-teal-dark)) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(15, 118, 110, .16) !important;
}

#profileActionButtons .btn-secondary-outline,
#rm57PasswordModal .btn-secondary-outline,
.rm527-account-actions .rm527-danger-soft,
.rm527-account-actions .rm527-neutral-cancel {
  border: 1px solid #cfdee3 !important;
  background: #fff !important;
  color: #385766 !important;
  box-shadow: none !important;
}

#profileActionButtons .btn-secondary-outline:hover,
#rm57PasswordModal .btn-secondary-outline:hover,
.rm527-account-actions .rm527-danger-soft:hover,
.rm527-account-actions .rm527-neutral-cancel:hover {
  border-color: #8eb7b3 !important;
  background: #edf7f5 !important;
  color: #0c655e !important;
}

/* Report panel header uses the same three-column contract. */
html .rm58-report-panel .rm58-report-head {
  box-sizing: border-box !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) 36px !important;
  grid-template-rows: auto auto auto !important;
  align-items: center !important;
  gap: 2px 12px !important;
  min-height: 122px !important;
  padding: 18px !important;
  padding-left: 18px !important;
}

html .rm58-report-head > .rm528-report-head-icon {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
}

html .rm58-report-head > .badge,
html .rm58-report-head > h3,
html .rm58-report-head > p {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

html .rm58-report-head > .rm57-close {
  grid-column: 3 !important;
  grid-row: 1 / span 3 !important;
}

/* Dataset scope occupies a full row before it creates its own three columns. */
html.rm-admin-console #adminModuleContainer .rm532-spatial-scope-full,
html.rm-admin-console #adminModuleContainer .rm-v514-scope-span {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly.rm-v514-area-box,
html.rm-admin-console #adminSpatialAreaReadonly.rm-v514-area-box .rm-v514-scope-picker {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly.rm-v514-area-box .rm-v514-scope-picker {
  grid-template-columns: minmax(150px, .8fr) minmax(180px, 1fr) minmax(220px, 1.2fr) !important;
}

/* Native selects now follow the rounded Add Data field language. */
html.rm-admin-console #adminModuleContainer select,
.rm58-report-panel select,
.rm57-modal select,
.rm527-account-card select,
select.rm532-rounded-select {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 42px !important;
  padding: 9px 38px 9px 12px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid var(--rm532-border) !important;
  border-radius: 13px !important;
  background-color: #fff !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #56717e 50%),
    linear-gradient(135deg, #56717e 50%, transparent 50%) !important;
  background-position:
    calc(100% - 17px) calc(50% - 2px),
    calc(100% - 12px) calc(50% - 2px) !important;
  background-size: 5px 5px, 5px 5px !important;
  background-repeat: no-repeat !important;
  color: var(--rm532-navy) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  outline: none !important;
}

html.rm-admin-console #adminModuleContainer select:focus,
.rm58-report-panel select:focus,
.rm57-modal select:focus,
.rm527-account-card select:focus,
select.rm532-rounded-select:focus {
  border-color: #56a49c !important;
  box-shadow: 0 0 0 4px var(--rm532-focus) !important;
}

html.rm-admin-console #adminModuleContainer select:disabled,
select.rm532-rounded-select:disabled {
  background-color: #f2f6f7 !important;
  color: #84959d !important;
  cursor: not-allowed !important;
}

/* Style import controls use the same admin button component. */
.rm529-style-import-actions > div {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

#rm529ClearStyleImport,
#rm529ApplyStyleImport {
  min-height: 40px !important;
  padding: 9px 14px !important;
  border-radius: 11px !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
}

#rm529ClearStyleImport {
  border: 1px solid #cfdee3 !important;
  background: #fff !important;
  color: #385766 !important;
}

#rm529ApplyStyleImport {
  border: 1px solid var(--rm532-teal) !important;
  background: linear-gradient(135deg, var(--rm532-teal), var(--rm532-teal-dark)) !important;
  color: #fff !important;
  box-shadow: 0 7px 17px rgba(15, 118, 110, .14) !important;
}

#adminStylePreviewButton.rm532-style-preview-button {
  min-height: 40px !important;
  padding: 9px 14px !important;
  border: 1px solid #9ec9c4 !important;
  border-radius: 11px !important;
  background: #edf8f6 !important;
  color: #0b655d !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
}

html.rm-admin-console .rm-admin-style-preview .rm-icon-action-btn {
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  border: 1px solid #d3e1e5 !important;
  border-radius: 11px !important;
  background: #fff !important;
  color: #315666 !important;
  box-shadow: none !important;
}

html.rm-admin-console .rm-admin-style-preview .rm-icon-action-btn:hover {
  border-color: #8eb7b3 !important;
  background: #edf7f5 !important;
  color: #0c655e !important;
}

html.rm-admin-console .rm-admin-style-preview .rm-icon-action-btn.danger {
  border-color: #efc6bf !important;
  background: #fff5f3 !important;
  color: #b33c2e !important;
}

html.rm-admin-console .rm-admin-style-preview .rm-icon-action-btn.danger:hover {
  border-color: #d85c4b !important;
  background: #c74433 !important;
  color: #fff !important;
}

.rm532-style-preview-feedback {
  display: flex;
  min-height: 42px;
  margin: 0 0 12px;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #bfe1dc;
  border-radius: 12px;
  background: #edf8f6;
  color: #0b655d;
  font-size: 10.5px;
  font-weight: 750;
  line-height: 1.45;
}

.rm532-style-preview-feedback[hidden] { display: none !important; }
.rm532-style-preview-feedback.is-error { border-color: #f2c2ba; background: #fff2ef; color: #a33a2d; }
.rm532-style-preview-feedback.is-neutral { border-color: #d7e3e7; background: #f7fafb; color: #526c78; }

#rm517StyleRows.rm532-preview-updated,
#adminStyleTableWrap.rm532-preview-updated {
  animation: rm532PreviewPulse 1.25s ease both;
}

@keyframes rm532PreviewPulse {
  0% { box-shadow: 0 0 0 0 rgba(15, 118, 110, .32); }
  45% { box-shadow: 0 0 0 5px rgba(15, 118, 110, .15); }
  100% { box-shadow: 0 0 0 0 rgba(15, 118, 110, 0); }
}

@media (max-width: 760px) {
  html .rm57-modal-head.rm527-decorated-head,
  html .rm57-modal-head,
  html .rm527-account-modal-head {
    grid-template-columns: 39px minmax(0, 1fr) 34px !important;
    min-height: 104px !important;
    gap: 2px 10px !important;
    padding: 15px 14px !important;
    padding-left: 14px !important;
  }

  html .rm57-modal-head > .rm527-modal-head-icon,
  html .rm527-account-modal-head > .rm527-modal-head-icon {
    display: grid !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
  }

  html .rm58-report-panel .rm58-report-head {
    grid-template-columns: 40px minmax(0, 1fr) 34px !important;
    min-height: 112px !important;
    gap: 2px 10px !important;
    padding: 15px 13px !important;
    padding-left: 13px !important;
  }

  #profileActionButtons,
  #rm57PasswordModal .ubah-sandi-actions,
  .rm527-account-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #profileActionButtons button,
  #rm57PasswordModal .ubah-sandi-actions button,
  .rm527-account-actions button {
    width: 100% !important;
    min-width: 0 !important;
  }

  html.rm-admin-console #adminSpatialAreaReadonly.rm-v514-area-box .rm-v514-scope-picker {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field[data-kab-field] {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 520px) {
  html.rm-admin-console #adminSpatialAreaReadonly.rm-v514-area-box .rm-v514-scope-picker {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field[data-kab-field] {
    grid-column: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #rm517StyleRows.rm532-preview-updated,
  #adminStyleTableWrap.rm532-preview-updated { animation: none !important; }
}

/* bundled source: stage-5.33-ui.css */
/*
 * Ruang Maslahat Stage 5.33.0
 * Final layout contract for persistent loaders, compact account dialogs,
 * report headers, adaptive scope fields, style filters, and canonical branding.
 */

:root {
  --rm533-navy: #17384a;
  --rm533-blue: #245a73;
  --rm533-teal: #0f766e;
  --rm533-teal-dark: #155e75;
  --rm533-sawah: #c26a2d;
  --rm533-sawah-light: #d18d2f;
  --rm533-border: #d7e4e8;
  --rm533-muted: #607783;
}

/* One spinner and one text track. Old margins plus flex gap caused overlap. */
button.rm529-loading-control,
.rm-admin-small-btn.rm529-loading-control,
.webgis-adddata-card-btn.rm529-loading-control,
.webgis-adddata-action-btn.rm529-loading-control,
.webgis-adddata-refresh-btn.rm529-loading-control {
  box-sizing: border-box !important;
  display: inline-flex !important;
  min-width: 0 !important;
  max-width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  padding-inline: 13px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

button.rm529-loading-control > .rm-btn-spinner,
.rm-admin-small-btn.rm529-loading-control > .rm-btn-spinner {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: 15px !important;
  min-width: 15px !important;
  height: 15px !important;
  flex: 0 0 15px !important;
  margin: 0 !important;
}

.rm529-loading-control > .rm529-loading-label,
.rm-admin-small-btn.rm529-loading-control > span:last-child {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 0 1 auto !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

.webgis-adddata-card-actions > .webgis-adddata-card-btn.rm529-loading-control {
  width: min(100%, 176px) !important;
}

html.rm-admin-console .rm-admin-search-grid > .rm-admin-small-btn.rm529-loading-control {
  width: 100% !important;
}

/* Compact, collision-free account header shared by map and internal dashboard. */
html .rm57-modal-head.rm527-decorated-head,
html .rm57-modal-head,
html .rm527-account-modal-head {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 36px !important;
  grid-template-rows: auto auto auto !important;
  min-height: 88px !important;
  align-items: center !important;
  gap: 1px 12px !important;
  padding: 14px 16px !important;
  padding-left: 16px !important;
  overflow: hidden !important;
}

html .rm57-modal-head > .rm527-modal-head-icon,
html .rm527-account-modal-head > .rm527-modal-head-icon {
  position: static !important;
  inset: auto !important;
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  display: grid !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  border-radius: 13px !important;
  color: #fff !important;
  font-size: 0 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transform: none !important;
}

html .rm57-modal-head > .rm527-modal-head-icon svg,
html .rm527-account-modal-head > .rm527-modal-head-icon svg {
  width: 20px !important;
  height: 20px !important;
}

html .rm57-modal-head > span:not(.rm527-modal-head-icon),
html .rm527-account-modal-head > div > span {
  margin: 0 !important;
  font-size: 9.5px !important;
  line-height: 1.15 !important;
  letter-spacing: .09em !important;
}

html .rm57-modal-head > h3,
html .rm527-account-modal-head h3 {
  margin: 2px 0 1px !important;
  font-size: 18px !important;
  line-height: 1.16 !important;
}

html .rm57-modal-head > p,
html .rm527-account-modal-head p {
  margin: 0 !important;
  font-size: 10.8px !important;
  line-height: 1.4 !important;
}

html .rm57-modal-head > .rm57-close,
html .rm527-account-modal-head > .rm527-account-close {
  position: static !important;
  inset: auto !important;
  grid-column: 3 !important;
  grid-row: 1 / span 3 !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-self: end !important;
  transform: none !important;
}

#rm527AccountContent {
  display: flex !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}

#rm57ProfileModal .rm57-modal-card,
#rm527AccountModal:not(.rm532-account-password) .rm527-account-card {
  max-height: min(94dvh, 700px) !important;
}

#rm57ProfileModal .rm57-modal-body,
#rm527AccountModal:not(.rm532-account-password) .rm527-account-body {
  padding: 14px 16px 16px !important;
}

#rm57ProfileModal .profile-layout,
#rm527AccountModal .rm527-profile-layout {
  grid-template-columns: 170px minmax(0, 1fr) !important;
  gap: 12px !important;
}

#rm57ProfileModal .profile-sidebar-card,
#rm527AccountModal .rm527-profile-aside {
  padding: 13px 12px !important;
  border-radius: 15px !important;
}

#rm57ProfileModal .profile-photo-wrap,
#rm57ProfileModal .profile-photo {
  width: 82px !important;
  height: 82px !important;
}

#rm57ProfileModal .profile-photo-wrap { margin-bottom: 9px !important; }
#rm57ProfileModal .profile-photo { font-size: 30px !important; }
#rm57ProfileModal .profile-card-header { padding: 12px 14px 9px !important; }
#rm57ProfileModal #profileForm { padding: 0 14px 13px !important; }
#rm57ProfileModal .profile-card-header h3 { font-size: 16px !important; }
#rm57ProfileModal .profile-card-header p { font-size: 11px !important; }
#rm57ProfileModal .profile-form-grid { gap: 7px 10px !important; }
#rm57ProfileModal .profile-bio-group { margin-top: 6px !important; }
#rm57ProfileModal .profile-form-card textarea { min-height: 54px !important; max-height: 72px !important; }
#rm57ProfileModal .profile-form-actions { margin-top: 7px !important; }

#rm527AccountModal .rm527-profile-avatar {
  width: 72px !important;
  height: 72px !important;
  margin-bottom: 8px !important;
}

#rm527AccountModal .rm527-photo-actions { margin-top: 10px !important; }
#rm527AccountModal .rm527-account-form { gap: 8px 10px !important; }
#rm527AccountModal .rm527-field textarea { min-height: 58px !important; }
#rm527AccountModal .rm527-account-actions { padding: 11px 16px 13px !important; }

@media (min-width: 761px) and (min-height: 700px) {
  #rm57ProfileModal .rm57-modal-body,
  #rm527AccountModal:not(.rm532-account-password) .rm527-account-body {
    flex: 0 1 auto !important;
    overflow-y: visible !important;
  }
}

/* Follow-up and map modal headers use direct-child selectors only. */
html .pegawai-followup-modal-head,
html .laporan-saya-modal-head,
html .laporan-saya-map-head {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 36px !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 86px !important;
  padding: 14px 16px !important;
  overflow: hidden !important;
}

html .pegawai-followup-modal-head > .rm527-modal-head-icon,
html .laporan-saya-modal-head > .rm527-modal-head-icon,
html .laporan-saya-map-head > .rm527-modal-head-icon {
  position: static !important;
  inset: auto !important;
  grid-column: 1 !important;
  display: grid !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  border-radius: 13px !important;
  font-size: 0 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transform: none !important;
}

html .pegawai-followup-modal-head > div,
html .laporan-saya-modal-head > div,
html .laporan-saya-map-head > div {
  grid-column: 2 !important;
  min-width: 0 !important;
}

html .pegawai-followup-modal-head > div > span,
html .laporan-saya-modal-head > div > span,
html .laporan-saya-map-head > div > span {
  display: block !important;
  margin: 0 0 3px !important;
  font-size: 9.5px !important;
  line-height: 1.15 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html .pegawai-followup-modal-head h3,
html .laporan-saya-modal-head h3,
html .laporan-saya-map-head h3 {
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
}

html .pegawai-followup-modal-head > .pegawai-followup-modal-close,
html .laporan-saya-modal-head > .laporan-saya-modal-close,
html .laporan-saya-map-head > .laporan-saya-modal-close {
  position: static !important;
  inset: auto !important;
  grid-column: 3 !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-self: end !important;
  transform: none !important;
}

/* Report-entry colors exactly match their choices in the report menu. */
html .rm528-report-violation .rm58-report-head {
  background: linear-gradient(135deg, var(--rm533-blue), var(--rm533-teal)) !important;
}

html .rm528-report-sawah .rm58-report-head {
  background: linear-gradient(135deg, var(--rm533-sawah), var(--rm533-sawah-light)) !important;
}

html .rm528-report-violation .rm58-report-body {
  background: linear-gradient(180deg, #f2faf8, #fff) !important;
}

html .rm528-report-sawah .rm58-report-body {
  background: linear-gradient(180deg, #fff8ef, #fff) !important;
}

html .rm58-report-panel .rm58-report-head {
  grid-template-columns: 44px minmax(0, 1fr) 34px !important;
  min-height: 104px !important;
  gap: 2px 11px !important;
  padding: 15px 16px !important;
}

html .rm58-report-head > .rm528-report-head-icon {
  position: static !important;
  inset: auto !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
}

/* Scope picker changes its real columns when fields are hidden. */
html.rm-admin-console #adminSpatialAreaReadonly.rm-v514-area-box .rm-v514-scope-picker,
html.rm-admin-console #adminModuleContainer .rm-v514-scope-picker {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: end !important;
}

html.rm-admin-console #adminModuleContainer .rm-v514-scope-picker[data-rm533-scope-level="NASIONAL"] {
  grid-template-columns: minmax(0, 1fr) !important;
}

html.rm-admin-console #adminModuleContainer .rm-v514-scope-picker[data-rm533-scope-level="PROVINSI"] {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html.rm-admin-console #adminModuleContainer .rm-v514-scope-picker[data-rm533-scope-level="KABKOTA"] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html.rm-admin-console #adminModuleContainer .rm-v514-scope-picker > .rm-v514-scope-field,
html.rm-admin-console #adminModuleContainer .rm-v514-scope-picker select {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Filter panel in Style & Legend. */
.rm533-style-filter-panel {
  display: grid;
  gap: 11px;
  margin: 0 0 13px;
  padding: 13px 14px;
  border: 1px solid #dce8eb;
  border-radius: 15px;
  background: linear-gradient(145deg, #f8fbfc, #f2f8f7);
}

.rm533-style-filter-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.rm533-style-filter-head strong,
.rm533-style-filter-head span { display: block; }
.rm533-style-filter-head strong { color: var(--rm533-navy); font-size: 12px; }
.rm533-style-filter-head span { margin-top: 3px; color: var(--rm533-muted); font-size: 10.5px; }
.rm533-style-filter-head > small { color: var(--rm533-teal); font-size: 10px; font-weight: 800; text-align: right; }

.rm533-style-filter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}

/* Two-color application title, restored after legacy text replacement. */
html[data-page="peta-informasi"] .webgis-home-text strong .rm533-title-ruang {
  color: var(--rm533-navy) !important;
}

html[data-page="peta-informasi"] .webgis-home-text strong .rm533-title-maslahat {
  color: var(--rm533-teal) !important;
}

html[data-page="peta-informasi"] .webgis-home-text strong {
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  html .rm57-modal-head.rm527-decorated-head,
  html .rm57-modal-head,
  html .rm527-account-modal-head,
  html .pegawai-followup-modal-head,
  html .laporan-saya-modal-head,
  html .laporan-saya-map-head {
    grid-template-columns: 36px minmax(0, 1fr) 32px !important;
    min-height: 82px !important;
    gap: 8px !important;
    padding: 12px !important;
    padding-left: 12px !important;
  }

  html .rm57-modal-head > .rm527-modal-head-icon,
  html .rm527-account-modal-head > .rm527-modal-head-icon,
  html .pegawai-followup-modal-head > .rm527-modal-head-icon,
  html .laporan-saya-modal-head > .rm527-modal-head-icon,
  html .laporan-saya-map-head > .rm527-modal-head-icon {
    display: grid !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    border-radius: 11px !important;
  }

  #rm57ProfileModal .profile-layout,
  #rm527AccountModal .rm527-profile-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #rm57ProfileModal .rm57-modal-body,
  #rm527AccountModal .rm527-account-body {
    overflow-y: auto !important;
  }

  .rm533-style-filter-head { align-items: flex-start; flex-direction: column; }
  .rm533-style-filter-head > small { text-align: left; }
  .rm533-style-filter-grid { grid-template-columns: minmax(0, 1fr) !important; }

  html.rm-admin-console #adminModuleContainer .rm-v514-scope-picker,
  html.rm-admin-console #adminModuleContainer .rm-v514-scope-picker[data-rm533-scope-level] {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rm529-loading-control.rm529-has-progress::after { transition: none !important; }
}

/* bundled source: stage-5.34-ui.css */
/* Stage 5.34: account-aware region filters, canonical account modal, and lighter dashboard paint. */
:root {
  --rm534-navy: #10293d;
  --rm534-blue: #245a73;
  --rm534-teal: #0f766e;
  --rm534-line: #d8e5e9;
  --rm534-muted: #647b87;
}

/* The scope host used to be a one-line readonly field. It must grow with the picker. */
html.rm-admin-console .rm-admin-spatial-form .rm-admin-form-grid #adminSpatialAreaReadonly.rm-v514-area-box {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin-top: 7px !important;
  padding: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-picker {
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  gap: 10px !important;
  align-items: end !important;
  overflow: visible !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-picker[data-scope-state="NASIONAL"] {
  grid-template-columns: minmax(0, 1fr) !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-picker[data-scope-state="PROVINSI"] {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-picker[data-scope-state="KABKOTA"] {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field {
  display: grid !important;
  min-width: 0 !important;
  gap: 6px !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field[hidden] {
  display: none !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field select {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 42px !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Rule and reference modules expose type, region, and dataset as one filter contract. */
html.rm-admin-console .rm534-rule-filter-panel.rm528-rule-region-filters {
  box-sizing: border-box !important;
  display: block !important;
  margin: 10px 0 13px !important;
  padding: 13px 14px 14px !important;
  border: 1px solid var(--rm534-line) !important;
  border-radius: 15px !important;
  background: linear-gradient(145deg, #f8fbfc, #f1f8f6) !important;
}

html.rm-admin-console .rm534-rule-filter-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 11px !important;
}

html.rm-admin-console .rm534-rule-filter-head strong,
html.rm-admin-console .rm534-rule-filter-head span {
  display: block !important;
}

html.rm-admin-console .rm534-rule-filter-head strong {
  color: var(--rm534-navy) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

html.rm-admin-console .rm534-rule-filter-head span {
  margin-top: 3px !important;
  color: var(--rm534-muted) !important;
  font-size: 10.5px !important;
  font-weight: 650 !important;
}

html.rm-admin-console .rm534-rule-filter-head > small {
  color: var(--rm534-teal) !important;
  font-size: 10px !important;
  font-weight: 820 !important;
  text-align: right !important;
}

html.rm-admin-console .rm534-rule-filter-grid.rm-admin-style-top-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  align-items: end !important;
}

html.rm-admin-console .rm534-rule-filter-grid > label {
  display: grid !important;
  min-width: 0 !important;
  gap: 6px !important;
  margin: 0 !important;
}

html.rm-admin-console .rm534-rule-filter-grid select:disabled,
html.rm-admin-console .rm533-style-filter-grid select:disabled,
html.rm-admin-console .rm528-user-region-field select:disabled,
html.rm-admin-console .rm523-log-region-field select:disabled {
  cursor: not-allowed !important;
  border-color: #d3e1e5 !important;
  background-color: #edf4f5 !important;
  color: #405d69 !important;
  opacity: 1 !important;
}

html.rm-admin-console .rm534-rule-filter-panel.is-empty .rm534-rule-filter-head > small {
  color: #8a6a21 !important;
}

/* The same account component is opened from the map and Dashboard Internal. */
#rm527AccountModal .rm527-account-modal-head {
  box-sizing: border-box !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 36px !important;
  grid-template-rows: auto !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 88px !important;
  padding: 14px 15px !important;
  padding-left: 15px !important;
}

#rm527AccountModal .rm527-account-modal-head > .rm527-modal-head-icon {
  box-sizing: border-box !important;
  position: static !important;
  inset: auto !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

#rm527AccountModal .rm527-account-modal-head > div {
  grid-column: 2 !important;
  min-width: 0 !important;
  padding: 0 !important;
}

#rm527AccountModal .rm527-account-modal-head > .rm527-account-close {
  position: static !important;
  inset: auto !important;
  grid-column: 3 !important;
  grid-row: 1 !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

/* Dashboard scroll no longer repaints a large blurred header on every frame. */
html[data-page="dashboard-admin"] .topbar {
  background: #fff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 1px 0 rgba(16, 41, 61, .06) !important;
}

html[data-page="dashboard-admin"] #dashboardHomeContent > section {
  content-visibility: auto;
  contain-intrinsic-size: auto 280px;
}

html[data-page="dashboard-admin"] .panel,
html[data-page="dashboard-admin"] .stat,
html[data-page="dashboard-admin"] .rm520-insight-card {
  box-shadow: 0 5px 18px rgba(13, 39, 58, .055) !important;
}

@media (max-width: 1120px) {
  html.rm-admin-console .rm534-rule-filter-grid.rm-admin-style-top-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-picker,
  html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-picker[data-scope-state] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.rm-admin-console .rm534-rule-filter-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  html.rm-admin-console .rm534-rule-filter-head > small { text-align: left !important; }

  html.rm-admin-console .rm534-rule-filter-grid.rm-admin-style-top-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-page="dashboard-admin"] .content { scroll-behavior: auto !important; }
}

/* bundled source: stage-5.35-ui.css */
/*
 * Ruang Maslahat Stage 5.35.0
 * Viewport workspace, persistent dataset scope, canonical account dialog,
 * and compact report-entry headers.
 */

:root {
  --rm535-navy: #10293d;
  --rm535-blue: #245a73;
  --rm535-teal: #0f766e;
  --rm535-teal-dark: #0d615b;
  --rm535-line: #d9e5e9;
  --rm535-muted: #647b87;
  --rm535-ring: rgba(15, 118, 110, .13);
}

/* Dashboard performance: do not turn a long iframe document into one huge
   paint layer. The workspace owns a bounded viewport and the embedded page
   owns its vertical scrollbar. */
html[data-page="dashboard-admin"] #dashboardHomeContent > section {
  content-visibility: visible !important;
  contain: none !important;
  contain-intrinsic-size: none !important;
}

html[data-page="dashboard-admin"] .workspace-frame-shell {
  box-sizing: border-box !important;
  width: 100% !important;
  height: clamp(520px, calc(100dvh - 205px), 960px) !important;
  min-height: 520px !important;
  max-height: 960px !important;
  overflow: hidden !important;
  contain: none !important;
  isolation: isolate !important;
}

html[data-page="dashboard-admin"] .workspace-frame {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: auto !important;
  border-radius: inherit !important;
}

html[data-page="dashboard-admin"] .workspace-frame[hidden] {
  display: none !important;
}

html[data-page="dashboard-admin"] .workspace-loading {
  min-height: 0 !important;
}

html[data-page="dashboard-admin"] .panel,
html[data-page="dashboard-admin"] .stat,
html[data-page="dashboard-admin"] .rm520-insight-card {
  box-shadow: 0 4px 15px rgba(13, 39, 58, .05) !important;
}

html.rm-admin-embed {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}

html.rm-admin-embed:not(.rm524-portal-active) body {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}

html.rm-admin-embed .modern-dashboard-page,
html.rm-admin-embed .modern-dashboard-main,
html.rm-admin-embed #adminModuleContainer,
html.rm-admin-embed .rm-admin-module-container,
html.rm-admin-embed .rm-admin-module-card,
html.rm-admin-embed .rm-admin-spatial-layout,
html.rm-admin-embed .rm517-style-grid {
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Dataset scope: the three controls exist from the first render and keep the
   same footprint while account permissions only change their enabled state. */
html.rm-admin-console .rm-admin-spatial-layout {
  grid-template-columns: minmax(510px, .98fr) minmax(500px, 1.02fr) !important;
}

html.rm-admin-console .rm-admin-spatial-form .rm-admin-form-grid > .rm-admin-spatial-scope-field {
  box-sizing: border-box !important;
  display: grid !important;
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  gap: 0 !important;
  color: var(--rm535-navy) !important;
}

html.rm-admin-console .rm535-scope-group-label {
  display: block !important;
  color: var(--rm535-navy) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly.rm-v514-area-box,
html.rm-admin-console #adminSpatialAreaReadonly.rm-admin-readonly-field {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 7px 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  white-space: normal !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-scope-display="persistent"],
html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-scope-display="persistent"][data-scope-state] {
  box-sizing: border-box !important;
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: end !important;
  gap: 10px !important;
  margin: 0 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-scope-display="persistent"] .rm-v514-scope-field,
html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-scope-display="persistent"] .rm-v514-scope-field[hidden] {
  box-sizing: border-box !important;
  display: grid !important;
  grid-column: auto !important;
  min-width: 0 !important;
  gap: 6px !important;
  margin: 0 !important;
  opacity: 1 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field > span {
  min-height: 14px !important;
  color: #405c6a !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field select {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 34px 0 11px !important;
  overflow: hidden !important;
  border: 1px solid #d7e3e7 !important;
  border-radius: 14px !important;
  background-color: #fff !important;
  color: #17384a !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  text-overflow: ellipsis !important;
  opacity: 1 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field select:focus-visible {
  border-color: var(--rm535-teal) !important;
  box-shadow: 0 0 0 4px var(--rm535-ring) !important;
  outline: 0 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field.is-inactive select,
html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field.is-locked select,
html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field select:disabled {
  border-color: #d7e2e6 !important;
  background-color: #f1f5f6 !important;
  color: #607783 !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker.is-loading .rm-v514-scope-field select {
  font-weight: 500 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field.is-locked > span::after {
  content: " · otomatis";
  color: #78909a;
  font-size: 9px;
  font-weight: 600;
}

html.rm-admin-console .rm535-scope-loading-note {
  display: flex !important;
  min-height: 20px !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 8px 1px 0 !important;
  color: #687e89 !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

html.rm-admin-console .rm535-scope-loading-note > span:not(.rm-admin-mini-spinner) {
  color: inherit !important;
  font: inherit !important;
  font-weight: 500 !important;
}

html.rm-admin-console .rm535-scope-loading-note .rm-admin-mini-spinner {
  flex: 0 0 auto !important;
}

/* Dataset list: Category and Coverage share the same column contract. This
   replaces the older highlighted 235 px coverage column that looked detached
   from the rest of the table. */
html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap .rm-admin-user-table {
  width: max(100%, 1100px) !important;
  min-width: 1100px !important;
  table-layout: fixed !important;
}

html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap th,
html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap td {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 11px 10px !important;
  vertical-align: middle !important;
  overflow: visible !important;
  color: #294756 !important;
  line-height: 1.4 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap thead th {
  background: #f3f7f8 !important;
  color: #294756 !important;
  font-size: 10px !important;
  font-weight: 850 !important;
}

html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(1),
html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(1) { width: 240px !important; }

html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(2),
html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(2),
html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(4),
html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(4) {
  display: table-cell !important;
  width: 165px !important;
  min-width: 165px !important;
  max-width: 165px !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(2),
html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(4) {
  background: #f3f7f8 !important;
  color: #294756 !important;
}

html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(2),
html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(4) {
  background: inherit !important;
}

html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(3),
html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(3) { width: 145px !important; }

html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(5),
html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(5) { width: 100px !important; }

html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(6),
html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(6) { width: 140px !important; }

html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap th:nth-child(7),
html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(7) {
  width: 145px !important;
  text-align: center !important;
}

html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(2) .rm535-dataset-category,
html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap td:nth-child(4) .rm-admin-muted {
  display: block !important;
  max-width: 100% !important;
  color: #385a60 !important;
  font-size: 10.8px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html.rm-admin-console #adminSpatialTableWrap .rm535-dataset-status-cell {
  display: grid !important;
  justify-items: start !important;
  gap: 7px !important;
}

html.rm-admin-console #adminSpatialTableWrap .rm535-dataset-status-cell .rm516-table-toggle {
  min-width: 0 !important;
  max-width: 100% !important;
}

html.rm-admin-console #adminSpatialTableWrap .rm516-dataset-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 6px !important;
}

/* One canonical profile and password dialog is shared by the public map and
   both internal dashboards. Its structure follows the supplied BPN reference
   while retaining the Ruang Maslahat palette and existing actions. */
html #rm527AccountModal.rm527-account-modal {
  align-items: center !important;
  justify-content: center !important;
  padding: 22px !important;
  background: rgba(7, 25, 39, .56) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
}

html #rm527AccountModal .rm527-account-card {
  width: min(680px, calc(100vw - 36px)) !important;
  max-height: min(790px, calc(100dvh - 44px)) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(15, 118, 110, .18) !important;
  border-radius: 26px !important;
  background: #fff !important;
  box-shadow: 0 28px 78px rgba(5, 25, 39, .3) !important;
}

html #rm527AccountModal .rm527-account-card.is-password {
  width: min(560px, calc(100vw - 36px)) !important;
}

html #rm527AccountModal #rm527AccountContent {
  display: flex !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

html #rm527AccountModal .rm527-account-modal-head.rm535-account-head {
  box-sizing: border-box !important;
  position: relative !important;
  display: flex !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 20px 22px 18px !important;
  border: 0 !important;
  background:
    radial-gradient(circle at 84% 0, rgba(103, 216, 196, .22), transparent 34%),
    linear-gradient(135deg, #10293d, #16485a 58%, #0f766e) !important;
  color: #fff !important;
  text-align: left !important;
}

html #rm527AccountModal .rm535-account-head-copy {
  position: static !important;
  display: flex !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html #rm527AccountModal .rm535-account-head-visual {
  position: relative !important;
  inset: auto !important;
  display: inline-flex !important;
  width: 54px !important;
  min-width: 54px !important;
  height: 54px !important;
  flex: 0 0 54px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  margin: 0 !important;
  border: 2px solid rgba(255, 255, 255, .72) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .15) !important;
  color: #fff !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .16) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
}

html #rm527AccountModal .is-password .rm535-account-head-visual {
  border-radius: 17px !important;
}

html #rm527AccountModal .rm535-account-head-visual img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

html #rm527AccountModal .rm535-account-head-visual svg {
  width: 23px !important;
  height: 23px !important;
}

html #rm527AccountModal .rm535-account-head-text {
  min-width: 0 !important;
}

html #rm527AccountModal .rm535-account-eyebrow {
  display: block !important;
  margin: 0 0 3px !important;
  color: #bce9df !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

html #rm527AccountModal .rm535-account-head-text h3 {
  margin: 0 0 4px !important;
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
}

html #rm527AccountModal .rm535-account-head-text p {
  max-width: 470px !important;
  margin: 0 !important;
  color: rgba(240, 252, 249, .82) !important;
  font-size: 11.5px !important;
  line-height: 1.45 !important;
}

html #rm527AccountModal .rm527-account-close {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  flex: 0 0 38px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

html #rm527AccountModal .rm527-account-close:hover,
html #rm527AccountModal .rm527-account-close:focus-visible {
  background: rgba(255, 255, 255, .22) !important;
  outline: 0 !important;
}

html #rm527AccountModal .rm535-account-body {
  min-height: 0 !important;
  flex: 1 1 auto !important;
  padding: 21px 23px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}

html #rm527AccountModal .rm535-photo-editor {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 18px !important;
  margin: 0 0 19px !important;
  padding: 16px !important;
  border: 1px solid #dfe9eb !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #f8fbfc, #f1f8f6) !important;
}

html #rm527AccountModal .rm535-photo-preview {
  position: relative !important;
  display: flex !important;
  width: 96px !important;
  height: 96px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 3px solid #fff !important;
  border-radius: 999px !important;
  background: linear-gradient(145deg, #173b50, #0f766e) !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px rgba(16, 41, 61, .1), 0 11px 26px rgba(13, 49, 62, .14) !important;
  cursor: pointer !important;
  font-size: 27px !important;
  font-weight: 900 !important;
}

html #rm527AccountModal .rm535-photo-preview > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

html #rm527AccountModal .rm535-photo-camera {
  position: absolute !important;
  right: 2px !important;
  bottom: 2px !important;
  display: flex !important;
  width: 28px !important;
  height: 28px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid #fff !important;
  border-radius: 999px !important;
  background: #245a73 !important;
  color: #fff !important;
}

html #rm527AccountModal .rm535-photo-camera svg {
  width: 14px !important;
  height: 14px !important;
}

html #rm527AccountModal .rm535-photo-copy strong {
  display: block !important;
  color: #17384a !important;
  font-size: 14px !important;
}

html #rm527AccountModal .rm535-photo-copy p {
  margin: 5px 0 11px !important;
  color: #647b87 !important;
  font-size: 11.5px !important;
  line-height: 1.5 !important;
}

html #rm527AccountModal .rm535-photo-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
}

html #rm527AccountModal .rm535-photo-actions > label,
html #rm527AccountModal .rm535-photo-actions > button {
  box-sizing: border-box !important;
  display: inline-flex !important;
  min-height: 36px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #d5e2e6 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #365565 !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

html #rm527AccountModal .rm535-photo-actions > button {
  border-color: #f0c9c5 !important;
  background: #fff8f7 !important;
  color: #a22f26 !important;
}

html #rm527AccountModal .rm535-photo-actions > button:disabled {
  opacity: .48 !important;
  cursor: not-allowed !important;
}

html #rm527AccountModal .rm535-account-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

html #rm527AccountModal .rm527-field {
  gap: 7px !important;
}

html #rm527AccountModal .rm527-field > label {
  color: #334f5e !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}

html #rm527AccountModal .rm527-field input,
html #rm527AccountModal .rm527-field textarea {
  box-sizing: border-box !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  border: 1px solid #d7e3e7 !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: #17384a !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

html #rm527AccountModal .rm527-field textarea {
  min-height: 88px !important;
}

html #rm527AccountModal .rm527-field input:disabled,
html #rm527AccountModal .rm527-field textarea:disabled {
  background: #f4f7f8 !important;
  color: #647b87 !important;
  opacity: 1 !important;
}

html #rm527AccountModal .rm527-field input:focus,
html #rm527AccountModal .rm527-field textarea:focus {
  border-color: var(--rm535-teal) !important;
  box-shadow: 0 0 0 4px var(--rm535-ring) !important;
}

html #rm527AccountModal .rm535-security-summary {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 17px !important;
  padding: 14px !important;
  border: 1px solid #d8e7e5 !important;
  border-radius: 16px !important;
  background: #f2f8f7 !important;
}

html #rm527AccountModal .rm535-security-icon {
  display: grid !important;
  width: 42px !important;
  height: 42px !important;
  place-items: center !important;
  border-radius: 13px !important;
  background: #e1f1ee !important;
  color: var(--rm535-teal-dark) !important;
}

html #rm527AccountModal .rm535-security-icon svg {
  width: 21px !important;
  height: 21px !important;
}

html #rm527AccountModal .rm535-security-summary strong {
  display: block !important;
  color: #17384a !important;
  font-size: 12.5px !important;
}

html #rm527AccountModal .rm535-security-summary p {
  margin: 4px 0 0 !important;
  color: #5f7783 !important;
  font-size: 10.8px !important;
  line-height: 1.5 !important;
}

html #rm527AccountModal .rm535-password-field {
  margin-top: 0 !important;
}

html #rm527AccountModal .rm527-password-toggle {
  display: grid !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
}

html #rm527AccountModal .rm535-security-help {
  margin: 15px 0 0 !important;
  padding: 12px 14px 12px 31px !important;
  border: 1px solid #eadbbd !important;
  border-radius: 15px !important;
  background: #fffaf0 !important;
  color: #75561e !important;
  font-size: 10.8px !important;
  line-height: 1.65 !important;
}

html #rm527AccountModal .rm535-forgot-link {
  display: inline-flex !important;
  margin-top: 13px !important;
  color: var(--rm535-teal-dark) !important;
  font-size: 10.8px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

html #rm527AccountModal .rm535-forgot-link:hover,
html #rm527AccountModal .rm535-forgot-link:focus-visible {
  text-decoration: underline !important;
}

html #rm527AccountModal .rm535-account-actions {
  box-sizing: border-box !important;
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 9px !important;
  margin: 0 !important;
  padding: 14px 23px 18px !important;
  border-top: 1px solid #e5edef !important;
  background: #fbfcfc !important;
}

html #rm527AccountModal .rm535-account-actions > button {
  box-sizing: border-box !important;
  min-width: 112px !important;
  min-height: 42px !important;
  padding: 9px 15px !important;
  border-radius: 12px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

/* Compact report headers. The same shield icons used by the report menu are
   now reused in the corresponding panels. */
html .rm58-report-panel .rm58-report-head {
  box-sizing: border-box !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) 32px !important;
  grid-template-rows: auto auto auto !important;
  min-height: 0 !important;
  align-items: center !important;
  gap: 1px 10px !important;
  padding: 11px 13px !important;
  border: 0 !important;
  color: #fff !important;
  text-align: left !important;
}

html .rm528-report-violation .rm58-report-head {
  background: linear-gradient(135deg, #245a73, #0f766e) !important;
}

html .rm528-report-sawah .rm58-report-head {
  background: linear-gradient(135deg, #9b5b12, #d18421) !important;
}

html .rm58-report-head > .rm528-report-head-icon {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  place-items: center !important;
  border: 1px solid rgba(255, 255, 255, .25) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .14) !important;
  color: #fff !important;
}

html .rm58-report-head > .rm528-report-head-icon svg {
  width: 20px !important;
  height: 20px !important;
}

html .rm58-report-head > .badge {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  width: max-content !important;
  max-width: 100% !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  padding: 2px 6px !important;
  border: 1px solid rgba(255, 255, 255, .15) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .13) !important;
  color: #fff !important;
  font-size: 7.5px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: .055em !important;
}

html .rm58-report-head > h3 {
  grid-column: 2 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
  margin: 1px 0 !important;
  color: #fff !important;
  font-size: 14.5px !important;
  line-height: 1.2 !important;
  letter-spacing: -.012em !important;
  overflow-wrap: anywhere !important;
}

html .rm58-report-head > p {
  grid-column: 2 !important;
  grid-row: 3 !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .86) !important;
  font-size: 9.7px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}

html .rm58-report-head > .rm57-close {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  grid-column: 3 !important;
  grid-row: 1 / span 3 !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  justify-self: end !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  border: 1px solid rgba(255, 255, 255, .23) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: #fff !important;
}

html .rm58-report-head > .rm57-close:hover,
html .rm58-report-head > .rm57-close:focus-visible {
  background: rgba(255, 255, 255, .24) !important;
  outline: 0 !important;
}

@media (max-width: 1080px) {
  html.rm-admin-console .rm-admin-spatial-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 700px) {
  html[data-page="dashboard-admin"] .workspace-frame-shell {
    height: max(500px, calc(100dvh - 176px)) !important;
    min-height: 500px !important;
  }

  html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-scope-display="persistent"],
  html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-scope-display="persistent"][data-scope-state] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap {
    overflow-x: hidden !important;
  }

  html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap .rm-admin-user-table,
  html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap tbody td,
  html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap tbody td:nth-child(2),
  html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap tbody td:nth-child(4) {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #edf2f1 !important;
    background: transparent !important;
    text-align: left !important;
  }

  html.rm-admin-console #adminSpatialTableWrap.rm531-dataset-table-wrap tbody td:last-child {
    border-bottom: 0 !important;
  }

  html.rm-admin-console #adminSpatialTableWrap .rm535-dataset-status-cell {
    justify-items: start !important;
  }

  html #rm527AccountModal.rm527-account-modal {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  html #rm527AccountModal .rm527-account-card,
  html #rm527AccountModal .rm527-account-card.is-password {
    width: 100% !important;
    max-width: none !important;
    max-height: 92dvh !important;
    border-radius: 24px 24px 0 0 !important;
  }

  html #rm527AccountModal .rm527-account-modal-head.rm535-account-head {
    gap: 11px !important;
    padding: 17px 18px 15px !important;
  }

  html #rm527AccountModal .rm535-account-head-visual {
    display: inline-flex !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    flex-basis: 46px !important;
  }

  html #rm527AccountModal .rm535-account-head-text h3 {
    font-size: 18px !important;
  }

  html #rm527AccountModal .rm535-account-head-text p {
    font-size: 10.5px !important;
  }

  html #rm527AccountModal .rm535-account-body {
    padding: 18px !important;
  }

  html #rm527AccountModal .rm535-photo-editor {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    text-align: center !important;
  }

  html #rm527AccountModal .rm535-photo-actions {
    justify-content: center !important;
  }

  html #rm527AccountModal .rm535-account-form {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html #rm527AccountModal .rm527-field.full {
    grid-column: auto !important;
  }

  html #rm527AccountModal .rm535-account-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 13px 18px max(16px, env(safe-area-inset-bottom)) !important;
  }

  html #rm527AccountModal .rm535-account-actions > button {
    width: 100% !important;
    min-width: 0 !important;
  }

  html .rm58-report-panel .rm58-report-head {
    grid-template-columns: 36px minmax(0, 1fr) 30px !important;
    gap: 1px 8px !important;
    padding: 10px 11px !important;
  }

  html .rm58-report-head > .rm528-report-head-icon {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
  }

  html .rm58-report-head > .rm57-close {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-page="dashboard-admin"] .content,
  html.rm-admin-embed body {
    scroll-behavior: auto !important;
  }
}

/* bundled source: stage-5.36-ui.css */
/*
 * Ruang Maslahat Stage 5.36.0
 * Single-scroll internal workspace, stable region filters, premium account
 * dialog, themed map title, and collision-free report headers.
 */

:root {
  --rm536-navy: #10293d;
  --rm536-blue: #245a73;
  --rm536-teal: #0f766e;
  --rm536-teal-dark: #0d615b;
  --rm536-paper: #f4f8f9;
  --rm536-line: #d8e5e8;
  --rm536-muted: #607782;
  --rm536-ring: rgba(15, 118, 110, .14);
}

/* --------------------------------------------------------------------------
   Dashboard Internal: the fixed topbar is outside the only scrolling surface.
   Home uses .content as its scroll container; a workspace uses its iframe body.
   -------------------------------------------------------------------------- */

html[data-page="dashboard-admin"],
html[data-page="dashboard-admin"] body {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

html[data-page="dashboard-admin"] .shell {
  width: 100% !important;
  height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

html[data-page="dashboard-admin"] .sidebar {
  height: 100dvh !important;
  min-height: 0 !important;
}

html[data-page="dashboard-admin"] .main {
  display: flex !important;
  height: 100dvh !important;
  min-height: 0 !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

html[data-page="dashboard-admin"] .topbar {
  position: relative !important;
  top: auto !important;
  flex: 0 0 72px !important;
}

html[data-page="dashboard-admin"] .content {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}

html[data-page="dashboard-admin"].rm536-workspace-active .content {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

html[data-page="dashboard-admin"].rm536-workspace-active #adminWorkspace.active {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}

html[data-page="dashboard-admin"].rm536-workspace-active .workspace-head {
  flex: 0 0 auto !important;
}

html[data-page="dashboard-admin"].rm536-workspace-active .workspace-frame-shell {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
}

html[data-page="dashboard-admin"].rm536-workspace-active .workspace-frame {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  border: 0 !important;
}

html.rm-admin-embed,
html.rm-admin-embed body {
  min-height: 0 !important;
}

html.rm-admin-embed:not(.rm524-portal-active) body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

/* --------------------------------------------------------------------------
   Stable region controls: columns are present before reference data arrives.
   -------------------------------------------------------------------------- */

html.rm-admin-console #adminModuleContainer .rm528-user-region-field,
html.rm-admin-console #adminModuleContainer .rm523-log-region-field,
html.rm-admin-console #adminModuleContainer .rm534-rule-region-field {
  box-sizing: border-box !important;
  display: grid !important;
  min-width: 0 !important;
  gap: 6px !important;
  margin: 0 !important;
}

html.rm-admin-console #adminModuleContainer .rm528-user-region-field[hidden],
html.rm-admin-console #adminModuleContainer .rm523-log-region-field[hidden],
html.rm-admin-console #adminModuleContainer .rm534-rule-region-field[hidden] {
  display: grid !important;
}

html.rm-admin-console #adminModuleContainer .rm528-user-region-field select,
html.rm-admin-console #adminModuleContainer .rm523-log-region-field select,
html.rm-admin-console #adminModuleContainer .rm534-rule-region-field select,
html.rm-admin-console #adminModuleContainer .rm533-style-filter-grid select {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 32px 0 11px !important;
  border: 1px solid var(--rm536-line) !important;
  border-radius: 12px !important;
  background-color: #fff !important;
  color: #294a5a !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  text-overflow: ellipsis !important;
}

html.rm-admin-console #adminModuleContainer .is-loading > select,
html.rm-admin-console #adminModuleContainer .is-loading select,
html.rm-admin-console #adminModuleContainer .rm533-style-filter-panel.is-loading select,
html.rm-admin-console #adminModuleContainer .rm534-rule-filter-panel.is-loading .rm534-rule-region-field select {
  border-color: #d7e3e6 !important;
  background-color: #f1f5f6 !important;
  color: #6b8089 !important;
  font-weight: 500 !important;
  cursor: wait !important;
  opacity: 1 !important;
}

html.rm-admin-console #adminModuleContainer .is-error > select,
html.rm-admin-console #adminModuleContainer .is-error select,
html.rm-admin-console #adminModuleContainer .rm533-style-filter-panel.is-error select {
  border-color: #ead1cd !important;
  background-color: #fff8f7 !important;
  color: #8c514b !important;
  opacity: 1 !important;
}

html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: end !important;
  gap: 10px !important;
}

html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label:nth-of-type(1) { grid-column: span 3 !important; }
html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label:nth-of-type(2) { grid-column: span 5 !important; }
html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label:nth-of-type(3),
html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label:nth-of-type(4) { grid-column: span 2 !important; }
html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label:nth-of-type(5),
html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label:nth-of-type(6),
html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > .rm-admin-small-btn { grid-column: span 4 !important; }

html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > .rm-admin-small-btn {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  justify-self: stretch !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: end !important;
  gap: 10px !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > label:nth-of-type(1),
html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > label:nth-of-type(2),
html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > label:nth-of-type(3),
html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > .rm-admin-small-btn { grid-column: span 2 !important; }
html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > label:nth-of-type(4) { grid-column: span 4 !important; }

html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > .rm-admin-small-btn {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  justify-self: stretch !important;
}

html.rm-admin-console #adminModuleContainer .rm533-style-filter-grid,
html.rm-admin-console #adminModuleContainer .rm534-rule-filter-grid.rm-admin-style-top-grid {
  align-items: end !important;
}

html.rm-admin-console #adminModuleContainer .rm533-style-filter-grid > label,
html.rm-admin-console #adminModuleContainer .rm534-rule-filter-grid > label {
  min-width: 0 !important;
}

/* --------------------------------------------------------------------------
   Premium canonical account dialog for map, admin, and employee entry points.
   -------------------------------------------------------------------------- */

html #rm527AccountModal.rm527-account-modal {
  background: rgba(5, 22, 34, .64) !important;
  backdrop-filter: blur(10px) saturate(115%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
}

html #rm527AccountModal .rm527-account-card {
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, .64) !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, #fff, #f8fbfb) !important;
  box-shadow: 0 34px 100px rgba(3, 20, 31, .38), 0 0 0 1px rgba(15, 118, 110, .08) !important;
}

html #rm527AccountModal .rm527-account-modal-head.rm535-account-head {
  isolation: isolate !important;
  min-height: 104px !important;
  padding: 23px 25px 21px !important;
  background:
    radial-gradient(circle at 84% -12%, rgba(113, 226, 204, .35), transparent 34%),
    radial-gradient(circle at 8% 125%, rgba(77, 144, 165, .3), transparent 40%),
    linear-gradient(132deg, #0d2639 0%, #17465a 55%, #0d736b 100%) !important;
}

html #rm527AccountModal .rm527-account-modal-head.rm535-account-head::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  opacity: .22 !important;
  background-image: linear-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px) !important;
  background-size: 24px 24px !important;
  pointer-events: none !important;
}

html #rm527AccountModal .rm535-account-head-visual {
  box-shadow: inset 0 1px rgba(255, 255, 255, .22), 0 10px 28px rgba(3, 27, 39, .2) !important;
}

html #rm527AccountModal .rm535-account-eyebrow {
  color: #c9f1e8 !important;
  font-size: 9.5px !important;
  letter-spacing: .12em !important;
}

html #rm527AccountModal .rm535-account-head-text h3 {
  font-size: 21px !important;
  font-weight: 850 !important;
}

html #rm527AccountModal .rm535-account-head-text p {
  color: rgba(242, 253, 250, .84) !important;
  font-size: 11.5px !important;
}

html #rm527AccountModal .rm527-account-close {
  border-radius: 13px !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .12) !important;
  transition: background-color .16s ease, transform .16s ease !important;
}

html #rm527AccountModal .rm527-account-close:hover,
html #rm527AccountModal .rm527-account-close:focus-visible {
  transform: translateY(-1px) !important;
}

html #rm527AccountModal .rm535-account-body {
  padding: 23px 25px !important;
  background: linear-gradient(180deg, #fbfdfd, #f6faf9) !important;
}

html #rm527AccountModal .rm535-photo-editor {
  padding: 18px !important;
  border-color: #dce8e9 !important;
  background: linear-gradient(135deg, #fff, #f0f8f6) !important;
  box-shadow: 0 10px 28px rgba(16, 41, 61, .06) !important;
}

html #rm527AccountModal .rm527-field > label {
  color: #425d6a !important;
  font-size: 10.8px !important;
  font-weight: 700 !important;
}

html #rm527AccountModal .rm527-field input,
html #rm527AccountModal .rm527-field textarea {
  border-color: #d4e1e5 !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 1px 0 rgba(16, 41, 61, .02) !important;
  font-weight: 500 !important;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease !important;
}

html #rm527AccountModal .rm527-field input:focus,
html #rm527AccountModal .rm527-field textarea:focus {
  background: #fff !important;
  border-color: var(--rm536-teal) !important;
  box-shadow: 0 0 0 4px var(--rm536-ring), 0 8px 22px rgba(15, 118, 110, .06) !important;
  outline: 0 !important;
}

html #rm527AccountModal .rm535-password-field > label {
  font-weight: 500 !important;
}

html #rm527AccountModal .rm535-password-field input {
  padding-right: 54px !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
}

html #rm527AccountModal .rm527-password-toggle {
  position: absolute !important;
  top: 50% !important;
  right: 9px !important;
  display: inline-flex !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #6a7f89 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

html #rm527AccountModal .rm527-password-toggle svg {
  display: block;
  width: 22px !important;
  height: 22px !important;
  pointer-events: none !important;
}

html #rm527AccountModal .rm527-password-toggle:hover,
html #rm527AccountModal .rm527-password-toggle:focus-visible {
  transform: translateY(-50%) !important;
  background: #eaf5f3 !important;
  color: var(--rm536-teal-dark) !important;
  outline: 0 !important;
}

html #rm527AccountModal .rm535-security-summary {
  border-color: #d5e6e3 !important;
  background: linear-gradient(135deg, #f2f9f7, #edf6f5) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .72) !important;
}

html #rm527AccountModal .rm535-security-help {
  border-color: #e5dfce !important;
  background: #fffcf4 !important;
  color: #6f5b2e !important;
}

html #rm527AccountModal .rm535-account-actions {
  padding: 15px 25px 19px !important;
  border-top-color: #e0e9eb !important;
  background: rgba(250, 252, 252, .96) !important;
}

html #rm527AccountModal .rm535-account-actions > button {
  min-height: 43px !important;
  border-radius: 12px !important;
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease !important;
}

html #rm527AccountModal .rm535-account-actions > .rm527-primary {
  border-color: #0d6b65 !important;
  background: linear-gradient(135deg, #0f766e, #245a73) !important;
  box-shadow: 0 10px 22px rgba(15, 118, 110, .18) !important;
}

html #rm527AccountModal .rm535-account-actions > .rm527-danger-soft {
  border: 1px solid #d8e2e5 !important;
  background: #fff !important;
  color: #4b626e !important;
}

html #rm527AccountModal .rm535-account-actions > button:hover:not(:disabled),
html #rm527AccountModal .rm535-account-actions > button:focus-visible:not(:disabled) {
  transform: translateY(-1px) !important;
}

/* --------------------------------------------------------------------------
   Map application title: theme colors instead of a black-looking navy.
   -------------------------------------------------------------------------- */

html[data-page="peta-informasi"] .webgis-home-text > strong {
  color: var(--rm536-blue) !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .72) !important;
}

html[data-page="peta-informasi"] .webgis-home-text > strong .rm533-title-ruang {
  color: var(--rm536-blue) !important;
}

html[data-page="peta-informasi"] .webgis-home-text > strong .rm533-title-maslahat {
  color: var(--rm536-teal) !important;
}

/* --------------------------------------------------------------------------
   Report panels: three header columns only; draft status belongs to the body.
   -------------------------------------------------------------------------- */

html .rm58-report-panel .rm58-report-head {
  grid-template-columns: 42px minmax(0, 1fr) 34px !important;
  grid-template-rows: auto auto auto !important;
  min-height: 88px !important;
  gap: 2px 11px !important;
  padding: 14px 15px !important;
  overflow: hidden !important;
}

html .rm58-report-head > .rm528-report-head-icon {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  grid-row: 1 / span 3 !important;
  border-radius: 13px !important;
}

html .rm58-report-head > .badge {
  color: rgba(255, 255, 255, .94) !important;
  font-size: 8px !important;
}

html .rm58-report-head > h3 {
  color: #fff !important;
  font-size: 15.5px !important;
  font-weight: 820 !important;
  line-height: 1.25 !important;
  text-wrap: balance !important;
}

html .rm58-report-head > p {
  max-width: none !important;
  color: rgba(255, 255, 255, .88) !important;
  font-size: 10px !important;
  font-weight: 450 !important;
  line-height: 1.42 !important;
}

html .rm58-report-head > .rm57-close {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  grid-row: 1 / span 3 !important;
}

html .rm58-report-body > .rm525-draft-row {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  min-height: 36px !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 12px !important;
  padding: 8px 10px !important;
  border: 1px solid #dbe8e7 !important;
  border-radius: 11px !important;
  background: #f2f8f7 !important;
}

html .rm528-report-sawah .rm58-report-body > .rm525-draft-row {
  border-color: #ebdfcb !important;
  background: #fff9ef !important;
}

html .rm58-report-body > .rm525-draft-row .rm525-draft-status {
  color: #526d77 !important;
  font-size: 9.8px !important;
  font-weight: 500 !important;
}

html .rm58-report-body > .rm525-draft-row .rm525-draft-clear {
  margin-left: auto !important;
}

/* Safe fallback when an old cached script appends the draft row to the head. */
html .rm58-report-head > .rm525-draft-row {
  display: flex !important;
  min-width: 0 !important;
  grid-column: 2 !important;
  grid-row: 4 !important;
  margin: 6px 0 0 !important;
  color: rgba(255, 255, 255, .84) !important;
}

html .rm58-report-head > .rm525-draft-row .rm525-draft-status,
html .rm58-report-head > .rm525-draft-row .rm525-draft-clear {
  color: rgba(255, 255, 255, .9) !important;
}

@media (max-width: 1180px) {
  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid,
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label,
  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > .rm-admin-small-btn,
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > label,
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > .rm-admin-small-btn {
    grid-column: auto !important;
  }
}

@media (max-width: 760px) {
  html[data-page="dashboard-admin"] .topbar {
    flex-basis: 68px !important;
  }

  html[data-page="dashboard-admin"].rm536-workspace-active .content {
    padding: 10px !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid,
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar,
  html.rm-admin-console #adminModuleContainer .rm533-style-filter-grid,
  html.rm-admin-console #adminModuleContainer .rm534-rule-filter-grid.rm-admin-style-top-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html #rm527AccountModal .rm527-account-card,
  html #rm527AccountModal .rm527-account-card.is-password {
    border-radius: 24px 24px 0 0 !important;
  }

  html #rm527AccountModal .rm527-account-modal-head.rm535-account-head {
    min-height: 0 !important;
    padding: 18px !important;
  }

  html #rm527AccountModal .rm535-account-body {
    padding: 18px !important;
  }

  html #rm527AccountModal .rm535-account-actions {
    padding: 13px 18px max(16px, env(safe-area-inset-bottom)) !important;
  }

  html .rm58-report-panel .rm58-report-head {
    grid-template-columns: 38px minmax(0, 1fr) 31px !important;
    min-height: 82px !important;
    gap: 2px 9px !important;
    padding: 12px !important;
  }

  html .rm58-report-head > .rm528-report-head-icon {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
  }

  html .rm58-report-head > h3 {
    font-size: 14.5px !important;
  }

  html .rm58-report-head > p {
    font-size: 9.5px !important;
  }
}

@media (max-width: 430px) {
  html #rm527AccountModal .rm535-account-head-visual {
    display: inline-flex !important;
  }

  html #rm527AccountModal .rm535-account-head-text p {
    display: none !important;
  }

  html .rm58-report-head > p {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html #rm527AccountModal .rm527-account-close,
  html #rm527AccountModal .rm535-account-actions > button,
  html #rm527AccountModal .rm527-field input,
  html #rm527AccountModal .rm527-field textarea {
    transition: none !important;
  }
}

/* bundled source: stage-5.37-ui.css */
/*
 * Ruang Maslahat Stage 5.37.0
 * Exclusive internal workspaces, viewport-safe report dialogs, consistent
 * account close controls, clean logout hover, and one-session welcome state.
 */

:root {
  --rm537-close-bg: rgba(243, 244, 246, .96);
  --rm537-close-bg-hover: rgba(229, 231, 235, .99);
  --rm537-close-ink: #374151;
  --rm537-close-ink-hover: #111827;
}

/* Only the selected internal workspace may occupy the viewport. Stage 5.36
   used an equally-specific display rule after [hidden], so cached report
   frames could remain visible above the newly selected module. */
html[data-page="dashboard-admin"] .workspace-frame[hidden],
html[data-page="dashboard-admin"].rm536-workspace-active .workspace-frame[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html[data-page="dashboard-admin"] .workspace-frame:not([hidden]) {
  visibility: visible !important;
}

/* Let an embedded report dialog rise above the dashboard header/sidebar.
   The normal workspace remains clipped; overflow and isolation are released
   only while a child frame explicitly owns a modal. */
html[data-page="dashboard-admin"].rm524-parent-modal-open.rm536-workspace-active .content,
html[data-page="dashboard-admin"].rm524-parent-modal-open #adminWorkspace,
html[data-page="dashboard-admin"].rm524-parent-modal-open .workspace-frame-shell {
  overflow: visible !important;
}

html[data-page="dashboard-admin"].rm524-parent-modal-open .workspace-frame-shell {
  isolation: auto !important;
  contain: none !important;
}

html[data-page="dashboard-admin"].rm524-parent-modal-open .workspace-frame.rm524-modal-frame {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483600 !important;
  display: block !important;
  width: 100vw !important;
  min-width: 100vw !important;
  max-width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  visibility: visible !important;
}

html.rm-admin-embed.rm524-portal-active #followupDetailModal.rm524-portal-modal,
html.rm-admin-embed.rm524-portal-active #followupMapModal.rm524-portal-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483600 !important;
  display: grid !important;
  width: 100% !important;
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: none !important;
  place-items: center !important;
  overflow: auto !important;
  visibility: visible !important;
}

html.rm-admin-embed.rm524-portal-active #followupDetailModal > .pegawai-followup-modal,
html.rm-admin-embed.rm524-portal-active #followupMapModal > .laporan-saya-map-modal {
  position: relative !important;
  z-index: 1 !important;
  max-height: min(86dvh, 820px) !important;
}

/* Account dialog close control follows the same light, icon-only treatment as
   the analysis panels on Peta Informasi. */
html #rm527AccountModal .rm527-account-modal-head > .rm527-account-close {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  flex: 0 0 38px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--rm537-close-bg) !important;
  color: var(--rm537-close-ink) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: transform .15s ease, background-color .15s ease, color .15s ease !important;
}

html #rm527AccountModal .rm527-account-close::before,
html #rm527AccountModal .rm527-account-close::after {
  content: none !important;
  display: none !important;
}

html #rm527AccountModal .rm527-account-close svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  stroke: currentColor !important;
  pointer-events: none !important;
}

html #rm527AccountModal .rm527-account-close:hover {
  transform: translateY(-1px) !important;
  background: var(--rm537-close-bg-hover) !important;
  color: var(--rm537-close-ink-hover) !important;
  box-shadow: none !important;
}

html #rm527AccountModal .rm527-account-close:focus-visible {
  background: var(--rm537-close-bg-hover) !important;
  color: var(--rm537-close-ink-hover) !important;
  outline: 3px solid rgba(255, 255, 255, .34) !important;
  outline-offset: 2px !important;
}

/* Logout items keep their red hover without a generic elevation shadow. */
html .rm-map-account-item.danger.rm528-interactive:hover,
html .modern-user-menu .modern-user-menu-item.danger.rm528-interactive:hover,
html .profile-only-user-menu .modern-user-menu-item.danger.rm528-interactive:hover,
html .subpage-user-menu .modern-user-menu-item.danger.rm528-interactive:hover,
html .usermenu .danger.rm528-interactive:hover,
html #logoutBtn.rm528-interactive:hover {
  filter: none !important;
  box-shadow: none !important;
}

html .rm-admin-logout-go.rm528-interactive:hover,
html .rm-confirm-btn.danger.rm528-interactive:hover,
html #logoutConfirmButton.rm528-interactive:hover {
  box-shadow: 0 8px 18px rgba(180, 35, 24, .2) !important;
}

@media (max-width: 760px) {
  html #rm527AccountModal .rm527-account-modal-head > .rm527-account-close {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    flex-basis: 36px !important;
    border-radius: 13px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html #rm527AccountModal .rm527-account-modal-head > .rm527-account-close {
    transition: none !important;
  }
}

/* bundled source: stage-5.38-ui.css */
/*
 * Ruang Maslahat Stage 5.38.0
 * Standardized internal-dashboard controls, responsive columns, and stable
 * Add Data loading controls.
 */

:root {
  --rm538-control-height: 44px;
  --rm538-control-radius: 12px;
  --rm538-control-border: #d7e3e7;
  --rm538-control-text: #17384a;
  --rm538-label-text: #405b69;
  --rm538-muted: #687e89;
  --rm538-focus: rgba(15, 118, 110, .14);
}

/* --------------------------------------------------------------------------
   Internal dashboard: one visual contract for labels, fields, and controls.
   -------------------------------------------------------------------------- */

html.rm-admin-console #adminModuleContainer :is(
  .rm-admin-form-grid,
  .rm-admin-search-grid,
  .rm-admin-style-top-grid,
  .rm-admin-preview-filter,
  .rm-admin-log-toolbar,
  .rm533-style-filter-grid,
  .rm534-rule-filter-grid,
  .rm-v514-scope-picker
) > :is(label, .rm-v514-scope-field) {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  align-self: stretch !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 7px !important;
  margin: 0 !important;
  color: var(--rm538-label-text) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm-admin-form-grid,
  .rm-admin-search-grid,
  .rm-admin-style-top-grid,
  .rm-admin-preview-filter,
  .rm-admin-log-toolbar,
  .rm533-style-filter-grid,
  .rm534-rule-filter-grid,
  .rm-v514-scope-picker
) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="file"]), select, .rm-combo-trigger) {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: var(--rm538-control-height) !important;
  min-height: var(--rm538-control-height) !important;
  margin: 0 !important;
  padding-block: 0 !important;
  padding-inline: 13px !important;
  border: 1px solid var(--rm538-control-border) !important;
  border-radius: var(--rm538-control-radius) !important;
  background-color: #fff !important;
  color: var(--rm538-control-text) !important;
  font-family: inherit !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm-admin-form-grid,
  .rm-admin-search-grid,
  .rm-admin-style-top-grid,
  .rm-admin-preview-filter,
  .rm-admin-log-toolbar,
  .rm533-style-filter-grid,
  .rm534-rule-filter-grid,
  .rm-v514-scope-picker
) select {
  padding-right: 36px !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm-admin-form-grid,
  .rm-admin-search-grid,
  .rm-admin-style-top-grid,
  .rm-admin-preview-filter,
  .rm-admin-log-toolbar,
  .rm533-style-filter-grid,
  .rm534-rule-filter-grid,
  .rm-v514-scope-picker
) :is(input, select, .rm-combo-trigger):focus-visible {
  border-color: #57a69d !important;
  box-shadow: 0 0 0 4px var(--rm538-focus) !important;
  outline: 0 !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm-admin-form-grid,
  .rm-admin-search-grid,
  .rm-admin-style-top-grid,
  .rm-admin-preview-filter,
  .rm-admin-log-toolbar,
  .rm533-style-filter-grid,
  .rm534-rule-filter-grid,
  .rm-v514-scope-picker
) :is(input, select):disabled {
  border-color: #d8e3e7 !important;
  background-color: #f2f6f7 !important;
  color: #70838d !important;
  opacity: 1 !important;
}

/* Dataset coverage follows the same width, typography, and rhythm as the
   surrounding form. Every column stretches instead of shrinking to its text. */
html.rm-admin-console #adminModuleContainer .rm535-scope-group-label {
  display: block !important;
  margin: 0 0 10px !important;
  color: var(--rm538-control-text) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly,
html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker,
html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  justify-self: stretch !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker,
html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-scope-state],
html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-rm533-scope-level] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: end !important;
  gap: 14px !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field > span {
  display: block !important;
  min-height: 16px !important;
  margin: 0 !important;
  color: var(--rm538-label-text) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field select {
  width: 100% !important;
  height: var(--rm538-control-height) !important;
  min-height: var(--rm538-control-height) !important;
  margin: 0 !important;
  padding: 0 36px 0 13px !important;
  border-radius: var(--rm538-control-radius) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-loading-note {
  min-height: 18px !important;
  margin: 8px 0 0 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

/* Responsive grids use the available iframe width, so opening or closing the
   parent sidebar does not create stretched fields or oversized buttons. */
html.rm-admin-console #adminModuleContainer :is(
  .rm-v514-user-filter-grid,
  .rm-admin-log-toolbar,
  .rm533-style-filter-grid,
  .rm534-rule-filter-grid
) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 172px), 1fr)) !important;
  align-items: end !important;
  gap: 12px !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm-v514-user-filter-grid,
  .rm-admin-log-toolbar,
  .rm533-style-filter-grid,
  .rm534-rule-filter-grid
) > * {
  grid-column: auto !important;
  min-width: 0 !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-search-grid.spatial {
  display: grid !important;
  grid-template-columns: minmax(180px, .8fr) minmax(240px, 1.4fr) auto !important;
  align-items: end !important;
  gap: 12px !important;
}

html.rm-admin-console #adminModuleContainer :is(.rm-admin-style-top-grid, .rm-admin-form-grid) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: end !important;
  column-gap: 16px !important;
  row-gap: 14px !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-spatial-layout {
  grid-template-columns: minmax(430px, .96fr) minmax(460px, 1.04fr) !important;
  gap: 18px !important;
}

/* Action buttons have a predictable footprint without becoming a full-width
   bar on desktop. Icon-only table actions retain their compact component. */
html.rm-admin-console #adminModuleContainer .rm-admin-small-btn:not(.rm-icon-action-btn):not(.rm-admin-icon-btn) {
  box-sizing: border-box !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 116px !important;
  max-width: 220px !important;
  height: 42px !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 16px !important;
  border-radius: 12px !important;
  white-space: nowrap !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm-v514-user-filter-grid,
  .rm-admin-log-toolbar,
  .rm-admin-search-grid
) > .rm-admin-small-btn {
  grid-column: auto !important;
  width: auto !important;
  min-width: 148px !important;
  max-width: 190px !important;
  justify-self: end !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-style-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-style-actions > .rm-admin-small-btn {
  flex: 0 1 auto !important;
  min-width: 132px !important;
  max-width: 190px !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-create-foot > .rm-admin-small-btn,
html.rm-admin-console #adminModuleContainer .rm-admin-module-head > .rm-admin-small-btn {
  flex: 0 0 auto !important;
}

/* --------------------------------------------------------------------------
   Add Data: the loading label never changes the button footprint.
   -------------------------------------------------------------------------- */

.webgis-adddata-refresh-btn {
  box-sizing: border-box !important;
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
}

.webgis-adddata-card-actions > .webgis-adddata-card-btn.primary,
.webgis-adddata-card-actions > .webgis-adddata-card-btn.primary.rm529-loading-control {
  box-sizing: border-box !important;
  width: min(176px, 100%) !important;
  min-width: min(176px, 100%) !important;
  max-width: 100% !important;
}

button.rm538-loading-width-lock {
  box-sizing: border-box !important;
  width: min(var(--rm538-loading-width), 100%) !important;
  min-width: min(var(--rm538-loading-width), 100%) !important;
  max-width: 100% !important;
}

/* The floating progress belongs only to a real dataset-to-map operation. */
#rm530GlobalDatasetProgress[data-rm538-progress-kind="catalog"] {
  display: none !important;
}

@media (max-width: 1180px) {
  html.rm-admin-console #adminModuleContainer .rm-admin-spatial-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 820px) {
  html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker,
  html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-scope-state],
  html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-rm533-scope-level] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field:nth-child(3) {
    grid-column: 1 / -1 !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-search-grid.spatial {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-search-grid.spatial > .rm-admin-small-btn {
    justify-self: start !important;
  }
}

@media (max-width: 620px) {
  html.rm-admin-console #adminModuleContainer :is(
    .rm-admin-form-grid,
    .rm-admin-style-top-grid,
    .rm-v514-user-filter-grid,
    .rm-admin-log-toolbar,
    .rm-admin-search-grid.spatial,
    .rm533-style-filter-grid,
    .rm534-rule-filter-grid
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker,
  html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-scope-state],
  html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-rm533-scope-level] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field:nth-child(3) {
    grid-column: auto !important;
  }

  html.rm-admin-console #adminModuleContainer :is(
    .rm-v514-user-filter-grid,
    .rm-admin-log-toolbar,
    .rm-admin-search-grid
  ) > .rm-admin-small-btn,
  html.rm-admin-console #adminModuleContainer .rm-admin-style-actions > .rm-admin-small-btn,
  html.rm-admin-console #adminModuleContainer .rm-admin-create-foot > .rm-admin-small-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-self: stretch !important;
  }

  .webgis-adddata-result-head {
    align-items: stretch !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  button.rm538-loading-width-lock {
    transition: none !important;
  }
}

/* bundled source: stage-5.39-ui.css */
/*
 * Ruang Maslahat Stage 5.39.0
 * Final cascade contract for regional controls, responsive admin fields,
 * predictable action widths, and the navy map title.
 */

:root {
  --rm539-navy: #10293d;
  --rm539-blue: #245a73;
  --rm539-teal: #0f766e;
  --rm539-control-height: 44px;
  --rm539-control-radius: 12px;
  --rm539-control-border: #d5e2e7;
  --rm539-control-text: #17384a;
  --rm539-label-text: #405b69;
  --rm539-muted: #687e89;
  --rm539-loading-bg: #f1f5f6;
  --rm539-focus-ring: rgba(15, 118, 110, .14);
}

/* --------------------------------------------------------------------------
   One field contract. Native selects must remain block-level controls; the
   previous display:flex declaration made them shrink to their option text.
   -------------------------------------------------------------------------- */

html.rm-admin-console #adminModuleContainer :is(
  .rm-admin-form-grid,
  .rm-admin-search-grid,
  .rm-admin-style-top-grid,
  .rm-admin-preview-filter,
  .rm-admin-log-toolbar,
  .rm-v514-user-filter-grid,
  .rm533-style-filter-grid,
  .rm534-rule-filter-grid,
  .rm517-style-toolbar,
  .rm-v514-scope-picker
) > label,
html.rm-admin-console #adminModuleContainer :is(
  .rm528-user-region-field,
  .rm523-log-region-field,
  .rm534-rule-region-field,
  .rm517-style-field,
  .rm-v514-scope-field
) {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: end !important;
  align-self: stretch !important;
  gap: 7px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: var(--rm539-label-text) !important;
  font-size: 11.5px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm-admin-form-grid,
  .rm-admin-search-grid,
  .rm-admin-style-top-grid,
  .rm-admin-preview-filter,
  .rm-admin-log-toolbar,
  .rm-v514-user-filter-grid,
  .rm533-style-filter-grid,
  .rm534-rule-filter-grid,
  .rm517-style-toolbar,
  .rm-v514-scope-picker
) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="file"]), select, .rm-combo-trigger) {
  box-sizing: border-box !important;
  inline-size: 100% !important;
  width: 100% !important;
  min-inline-size: 0 !important;
  min-width: 0 !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  block-size: var(--rm539-control-height) !important;
  height: var(--rm539-control-height) !important;
  min-block-size: var(--rm539-control-height) !important;
  min-height: var(--rm539-control-height) !important;
  align-self: stretch !important;
  margin: 0 !important;
  border: 1px solid var(--rm539-control-border) !important;
  border-radius: var(--rm539-control-radius) !important;
  background-color: #fff !important;
  color: var(--rm539-control-text) !important;
  font-family: inherit !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm-admin-form-grid,
  .rm-admin-search-grid,
  .rm-admin-style-top-grid,
  .rm-admin-preview-filter,
  .rm-admin-log-toolbar,
  .rm-v514-user-filter-grid,
  .rm533-style-filter-grid,
  .rm534-rule-filter-grid,
  .rm517-style-toolbar,
  .rm-v514-scope-picker
) input:not([type="hidden"]):not([type="checkbox"]):not([type="file"]) {
  display: block !important;
  padding: 0 13px !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm-admin-form-grid,
  .rm-admin-search-grid,
  .rm-admin-style-top-grid,
  .rm-admin-preview-filter,
  .rm-admin-log-toolbar,
  .rm-v514-user-filter-grid,
  .rm533-style-filter-grid,
  .rm534-rule-filter-grid,
  .rm517-style-toolbar,
  .rm-v514-scope-picker
) select {
  display: block !important;
  inline-size: 100% !important;
  width: 100% !important;
  min-inline-size: 100% !important;
  min-width: 100% !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  flex: 0 0 var(--rm539-control-height) !important;
  padding: 0 36px 0 13px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html.rm-admin-console #adminModuleContainer .rm-combo,
html.rm-admin-console #adminModuleContainer [id$="Combo"] {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

html.rm-admin-console #adminModuleContainer .rm-combo-trigger {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 13px !important;
}

html.rm-admin-console #adminModuleContainer :is(input, select, .rm-combo-trigger):focus-visible {
  border-color: #57a69d !important;
  box-shadow: 0 0 0 4px var(--rm539-focus-ring) !important;
  outline: 0 !important;
}

html.rm-admin-console #adminModuleContainer :is(input, select):disabled {
  border-color: #d8e3e7 !important;
  background-color: var(--rm539-loading-bg) !important;
  color: #6d818b !important;
  opacity: 1 !important;
}

/* --------------------------------------------------------------------------
   Regional controls: Dataset, User, Style, Rule, Reference, and Log all keep
   their columns mounted while loading, with loading copy inside each select.
   -------------------------------------------------------------------------- */

html.rm-admin-console #adminModuleContainer .rm-admin-spatial-scope-field,
html.rm-admin-console #adminModuleContainer .rm-v514-scope-span,
html.rm-admin-console #adminSpatialAreaReadonly {
  box-sizing: border-box !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

html.rm-admin-console #adminModuleContainer .rm535-scope-group-label {
  display: block !important;
  margin: 0 0 9px !important;
  color: var(--rm539-navy) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly,
html.rm-admin-console #adminSpatialAreaReadonly.rm-v514-area-box {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker,
html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-scope-state],
html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-rm533-scope-level] {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: end !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field,
html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field[hidden] {
  display: grid !important;
  grid-column: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  opacity: 1 !important;
}

html.rm-admin-console #adminModuleContainer .rm-v514-scope-picker[data-scope-display="adaptive"] .rm-v514-scope-field[hidden] {
  display: none !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field > span,
html.rm-admin-console #adminModuleContainer :is(
  .rm528-user-region-field,
  .rm523-log-region-field,
  .rm534-rule-region-field,
  .rm517-style-field
) > span {
  display: block !important;
  min-height: 16px !important;
  margin: 0 !important;
  color: var(--rm539-label-text) !important;
  font-size: 11.5px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}

html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field select {
  box-sizing: border-box !important;
  display: block !important;
  inline-size: 100% !important;
  width: 100% !important;
  min-inline-size: 100% !important;
  min-width: 100% !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
  margin: 0 !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm528-user-region-field,
  .rm523-log-region-field,
  .rm534-rule-region-field,
  .rm517-style-field,
  .rm-v514-scope-field
).is-loading select,
html.rm-admin-console #adminModuleContainer :is(
  .rm533-style-filter-panel,
  .rm534-rule-filter-panel,
  .rm535-scope-picker
).is-loading select,
html.rm-admin-console #adminModuleContainer [data-rm539-region-state="loading"] select {
  border-color: #d7e3e6 !important;
  background-color: var(--rm539-loading-bg) !important;
  color: #6b8089 !important;
  font-weight: 500 !important;
  cursor: wait !important;
  opacity: 1 !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm528-user-region-field,
  .rm523-log-region-field,
  .rm534-rule-region-field,
  .rm517-style-field
).is-error select,
html.rm-admin-console #adminModuleContainer [data-rm539-region-state="error"] select {
  border-color: #ead1cd !important;
  background-color: #fff8f7 !important;
  color: #8c514b !important;
}

html.rm-admin-console #adminModuleContainer .rm535-scope-loading-note {
  display: none !important;
}

html.rm-admin-console #adminModuleContainer :is(.rm533-style-filter-panel, .rm534-rule-filter-panel) {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 0 14px !important;
  padding: 14px !important;
  border: 1px solid #dce8eb !important;
  border-radius: 15px !important;
  background: linear-gradient(145deg, #f8fbfc, #f2f8f7) !important;
}

html.rm-admin-console #adminModuleContainer .rm533-style-filter-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: end !important;
  gap: 12px !important;
}

html.rm-admin-console #adminModuleContainer .rm534-rule-filter-grid.rm-admin-style-top-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: end !important;
  gap: 12px !important;
  margin: 0 !important;
}

/* --------------------------------------------------------------------------
   Responsive grids. Field lengths follow their cells; actions keep a compact,
   predictable footprint instead of stretching across arbitrary columns.
   -------------------------------------------------------------------------- */

html.rm-admin-console #adminModuleContainer :is(.rm-v514-user-filter-grid, .rm-admin-log-toolbar) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 168px), 1fr)) !important;
  align-items: end !important;
  gap: 12px !important;
}

html.rm-admin-console #adminModuleContainer :is(.rm-v514-user-filter-grid, .rm-admin-log-toolbar) > * {
  grid-column: auto !important;
  min-width: 0 !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-search-grid:not(.rm-v514-user-filter-grid) {
  display: grid !important;
  grid-template-columns: minmax(170px, .78fr) minmax(240px, 1.45fr) 164px !important;
  align-items: end !important;
  gap: 12px !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-search-grid.spatial {
  grid-template-columns: minmax(180px, .82fr) minmax(240px, 1.4fr) 150px !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: end !important;
  column-gap: 16px !important;
  row-gap: 14px !important;
}

html.rm-admin-console #adminModuleContainer .rm-v514-create-grid {
  grid-template-columns: repeat(3, minmax(180px, 1fr)) !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-style-top-grid:not(.rm534-rule-filter-grid) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: end !important;
  gap: 14px !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-preview-filter {
  display: grid !important;
  grid-template-columns: minmax(160px, .8fr) minmax(230px, 1.3fr) auto !important;
  align-items: end !important;
  gap: 12px !important;
}

html.rm-admin-console #adminModuleContainer .rm517-style-toolbar:has(#rm517ReloadStyle) {
  display: grid !important;
  grid-template-columns: minmax(220px, 1.25fr) minmax(200px, 1fr) 150px !important;
  align-items: end !important;
  gap: 12px !important;
}

html.rm-admin-console #adminModuleContainer .rm517-style-dataset-summary {
  grid-column: 1 / -1 !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-spatial-layout {
  grid-template-columns: minmax(430px, .96fr) minmax(460px, 1.04fr) !important;
  gap: 18px !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-small-btn:not(.rm-icon-action-btn):not(.rm-admin-icon-btn) {
  box-sizing: border-box !important;
  display: inline-flex !important;
  inline-size: auto !important;
  width: auto !important;
  min-inline-size: 128px !important;
  min-width: 128px !important;
  max-inline-size: 220px !important;
  max-width: 220px !important;
  block-size: 42px !important;
  height: 42px !important;
  min-block-size: 42px !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 16px !important;
  border-radius: 12px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm-v514-user-filter-grid,
  .rm-admin-log-toolbar,
  .rm-admin-search-grid,
  .rm517-style-toolbar
) > .rm-admin-small-btn {
  grid-column: auto !important;
  inline-size: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  justify-self: stretch !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-style-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(142px, 180px)) !important;
  align-items: center !important;
  justify-content: start !important;
  gap: 10px !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-style-actions > .rm-admin-small-btn {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-spatial-form-head > .rm-admin-small-btn {
  min-width: 92px !important;
  max-width: 120px !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-module-head > .rm-admin-small-btn,
html.rm-admin-console #adminModuleContainer .rm-admin-create-foot > .rm-admin-small-btn {
  flex: 0 0 auto !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-upload-btn {
  box-sizing: border-box !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 132px !important;
  max-width: 180px !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 16px !important;
  border-radius: 12px !important;
  white-space: nowrap !important;
}

/* --------------------------------------------------------------------------
   Peta Informasi title: the page previously lacked data-page on <html>, so
   theme selectors never matched and the legacy black color remained active.
   Both words now use the application's navy, regardless of later inline CSS.
   -------------------------------------------------------------------------- */

html[data-page="peta-informasi"] body .webgis-home-text > strong,
html body.rm-page-map .webgis-home-text > strong,
html[data-page="peta-informasi"] body .webgis-home-text > strong *,
html body.rm-page-map .webgis-home-text > strong * {
  color: var(--rm539-navy) !important;
  -webkit-text-fill-color: var(--rm539-navy) !important;
  background: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .72) !important;
}

@media (max-width: 1180px) {
  html.rm-admin-console #adminModuleContainer .rm-admin-spatial-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-v514-create-grid,
  html.rm-admin-console #adminModuleContainer .rm534-rule-filter-grid.rm-admin-style-top-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker,
  html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-scope-state],
  html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-rm533-scope-level],
  html.rm-admin-console #adminModuleContainer .rm533-style-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field:nth-child(3),
  html.rm-admin-console #adminModuleContainer .rm533-style-filter-grid > label:nth-child(3) {
    grid-column: 1 / -1 !important;
  }

  html.rm-admin-console #adminModuleContainer :is(
    .rm-admin-search-grid:not(.rm-v514-user-filter-grid),
    .rm-admin-search-grid.spatial,
    .rm-admin-preview-filter,
    .rm517-style-toolbar:has(#rm517ReloadStyle)
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.rm-admin-console #adminModuleContainer :is(
    .rm-admin-search-grid:not(.rm-v514-user-filter-grid),
    .rm-admin-search-grid.spatial,
    .rm517-style-toolbar:has(#rm517ReloadStyle)
  ) > .rm-admin-small-btn {
    justify-self: start !important;
    width: min(180px, 100%) !important;
  }
}

@media (max-width: 620px) {
  html.rm-admin-console #adminModuleContainer :is(
    .rm-admin-form-grid,
    .rm-v514-create-grid,
    .rm-admin-style-top-grid,
    .rm-admin-preview-filter,
    .rm533-style-filter-grid,
    .rm534-rule-filter-grid,
    .rm-admin-search-grid,
    .rm517-style-toolbar
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker,
  html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-scope-state],
  html.rm-admin-console #adminSpatialAreaReadonly .rm535-scope-picker[data-rm533-scope-level] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.rm-admin-console #adminSpatialAreaReadonly .rm-v514-scope-field:nth-child(3),
  html.rm-admin-console #adminModuleContainer .rm533-style-filter-grid > label:nth-child(3) {
    grid-column: auto !important;
  }

  html.rm-admin-console #adminModuleContainer :is(
    .rm-v514-user-filter-grid,
    .rm-admin-log-toolbar,
    .rm-admin-search-grid,
    .rm-admin-style-actions,
    .rm517-style-toolbar
  ) > .rm-admin-small-btn,
  html.rm-admin-console #adminModuleContainer .rm-admin-create-foot > .rm-admin-small-btn,
  html.rm-admin-console #adminModuleContainer .rm-admin-module-head > .rm-admin-small-btn,
  html.rm-admin-console #adminModuleContainer .rm-admin-upload-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-self: stretch !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-style-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.rm-admin-console #adminModuleContainer :is(input, select, button, .rm-combo-trigger) {
    transition: none !important;
  }
}

/* bundled source: stage-5.40-ui.css */
/*
 * Ruang Maslahat Stage 5.40.0
 * Searchable regional pickers and space-aware compact admin grids.
 */

:root {
  --rm540-navy: #10293d;
  --rm540-teal: #0f766e;
  --rm540-control-height: 44px;
  --rm540-control-radius: 14px;
  --rm540-border: #d4e1e6;
  --rm540-focus: rgba(15, 118, 110, .14);
}

/* Reuse the same searchable dropdown engine as Add Data. The stronger rule is
   intentional: Stage 5.39 gives native selects full width, so the enhanced
   native control must be visually hidden again after it receives a wrapper. */
html.rm-admin-console #adminModuleContainer select.rm540-region-native,
html.rm-admin-console #adminModuleContainer .rm-v514-scope-field select.rm540-region-native,
html.rm-admin-console #adminModuleContainer :is(
  .rm528-user-region-field,
  .rm523-log-region-field,
  .rm534-rule-region-field,
  .rm517-style-field
) select.rm540-region-native,
html[data-page="tindak-lanjut-laporan"] select.rm540-region-native {
  position: absolute !important;
  inset: auto !important;
  display: block !important;
  inline-size: 1px !important;
  width: 1px !important;
  min-inline-size: 1px !important;
  min-width: 1px !important;
  max-inline-size: 1px !important;
  max-width: 1px !important;
  block-size: 1px !important;
  height: 1px !important;
  min-block-size: 1px !important;
  min-height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

html.rm-admin-console #adminModuleContainer .rm540-region-combo,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo {
  position: relative !important;
  box-sizing: border-box !important;
  inline-size: 100% !important;
  width: 100% !important;
  min-inline-size: 0 !important;
  min-width: 0 !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

html.rm-admin-console #adminModuleContainer .rm540-region-combo .ls-custom-select-trigger,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo .ls-custom-select-trigger {
  position: relative !important;
  box-sizing: border-box !important;
  display: flex !important;
  inline-size: 100% !important;
  width: 100% !important;
  min-inline-size: 0 !important;
  min-width: 0 !important;
  max-inline-size: 100% !important;
  max-width: 100% !important;
  block-size: var(--rm540-control-height) !important;
  height: var(--rm540-control-height) !important;
  min-block-size: var(--rm540-control-height) !important;
  min-height: var(--rm540-control-height) !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 42px 0 13px !important;
  overflow: hidden !important;
  border: 1px solid var(--rm540-border) !important;
  border-radius: var(--rm540-control-radius) !important;
  background: #fff !important;
  color: #17384a !important;
  font-family: inherit !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  box-shadow: 0 1px 2px rgba(16, 41, 61, .025) !important;
}

html.rm-admin-console #adminModuleContainer .rm540-region-combo .ls-custom-select-label,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo .ls-custom-select-label {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html.rm-admin-console #adminModuleContainer .rm540-region-combo:not(.is-disabled) .ls-custom-select-trigger:hover,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo:not(.is-disabled) .ls-custom-select-trigger:hover {
  border-color: #9abfbd !important;
  background: #fbfefd !important;
}

html.rm-admin-console #adminModuleContainer .rm540-region-combo.is-open .ls-custom-select-trigger,
html.rm-admin-console #adminModuleContainer .rm540-region-combo .ls-custom-select-trigger:focus-visible,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo.is-open .ls-custom-select-trigger,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo .ls-custom-select-trigger:focus-visible {
  border-color: #57a69d !important;
  outline: 0 !important;
  box-shadow: 0 0 0 4px var(--rm540-focus) !important;
}

html.rm-admin-console #adminModuleContainer .rm540-region-combo.is-disabled .ls-custom-select-trigger,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo.is-disabled .ls-custom-select-trigger {
  border-color: #d8e3e7 !important;
  background: #f1f5f6 !important;
  color: #6d818b !important;
  opacity: 1 !important;
}

html.rm-admin-console #adminModuleContainer .rm540-region-combo.is-loading .ls-custom-select-trigger,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo.is-loading .ls-custom-select-trigger {
  padding-left: 38px !important;
  cursor: wait !important;
}

/* Fixed positioning keeps a menu visible above table and panel scroll areas. */
html.rm-admin-console #adminModuleContainer .rm540-region-combo .ls-custom-select-menu,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo .ls-custom-select-menu {
  position: fixed !important;
  z-index: 30000 !important;
  inset: var(--rm540-menu-top, auto) auto var(--rm540-menu-bottom, auto) var(--rm540-menu-left, 8px) !important;
  box-sizing: border-box !important;
  inline-size: var(--rm540-menu-width, 240px) !important;
  width: var(--rm540-menu-width, 240px) !important;
  min-inline-size: 180px !important;
  min-width: 180px !important;
  max-inline-size: calc(100vw - 16px) !important;
  max-width: calc(100vw - 16px) !important;
  max-block-size: min(286px, calc(100vh - 24px)) !important;
  max-height: min(286px, calc(100vh - 24px)) !important;
  padding: 8px !important;
  overflow-y: auto !important;
  border: 1px solid #d8e4e8 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 20px 46px rgba(16, 41, 61, .17) !important;
}

html.rm-admin-console #adminModuleContainer .rm540-region-combo .ls-custom-select-search-wrap,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo .ls-custom-select-search-wrap {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  padding: 1px 1px 8px !important;
  background: #fff !important;
}

html.rm-admin-console #adminModuleContainer .rm540-region-combo .ls-custom-select-search,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo .ls-custom-select-search {
  box-sizing: border-box !important;
  display: block !important;
  inline-size: 100% !important;
  width: 100% !important;
  min-inline-size: 0 !important;
  min-width: 0 !important;
  block-size: 40px !important;
  height: 40px !important;
  min-block-size: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #d6e2e7 !important;
  border-radius: 12px !important;
  background: #f6f9fa !important;
  color: #17384a !important;
  font-family: inherit !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
}

html.rm-admin-console #adminModuleContainer .rm540-region-combo .ls-custom-select-search:focus,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo .ls-custom-select-search:focus {
  border-color: #57a69d !important;
  background: #fff !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px var(--rm540-focus) !important;
}

html.rm-admin-console #adminModuleContainer .rm540-region-combo .ls-custom-select-options,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo .ls-custom-select-options {
  display: grid !important;
  gap: 3px !important;
}

html.rm-admin-console #adminModuleContainer .rm540-region-combo .ls-custom-select-option,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo .ls-custom-select-option {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-height: 38px !important;
  padding: 9px 11px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: transparent !important;
  color: #294756 !important;
  font-family: inherit !important;
  font-size: 12.5px !important;
  font-weight: 550 !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

html.rm-admin-console #adminModuleContainer .rm540-region-combo .ls-custom-select-option:is(:hover, :focus-visible),
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo .ls-custom-select-option:is(:hover, :focus-visible) {
  background: #eff7f5 !important;
  color: var(--rm540-navy) !important;
  outline: 0 !important;
}

html.rm-admin-console #adminModuleContainer .rm540-region-combo .ls-custom-select-option.is-selected,
html[data-page="tindak-lanjut-laporan"] .rm540-region-combo .ls-custom-select-option.is-selected {
  background: #e5f3f0 !important;
  color: #0b665f !important;
  font-weight: 750 !important;
}

/* Space-aware grids let a field move upward whenever a useful column still
   fits. They remain stable whether the parent sidebar is open or closed. */
html.rm-admin-console #adminModuleContainer .rm-admin-form-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)) !important;
  align-items: end !important;
  gap: 14px 16px !important;
}

html.rm-admin-console #adminModuleContainer .rm-v514-create-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 205px), 1fr)) !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm-admin-spatial-scope-field,
  .rm-v514-scope-span,
  .rm-admin-full-label
) {
  grid-column: 1 / -1 !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-style-top-grid:not(.rm534-rule-filter-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)) !important;
  align-items: end !important;
  gap: 14px !important;
}

html.rm-admin-console #adminModuleContainer :is(.rm533-style-filter-grid, .rm534-rule-filter-grid.rm-admin-style-top-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)) !important;
  align-items: end !important;
  gap: 12px !important;
}

html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)) !important;
  align-items: end !important;
  gap: 12px !important;
}

html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)) !important;
  align-items: end !important;
  gap: 12px !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm-admin-search-grid:not(.rm-v514-user-filter-grid),
  .rm-admin-preview-filter,
  .rm517-style-toolbar
) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)) !important;
  align-items: end !important;
  gap: 12px !important;
}

html.rm-admin-console #adminModuleContainer .rm517-style-dataset-summary {
  grid-column: 1 / -1 !important;
}

html.rm-admin-console #adminModuleContainer :is(
  .rm-v514-user-filter-grid,
  .rm-admin-log-toolbar,
  .rm-admin-search-grid,
  .rm517-style-toolbar
) > .rm-admin-small-btn {
  inline-size: min(190px, 100%) !important;
  width: min(190px, 100%) !important;
  min-inline-size: 0 !important;
  min-width: 0 !important;
  max-inline-size: 190px !important;
  max-width: 190px !important;
  justify-self: start !important;
}

html[data-page="tindak-lanjut-laporan"] .pegawai-followup-filter-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 175px), 1fr)) !important;
  align-items: end !important;
  gap: 10px !important;
}

html[data-page="tindak-lanjut-laporan"] .pegawai-followup-filter-row > :first-child {
  grid-column: auto !important;
}

/* The iframe remains the workspace's only scroll owner. The blue context
   header is moved into that document, so it scrolls with the form while the
   outer profile/sidebar topbar remains fixed. */
html[data-page="dashboard-admin"].rm536-workspace-active .content,
html[data-page="dashboard-admin"].rm540-workspace-active .content {
  padding: 14px 16px 16px !important;
}

html[data-page="dashboard-admin"].rm536-workspace-active .workspace-head,
html[data-page="dashboard-admin"].rm540-workspace-active .workspace-head {
  display: none !important;
}

html.rm-admin-embed.rm540-workspace-header-embedded .modern-dashboard-main {
  box-sizing: border-box !important;
  min-width: 0 !important;
}

html.rm-admin-embed .rm540-embedded-workspace-head {
  position: relative !important;
  box-sizing: border-box !important;
  display: flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 116px !important;
  align-items: center !important;
  margin: 14px 14px 0 !important;
  padding: 20px 22px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, .1) !important;
  border-radius: 19px !important;
  background: linear-gradient(128deg, #10293d 0%, #17445a 58%, #0f766e 132%) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(13, 39, 58, .12) !important;
}

html[data-page="tindak-lanjut-laporan"].rm-admin-embed .rm540-embedded-workspace-head {
  margin: 0 0 14px !important;
}

html.rm-admin-embed .rm540-embedded-workspace-head::before,
html.rm-admin-embed .rm540-embedded-workspace-head::after {
  content: "" !important;
  position: absolute !important;
  border: 1px solid rgba(255, 255, 255, .1) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}

html.rm-admin-embed .rm540-embedded-workspace-head::before {
  width: 220px !important;
  height: 220px !important;
  right: -52px !important;
  top: -116px !important;
}

html.rm-admin-embed .rm540-embedded-workspace-head::after {
  width: 128px !important;
  height: 128px !important;
  right: 108px !important;
  bottom: -98px !important;
}

html.rm-admin-embed .rm540-embedded-workspace-copy {
  position: relative !important;
  z-index: 1 !important;
  min-width: 0 !important;
  max-width: 820px !important;
}

html.rm-admin-embed .rm540-embedded-workspace-copy > span {
  display: inline-flex !important;
  padding: 5px 9px !important;
  border: 1px solid rgba(255, 255, 255, .15) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .1) !important;
  color: #d9fffa !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  letter-spacing: .07em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

html.rm-admin-embed .rm540-embedded-workspace-copy h1 {
  margin: 10px 0 4px !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: clamp(20px, 2.2vw, 24px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -.02em !important;
}

html.rm-admin-embed .rm540-embedded-workspace-copy p {
  max-width: 760px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .76) !important;
  font-family: inherit !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

html.rm-admin-embed.rm-admin-console .rm-admin-module-container {
  padding: 14px !important;
}

@media (max-width: 620px) {
  html.rm-admin-console #adminModuleContainer :is(
    .rm-admin-form-grid,
    .rm-v514-create-grid,
    .rm-admin-style-top-grid,
    .rm533-style-filter-grid,
    .rm534-rule-filter-grid,
    .rm-v514-user-filter-grid,
    .rm-admin-log-toolbar,
    .rm-admin-search-grid,
    .rm-admin-preview-filter,
    .rm517-style-toolbar
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.rm-admin-console #adminModuleContainer :is(
    .rm-v514-user-filter-grid,
    .rm-admin-log-toolbar,
    .rm-admin-search-grid,
    .rm517-style-toolbar
  ) > .rm-admin-small-btn {
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: none !important;
    max-width: none !important;
    justify-self: stretch !important;
  }

  html[data-page="dashboard-admin"].rm536-workspace-active .content,
  html[data-page="dashboard-admin"].rm540-workspace-active .content {
    padding: 8px !important;
  }

  html.rm-admin-embed .rm540-embedded-workspace-head {
    min-height: 106px !important;
    margin: 8px 8px 0 !important;
    padding: 17px !important;
    border-radius: 16px !important;
  }

  html[data-page="tindak-lanjut-laporan"].rm-admin-embed .rm540-embedded-workspace-head {
    margin: 0 0 10px !important;
  }

  html[data-page="tindak-lanjut-laporan"] .pegawai-followup-filter-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.rm-admin-embed.rm-admin-console .rm-admin-module-container {
    padding: 8px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.rm-admin-console #adminModuleContainer .rm540-region-combo :is(.ls-custom-select-trigger, .ls-custom-select-option),
  html[data-page="tindak-lanjut-laporan"] .rm540-region-combo :is(.ls-custom-select-trigger, .ls-custom-select-option) {
    transition: none !important;
  }
}

/* bundled source: stage-5.41-ui.css */
/*
 * Ruang Maslahat Stage 5.41.0
 * Five-item pagination and deliberate responsive dashboard grids.
 */

:root {
  --rm541-navy: #10293d;
  --rm541-teal: #0f766e;
  --rm541-line: #d9e5e9;
  --rm541-muted: #667d89;
}

.rm541-page-hidden {
  display: none !important;
}

.rm541-pagination[hidden] {
  display: none !important;
}

.rm541-pagination {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 12px 0 0 !important;
  padding: 10px 12px !important;
  border: 1px solid var(--rm541-line) !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg, #fbfdfd, #f3f8f8) !important;
  color: var(--rm541-navy) !important;
  box-shadow: 0 6px 18px rgba(16, 41, 61, .045) !important;
}

.rm541-pagination-summary {
  display: grid !important;
  min-width: 0 !important;
  gap: 3px !important;
}

.rm541-pagination-range,
.rm541-pagination-status {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.rm541-pagination-range {
  color: #294a5a !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.rm541-pagination-status {
  color: var(--rm541-muted) !important;
  font-size: 9.5px !important;
  font-weight: 650 !important;
}

.rm541-pagination-actions {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 8px !important;
}

.rm541-pagination-button {
  box-sizing: border-box !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 108px !important;
  height: 38px !important;
  min-height: 38px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 13px !important;
  border: 1px solid #cfdfe4 !important;
  border-radius: 11px !important;
  background: #fff !important;
  color: #294a5a !important;
  font-family: inherit !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 3px 9px rgba(16, 41, 61, .045) !important;
}

.rm541-pagination-button.next {
  border-color: #0f766e !important;
  background: linear-gradient(135deg, #0f766e, #245a73) !important;
  color: #fff !important;
}

.rm541-pagination-button:not(:disabled):hover {
  border-color: #86b6b1 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 7px 15px rgba(16, 41, 61, .08) !important;
}

.rm541-pagination-button:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 4px rgba(15, 118, 110, .14) !important;
}

.rm541-pagination-button:disabled {
  border-color: #dfe7ea !important;
  background: #edf2f3 !important;
  color: #91a0a8 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Neutralize older span rules before applying the current layout. */
html.rm-admin-console #adminModuleContainer :is(
  .rm-v514-user-filter-grid,
  .rm-admin-log-toolbar,
  .rm-admin-search-grid,
  .rm533-style-filter-grid,
  .rm534-rule-filter-grid,
  .rm-admin-preview-filter,
  .rm517-style-toolbar
) > * {
  grid-column: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

@media (min-width: 981px) {
  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    align-items: end !important;
    gap: 12px !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label:nth-of-type(1) { grid-column: span 3 !important; }
  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label:nth-of-type(2) { grid-column: span 6 !important; }
  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label:nth-of-type(3) { grid-column: span 3 !important; }
  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label:nth-of-type(4) { grid-column: span 3 !important; }
  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label:nth-of-type(5) { grid-column: span 4 !important; }
  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > label:nth-of-type(6) { grid-column: span 3 !important; }
  html.rm-admin-console #adminModuleContainer .rm-v514-user-filter-grid > .rm-admin-small-btn { grid-column: span 2 !important; }

  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    align-items: end !important;
    gap: 12px !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > label:nth-of-type(1),
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > label:nth-of-type(2),
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > label:nth-of-type(3),
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > .rm-admin-small-btn { grid-column: span 2 !important; }
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar > label:nth-of-type(4) { grid-column: span 4 !important; }

  html.rm-admin-console #adminModuleContainer .rm-admin-search-grid:not(.rm-v514-user-filter-grid) {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    align-items: end !important;
    gap: 12px !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-search-grid:not(.rm-v514-user-filter-grid) > label:nth-of-type(1) { grid-column: span 3 !important; }
  html.rm-admin-console #adminModuleContainer .rm-admin-search-grid:not(.rm-v514-user-filter-grid) > label:nth-of-type(2) { grid-column: span 6 !important; }
  html.rm-admin-console #adminModuleContainer .rm-admin-search-grid:not(.rm-v514-user-filter-grid) > .rm-admin-small-btn { grid-column: span 3 !important; }

  html.rm-admin-console #adminModuleContainer .rm533-style-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html.rm-admin-console #adminModuleContainer .rm534-rule-filter-grid.rm-admin-style-top-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-preview-filter {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    align-items: end !important;
    gap: 12px !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-preview-filter > label:nth-of-type(1) { grid-column: span 3 !important; }
  html.rm-admin-console #adminModuleContainer .rm-admin-preview-filter > label:nth-of-type(2) { grid-column: span 7 !important; }
  html.rm-admin-console #adminModuleContainer .rm-admin-preview-filter > .rm-admin-preview-count { grid-column: span 2 !important; }

  html.rm-admin-console #adminModuleContainer .rm517-style-toolbar:has(#rm517ReloadStyle) {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    align-items: end !important;
    gap: 12px !important;
  }

  html.rm-admin-console #adminModuleContainer .rm517-style-toolbar:has(#rm517ReloadStyle) > label:nth-of-type(1),
  html.rm-admin-console #adminModuleContainer .rm517-style-toolbar:has(#rm517ReloadStyle) > label:nth-of-type(2) { grid-column: span 5 !important; }
  html.rm-admin-console #adminModuleContainer .rm517-style-toolbar:has(#rm517ReloadStyle) > #rm517ReloadStyle { grid-column: span 2 !important; }
  html.rm-admin-console #adminModuleContainer .rm517-style-toolbar:has(#rm517ReloadStyle) > .rm517-style-dataset-summary { grid-column: 1 / -1 !important; }

  html[data-page="tindak-lanjut-laporan"] .pegawai-followup-filter-row {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    align-items: end !important;
    gap: 10px !important;
  }

  html[data-page="tindak-lanjut-laporan"] .pegawai-followup-filter-row > :nth-child(1) { grid-column: span 4 !important; }
  html[data-page="tindak-lanjut-laporan"] .pegawai-followup-filter-row > :nth-child(2),
  html[data-page="tindak-lanjut-laporan"] .pegawai-followup-filter-row > :nth-child(3),
  html[data-page="tindak-lanjut-laporan"] .pegawai-followup-filter-row > :nth-child(4),
  html[data-page="tindak-lanjut-laporan"] .pegawai-followup-filter-row > :nth-child(5) { grid-column: span 2 !important; }
}

@media (min-width: 621px) and (max-width: 980px) {
  html.rm-admin-console #adminModuleContainer :is(
    .rm-v514-user-filter-grid,
    .rm-admin-log-toolbar,
    .rm-admin-search-grid,
    .rm-admin-preview-filter,
    .rm517-style-toolbar
  ) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: end !important;
    gap: 12px !important;
  }

  html.rm-admin-console #adminModuleContainer :is(
    .rm-v514-user-filter-grid,
    .rm-admin-log-toolbar,
    .rm-admin-search-grid,
    .rm-admin-preview-filter,
    .rm517-style-toolbar
  ) > * {
    grid-column: auto !important;
  }

  html.rm-admin-console #adminModuleContainer :is(
    .rm-v514-user-filter-grid,
    .rm-admin-log-toolbar,
    .rm-admin-search-grid,
    .rm517-style-toolbar
  ) > .rm-admin-small-btn {
    width: min(190px, 100%) !important;
    max-width: 190px !important;
    justify-self: start !important;
  }

  html.rm-admin-console #adminModuleContainer .rm517-style-dataset-summary {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 620px) {
  .rm541-pagination {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .rm541-pagination-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .rm541-pagination-button {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rm541-pagination-button {
    transition: none !important;
  }
}

/* bundled source: stage-5.42-ui.css */
/*
 * Ruang Maslahat Stage 5.42.0
 * Compact Dataset/Log/Rule workspaces and direct activity assignment.
 */

:root {
  --rm542-navy: #10293d;
  --rm542-blue: #245a73;
  --rm542-teal: #0f766e;
  --rm542-teal-dark: #0d615b;
  --rm542-line: #d9e5e9;
  --rm542-muted: #647b87;
  --rm542-surface: #f6faf9;
  --rm542-ring: rgba(15, 118, 110, .14);
}

/* Dataset scope: remove the duplicate group title and make the control title
   itself explicit. */
html.rm-admin-console #adminModuleContainer .rm542-dataset-scope {
  gap: 0 !important;
}

html.rm-admin-console #adminModuleContainer .rm542-dataset-scope > .rm535-scope-group-label {
  display: none !important;
}

html.rm-admin-console #adminModuleContainer .rm542-dataset-scope #adminSpatialAreaReadonly {
  margin: 0 !important;
}

/* Dataset list: four meaningful columns replace seven fragmented columns. */
html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap.rm542-dataset-table-wrap {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table,
html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table thead,
html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table tbody {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: auto !important;
}

html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table thead tr,
html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table tbody tr {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, .86fr) 142px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
}

html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table tr.rm541-page-hidden {
  display: none !important;
}

html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table th:nth-child(n),
html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table td:nth-child(n) {
  display: block !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 11px 10px !important;
  overflow: hidden !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table th:last-child,
html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table td:last-child {
  text-align: center !important;
}

html.rm-admin-console #adminModuleContainer .rm542-dataset-meta {
  display: flex !important;
  min-width: 0 !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-top: 7px !important;
}

html.rm-admin-console #adminModuleContainer .rm542-dataset-chip {
  display: inline-flex !important;
  max-width: 100% !important;
  padding: 3px 6px !important;
  border: 1px solid #dbe7ea !important;
  border-radius: 7px !important;
  background: #f4f8f9 !important;
  color: #45616e !important;
  font-size: 8.8px !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
  overflow-wrap: anywhere !important;
}

html.rm-admin-console #adminModuleContainer .rm542-dataset-chip.category {
  border-color: #cfe6e1 !important;
  background: #edf7f4 !important;
  color: var(--rm542-teal-dark) !important;
}

html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm535-dataset-status-cell {
  gap: 6px !important;
}

html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm516-dataset-actions {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
}

html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm516-dataset-actions .rm-icon-action-btn,
html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm516-dataset-actions .rm517-edit-legend-action {
  box-sizing: border-box !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border-radius: 10px !important;
}

/* Style: the filter panel and dataset/field toolbar should read as one compact
   sequence, without a doubled grid-gap plus bottom margin. */
html.rm-admin-console #adminModuleContainer .rm517-style-shell {
  gap: 10px !important;
}

html.rm-admin-console #adminModuleContainer .rm517-style-shell > .rm533-style-filter-panel {
  margin: 0 !important;
}

html.rm-admin-console #adminModuleContainer .rm517-style-shell > .rm517-style-toolbar {
  margin: 0 !important;
}

/* Log: Province/District occupy row one; search controls and the compact action
   occupy row two. DOM order is synchronized by Stage 5.42 JavaScript. */
@media (min-width: 981px) {
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    align-items: end !important;
    gap: 11px 12px !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > * {
    grid-column: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > #rm523LogProvinceField,
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > #rm523LogDistrictField {
    grid-column: span 6 !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > label:has(#adminLogSearchBy) {
    grid-column: span 3 !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > label:has(#adminLogKeyword) {
    grid-column: span 6 !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > .rm-admin-small-btn {
    grid-column: span 3 !important;
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
  }
}

/* Rule workspace follows the simpler Style flow: dataset filter, optional
   spreadsheet import, actions, then a full-width preview. */
html.rm-admin-console #adminModuleContainer .rm-admin-rule-layout.rm542-rule-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-layout > .rm-admin-rule-form,
html.rm-admin-console #adminModuleContainer .rm542-rule-layout > .rm-admin-rule-preview {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 15px !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-form {
  gap: 12px !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-import-details {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid #dbe7ea !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg, #f8fbfb, #f2f8f7) !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-import-summary {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) 24px !important;
  width: 100% !important;
  min-height: 58px !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  color: var(--rm542-navy) !important;
  cursor: pointer !important;
  list-style: none !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-import-summary::-webkit-details-marker {
  display: none !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-import-summary > svg {
  box-sizing: border-box !important;
  width: 36px !important;
  height: 36px !important;
  padding: 8px !important;
  border-radius: 11px !important;
  background: #e7f3f1 !important;
  color: var(--rm542-teal) !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-import-summary strong,
html.rm-admin-console #adminModuleContainer .rm542-rule-import-summary small {
  display: block !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-import-summary strong {
  font-size: 11.5px !important;
  font-weight: 850 !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-import-summary small {
  margin-top: 3px !important;
  color: var(--rm542-muted) !important;
  font-size: 9.6px !important;
  font-weight: 600 !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-import-summary > i {
  color: #56717e !important;
  font-size: 18px !important;
  font-style: normal !important;
  text-align: center !important;
  transition: transform .18s ease !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-import-details[open] > .rm542-rule-import-summary > i {
  transform: rotate(180deg) !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-import-details > .rm-style-paste-card {
  margin: 0 10px 10px !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

/* Rule preview filters stay side-by-side whenever the viewport can support it. */
html.rm-admin-console #adminModuleContainer #adminRulePreviewFilterBar,
html.rm-admin-console #adminModuleContainer #adminKegiatanRulePreviewFilterBar {
  display: grid !important;
  grid-template-columns: minmax(145px, .62fr) minmax(230px, 1.38fr) auto !important;
  align-items: end !important;
  gap: 11px !important;
}

html.rm-admin-console #adminModuleContainer #adminRulePreviewFilterBar > *,
html.rm-admin-console #adminModuleContainer #adminKegiatanRulePreviewFilterBar > * {
  grid-column: auto !important;
  min-width: 0 !important;
}

/* Zone rule table: merge KDB/KLB/KDH/height into a compact metrics column so
   both Edit and Add Activity remain visible without horizontal scrolling. */
html.rm-admin-console #adminModuleContainer #adminRuleTableWrap.rm542-rule-table-wrap,
html.rm-admin-console #adminModuleContainer #adminKegiatanRuleTableWrap.rm542-activity-rule-table-wrap {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-table,
html.rm-admin-console #adminModuleContainer .rm542-rule-table thead,
html.rm-admin-console #adminModuleContainer .rm542-rule-table tbody,
html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table,
html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table thead,
html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table tbody {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: auto !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-table thead tr,
html.rm-admin-console #adminModuleContainer .rm542-rule-table tbody tr {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.75fr) 92px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table thead tr,
html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table tbody tr {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) minmax(105px, .64fr) minmax(0, 1.35fr) 64px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-table tr.rm541-page-hidden,
html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table tr.rm541-page-hidden {
  display: none !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-table th:nth-child(n),
html.rm-admin-console #adminModuleContainer .rm542-rule-table td:nth-child(n),
html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table th:nth-child(n),
html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table td:nth-child(n) {
  display: block !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 10px !important;
  overflow: hidden !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-zone {
  display: grid !important;
  align-content: center !important;
  gap: 4px !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-zone strong {
  color: var(--rm542-navy) !important;
  font-size: 11.5px !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-zone small {
  color: var(--rm542-muted) !important;
  font-size: 10px !important;
  line-height: 1.45 !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-metrics {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: 6px !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-metric {
  display: grid !important;
  min-width: 0 !important;
  gap: 2px !important;
  padding: 6px 7px !important;
  border: 1px solid #e0eaed !important;
  border-radius: 9px !important;
  background: #f7fafb !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-metric b,
html.rm-admin-console #adminModuleContainer .rm542-rule-metric em {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-metric b {
  color: #667e89 !important;
  font-size: 8px !important;
  font-weight: 800 !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-metric em {
  color: #294b5b !important;
  font-size: 10.5px !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-action-cell {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-actions .rm-icon-action-btn,
html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table .rm-icon-action-btn {
  box-sizing: border-box !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 10px !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-actions .rm542-add-activity {
  border-color: #b8dcd6 !important;
  background: #eaf6f3 !important;
  color: var(--rm542-teal-dark) !important;
}

html.rm-admin-console #adminModuleContainer .rm542-rule-actions svg,
html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table .rm-icon-action-btn svg {
  width: 15px !important;
  height: 15px !important;
}

/* Rule editor and direct activity assignment. */
body.rm542-modal-open {
  overflow: hidden !important;
}

.rm542-rule-modal[hidden] {
  display: none !important;
}

.rm542-rule-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483300 !important;
  display: grid !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 100dvh !important;
  place-items: center !important;
  padding: clamp(12px, 3vw, 28px) !important;
  overflow: auto !important;
  background: rgba(8, 27, 41, .5) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
}

.rm542-rule-dialog {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  width: min(760px, calc(100vw - 28px)) !important;
  max-height: min(88dvh, 820px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(211, 226, 231, .9) !important;
  border-radius: 21px !important;
  background: #fff !important;
  color: var(--rm542-navy) !important;
  box-shadow: 0 28px 80px rgba(7, 28, 44, .26) !important;
}

.rm542-activity-dialog {
  width: min(820px, calc(100vw - 28px)) !important;
}

.rm542-rule-modal-head {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 38px !important;
  align-items: start !important;
  gap: 14px !important;
  padding: 19px 20px 16px !important;
  border-bottom: 1px solid #e5edef !important;
  background: linear-gradient(135deg, #f7fbfb, #eef7f5) !important;
}

.rm542-rule-modal-head span,
.rm542-rule-modal-head h3,
.rm542-rule-modal-head p {
  display: block !important;
  margin: 0 !important;
}

.rm542-rule-modal-head span {
  color: var(--rm542-teal) !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.rm542-rule-modal-head h3 {
  margin-top: 4px !important;
  color: var(--rm542-navy) !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
}

.rm542-rule-modal-head p {
  margin-top: 5px !important;
  color: var(--rm542-muted) !important;
  font-size: 10.5px !important;
  line-height: 1.5 !important;
}

.rm542-rule-modal-close {
  box-sizing: border-box !important;
  display: inline-flex !important;
  width: 34px !important;
  height: 34px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 1px solid #d8e4e7 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #45606e !important;
  cursor: pointer !important;
}

.rm542-rule-modal-close svg {
  width: 16px !important;
  height: 16px !important;
}

.rm542-rule-modal-close:hover {
  border-color: #b9d7d3 !important;
  color: var(--rm542-teal-dark) !important;
}

.rm542-rule-modal-body {
  box-sizing: border-box !important;
  display: grid !important;
  min-height: 0 !important;
  gap: 14px !important;
  padding: 17px 20px 20px !important;
  overflow: auto !important;
}

.rm542-rule-edit-grid,
.rm542-activity-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: end !important;
  gap: 12px !important;
}

.rm542-rule-edit-grid label,
.rm542-activity-grid label {
  display: grid !important;
  min-width: 0 !important;
  gap: 6px !important;
}

.rm542-rule-edit-grid label > span,
.rm542-activity-grid label > span {
  color: #405b68 !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
}

.rm542-rule-wide {
  grid-column: 1 / -1 !important;
}

.rm542-rule-edit-grid input,
.rm542-rule-edit-grid textarea,
.rm542-activity-grid input,
.rm542-activity-grid textarea,
.rm542-activity-grid .rm-combo-trigger {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 9px 11px !important;
  border: 1px solid #cfdee3 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--rm542-navy) !important;
  font: 600 11px/1.35 inherit !important;
  outline: none !important;
}

.rm542-rule-edit-grid input:focus,
.rm542-rule-edit-grid textarea:focus,
.rm542-activity-grid input:focus,
.rm542-activity-grid textarea:focus,
.rm542-activity-grid .rm-combo-trigger:focus-visible {
  border-color: #75aca6 !important;
  box-shadow: 0 0 0 4px var(--rm542-ring) !important;
}

.rm542-existing-activities {
  display: grid !important;
  min-width: 0 !important;
  gap: 9px !important;
  padding: 12px !important;
  border: 1px solid #dde8eb !important;
  border-radius: 14px !important;
  background: var(--rm542-surface) !important;
}

.rm542-section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.rm542-section-head strong {
  color: var(--rm542-navy) !important;
  font-size: 11px !important;
}

.rm542-section-head small {
  color: var(--rm542-teal) !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
}

.rm542-activity-list {
  display: grid !important;
  max-height: 178px !important;
  gap: 7px !important;
  overflow: auto !important;
}

.rm542-activity-list article {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 9px !important;
  border: 1px solid #e1eaed !important;
  border-radius: 10px !important;
  background: #fff !important;
}

.rm542-activity-list article strong,
.rm542-activity-list article small {
  display: block !important;
}

.rm542-activity-list article strong {
  color: #294957 !important;
  font-size: 10.5px !important;
}

.rm542-activity-list article small {
  margin-top: 3px !important;
  color: var(--rm542-muted) !important;
  font-size: 9.2px !important;
}

.rm542-activity-list article > span {
  padding: 4px 7px !important;
  border-radius: 8px !important;
  background: #eaf5f2 !important;
  color: var(--rm542-teal-dark) !important;
  font-size: 8.8px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.rm542-activity-loading,
.rm542-activity-empty,
.rm542-form-state {
  color: var(--rm542-muted) !important;
  font-size: 10px !important;
  line-height: 1.5 !important;
}

.rm542-activity-loading {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 48px !important;
  justify-content: center !important;
}

.rm542-activity-form {
  display: grid !important;
  gap: 11px !important;
}

.rm542-form-state {
  padding: 8px 10px !important;
  border-radius: 10px !important;
  background: #f2f7f8 !important;
}

.rm542-rule-modal-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 9px !important;
  padding-top: 3px !important;
}

.rm542-rule-modal-actions button {
  box-sizing: border-box !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 126px !important;
  min-height: 41px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 14px !important;
  border-radius: 11px !important;
  font: 800 10.5px/1 inherit !important;
  cursor: pointer !important;
}

.rm542-rule-modal-actions .rm542-secondary {
  border: 1px solid #d5e1e5 !important;
  background: #fff !important;
  color: #49616e !important;
}

.rm542-rule-modal-actions .rm542-primary {
  border: 1px solid var(--rm542-teal) !important;
  background: linear-gradient(135deg, var(--rm542-teal), var(--rm542-blue)) !important;
  color: #fff !important;
  box-shadow: 0 7px 17px rgba(15, 118, 110, .14) !important;
}

.rm542-rule-modal-actions button:disabled {
  border-color: #dce5e8 !important;
  background: #edf2f3 !important;
  color: #8b9ba3 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

html.rm-admin-embed.rm524-portal-active .rm524-portal-modal > .rm542-rule-dialog {
  width: min(820px, calc(100vw - 30px)) !important;
  max-height: min(90dvh, 840px) !important;
  margin: 0 auto !important;
  visibility: visible !important;
}

@media (min-width: 621px) and (max-width: 980px) {
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: end !important;
    gap: 11px !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > * {
    grid-column: auto !important;
    min-width: 0 !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > .rm-admin-small-btn {
    width: min(190px, 100%) !important;
    max-width: 190px !important;
    justify-self: start !important;
  }

  html.rm-admin-console #adminModuleContainer #adminRulePreviewFilterBar,
  html.rm-admin-console #adminModuleContainer #adminKegiatanRulePreviewFilterBar {
    grid-template-columns: minmax(145px, .75fr) minmax(220px, 1.25fr) !important;
  }

  html.rm-admin-console #adminModuleContainer #adminRulePreviewFilterBar > .rm-admin-preview-count,
  html.rm-admin-console #adminModuleContainer #adminKegiatanRulePreviewFilterBar > .rm-admin-preview-count {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
  }
}

@media (max-width: 760px) {
  html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table thead,
  html.rm-admin-console #adminModuleContainer .rm542-rule-table thead,
  html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table thead {
    display: none !important;
  }

  html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table tbody tr,
  html.rm-admin-console #adminModuleContainer .rm542-rule-table tbody tr,
  html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    margin-bottom: 10px !important;
    padding: 6px !important;
    border: 1px solid #dce7ea !important;
    border-radius: 13px !important;
    background: #fff !important;
  }

  html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table tr.rm541-page-hidden,
  html.rm-admin-console #adminModuleContainer .rm542-rule-table tr.rm541-page-hidden,
  html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table tr.rm541-page-hidden {
    display: none !important;
  }

  html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table td:nth-child(n),
  html.rm-admin-console #adminModuleContainer .rm542-rule-table td:nth-child(n),
  html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table td:nth-child(n) {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 9px !important;
    border-bottom: 1px solid #edf2f3 !important;
  }

  html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table td::before,
  html.rm-admin-console #adminModuleContainer .rm542-rule-table td::before,
  html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table td::before {
    content: attr(data-label) !important;
    color: #617781 !important;
    font-size: 9px !important;
    font-weight: 850 !important;
  }

  html.rm-admin-console #adminModuleContainer .rm542-rule-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.rm-admin-console #adminModuleContainer #adminSpatialTableWrap .rm542-dataset-table td:last-child,
  html.rm-admin-console #adminModuleContainer .rm542-rule-table td:last-child,
  html.rm-admin-console #adminModuleContainer .rm542-activity-rule-table td:last-child {
    border-bottom: 0 !important;
  }
}

@media (max-width: 620px) {
  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  html.rm-admin-console #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > * {
    grid-column: auto !important;
    width: 100% !important;
    max-width: none !important;
  }

  html.rm-admin-console #adminModuleContainer #adminRulePreviewFilterBar,
  html.rm-admin-console #adminModuleContainer #adminKegiatanRulePreviewFilterBar {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.rm-admin-console #adminModuleContainer #adminRulePreviewFilterBar > *,
  html.rm-admin-console #adminModuleContainer #adminKegiatanRulePreviewFilterBar > * {
    grid-column: auto !important;
  }

  html.rm-admin-console #adminModuleContainer .rm542-rule-import-summary {
    grid-template-columns: 34px minmax(0, 1fr) 20px !important;
    padding: 9px 10px !important;
  }

  .rm542-rule-modal {
    padding: 8px !important;
  }

  .rm542-rule-dialog,
  .rm542-activity-dialog {
    width: calc(100vw - 16px) !important;
    max-height: 94dvh !important;
    border-radius: 16px !important;
  }

  .rm542-rule-modal-head {
    padding: 15px 14px 13px !important;
  }

  .rm542-rule-modal-body {
    padding: 14px !important;
  }

  .rm542-rule-edit-grid,
  .rm542-activity-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .rm542-rule-wide {
    grid-column: auto !important;
  }

  .rm542-activity-list article {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .rm542-activity-list article > span {
    width: fit-content !important;
  }

  .rm542-rule-modal-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .rm542-rule-modal-actions button {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rm542-rule-import-summary > i {
    transition: none !important;
  }
}

/* bundled source: stage-5.43-ui.css */
/* Ruang Maslahat Stage 5.44.27
   Scroll-performance hardening and distinct report-panel identities. */

html.rm-admin-embed:not(.rm524-portal-active) body {
  scroll-behavior: auto !important;
}

/* Lokasi Laporan: internal navy–teal identity. The !important declarations
   intentionally win over the older inline component style in index.html. */
#rm513AdminReportShell .rm513-admin-report-panel {
  border-color: rgba(11, 46, 65, .2) !important;
  background: #fff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#rm513AdminReportShell .rm513-admin-report-head {
  position: relative !important;
  isolation: isolate !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 34px !important;
  grid-template-rows: auto auto auto !important;
  align-items: center !important;
  gap: 2px 11px !important;
  min-height: 104px !important;
  padding: 15px 15px !important;
  overflow: hidden !important;
  border-bottom: 0 !important;
  background: linear-gradient(135deg, #10293d 0%, #164c5d 54%, #0f766e 100%) !important;
  color: #fff !important;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .12) !important;
}

#rm513AdminReportShell .rm513-admin-report-head::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -70px;
  right: -46px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(95, 211, 194, .25), transparent 68%);
  pointer-events: none;
}

#rm513AdminReportShell .rm543-location-head-icon,
#rm57ReportsPanel .rm543-my-reports-head-icon {
  box-sizing: border-box !important;
  display: grid !important;
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  place-items: center !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, .13) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13) !important;
}

#rm513AdminReportShell .rm543-location-head-icon svg,
#rm57ReportsPanel .rm543-my-reports-head-icon svg {
  width: 21px !important;
  height: 21px !important;
}

#rm513AdminReportShell .rm513-admin-report-head > .badge {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 3px 7px !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  background: rgba(255, 255, 255, .13) !important;
  color: rgba(255, 255, 255, .94) !important;
  font-size: 8px !important;
  line-height: 1.25 !important;
}

#rm513AdminReportShell .rm513-admin-report-head > h3 {
  grid-column: 2 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
  margin: 1px 0 !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 820 !important;
  line-height: 1.24 !important;
  overflow-wrap: anywhere !important;
}

#rm513AdminReportShell .rm513-admin-report-head > p {
  grid-column: 2 !important;
  grid-row: 3 !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .84) !important;
  font-size: 9.8px !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere !important;
}

#rm513AdminReportShell .rm513-admin-report-close {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  grid-column: 3 !important;
  grid-row: 1 / span 3 !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  justify-self: end !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  border-radius: 11px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: #fff !important;
  box-shadow: none !important;
}

#rm513AdminReportShell .rm513-admin-report-close:hover,
#rm513AdminReportShell .rm513-admin-report-close:focus-visible {
  background: rgba(255, 255, 255, .24) !important;
  outline: 0 !important;
}

/* Laporan Saya: a brighter teal identity so it is immediately distinct from
   the navy analysis panels while remaining inside the application palette. */
#rm57ReportsPanel.rm57-reports-panel {
  border-color: rgba(10, 105, 101, .22) !important;
  background: #fff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#rm57ReportsPanel .rm57-reports-head {
  position: relative !important;
  isolation: isolate !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 34px !important;
  grid-template-rows: auto auto auto !important;
  align-items: center !important;
  gap: 2px 11px !important;
  min-height: 100px !important;
  padding: 14px 15px !important;
  overflow: hidden !important;
  border-bottom: 0 !important;
  background: linear-gradient(135deg, #0b6f75 0%, #0f8b80 55%, #20a489 100%) !important;
  color: #fff !important;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .13) !important;
}

#rm57ReportsPanel .rm57-reports-head::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -44px;
  bottom: -86px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(191, 255, 235, .24), transparent 67%);
  pointer-events: none;
}

#rm57ReportsPanel .rm57-reports-head > .badge {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 3px 7px !important;
  border: 1px solid rgba(255, 255, 255, .17) !important;
  background: rgba(255, 255, 255, .14) !important;
  color: rgba(255, 255, 255, .95) !important;
  font-size: 8px !important;
  line-height: 1.25 !important;
}

#rm57ReportsPanel .rm57-reports-head > h3 {
  grid-column: 2 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
  margin: 1px 0 !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 820 !important;
  line-height: 1.24 !important;
}

#rm57ReportsPanel .rm57-reports-head > p {
  grid-column: 2 !important;
  grid-row: 3 !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .85) !important;
  font-size: 10px !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere !important;
}

#rm57ReportsPanel .rm57-reports-head > .rm57-close {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  grid-column: 3 !important;
  grid-row: 1 / span 3 !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  justify-self: end !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  border-radius: 11px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: #fff !important;
  box-shadow: none !important;
}

#rm57ReportsPanel .rm57-reports-head > .rm57-close:hover,
#rm57ReportsPanel .rm57-reports-head > .rm57-close:focus-visible {
  background: rgba(255, 255, 255, .25) !important;
  outline: 0 !important;
}

@media (max-width: 520px) {
  #rm513AdminReportShell .rm513-admin-report-head,
  #rm57ReportsPanel .rm57-reports-head {
    grid-template-columns: 38px minmax(0, 1fr) 32px !important;
    gap: 2px 9px !important;
    min-height: 94px !important;
    padding: 13px 12px !important;
  }

  #rm513AdminReportShell .rm543-location-head-icon,
  #rm57ReportsPanel .rm543-my-reports-head-icon {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    border-radius: 12px !important;
  }

  #rm513AdminReportShell .rm513-admin-report-close,
  #rm57ReportsPanel .rm57-reports-head > .rm57-close {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
  }
}

/* Ruang Maslahat Stage 5.44.27 - filter Log Aktivitas proporsional.
   Berlaku pada dashboard mandiri dan panel iframe tanpa bergantung pada waktu
   pemasangan class enhancement JavaScript. */
@media (min-width: 621px) {
  :is(html.rm-admin-console, html.rm-admin-embed) #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar:has(.rm523-log-region-field:not([hidden])) {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    align-items: end !important;
    gap: 11px 12px !important;
  }

  :is(html.rm-admin-console, html.rm-admin-embed) #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > * {
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
  }

  :is(html.rm-admin-console, html.rm-admin-embed) #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > #rm523LogProvinceField {
    order: 1 !important;
    grid-column: span 3 !important;
  }

  :is(html.rm-admin-console, html.rm-admin-embed) #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > #rm523LogDistrictField {
    order: 2 !important;
    grid-column: span 5 !important;
  }

  :is(html.rm-admin-console, html.rm-admin-embed) #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > label:has(#adminLogSearchBy) {
    order: 3 !important;
    grid-column: span 4 !important;
  }

  :is(html.rm-admin-console, html.rm-admin-embed) #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > label:has(#adminLogKeyword) {
    order: 4 !important;
    grid-column: span 9 !important;
  }

  :is(html.rm-admin-console, html.rm-admin-embed) #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > .rm-admin-small-btn {
    order: 5 !important;
    grid-column: span 3 !important;
    width: 100% !important;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;
    justify-self: stretch !important;
  }
}

@media (max-width: 620px) {
  :is(html.rm-admin-console, html.rm-admin-embed) #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar:has(.rm523-log-region-field:not([hidden])) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  :is(html.rm-admin-console, html.rm-admin-embed) #adminModuleContainer .rm-admin-log-toolbar.rm542-log-toolbar > * {
    grid-column: auto !important;
    width: 100% !important;
    max-width: none !important;
  }
}
/* Langkah Authenticator mengganti isi kartu kanan Login Internal secara langsung. */
.internal-login-card.rm-mfa-mode{max-width:430px}
.internal-login-page .login-right.rm-mfa-right-active{height:100vh!important;max-height:100vh!important;box-sizing:border-box!important;align-items:flex-start!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding-top:24px!important;padding-bottom:24px!important}
.rm-mfa-right-active .internal-login-card.rm-mfa-mode{flex:0 0 auto;margin:0 auto!important}
.internal-login-card>.rm-mfa-original-hidden{display:none!important}
.rm-mfa-inline{width:100%;box-sizing:border-box;color:#10293d}
.rm-mfa-inline-header{margin-bottom:12px!important}.rm-mfa-inline-header h3{font-size:24px!important;line-height:1.18}.rm-mfa-lead{margin:6px 0 0;color:#64748b;font-size:13px;line-height:1.5}
.rm-mfa-setup{padding:10px;margin-bottom:12px;border:1px solid #d7e8e9;border-radius:15px;background:#f5faf9}.rm-mfa-setup label,.rm-mfa-code-label{display:block;margin-bottom:7px;color:#1e293b;font-size:13px;font-weight:800}
.rm-mfa-qr{display:grid;place-items:center;width:138px;min-height:138px;margin:0 auto 8px;padding:6px;border:1px solid #d5e4e7;border-radius:13px;background:#fff;box-shadow:0 7px 20px rgba(15,63,70,.07)}.rm-mfa-qr svg{display:block;width:100%;height:auto;max-width:126px}.rm-mfa-qr.is-error{width:min(100%,280px);min-height:70px;padding:10px;color:#a13a31;text-align:center;font-size:.8rem}.rm-mfa-setup details{border-top:1px solid #d7e8e9;padding-top:8px}.rm-mfa-setup summary{cursor:pointer;color:#0d6f67;font-size:12px;font-weight:800}.rm-mfa-setup details[open] summary{margin-bottom:8px}
.rm-mfa-key{display:flex;align-items:center;gap:8px}.rm-mfa-key code{min-width:0;flex:1;padding:10px;border-radius:10px;background:#e8f1f2;overflow-wrap:anywhere;font-size:12px;font-weight:800;letter-spacing:.06em}.rm-mfa-key button,.rm-mfa-copy-all{border:1px solid #91cfca;border-radius:10px;background:#fff;color:#087769;font-weight:800;padding:10px 13px;cursor:pointer}
.internal-login-card .rm-mfa-code-group{margin-bottom:0}.internal-login-card .rm-mfa-code-group .rm-mfa-code{width:100%;height:46px;min-height:46px;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:16px;padding:0 16px;background:#fff;color:#0f172a;text-align:left;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:.1em}.internal-login-card .rm-mfa-code-group .rm-mfa-code:focus{outline:none;border-color:#0f766e;box-shadow:0 0 0 4px rgba(15,118,110,.1)}
.rm-mfa-error{min-height:18px;margin:4px 0;color:#b42318;font-size:12px;line-height:1.4}.rm-mfa-submit,.rm-mfa-continue{width:100%;min-height:46px}.rm-mfa-back-row{display:flex;justify-content:center;margin-top:10px}
.rm-recovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.rm-recovery-grid code{padding:10px;border:1px dashed #9ebfc3;border-radius:9px;background:#f3f8f8;text-align:center;font-weight:800}.rm-mfa-copy-all{width:100%;margin-bottom:14px}.rm-mfa-confirm{display:flex;align-items:flex-start;gap:9px;margin:5px 0 16px;font-size:.88rem;color:#425d6b}.rm-mfa-confirm input{margin-top:2px}
@media(max-width:760px){.internal-login-page .login-right.rm-mfa-right-active{height:auto!important;min-height:100vh!important;max-height:none!important;padding-top:64px!important;padding-bottom:24px!important}}
@media(max-width:480px){.rm-mfa-inline-header h3{font-size:22px!important}.rm-mfa-qr{width:132px;min-height:132px}.rm-recovery-grid{grid-template-columns:1fr}}

/* Kontrol cetak: teks terpusat vertikal dan warna pilihan konsisten dengan Add Data. */
#webgisPrintPanelShell .webgis-print-form-group .ls-custom-select-trigger{display:flex!important;align-items:center!important;min-height:46px!important;padding-top:0!important;padding-bottom:0!important}
#webgisPrintPanelShell .webgis-print-form-group .ls-custom-select-label{display:flex!important;align-items:center!important;min-height:44px!important;margin:0!important;padding:0!important;line-height:1.25!important}
#webgisPrintPanelShell .webgis-print-form-group .ls-custom-select-option:is(:hover,:focus-visible){border-color:transparent!important;background:#eef5df!important;color:#10293d!important;box-shadow:none!important}
#webgisPrintPanelShell .webgis-print-form-group .ls-custom-select-option.is-selected{background:#e7f0d2!important;color:#16392d!important}
#webgisPrintPanelShell .webgis-print-form-group select{height:46px!important;padding-top:0!important;padding-bottom:0!important;line-height:46px!important}
/* Proses PDF resolusi tinggi sudah memiliki progres pada tombol; overlay kedua disembunyikan. */
body.rm-exporting-map-pdf-full #webgisPrintLayoutLoading{display:none!important;opacity:0!important;pointer-events:none!important}
#webgisPrintLayoutShell:has(#webgisPrintPreviewActionBar.is-printing) #webgisPrintLayoutLoading{display:none!important;opacity:0!important;pointer-events:none!important}

/* Ruang Maslahat Stage 5.44.41 — hanya sisi kanan autentikasi dipadatkan. */
html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .login-right {
  padding: 24px 34px !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .login-card {
  max-width: 420px !important;
  padding: 27px 30px !important;
  border-radius: 21px !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .login-card-header {
  margin-bottom: 18px !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .login-card-header h3 {
  margin-bottom: 6px !important;
  font-size: 27px !important;
  line-height: 1.16 !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .login-card-header p {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .form-group {
  margin-bottom: 11px !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .form-group label {
  margin-bottom: 6px !important;
  font-size: 13px !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .form-group input {
  height: 44px !important;
  min-height: 44px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  border-radius: 13px !important;
  font-size: 13px !important;
}

html body:is([data-page="login"], [data-page="register"], [data-page="login-internal"], [data-page="forgot-password"]) .login-card .btn-primary {
  min-height: 44px !important;
  height: 44px !important;
  border-radius: 13px !important;
  font-size: 13.5px !important;
}

/* Bingkai terpisah membuat keempat sudut tombol resmi Google tetap utuh. */
html body:is([data-page="login"], [data-page="register"]) .rm-google-button-frame {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 44px !important;
  padding: 1px !important;
  overflow: hidden !important;
  border: 1px solid #d7dee5 !important;
  border-radius: 13px !important;
  background: #fff !important;
  box-shadow: 0 5px 14px rgba(16, 41, 61, .08) !important;
}

html body:is([data-page="login"], [data-page="register"]) .rm-google-button-host,
html body:is([data-page="login"], [data-page="register"]) .rm-google-button-host > div,
html body:is([data-page="login"], [data-page="register"]) .rm-google-button-host iframe {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

html body:is([data-page="login"], [data-page="register"]) .rm-google-button-host {
  overflow: hidden !important;
}

html body:is([data-page="login"], [data-page="register"]) .rm-google-button-frame:has(.rm-google-button-host[hidden]) {
  display: none !important;
}

/* Register desktop selalu satu layar. Indikator sandi mempunyai ruang tetap,
   sehingga autofill tidak menggeser tautan Masuk pada saat diklik. */
@media (min-width: 981px) {
  html[data-page="register"],
  body[data-page="register"],
  body[data-page="register"] #app,
  body[data-page="register"] .login-page {
    width: 100% !important;
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  body[data-page="register"] .login-left,
  body[data-page="register"] .login-right {
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  body[data-page="register"] .login-right {
    padding: 12px 30px !important;
    align-items: center !important;
  }

  body[data-page="register"] .login-card {
    width: 100% !important;
    max-width: 430px !important;
    max-height: calc(100dvh - 24px) !important;
    padding: 16px 26px 14px !important;
    overflow: visible !important;
    border-radius: 20px !important;
  }

  body[data-page="register"] .login-card-header {
    margin-bottom: 8px !important;
  }

  body[data-page="register"] .login-card-header h3 {
    margin-bottom: 4px !important;
    font-size: 22px !important;
    line-height: 1.14 !important;
  }

  body[data-page="register"] .login-card-header p {
    font-size: 11.5px !important;
    line-height: 1.4 !important;
  }

  body[data-page="register"] .compact-group,
  body[data-page="register"] .form-group {
    margin-bottom: 6px !important;
  }

  body[data-page="register"] .form-group label {
    margin-bottom: 4px !important;
    font-size: 11.5px !important;
    line-height: 1.2 !important;
  }

  body[data-page="register"] .form-group input {
    height: 38px !important;
    min-height: 38px !important;
    padding: 8px 12px !important;
    border-radius: 11px !important;
    font-size: 12.5px !important;
    line-height: 1.2 !important;
  }

  body[data-page="register"] .password-input-wrap input {
    padding-right: 44px !important;
  }

  body[data-page="register"] .password-input-wrap > .password-toggle {
    right: 3px !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
  }

  body[data-page="register"] .password-input-wrap > .password-toggle svg {
    width: 18px !important;
    height: 18px !important;
  }

  body[data-page="register"] .field-hint {
    margin-top: 3px !important;
    font-size: 9.8px !important;
    line-height: 1.25 !important;
  }

  body[data-page="register"] .password-strength-wrapper {
    box-sizing: border-box !important;
    display: block !important;
    height: 14px !important;
    min-height: 14px !important;
    margin: -1px 0 5px !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .14s ease !important;
  }

  body[data-page="register"] .password-strength-wrapper.is-visible {
    visibility: visible !important;
    opacity: 1 !important;
  }

  body[data-page="register"] .password-strength {
    gap: 7px !important;
  }

  body[data-page="register"] .password-strength-bar {
    height: 4px !important;
  }

  body[data-page="register"] .password-strength-text {
    min-width: 43px !important;
    font-size: 9.5px !important;
    line-height: 1.2 !important;
  }

  body[data-page="register"] .password-match-status {
    box-sizing: border-box !important;
    display: flex !important;
    height: 14px !important;
    min-height: 14px !important;
    margin: 2px 0 0 !important;
    gap: 5px !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    font-size: 9.5px !important;
    line-height: 1.2 !important;
    transition: opacity .14s ease !important;
  }

  body[data-page="register"] .password-match-status.is-visible {
    visibility: visible !important;
    opacity: 1 !important;
  }

  body[data-page="register"] .password-match-icon {
    width: 13px !important;
    min-width: 13px !important;
    height: 13px !important;
    font-size: 8px !important;
  }

  body[data-page="register"] #registerButton {
    height: 39px !important;
    min-height: 39px !important;
    margin-top: 1px !important;
    border-radius: 11px !important;
    font-size: 12.5px !important;
  }

  body[data-page="register"] .rm-google-auth {
    margin-top: 4px !important;
  }

  body[data-page="register"] .rm-auth-divider {
    margin-bottom: 5px !important;
    font-size: 10px !important;
  }

  body[data-page="register"] .rm-google-button-frame {
    height: 42px !important;
  }

  body[data-page="register"] .rm-google-button-host,
  body[data-page="register"] .rm-google-button-host > div,
  body[data-page="register"] .rm-google-button-host iframe {
    height: 38px !important;
    min-height: 38px !important;
  }

  body[data-page="register"] .rm-google-legal-links {
    margin-top: 3px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  body[data-page="register"] .login-links,
  body[data-page="register"] .rm-google-auth + .login-links {
    margin-top: 6px !important;
  }

  body[data-page="register"] .login-links p,
  body[data-page="register"] .login-links a {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }

  body[data-page="register"] .rm-auth-map-return {
    margin-top: 6px !important;
    padding-top: 6px !important;
  }

  body[data-page="register"] .rm-auth-map-button {
    min-height: 38px !important;
    padding: 7px 12px !important;
    border-radius: 11px !important;
    font-size: 11.5px !important;
  }
}

@media (min-width: 981px) and (max-height: 620px) {
  body[data-page="register"] .login-card {
    padding-top: 12px !important;
    padding-bottom: 11px !important;
  }

  body[data-page="register"] .login-card-header p,
  body[data-page="register"] .rm-google-legal-links {
    display: none !important;
  }
}

@media (max-width: 980px) {
  body[data-page="register"] .password-strength-wrapper {
    display: block !important;
    min-height: 18px !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  body[data-page="register"] .password-strength-wrapper.is-visible {
    visibility: visible !important;
    opacity: 1 !important;
  }

  body[data-page="register"] .password-match-status {
    display: flex !important;
    min-height: 18px !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  body[data-page="register"] .password-match-status.is-visible {
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* Ruang Maslahat Stage 5.44.41 — register desktop benar-benar muat satu layar.
   Hanya panel kanan yang dirapatkan; komposisi dan ukuran panel kiri tetap. */
html body:is([data-page="login"], [data-page="register"]) .rm-google-button-frame {
  position: relative !important;
}

/* Setelah pengguna memilih akun di dialog resmi Google, status proses terlihat
   langsung di tempat tombol agar permintaan tidak terkesan berhenti. */
html body:is([data-page="login"], [data-page="register"]) .rm-google-auth.is-processing .rm-google-button-frame::after {
  content: "Memverifikasi akun\2026" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 0 14px 0 35px !important;
  border-radius: inherit !important;
  background: linear-gradient(135deg, #173f59 0%, #118176 100%) !important;
  color: #fff !important;
  font: 750 12px/1 Arial, Helvetica, sans-serif !important;
  letter-spacing: .01em !important;
  pointer-events: none !important;
}

html body:is([data-page="login"], [data-page="register"]) .rm-google-auth.is-processing .rm-google-button-frame::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: calc(50% - 75px) !important;
  z-index: 4 !important;
  box-sizing: border-box !important;
  width: 15px !important;
  height: 15px !important;
  margin-top: -7.5px !important;
  border: 2px solid rgba(255, 255, 255, .45) !important;
  border-top-color: #fff !important;
  border-radius: 50% !important;
  animation: rmGoogleButtonSpin .72s linear infinite !important;
  pointer-events: none !important;
}

html body:is([data-page="login"], [data-page="register"]) .rm-google-auth.is-processing .rm-google-auth-status[data-type="info"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

@keyframes rmGoogleButtonSpin {
  to { transform: rotate(360deg); }
}

@media (min-width: 981px) {
  body[data-page="register"] .login-right {
    padding: 8px 30px !important;
  }

  body[data-page="register"] .login-card {
    max-height: calc(100dvh - 16px) !important;
    padding: 12px 24px 10px !important;
    overflow: hidden !important;
  }

  body[data-page="register"] .login-card-header {
    margin-bottom: 5px !important;
  }

  body[data-page="register"] .login-card-header h3 {
    margin-bottom: 0 !important;
    font-size: 21px !important;
  }

  body[data-page="register"] .login-card-header p {
    display: none !important;
  }

  body[data-page="register"] .compact-group,
  body[data-page="register"] .form-group {
    margin-bottom: 4px !important;
  }

  body[data-page="register"] .form-group label {
    margin-bottom: 3px !important;
    font-size: 11.25px !important;
  }

  body[data-page="register"] .form-group input {
    height: 36px !important;
    min-height: 36px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  body[data-page="register"] .password-input-wrap > .password-toggle {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
  }

  body[data-page="register"] .field-hint {
    margin-top: 2px !important;
    font-size: 9.5px !important;
  }

  body[data-page="register"] .password-strength-wrapper {
    height: 10px !important;
    min-height: 10px !important;
    margin: -1px 0 3px !important;
  }

  body[data-page="register"] .password-strength-bar {
    height: 3px !important;
  }

  body[data-page="register"] .password-strength-text {
    font-size: 9px !important;
  }

  body[data-page="register"] .password-match-status {
    height: 10px !important;
    min-height: 10px !important;
    margin-top: 1px !important;
    font-size: 9px !important;
  }

  body[data-page="register"] .password-match-icon {
    width: 10px !important;
    min-width: 10px !important;
    height: 10px !important;
  }

  body[data-page="register"] #registerButton {
    height: 37px !important;
    min-height: 37px !important;
    margin-top: 0 !important;
  }

  body[data-page="register"] .rm-google-auth {
    margin-top: 2px !important;
  }

  body[data-page="register"] .rm-auth-divider {
    margin-bottom: 3px !important;
    font-size: 9px !important;
  }

  body[data-page="register"] .rm-google-button-frame {
    height: 40px !important;
  }

  body[data-page="register"] .rm-google-button-host,
  body[data-page="register"] .rm-google-button-host > div,
  body[data-page="register"] .rm-google-button-host iframe {
    height: 36px !important;
    min-height: 36px !important;
  }

  body[data-page="register"] .rm-google-legal-links {
    margin-top: 2px !important;
    font-size: 9.5px !important;
    line-height: 1.2 !important;
  }

  body[data-page="register"] .login-links,
  body[data-page="register"] .rm-google-auth + .login-links {
    margin-top: 3px !important;
  }

  body[data-page="register"] .login-links p,
  body[data-page="register"] .login-links a {
    font-size: 10.5px !important;
    line-height: 1.25 !important;
  }

  body[data-page="register"] .rm-auth-map-return {
    margin-top: 4px !important;
    padding-top: 4px !important;
  }

  body[data-page="register"] .rm-auth-map-button {
    min-height: 36px !important;
    padding: 6px 12px !important;
    font-size: 10.75px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body:is([data-page="login"], [data-page="register"]) .rm-google-auth.is-processing .rm-google-button-frame::before {
    animation-duration: 1.5s !important;
  }
}

/* Ruang Maslahat Stage 5.44.41 — ritme Register dan status Google diselaraskan. */
html body:is([data-page="login"], [data-page="register"]) .rm-google-auth.is-processing .rm-google-button-frame::after {
  padding-left: 36px !important;
  background: #fff !important;
  color: #3c4043 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

html body:is([data-page="login"], [data-page="register"]) .rm-google-auth.is-processing .rm-google-button-frame::before {
  border-color: rgba(60, 64, 67, .22) !important;
  border-top-color: #4285f4 !important;
}

@media (min-width: 981px) {
  /* Ruang indikator hanya muncul ketika ada isi. Sebelum pengguna mengetik,
     Ulangi Password mengikuti jarak normal antarkolom. */
  body[data-page="register"] .password-strength-wrapper {
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body[data-page="register"] .password-strength-wrapper.is-visible {
    height: 10px !important;
    min-height: 10px !important;
    margin: 1px 0 3px !important;
    overflow: visible !important;
  }

  /* Status kecocokan juga tidak menyisakan ruang kosong, sehingga tombol
     Daftar tetap dekat dengan kolom konfirmasi selama belum ada pesan. */
  body[data-page="register"] .password-match-status {
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body[data-page="register"] .password-match-status.is-visible {
    height: 10px !important;
    min-height: 10px !important;
    margin: 1px 0 2px !important;
    overflow: visible !important;
  }

  body[data-page="register"] #registerButton {
    margin-top: 1px !important;
  }

  /* Sama persis dengan ukuran teks navigasi akun pada halaman Login. */
  body[data-page="register"] .login-links p,
  body[data-page="register"] .login-links a {
    font-size: 14px !important;
    line-height: 1.4 !important;
  }
}

/* Ruang Maslahat Stage 5.44.41 — toast Dashboard Internal memakai komponen
   yang sama dengan halaman peta, autentikasi, laporan, dan workspace. */
.toast-container {
  position: fixed !important;
  top: max(24px, env(safe-area-inset-top, 0px)) !important;
  right: max(24px, env(safe-area-inset-right, 0px)) !important;
  left: auto !important;
  z-index: 2147483600 !important;
  display: flex !important;
  width: auto !important;
  flex-direction: column !important;
  gap: 12px !important;
  pointer-events: none !important;
}

.toast-container .toast {
  position: relative !important;
  box-sizing: border-box !important;
  display: flex !important;
  min-width: 320px !important;
  max-width: 420px !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 14px 16px 14px 18px !important;
  overflow: hidden !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: #111827 !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .12) !important;
  pointer-events: auto !important;
  animation: toastIn .22s ease !important;
}

.toast-container .toast::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 5px !important;
  height: 100% !important;
  border-radius: 16px 0 0 16px !important;
}

.toast-container .toast-success::before { background: #16a34a !important; }
.toast-container .toast-error::before { background: #dc2626 !important; }
.toast-container .toast-warning::before { background: #d97706 !important; }
.toast-container .toast-info::before { background: #2563eb !important; }

.toast-container .toast-icon {
  display: flex !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  flex-shrink: 0 !important;
}

.toast-container .toast-success .toast-icon { background: #dcfce7 !important; color: #16a34a !important; }
.toast-container .toast-error .toast-icon { background: #fee2e2 !important; color: #dc2626 !important; }
.toast-container .toast-warning .toast-icon { background: #fef3c7 !important; color: #d97706 !important; }
.toast-container .toast-info .toast-icon { background: #dbeafe !important; color: #2563eb !important; }

.toast-container .toast-content {
  min-width: 0 !important;
  flex: 1 !important;
  padding-right: 20px !important;
}

.toast-container .toast-title {
  margin: 0 0 2px !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.toast-container .toast-message {
  margin: 0 !important;
  color: #4b5563 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  overflow-wrap: anywhere !important;
}

.toast-container .toast-close {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  display: flex !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #9ca3af !important;
  box-shadow: none !important;
  font-size: 16px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

.toast-container .toast-close:is(:hover, :focus-visible) {
  background: #f3f4f6 !important;
  color: #374151 !important;
  outline: 0 !important;
}

@keyframes toastIn {
  from { opacity: 0; transform: translateY(-8px) translateX(8px); }
  to { opacity: 1; transform: translateY(0) translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
  .toast-container .toast { animation: none !important; }
}

@media (max-width: 640px) {
  .toast-container {
    top: max(16px, env(safe-area-inset-top, 0px)) !important;
    right: max(16px, env(safe-area-inset-right, 0px)) !important;
    left: max(16px, env(safe-area-inset-left, 0px)) !important;
  }

  .toast-container .toast {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

/* Ruang Maslahat Stage 5.44.41 — OTP terpusat dan Profil terpadu. */

/* Verifikasi OTP yang ringkas mengikuti posisi vertikal form Login Internal.
   Penyiapan QR tetap dimulai dari atas supaya aman pada layar pendek. */
.internal-login-page .login-right.rm-mfa-right-active.rm-mfa-verify-active {
  align-items: center !important;
  justify-content: center !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

.internal-login-page .login-right.rm-mfa-verify-active .internal-login-card.rm-mfa-verify-mode {
  margin: auto !important;
}

.internal-login-page .login-right.rm-mfa-enroll-active {
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

/* Satu dialog Profil dipakai oleh Peta Informasi dan Dashboard Internal. */
html #rm527AccountModal.rm527-account-modal {
  z-index: 2147483580 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 22px !important;
  background: rgba(5, 23, 35, .62) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

html #rm527AccountModal.rm527-account-modal.is-open {
  display: grid !important;
}

html #rm527AccountModal .rm527-account-card {
  width: min(900px, calc(100vw - 44px)) !important;
  max-width: 900px !important;
  max-height: min(790px, calc(100dvh - 44px)) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, .5) !important;
  border-radius: 24px !important;
  background: #f7faf9 !important;
  box-shadow: 0 32px 90px rgba(3, 20, 31, .38) !important;
}

html #rm527AccountModal .rm527-account-card.is-password {
  width: min(560px, calc(100vw - 44px)) !important;
  max-width: 560px !important;
  background: #fff !important;
}

html #rm527AccountModal .rm527-account-modal-head.rm535-account-head {
  min-height: 92px !important;
  align-items: center !important;
  padding: 19px 22px !important;
  background:
    radial-gradient(circle at 88% -25%, rgba(238, 199, 86, .3), transparent 38%),
    linear-gradient(125deg, #10293d 0%, #16485a 56%, #0f766e 100%) !important;
}

html #rm527AccountModal .rm535-account-head-visual {
  width: 50px !important;
  min-width: 50px !important;
  height: 50px !important;
  flex-basis: 50px !important;
  border: 1px solid rgba(255, 255, 255, .3) !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, .13) !important;
}

html #rm527AccountModal .rm535-account-head-text h3 {
  margin-bottom: 3px !important;
  font-size: 20px !important;
}

html #rm527AccountModal .rm535-account-head-text p {
  max-width: 600px !important;
  font-size: 11.5px !important;
}

html #rm527AccountModal .rm527-account-modal-head > .rm527-account-close {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  flex-basis: 38px !important;
  border: 1px solid rgba(255, 255, 255, .26) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: #fff !important;
}

html #rm527AccountModal .rm527-account-modal-head > .rm527-account-close:hover,
html #rm527AccountModal .rm527-account-modal-head > .rm527-account-close:focus-visible {
  transform: none !important;
  background: rgba(255, 255, 255, .22) !important;
  color: #fff !important;
  outline: 3px solid rgba(255, 255, 255, .2) !important;
  outline-offset: 2px !important;
}

html #rm527AccountModal:not(.rm532-account-password) .rm535-account-body {
  padding: 20px !important;
  background: #f7faf9 !important;
}

html #rm527AccountModal .rm540-profile-layout {
  display: grid !important;
  grid-template-columns: 250px minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 16px !important;
}

html #rm527AccountModal .rm540-profile-summary,
html #rm527AccountModal .rm540-profile-details {
  box-sizing: border-box !important;
  min-width: 0 !important;
  border: 1px solid #dce7e7 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 9px 26px rgba(16, 41, 61, .055) !important;
}

html #rm527AccountModal .rm540-profile-summary {
  position: relative !important;
  overflow: hidden !important;
  padding: 23px 17px 17px !important;
  text-align: center !important;
}

html #rm527AccountModal .rm540-profile-summary::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto !important;
  height: 74px !important;
  background:
    radial-gradient(circle at 78% 8%, rgba(244, 196, 64, .2), transparent 30%),
    linear-gradient(130deg, #173b50, #0f766e) !important;
}

html #rm527AccountModal .rm540-profile-avatar-wrap {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  justify-content: center !important;
}

html #rm527AccountModal .rm540-profile-avatar {
  position: relative !important;
  display: grid !important;
  width: 94px !important;
  height: 94px !important;
  margin: 0 auto 12px !important;
  place-items: center !important;
  overflow: visible !important;
  border: 4px solid #fff !important;
  border-radius: 999px !important;
  background: linear-gradient(145deg, #245a73, #0f766e) !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(10, 46, 59, .2) !important;
  cursor: pointer !important;
  font-size: 27px !important;
  font-weight: 900 !important;
}

html #rm527AccountModal .rm540-profile-avatar > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  border-radius: inherit !important;
  object-fit: cover !important;
}

html #rm527AccountModal .rm540-profile-camera {
  position: absolute !important;
  right: -2px !important;
  bottom: -2px !important;
  z-index: 2 !important;
  display: grid !important;
  width: 29px !important;
  height: 29px !important;
  place-items: center !important;
  border: 2px solid #fff !important;
  border-radius: 999px !important;
  background: #d89b28 !important;
  color: #fff !important;
}

html #rm527AccountModal .rm540-profile-camera svg {
  width: 14px !important;
  height: 14px !important;
}

html #rm527AccountModal .rm540-profile-summary > h4 {
  margin: 0 !important;
  color: #142f40 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}

html #rm527AccountModal .rm540-profile-email {
  margin: 4px 0 9px !important;
  color: #6b7f89 !important;
  font-size: 10.5px !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere !important;
}

html #rm527AccountModal .rm540-role-badge {
  display: inline-flex !important;
  min-height: 24px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px 9px !important;
  border: 1px solid #bfe0db !important;
  border-radius: 999px !important;
  background: #e9f6f3 !important;
  color: #0b6b63 !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 850 !important;
  letter-spacing: .025em !important;
}

html #rm527AccountModal .rm540-role-badge.is-admin {
  border-color: #cbd9e5 !important;
  background: #edf4f8 !important;
  color: #245a73 !important;
}

html #rm527AccountModal .rm540-verification-list {
  display: grid !important;
  gap: 7px !important;
  margin-top: 15px !important;
  padding-top: 13px !important;
  border-top: 1px solid #e5eded !important;
  text-align: left !important;
}

html #rm527AccountModal .rm540-verification-item {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) 8px !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 6px 8px !important;
  border: 1px solid #e4ecec !important;
  border-radius: 12px !important;
  background: #f8fbfa !important;
}

html #rm527AccountModal .rm540-verification-icon {
  display: grid !important;
  width: 30px !important;
  height: 30px !important;
  place-items: center !important;
  border-radius: 9px !important;
  background: #eaf4f2 !important;
  color: #0f766e !important;
}

html #rm527AccountModal .rm540-verification-icon svg {
  width: 15px !important;
  height: 15px !important;
}

html #rm527AccountModal .rm540-verification-copy {
  min-width: 0 !important;
}

html #rm527AccountModal .rm540-verification-copy small,
html #rm527AccountModal .rm540-verification-copy strong {
  display: block !important;
  overflow-wrap: anywhere !important;
}

html #rm527AccountModal .rm540-verification-copy small {
  color: #758790 !important;
  font-size: 8.8px !important;
}

html #rm527AccountModal .rm540-verification-copy strong {
  margin-top: 1px !important;
  color: #294b5a !important;
  font-size: 9.5px !important;
  line-height: 1.3 !important;
}

html #rm527AccountModal .rm540-verification-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #a3afb5 !important;
}

html #rm527AccountModal .rm540-verification-dot.is-verified { background: #0f9f78 !important; }
html #rm527AccountModal .rm540-verification-dot.is-pending { background: #d89020 !important; }

html #rm527AccountModal .rm540-photo-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  margin-top: 12px !important;
}

html #rm527AccountModal .rm540-photo-actions > label,
html #rm527AccountModal .rm540-photo-actions > button {
  min-height: 35px !important;
  margin: 0 !important;
  border: 1px solid #cfdedf !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #315765 !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

html #rm527AccountModal .rm540-photo-actions > button {
  border-color: #efcfca !important;
  color: #a44239 !important;
}

html #rm527AccountModal .rm540-photo-actions > button:disabled {
  opacity: .45 !important;
  cursor: not-allowed !important;
}

html #rm527AccountModal .rm540-photo-help {
  display: block !important;
  margin-top: 7px !important;
  color: #819098 !important;
  font-size: 8.8px !important;
}

html #rm527AccountModal .rm540-profile-details {
  padding: 18px !important;
}

html #rm527AccountModal .rm540-profile-section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #e4ecec !important;
}

html #rm527AccountModal .rm540-profile-section-head div > span {
  display: block !important;
  margin-bottom: 2px !important;
  color: #0f766e !important;
  font-size: 8.5px !important;
  font-weight: 900 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}

html #rm527AccountModal .rm540-profile-section-head h4 {
  margin: 0 !important;
  color: #17384a !important;
  font-size: 14px !important;
}

html #rm527AccountModal .rm540-profile-mode {
  display: inline-flex !important;
  min-height: 25px !important;
  align-items: center !important;
  padding: 4px 9px !important;
  border: 1px solid #d6e2e4 !important;
  border-radius: 999px !important;
  background: #f3f7f7 !important;
  color: #637985 !important;
  font-size: 8.8px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

html #rm527AccountModal.is-editing .rm540-profile-mode {
  border-color: #b9ded9 !important;
  background: #e9f7f4 !important;
  color: #0b6b63 !important;
}

html #rm527AccountModal .rm540-profile-form {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

html #rm527AccountModal .rm540-profile-form .rm527-field > label {
  margin: 0 !important;
  color: #405b68 !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
}

html #rm527AccountModal .rm540-profile-form .rm527-field input,
html #rm527AccountModal .rm540-profile-form .rm527-field textarea {
  min-height: 43px !important;
  border-color: #d5e1e3 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #183747 !important;
  font-size: 11.5px !important;
}

html #rm527AccountModal .rm540-profile-form .rm527-field textarea {
  min-height: 84px !important;
}

html #rm527AccountModal .rm540-profile-form .rm527-field input:disabled,
html #rm527AccountModal .rm540-profile-form .rm527-field textarea:disabled {
  border-color: #e0e7e8 !important;
  background: #f4f7f7 !important;
  color: #607681 !important;
}

html #rm527AccountModal .rm540-profile-form #rm527Role {
  border-color: #d8e7e3 !important;
  background: #eef6f4 !important;
  color: #0d6b63 !important;
  font-weight: 800 !important;
}

html #rm527AccountModal .rm527-otp-row {
  align-items: center !important;
  margin-top: 12px !important;
  padding: 10px !important;
  border: 1px solid #d4e5e2 !important;
  border-radius: 13px !important;
  background: #f1f8f6 !important;
}

html #rm527AccountModal .rm527-otp-row input {
  min-width: 0 !important;
  min-height: 40px !important;
  border: 1px solid #cfdedf !important;
  border-radius: 10px !important;
  padding: 0 12px !important;
}

html #rm527AccountModal .rm535-account-actions {
  padding: 13px 20px 17px !important;
  border-top-color: #dfe8e8 !important;
  background: #fff !important;
}

html #rm527AccountModal .rm535-account-actions > .rm527-danger-soft {
  border-color: #d6e0e2 !important;
  background: #fff !important;
  color: #526b77 !important;
}

html #rm527AccountModal .rm535-account-actions > button:hover:not(:disabled),
html #rm527AccountModal .rm535-account-actions > button:focus-visible:not(:disabled) {
  transform: none !important;
}

@media (max-width: 760px) {
  .internal-login-page .login-right.rm-mfa-right-active,
  .internal-login-page .login-right.rm-mfa-right-active.rm-mfa-verify-active {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding-top: 64px !important;
    padding-bottom: 24px !important;
  }

  html #rm527AccountModal.rm527-account-modal {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  html #rm527AccountModal .rm527-account-card,
  html #rm527AccountModal .rm527-account-card.is-password {
    width: 100% !important;
    max-width: none !important;
    max-height: 94dvh !important;
    border-radius: 22px 22px 0 0 !important;
  }

  html #rm527AccountModal .rm527-account-modal-head.rm535-account-head {
    min-height: 80px !important;
    padding: 16px 17px !important;
  }

  html #rm527AccountModal:not(.rm532-account-password) .rm535-account-body {
    padding: 14px !important;
  }

  html #rm527AccountModal .rm540-profile-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html #rm527AccountModal .rm540-profile-summary {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 4px 12px !important;
    padding: 15px !important;
    text-align: left !important;
  }

  html #rm527AccountModal .rm540-profile-summary::before {
    width: 100px !important;
    height: 100% !important;
  }

  html #rm527AccountModal .rm540-profile-avatar-wrap {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
  }

  html #rm527AccountModal .rm540-profile-avatar {
    width: 68px !important;
    height: 68px !important;
    margin: 0 !important;
    font-size: 20px !important;
  }

  html #rm527AccountModal .rm540-profile-summary > h4,
  html #rm527AccountModal .rm540-profile-email,
  html #rm527AccountModal .rm540-role-badge {
    grid-column: 2 !important;
  }

  html #rm527AccountModal .rm540-profile-email {
    margin: 0 !important;
  }

  html #rm527AccountModal .rm540-role-badge {
    justify-self: start !important;
  }

  html #rm527AccountModal .rm540-verification-list,
  html #rm527AccountModal .rm540-photo-actions,
  html #rm527AccountModal .rm540-photo-help {
    grid-column: 1 / -1 !important;
  }

  html #rm527AccountModal .rm540-verification-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html #rm527AccountModal .rm540-profile-form {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html #rm527AccountModal .rm540-profile-form .rm527-field.full {
    grid-column: auto !important;
  }
}

@media (max-width: 480px) {
  html #rm527AccountModal .rm535-account-head-text p {
    display: none !important;
  }

  html #rm527AccountModal .rm540-verification-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html #rm527AccountModal .rm540-profile-section-head {
    align-items: flex-start !important;
  }
}

/* =========================================================
   STAGE 5.44.43 — PELACAKAN LAPORAN MASYARAKAT PROFESIONAL
   ========================================================= */
#rm57ReportsPanel[data-rm5443-tracker="ready"] {
  width: min(460px, calc(100vw - 36px)) !important;
  max-width: min(460px, calc(100vw - 36px)) !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .rm57-reports-body {
  padding: 15px 16px 20px !important;
  background: linear-gradient(180deg, #f8fbfb 0%, #ffffff 150px) !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-summary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px !important;
  margin-bottom: 12px !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-summary-card {
  min-width: 0 !important;
  padding: 12px 13px !important;
  border-color: #dce8e8 !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 8px 20px rgba(16, 48, 62, .055) !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-summary-card span {
  min-height: 26px !important;
  margin-bottom: 5px !important;
  color: #657985 !important;
  font-size: 9.8px !important;
  line-height: 1.35 !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-summary-card strong {
  color: #12384a !important;
  font-size: 22px !important;
  font-weight: 850 !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-summary-card:last-child {
  border-color: #f1d6a9 !important;
  background: linear-gradient(145deg, #fffdf7, #fff7e8) !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-panel {
  padding: 14px !important;
  border-color: #dbe7e8 !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 30px rgba(16, 48, 62, .06) !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-panel-head {
  align-items: center !important;
  margin-bottom: 12px !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-panel-head h3 {
  margin-bottom: 2px !important;
  color: #16394a !important;
  font-size: 15px !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-panel-head p {
  color: #71838d !important;
  font-size: 10px !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-refresh-btn {
  display: inline-flex !important;
  min-width: 98px !important;
  min-height: 38px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 8px 12px !important;
  border: 1px solid #0f766e !important;
  border-radius: 11px !important;
  background: #0f766e !important;
  color: #fff !important;
  box-shadow: 0 7px 16px rgba(15, 118, 110, .16) !important;
  font-size: 10px !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-refresh-btn:disabled {
  cursor: wait !important;
  opacity: .78 !important;
}

.rm5443-button-spinner {
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
  border: 2px solid rgba(255, 255, 255, .42);
  border-top-color: #fff;
  border-radius: 999px;
  animation: rm5443-spin .72s linear infinite;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-filter-row {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-bottom: 7px !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-search-box {
  grid-column: 1 / -1 !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] :is(.laporan-saya-search-box input, .laporan-filter-custom-trigger) {
  min-height: 42px !important;
  border-color: #d5e2e3 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-size: 11px !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-filter-custom-menu {
  border-color: #d6e3e3 !important;
  border-radius: 14px !important;
}

.rm5443-filter-meta {
  display: flex;
  min-height: 27px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
  color: #70838e;
  font-size: 9.5px;
  line-height: 1.3;
}

.rm5443-filter-meta button {
  min-height: 27px;
  padding: 4px 8px;
  border: 0;
  border-radius: 8px;
  background: #edf6f4;
  color: #0d6f67;
  font-family: inherit;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.2;
  cursor: pointer;
}

.rm5443-filter-meta button[hidden] {
  display: none !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-list {
  gap: 11px !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-item {
  padding: 14px !important;
  border-color: #dce7e8 !important;
  border-radius: 17px !important;
  box-shadow: 0 8px 21px rgba(16, 48, 62, .052) !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-item-top {
  align-items: center !important;
  margin-bottom: 8px !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] :is(.laporan-saya-type-badge, .laporan-saya-status-badge) {
  padding: 6px 9px !important;
  font-size: 8.7px !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-item h4 {
  margin-bottom: 5px !important;
  color: #17384a !important;
  font-size: 13.5px !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-desc {
  display: -webkit-box !important;
  margin-bottom: 10px !important;
  overflow: hidden !important;
  color: #5d727e !important;
  font-size: 10.5px !important;
  line-height: 1.55 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

.rm5443-report-tracker {
  margin: 0 0 10px;
  padding: 11px 12px;
  border: 1px solid #d9e7e5;
  border-radius: 14px;
  background: linear-gradient(145deg, #f7fbfa, #eef7f5);
}

.rm5443-report-tracker-head {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.rm5443-report-tracker-head > div {
  min-width: 0;
}

.rm5443-report-tracker-head strong {
  display: block;
  color: #16483f;
  font-size: 10.3px;
  line-height: 1.35;
}

.rm5443-report-tracker-head p {
  margin: 2px 0 0;
  color: #657a83;
  font-size: 9px;
  line-height: 1.42;
}

.rm5443-report-tracker-head time {
  flex: 0 0 auto;
  max-width: 108px;
  color: #7b8d94;
  font-size: 8px;
  line-height: 1.35;
  text-align: right;
}

.rm5443-report-tracker ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.rm5443-report-tracker li {
  position: relative;
  display: grid;
  min-width: 0;
  justify-items: center;
  gap: 4px;
  color: #89999f;
  text-align: center;
}

.rm5443-report-tracker li:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 9px;
  left: calc(50% + 12px);
  right: calc(-50% + 12px);
  height: 2px;
  border-radius: 999px;
  background: #d5e2e1;
}

.rm5443-report-tracker li.is-complete:not(:last-child)::after {
  background: #52a89c;
}

.rm5443-report-tracker li > span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 19px;
  height: 19px;
  place-items: center;
  border: 2px solid #d4e0e0;
  border-radius: 999px;
  background: #fff;
  color: #7c8e96;
  font-size: 7.5px;
  font-weight: 900;
}

.rm5443-report-tracker li:is(.is-complete, .is-current) > span {
  border-color: #0f8176;
  background: #0f8176;
  color: #fff;
  box-shadow: 0 0 0 3px rgba(15, 129, 118, .1);
}

.rm5443-report-tracker li.is-current.is-rejected > span {
  border-color: #c24132;
  background: #c24132;
  box-shadow: 0 0 0 3px rgba(194, 65, 50, .1);
}

.rm5443-report-tracker li small {
  min-width: 0;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.25;
}

.rm5443-report-tracker li:is(.is-complete, .is-current) small {
  color: #22584f;
}

.rm5443-report-tracker li.is-current.is-rejected small {
  color: #a33a30;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-meta-grid {
  gap: 7px !important;
  margin-bottom: 10px !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-meta {
  padding: 8px 9px !important;
  border-color: #e0e9e9 !important;
  border-radius: 11px !important;
  background: #fafcfc !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-meta span {
  margin-bottom: 2px !important;
  font-size: 8.5px !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-meta strong {
  font-size: 10px !important;
  line-height: 1.4 !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-action-btn {
  display: inline-flex !important;
  min-height: 38px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  font-size: 9.5px !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-action-btn.primary {
  border-color: #0f766e !important;
  background: #0f766e !important;
  color: #fff !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-state {
  min-height: 158px !important;
  flex-direction: column !important;
  padding: 24px 18px !important;
  border-color: #cededf !important;
  border-radius: 15px !important;
  background: #f8fbfb !important;
}

#rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-state-error {
  border-color: #efc3be !important;
  background: #fff7f5 !important;
}

.rm5443-empty-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  margin-top: 5px;
}

.rm5443-empty-actions [hidden] {
  display: none !important;
}

.rm5443-state-action,
.rm5443-copy-id {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 11px;
  border: 1px solid #0f766e;
  border-radius: 10px;
  background: #0f766e;
  color: #fff;
  font-size: 9.8px;
  font-weight: 850;
  cursor: pointer;
}

.rm5443-state-action.secondary {
  border-color: #cfdedf;
  background: #fff;
  color: #47636f;
}

.rm5443-state-action svg,
.rm5443-copy-id svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
}

.rm5443-detail-overview {
  grid-column: 1 / -1;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 15px;
  border: 1px solid #d7e5e3;
  border-radius: 15px;
  background: linear-gradient(140deg, #f7fbfa, #edf7f4);
}

.rm5443-detail-overview-copy {
  display: grid;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 2px 10px;
}

.rm5443-detail-overview-copy .laporan-saya-status-badge {
  grid-row: 1 / span 2;
}

.rm5443-detail-overview-copy .laporan-saya-status-badge.waiting {
  background: #fff5e7;
  color: #aa5415;
}

.rm5443-detail-overview-copy .laporan-saya-status-badge.processing {
  background: #eaf3f8;
  color: #245a73;
}

.rm5443-detail-overview-copy .laporan-saya-status-badge.done {
  background: #e7f6f1;
  color: #087366;
}

.rm5443-detail-overview-copy .laporan-saya-status-badge.rejected {
  background: #fff0ee;
  color: #b42318;
}

.rm5443-detail-overview-copy small {
  color: #71858e;
  font-size: 8.8px;
  font-weight: 800;
}

.rm5443-detail-overview-copy > strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #17394a;
  font-size: 12px;
}

.rm5443-report-tracker.is-detailed {
  grid-column: 1 / -1;
  margin-bottom: 2px;
  padding: 14px 15px;
}

.rm5443-report-tracker.is-detailed .rm5443-report-tracker-head strong {
  font-size: 12px;
}

.rm5443-report-tracker.is-detailed .rm5443-report-tracker-head p {
  font-size: 10.5px;
}

.rm5443-report-tracker.is-detailed li > span {
  width: 23px;
  height: 23px;
  font-size: 9px;
}

.rm5443-report-tracker.is-detailed li:not(:last-child)::after {
  top: 11px;
  left: calc(50% + 14px);
  right: calc(-50% + 14px);
}

.rm5443-report-tracker.is-detailed li small {
  font-size: 9.5px;
}

#laporanSayaDetailModal .laporan-saya-modal {
  width: min(800px, 100%) !important;
}

#laporanSayaDetailModal .laporan-saya-modal-body {
  background: #f8fbfb !important;
}

#laporanSayaDetailModal .rm527-history {
  margin-bottom: 2px !important;
  border-color: #d8e5e5 !important;
  border-radius: 15px !important;
}

#laporanSayaDetailModal .laporan-saya-detail-item {
  border-color: #dde7e8 !important;
  background: #fff !important;
}

@keyframes rm5443-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 760px) {
  #rm57ReportsPanel[data-rm5443-tracker="ready"] {
    width: auto !important;
    max-width: none !important;
  }
}

@media (max-width: 520px) {
  #rm57ReportsPanel[data-rm5443-tracker="ready"] .rm57-reports-body {
    padding: 12px !important;
  }

  #rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-summary-grid,
  #rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-filter-row,
  #rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-summary-card {
    padding: 10px !important;
  }

  #rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-panel-head {
    flex-direction: row !important;
    gap: 9px !important;
  }

  #rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-refresh-btn {
    width: auto !important;
    min-width: 88px !important;
  }

  .rm5443-report-tracker-head {
    display: grid;
  }

  .rm5443-report-tracker-head time {
    max-width: none;
    text-align: left;
  }

  .rm5443-detail-overview {
    align-items: stretch;
    flex-direction: column;
  }

  .rm5443-copy-id {
    width: 100%;
  }

  #laporanSayaDetailModal .laporan-saya-detail-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rm5443-button-spinner {
    animation-duration: 1.4s;
  }

  .rm5443-state-action,
  .rm5443-copy-id,
  #rm57ReportsPanel[data-rm5443-tracker="ready"] .laporan-saya-item {
    transition: none !important;
  }
}

/* ================================================================
   STAGE 5.44.44 — ANTREAN TINDAK LANJUT INTERNAL PROFESIONAL
   ================================================================ */

html[data-page="tindak-lanjut-laporan"] .pegawai-followup-panel {
  border-color: #d7e4e7 !important;
  border-radius: 19px !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(16, 41, 61, .065) !important;
}

html[data-page="tindak-lanjut-laporan"] .pegawai-followup-panel-head {
  align-items: center !important;
  gap: 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #e4ecee !important;
}

html[data-page="tindak-lanjut-laporan"] .pegawai-followup-panel-head h3 {
  color: #10293d !important;
  font-size: 18px !important;
  letter-spacing: -.015em !important;
}

html[data-page="tindak-lanjut-laporan"] .pegawai-followup-panel-head p {
  max-width: 650px !important;
  margin-top: 5px !important;
  color: #667c88 !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
}

#followupRefreshButton {
  display: inline-flex !important;
  min-width: 124px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
}

#followupRefreshButton:disabled {
  cursor: progress !important;
  opacity: .78 !important;
  transform: none !important;
}

.rm5444-queue-toolbar {
  display: flex !important;
  min-width: 0 !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 14px 0 12px !important;
}

.rm5444-queue-tabs {
  display: inline-flex !important;
  min-width: 0 !important;
  max-width: 100% !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 4px !important;
  overflow-x: auto !important;
  border: 1px solid #d9e5e8 !important;
  border-radius: 13px !important;
  background: #f3f7f8 !important;
  scrollbar-width: thin !important;
}

.rm5444-queue-tab {
  display: inline-flex !important;
  min-width: max-content !important;
  min-height: 38px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 0 12px !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #526b78 !important;
  font-family: inherit !important;
  font-size: 12.5px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transform: none !important;
}

.rm5444-queue-tab:hover {
  background: #e9f2f2 !important;
  color: #155e59 !important;
}

.rm5444-queue-tab.is-active {
  border-color: #0f766e !important;
  background: linear-gradient(135deg, #0f766e, #176a70) !important;
  color: #fff !important;
  box-shadow: 0 6px 13px rgba(15, 118, 110, .16) !important;
}

.rm5444-queue-tab > span {
  display: inline-grid !important;
  min-width: 22px !important;
  height: 22px !important;
  place-items: center !important;
  padding: 0 6px !important;
  border-radius: 999px !important;
  background: rgba(49, 88, 99, .1) !important;
  color: inherit !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}

.rm5444-queue-tab.is-active > span {
  background: rgba(255, 255, 255, .18) !important;
}

.rm5444-queue-controls {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: flex-end !important;
  gap: 8px !important;
}

.rm5444-sort-field {
  display: grid !important;
  min-width: 170px !important;
  gap: 5px !important;
  color: #425d69 !important;
  font-size: 12px !important;
  font-weight: 750 !important;
}

#rm5444FollowupSort {
  width: 100% !important;
  min-height: 42px !important;
  border-radius: 11px !important;
}

.rm5444-clear-filters,
.rm5444-empty-clear {
  display: inline-flex !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 13px !important;
  border: 1px solid #bad8d4 !important;
  border-radius: 11px !important;
  background: #eef8f6 !important;
  color: #0d655e !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.rm5444-clear-filters:hover,
.rm5444-empty-clear:hover {
  border-color: #7fbab2 !important;
  background: #e1f3ef !important;
  color: #0a514c !important;
}

.rm5444-clear-filters[hidden],
.rm5444-empty-clear[hidden] {
  display: none !important;
}

.rm5444-result-meta {
  display: flex !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 10px 0 12px !important;
  padding: 10px 12px !important;
  border: 1px solid #e0e9eb !important;
  border-radius: 11px !important;
  background: #f7fafb !important;
}

#rm5444FollowupResultCount {
  color: #294c5a !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

#rm5444FollowupQueueHint {
  color: #73858e !important;
  font-size: 11.5px !important;
  line-height: 1.45 !important;
  text-align: right !important;
}

.rm5444-followup-card {
  position: relative !important;
  overflow: hidden !important;
  border-color: #dce7e9 !important;
  border-radius: 16px !important;
  background: linear-gradient(150deg, #fff 0%, #fbfdfd 100%) !important;
  box-shadow: 0 7px 19px rgba(16, 41, 61, .045) !important;
}

.rm5444-followup-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 4px !important;
  background: #d97706 !important;
}

.rm5444-followup-card[data-rm5444-group="processing"]::before { background: #26718c !important; }
.rm5444-followup-card[data-rm5444-group="closed"]::before { background: #0f766e !important; }

.rm5444-card-context {
  display: flex !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 1px 0 10px !important;
}

.rm5444-age-badge {
  display: inline-flex !important;
  min-width: 0 !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 9px !important;
  border: 1px solid #dbe5e7 !important;
  border-radius: 999px !important;
  background: #f3f7f8 !important;
  color: #526c78 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.rm5444-age-badge svg {
  flex: 0 0 14px !important;
  width: 14px !important;
  height: 14px !important;
}

.rm5444-age-badge.fresh { border-color: #cfe2e6 !important; background: #f0f7f9 !important; color: #245a73 !important; }
.rm5444-age-badge.attention { border-color: #f0d2a8 !important; background: #fff7e9 !important; color: #9a5515 !important; }
.rm5444-age-badge.long { border-color: #efc0b8 !important; background: #fff2ef !important; color: #a4382b !important; }
.rm5444-age-badge.processing { border-color: #c8dce6 !important; background: #edf5f8 !important; color: #245a73 !important; }
.rm5444-age-badge.closed { border-color: #cce3df !important; background: #edf8f5 !important; color: #0d655e !important; }

.rm5444-card-officer {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #71838c !important;
  font-size: 11px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.rm5444-card-officer strong { color: #294c5a !important; font-weight: 800 !important; }

.rm5444-card-steps {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 10px 0 13px !important;
  padding: 0 !important;
  list-style: none !important;
}

.rm5444-card-steps li {
  position: relative !important;
  display: grid !important;
  min-width: 0 !important;
  justify-items: center !important;
  gap: 5px !important;
  color: #8a9aa2 !important;
  font-size: 10.5px !important;
  font-weight: 750 !important;
  text-align: center !important;
}

.rm5444-card-steps li:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  top: 6px !important;
  left: calc(50% + 10px) !important;
  right: calc(-50% + 10px) !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: #dfe7e9 !important;
}

.rm5444-card-steps li.is-complete:not(:last-child)::after { background: #70b6ac !important; }

.rm5444-card-steps li > i {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: 13px !important;
  height: 13px !important;
  border: 2px solid #d0dcdf !important;
  border-radius: 50% !important;
  background: #fff !important;
}

.rm5444-card-steps li:is(.is-complete, .is-current) { color: #315b67 !important; }
.rm5444-card-steps li.is-complete > i { border-color: #0f766e !important; background: #0f766e !important; }
.rm5444-card-steps li.is-current > i { border-color: #0f766e !important; box-shadow: 0 0 0 4px rgba(15, 118, 110, .13) !important; }
.rm5444-card-steps li.is-current.is-rejected { color: #a4382b !important; }
.rm5444-card-steps li.is-current.is-rejected > i { border-color: #c24135 !important; background: #c24135 !important; box-shadow: 0 0 0 4px rgba(194, 65, 53, .12) !important; }

.rm5444-followup-note-meta {
  display: flex !important;
  min-width: 0 !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: -2px !important;
  color: #687d87 !important;
  font-size: 11.5px !important;
  line-height: 1.45 !important;
}

#rm5444FollowupImpact { max-width: 520px !important; }
#rm5444FollowupNoteCount { flex: 0 0 auto !important; font-variant-numeric: tabular-nums !important; }

.rm5444-reject-confirmation {
  display: grid !important;
  grid-template-columns: 19px minmax(0, 1fr) !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 2px 0 0 !important;
  padding: 11px 12px !important;
  border: 1px solid #efc5bf !important;
  border-radius: 11px !important;
  background: #fff4f2 !important;
  color: #7f352c !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  cursor: pointer !important;
}

.rm5444-reject-confirmation[hidden] { display: none !important; }
.rm5444-reject-confirmation input { width: 18px !important; height: 18px !important; margin: 1px 0 0 !important; accent-color: #b42318 !important; }

#followupUpdateButton:disabled {
  cursor: not-allowed !important;
  opacity: .58 !important;
  transform: none !important;
}

#followupUpdateButton.rm5444-danger-action:not(:disabled) {
  border-color: #a83228 !important;
  background: linear-gradient(135deg, #b42318, #8f281f) !important;
  color: #fff !important;
}

.rm5444-empty-clear {
  margin-top: 10px !important;
}

@media (max-width: 1100px) {
  .rm5444-queue-toolbar {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .rm5444-queue-tabs { width: 100% !important; }
  .rm5444-queue-tab { flex: 1 0 auto !important; }
  .rm5444-queue-controls { justify-content: flex-end !important; }
}

@media (max-width: 680px) {
  html[data-page="tindak-lanjut-laporan"] .pegawai-followup-panel-head {
    align-items: flex-start !important;
  }

  html[data-page="tindak-lanjut-laporan"] .pegawai-followup-panel-head h3 { font-size: 17px !important; }
  #followupRefreshButton { min-width: 42px !important; padding-inline: 11px !important; }
  #followupRefreshButton .rm5444-refresh-label { display: none !important; }

  .rm5444-queue-tabs {
    justify-content: flex-start !important;
  }

  .rm5444-queue-controls {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .rm5444-sort-field { min-width: 0 !important; }
  .rm5444-result-meta { align-items: flex-start !important; flex-direction: column !important; }
  #rm5444FollowupQueueHint { text-align: left !important; }
  .rm5444-card-context { align-items: flex-start !important; flex-direction: column !important; }
  .rm5444-card-officer { max-width: 100% !important; }
  .rm5444-followup-note-meta { flex-direction: column !important; gap: 5px !important; }
}

@media (max-width: 440px) {
  .rm5444-queue-controls { grid-template-columns: minmax(0, 1fr) !important; }
  .rm5444-clear-filters { width: 100% !important; }
  .rm5444-queue-tab { min-height: 36px !important; padding-inline: 10px !important; font-size: 12px !important; }
  .rm5444-card-steps li { font-size: 9.8px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .rm5444-queue-tab,
  .rm5444-clear-filters,
  .rm5444-empty-clear { transition: none !important; }
}

/* =========================================================
   STAGE 5.44.45 — PETA PELAPORAN TERHUBUNG & SINGLE LOADER
   ========================================================= */

#laporanSayaList.rm5445-is-refreshing,
html[data-page="peta-pelaporan"] #pegawaiReportMapList.rm5445-is-refreshing {
  opacity: .62 !important;
  pointer-events: none !important;
  filter: saturate(.82) !important;
  transition: opacity .18s ease, filter .18s ease !important;
}

html[data-page="peta-pelaporan"] .rm-report-monitor-panel-right[data-rm5445-connected="ready"] {
  gap: 11px !important;
}

html[data-page="peta-pelaporan"] .rm-report-monitor-panel-right[data-rm5445-connected="ready"] .rm-report-monitor-head h3 {
  max-width: 310px !important;
  margin-top: 8px !important;
  font-size: 19px !important;
  line-height: 1.25 !important;
}

html[data-page="peta-pelaporan"] .rm5445-map-result-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  flex: 0 0 auto !important;
  padding: 0 2px !important;
  color: #657985 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

html[data-page="peta-pelaporan"] .rm5445-map-result-meta strong {
  color: #173f50 !important;
  font-size: 11.5px !important;
  font-weight: 850 !important;
}

html[data-page="peta-pelaporan"] .rm5445-map-result-meta span {
  overflow: hidden !important;
  max-width: 52% !important;
  text-align: right !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-report {
  flex: 0 0 auto !important;
  padding: 13px !important;
  border: 1px solid #add8d5 !important;
  border-radius: 17px !important;
  background: linear-gradient(145deg, #f2fbfa 0%, #ffffff 72%) !important;
  box-shadow: 0 10px 24px rgba(16, 95, 89, .09) !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-report[hidden] {
  display: none !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-head > div {
  min-width: 0 !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-head span {
  display: block !important;
  margin-bottom: 3px !important;
  color: #0f766e !important;
  font-size: 9.5px !important;
  font-weight: 850 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-head strong {
  display: -webkit-box !important;
  overflow: hidden !important;
  color: #13394a !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  border: 1px solid #cfe4e2 !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: #52717b !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-close svg {
  width: 14px !important;
  height: 14px !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 9px 0 !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-tags > span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 23px !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  background: #e7f4f2 !important;
  color: #176a64 !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-tags > span.waiting {
  background: #fff6df !important;
  color: #8a5b0a !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-tags > span.processing {
  background: #e8f3fb !important;
  color: #175c84 !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-tags > span.done {
  background: #e9f8ee !important;
  color: #20703d !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-tags > span.rejected {
  background: #fff0ee !important;
  color: #a13a30 !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-report dl {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  margin: 0 0 10px !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-report dl > div {
  min-width: 0 !important;
  padding: 7px 8px !important;
  border: 1px solid #e2ecec !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .78) !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-report dl > div.wide {
  grid-column: 1 / -1 !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-report dt {
  margin: 0 0 2px !important;
  color: #71858d !important;
  font-size: 9px !important;
  line-height: 1.25 !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-report dd {
  overflow: hidden !important;
  margin: 0 !important;
  color: #173f50 !important;
  font-size: 10.5px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-actions,
html[data-page="peta-pelaporan"] .rm-report-monitor-item-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-actions button,
html[data-page="peta-pelaporan"] .rm-report-monitor-item-actions button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 7px 9px !important;
  border: 1px solid #cbdede !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #1c5c61 !important;
  box-shadow: none !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-actions button.primary,
html[data-page="peta-pelaporan"] .rm-report-monitor-item-actions button.primary {
  border-color: #167d75 !important;
  background: linear-gradient(135deg, #0f766e, #176c72) !important;
  color: #ffffff !important;
}

html[data-page="peta-pelaporan"] .rm5445-selected-actions svg,
html[data-page="peta-pelaporan"] .rm-report-monitor-item-actions svg {
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 auto !important;
}

html[data-page="peta-pelaporan"] .rm-report-monitor-item {
  position: relative !important;
  border-color: #dce7e8 !important;
  border-radius: 16px !important;
  box-shadow: 0 7px 18px rgba(19, 57, 74, .055) !important;
  outline: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease !important;
}

html[data-page="peta-pelaporan"] .rm-report-monitor-item::before {
  position: absolute !important;
  top: 12px !important;
  bottom: 12px !important;
  left: -1px !important;
  width: 3px !important;
  border-radius: 0 4px 4px 0 !important;
  background: transparent !important;
  content: "" !important;
}

html[data-page="peta-pelaporan"] .rm-report-monitor-item:hover {
  border-color: #bdd9d8 !important;
  background: #fbfefe !important;
  box-shadow: 0 11px 25px rgba(19, 85, 82, .09) !important;
  transform: translateY(-1px) !important;
}

html[data-page="peta-pelaporan"] .rm-report-monitor-item.is-selected {
  border-color: #62b4ae !important;
  background: linear-gradient(145deg, #f0faf9, #ffffff) !important;
  box-shadow: 0 0 0 3px rgba(20, 132, 124, .11), 0 12px 26px rgba(19, 85, 82, .11) !important;
}

html[data-page="peta-pelaporan"] .rm-report-monitor-item.is-selected::before {
  background: #13847c !important;
}

html[data-page="peta-pelaporan"] .rm-report-monitor-item:focus-visible,
html[data-page="peta-pelaporan"] .rm5445-selected-actions button:focus-visible,
html[data-page="peta-pelaporan"] .rm-report-monitor-item-actions button:focus-visible,
html[data-page="peta-pelaporan"] .rm5445-selected-close:focus-visible,
html[data-page="peta-pelaporan"] .rm5445-state-action:focus-visible {
  outline: 3px solid rgba(19, 132, 124, .24) !important;
  outline-offset: 2px !important;
}

html[data-page="peta-pelaporan"] .rm5445-state-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 34px !important;
  margin: 10px auto 0 !important;
  padding: 7px 12px !important;
  border: 1px solid currentColor !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: inherit !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

html[data-page="peta-pelaporan"] .rm5445-state-action svg {
  width: 14px !important;
  height: 14px !important;
}

html[data-page="peta-pelaporan"] .rm-report-monitor-panel-right.is-minimized .rm5445-map-result-meta,
html[data-page="peta-pelaporan"] .rm-report-monitor-panel-right.is-minimized .rm5445-selected-report {
  display: none !important;
}

.pegawai-followup-item.rm5445-followup-focus {
  border-color: #58afa8 !important;
  box-shadow: 0 0 0 4px rgba(20, 132, 124, .13), 0 16px 36px rgba(19, 85, 82, .12) !important;
}

@media (max-width: 520px) {
  html[data-page="peta-pelaporan"] .rm5445-map-result-meta {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 3px !important;
  }

  html[data-page="peta-pelaporan"] .rm5445-map-result-meta span {
    max-width: 100% !important;
    text-align: left !important;
  }

  html[data-page="peta-pelaporan"] .rm5445-selected-report dl {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html[data-page="peta-pelaporan"] .rm5445-selected-report dl > div.wide {
    grid-column: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #laporanSayaList.rm5445-is-refreshing,
  html[data-page="peta-pelaporan"] #pegawaiReportMapList.rm5445-is-refreshing,
  html[data-page="peta-pelaporan"] .rm-report-monitor-item {
    transition: none !important;
  }
}
