/* =========================================================
   RUANG MASLAHAT DESIGN SYSTEM — STAGE 5.44.48
   A quiet, consistent hierarchy for operational workspaces.
   ========================================================= */

:root {
  --rm48-navy-950: #0b1f33;
  --rm48-navy-800: #163b50;
  --rm48-ink: #142f40;
  --rm48-muted: #647783;
  --rm48-teal-700: #0d655e;
  --rm48-teal-600: #0f766e;
  --rm48-teal-050: #edf8f6;
  --rm48-blue-600: #246b8a;
  --rm48-blue-050: #eef6fa;
  --rm48-warning-700: #96570f;
  --rm48-warning-050: #fff7e8;
  --rm48-success-700: #267443;
  --rm48-success-050: #edf8f1;
  --rm48-danger-700: #a4382f;
  --rm48-danger-050: #fff2f0;
  --rm48-neutral-050: #f6f9fa;
  --rm48-neutral-100: #eef3f5;
  --rm48-border: #dbe5e9;
  --rm48-border-strong: #c8d7dd;
  --rm48-radius-control: 12px;
  --rm48-radius-surface: 18px;
  --rm48-control-height: 44px;
  --rm48-shadow-panel: 0 16px 42px rgba(11, 31, 51, .09);
  --rm48-shadow-float: 0 24px 68px rgba(11, 31, 51, .17);
  --rm48-focus: 0 0 0 3px rgba(15, 118, 110, .18);
  --rm48-space-1: 4px;
  --rm48-space-2: 8px;
  --rm48-space-3: 12px;
  --rm48-space-4: 16px;
  --rm48-space-5: 24px;
}

/* Main surfaces carry elevation; their children stay visually quiet. */
:where(
  .analysis-side-panel,
  .webgis-adddata-panel,
  .webgis-layer-panel,
  .webgis-print-panel,
  .webgis-measure-modal,
  .webgis-intersect-panel,
  .rm-tr-panel,
  .v419-analysis-panel,
  .rm57-reports-panel,
  .rm58-report-panel,
  .pegawai-main-panel,
  .pegawai-menu-panel,
  .pegawai-followup-panel,
  .rm-admin-module-card,
  .rm-admin-module-empty,
  .panel
) {
  border-color: var(--rm48-border) !important;
  border-radius: var(--rm48-radius-surface) !important;
  box-shadow: var(--rm48-shadow-panel) !important;
}

:where(
  .analysis-side-panel,
  .webgis-adddata-panel,
  .webgis-layer-panel,
  .webgis-print-panel,
  .webgis-measure-modal,
  .webgis-intersect-panel,
  .rm-tr-panel,
  .v419-analysis-panel,
  .rm57-reports-panel,
  .rm58-report-panel
) {
  box-shadow: var(--rm48-shadow-float) !important;
}

/* Compact cards: one border, no competing elevation or decorative gradient. */
:where(
  .analysis-choice,
  .analysis-result,
  .analysis-note,
  .rm-geo-source-card,
  .webgis-layer-card,
  .webgis-adddata-dataset-card,
  .webgis-adddata-measure-card,
  .webgis-adddata-highlight,
  .webgis-print-note-box,
  .webgis-intersect-card,
  .pegawai-summary-card,
  .pegawai-followup-summary-card,
  .pegawai-followup-item,
  .pegawai-menu-card,
  .rm520-insight-card,
  .rm520-followup-chart-card,
  .rm5444-followup-card,
  .rm5445-selected-report,
  .laporan-saya-summary-card,
  .laporan-saya-item,
  .rm5447-similar-item
) {
  border-color: var(--rm48-border) !important;
  border-radius: var(--rm48-radius-control) !important;
  background-image: none !important;
  box-shadow: none !important;
}

:where(
  .pegawai-summary-card,
  .pegawai-followup-summary-card,
  .rm520-insight-card,
  .rm520-followup-chart-card,
  .laporan-saya-summary-card
) {
  background: #fff !important;
}

:where(
  .analysis-result,
  .analysis-note,
  .rm-geo-source-card,
  .webgis-adddata-highlight,
  .webgis-print-note-box,
  .webgis-intersect-card
) {
  background: var(--rm48-neutral-050) !important;
}

/* Data pairs are grouped by rhythm and separators, not a card per value. */
:where(
  .analysis-result,
  .pegawai-followup-meta-grid,
  .pegawai-followup-detail-grid,
  .rm5445-selected-report dl
) > :where(div, .pegawai-followup-detail-item) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

:where(.analysis-result, .pegawai-followup-meta-grid, .pegawai-followup-detail-grid) > * + * {
  border-left: 1px solid var(--rm48-border) !important;
}

/* Fields use one height, radius, border, and focus treatment. */
:where(
  .analysis-form,
  .webgis-adddata-form-group,
  .webgis-print-form-group,
  .webgis-intersect-form-group,
  .pegawai-followup-panel,
  .pegawai-followup-modal,
  .rm-admin-module-container,
  .rm-admin-create-panel,
  .rm-admin-search-panel,
  .login-card,
  .internal-login-card
) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), select, .rm-combo-trigger) {
  min-height: var(--rm48-control-height) !important;
  border-color: var(--rm48-border-strong) !important;
  border-radius: var(--rm48-radius-control) !important;
  background: #fff !important;
  box-shadow: none !important;
}

:where(
  .analysis-form,
  .webgis-adddata-form-group,
  .webgis-print-form-group,
  .webgis-intersect-form-group,
  .pegawai-followup-panel,
  .pegawai-followup-modal,
  .rm-admin-module-container,
  .rm-admin-create-panel,
  .rm-admin-search-panel,
  .login-card,
  .internal-login-card
) :where(textarea) {
  border-color: var(--rm48-border-strong) !important;
  border-radius: var(--rm48-radius-control) !important;
  background: #fff !important;
  box-shadow: none !important;
}

:where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea,
  .rm-combo-trigger
):focus {
  border-color: var(--rm48-teal-600) !important;
  outline: none !important;
  box-shadow: var(--rm48-focus) !important;
}

:where(
  .analysis-form,
  .webgis-adddata-form-group,
  .webgis-print-form-group,
  .pegawai-followup-panel,
  .pegawai-followup-modal,
  .rm-admin-module-container
) label {
  color: var(--rm48-ink) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.4 !important;
}

/* One calm button language. Status tags are deliberately excluded. */
:where(
  .analysis-btn,
  .webgis-adddata-card-btn,
  .webgis-adddata-action-btn,
  .webgis-adddata-refresh-btn,
  .webgis-print-action-btn,
  .webgis-measure-action-btn,
  .webgis-layer-tool-btn,
  .pegawai-refresh-btn,
  .pegawai-followup-refresh-btn,
  .pegawai-followup-action,
  .pegawai-followup-save-btn,
  .rm-admin-small-btn,
  .rm-style-primary,
  .rm-style-secondary,
  .rm5444-clear-filters,
  .rm5444-empty-clear,
  .rm5445-state-action,
  .rm5447-similar-action
) {
  min-height: var(--rm48-control-height) !important;
  border-radius: var(--rm48-radius-control) !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease !important;
}

:where(
  .analysis-btn.primary,
  .webgis-adddata-card-btn.primary,
  .webgis-adddata-action-btn.primary,
  .webgis-print-action-btn.primary,
  .webgis-measure-action-btn.primary,
  .pegawai-followup-action.primary,
  .pegawai-followup-save-btn,
  .rm-admin-small-btn.primary,
  .rm-style-primary
) {
  border-color: var(--rm48-teal-600) !important;
  background: var(--rm48-teal-600) !important;
  color: #fff !important;
}

:where(
  .analysis-btn.primary,
  .webgis-adddata-card-btn.primary,
  .webgis-adddata-action-btn.primary,
  .webgis-print-action-btn.primary,
  .webgis-measure-action-btn.primary,
  .pegawai-followup-action.primary,
  .pegawai-followup-save-btn,
  .rm-admin-small-btn.primary,
  .rm-style-primary
):not(:disabled):hover {
  border-color: var(--rm48-teal-700) !important;
  background: var(--rm48-teal-700) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

:where(
  .analysis-btn.ghost,
  .webgis-adddata-card-btn.secondary,
  .webgis-adddata-action-btn.secondary,
  .webgis-adddata-action-btn.subtle,
  .webgis-print-action-btn.secondary,
  .webgis-print-action-btn.subtle,
  .webgis-measure-action-btn.subtle,
  .pegawai-refresh-btn,
  .pegawai-followup-refresh-btn,
  .rm-admin-small-btn.secondary,
  .rm-style-secondary,
  .rm5444-clear-filters,
  .rm5444-empty-clear,
  .rm5445-state-action,
  .rm5447-similar-action
) {
  border-color: var(--rm48-border-strong) !important;
  background: #fff !important;
  color: var(--rm48-teal-700) !important;
}

:where(
  .analysis-btn.ghost,
  .webgis-adddata-card-btn.secondary,
  .webgis-adddata-action-btn.secondary,
  .webgis-adddata-action-btn.subtle,
  .webgis-print-action-btn.secondary,
  .webgis-print-action-btn.subtle,
  .webgis-measure-action-btn.subtle,
  .pegawai-refresh-btn,
  .pegawai-followup-refresh-btn,
  .rm-admin-small-btn.secondary,
  .rm-style-secondary,
  .rm5444-clear-filters,
  .rm5444-empty-clear,
  .rm5445-state-action,
  .rm5447-similar-action
):not(:disabled):hover {
  border-color: #93bbb7 !important;
  background: var(--rm48-teal-050) !important;
  color: #094f4a !important;
}

:where(button, [role="button"], a):focus-visible {
  outline: 3px solid rgba(15, 118, 110, .24) !important;
  outline-offset: 2px !important;
}

:where(button, [role="button"]):disabled {
  cursor: not-allowed !important;
  opacity: .56 !important;
  transform: none !important;
}

/* Functional icons follow one 18 px outline scale. */
:where(
  .analysis-btn,
  .webgis-adddata-card-btn,
  .webgis-adddata-action-btn,
  .webgis-print-action-btn,
  .webgis-measure-action-btn,
  .webgis-layer-tool-btn,
  .pegawai-refresh-btn,
  .pegawai-followup-refresh-btn,
  .pegawai-followup-action,
  .pegawai-followup-save-btn,
  .rm-admin-small-btn,
  .rm5444-clear-filters,
  .rm5444-empty-clear,
  .rm5445-state-action,
  .rm5447-similar-action
) svg {
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
}

:where(
  .pegawai-menu-icon,
  .rm-admin-card-icon,
  .webgis-adddata-highlight-icon,
  .webgis-adddata-dropzone-icon,
  .analysis-hub-icon
) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--rm48-border) !important;
  border-radius: var(--rm48-radius-control) !important;
  background: var(--rm48-neutral-050) !important;
  color: var(--rm48-teal-700) !important;
  box-shadow: none !important;
}

/* Semantic states: color is always paired with text in existing markup. */
:where(
  .analysis-status-badge.status-unknown,
  .pegawai-followup-status.umum,
  .rm5445-selected-tags > span
) { background: var(--rm48-neutral-100) !important; color: #516773 !important; }

:where(
  .analysis-status-badge.status-limited,
  .pegawai-followup-status.menunggu,
  .rm5445-selected-tags > span.waiting,
  .rm5444-age-badge.attention
) { background: var(--rm48-warning-050) !important; color: var(--rm48-warning-700) !important; }

:where(
  .pegawai-followup-status.diproses,
  .rm5445-selected-tags > span.processing,
  .rm5444-age-badge.processing
) { background: var(--rm48-blue-050) !important; color: var(--rm48-blue-600) !important; }

:where(
  .analysis-status-badge.status-allowed,
  .pegawai-followup-status.selesai,
  .rm5445-selected-tags > span.done,
  .rm5444-age-badge.closed
) { background: var(--rm48-success-050) !important; color: var(--rm48-success-700) !important; }

:where(
  .analysis-status-badge.status-denied,
  .pegawai-followup-status.ditolak,
  .rm5445-selected-tags > span.rejected,
  .rm5444-age-badge.long
) { background: var(--rm48-danger-050) !important; color: var(--rm48-danger-700) !important; }

/* Consistent spacing rhythm on the three primary operational surfaces. */
:where(.analysis-panel-content, .webgis-adddata-body, .webgis-layer-panel-body, .webgis-print-panel-body) {
  padding: var(--rm48-space-4) !important;
}

:where(.analysis-form, .analysis-choice-list, .webgis-adddata-grid, .pegawai-followup-filter-row) {
  gap: var(--rm48-space-3) !important;
}

:where(.pegawai-summary-grid, .pegawai-followup-summary-grid, .rm520-dashboard-insights, .rm520-followup-charts) {
  gap: var(--rm48-space-4) !important;
}

:where(.pegawai-summary-card, .pegawai-followup-summary-card, .rm520-insight-card, .rm520-followup-chart-card) {
  padding: var(--rm48-space-4) !important;
}

/* Selected items use one restrained accent instead of extra elevation. */
:where(
  .analysis-choice.selected,
  .webgis-adddata-dataset-card.active,
  .rm-report-monitor-item.is-selected,
  .rm5445-selected-report
) {
  border-color: #70b8b2 !important;
  background: var(--rm48-teal-050) !important;
  box-shadow: inset 3px 0 0 var(--rm48-teal-600) !important;
}

:where(
  .analysis-choice,
  .webgis-adddata-dataset-card,
  .webgis-adddata-measure-card,
  .webgis-layer-card,
  .pegawai-menu-card,
  .pegawai-followup-item,
  .rm-report-monitor-item
):hover {
  border-color: #b8d3d3 !important;
  background: #fbfdfd !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 760px) {
  :root { --rm48-radius-surface: 16px; }

  :where(.analysis-panel-content, .webgis-adddata-body, .webgis-layer-panel-body, .webgis-print-panel-body) {
    padding: var(--rm48-space-3) !important;
  }

  :where(.analysis-result, .pegawai-followup-meta-grid, .pegawai-followup-detail-grid) > * + * {
    border-left: 0 !important;
    border-top: 1px solid var(--rm48-border) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  :where(button, [role="button"], .analysis-choice, .webgis-adddata-dataset-card, .pegawai-menu-card, .pegawai-followup-item) {
    transition: none !important;
  }
}
