/* Add Data scroll belongs to the panel edge; padding belongs to its contents. */
html body #webgisAddDataShell .webgis-adddata-panel { padding: 0 !important; }
html body #webgisAddDataShell .webgis-adddata-header { padding: 16px 18px 12px !important; margin: 0 !important; }
html body #webgisAddDataShell .webgis-adddata-tabs { margin: 0 !important; padding: 8px 14px 12px !important; flex-shrink: 0; }
html body #webgisAddDataShell .webgis-adddata-body { flex: 1; min-height: 0; padding: 0 !important; margin: 0 !important; }
html body #webgisAddDataShell .webgis-adddata-tabpanel { padding: 14px 16px 18px !important; margin: 0 !important; height: 100%; overscroll-behavior: contain; scrollbar-gutter: stable; }
html body #webgisAddDataShell .webgis-adddata-footer { padding: 12px 16px !important; margin: 0 !important; }
.rm-atr-status { position: fixed; left: 18px; bottom: 94px; max-width: min(330px, calc(100vw - 36px)); z-index: 1080; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #dce7eb; border-radius: 12px; background: #fff; color: #17384d; box-shadow: 0 6px 18px #10293d18; font: 12px/1.5 system-ui, sans-serif; }
.rm-atr-status[hidden], .rm-atr-status button[hidden] { display: none; }
.rm-atr-status button { flex: none; min-height: 36px; padding: 5px 10px; border: 1px solid #c9ddd9; border-radius: 8px; background: #edf8f5; color: #0b5f59; cursor: pointer; }
@media print { .rm-atr-status { display: none !important; } }

/* Shared bounds for map tools; the assistant owns its wider chat layout. */
:root {
  --rm-map-panel-top: var(--rm-right-panel-top, 84px);
  --rm-map-panel-edge: 18px;
  --rm-map-panel-bottom: 18px;
  --rm-map-panel-width: min(var(--rm-right-panel-width, 420px), calc(100vw - 36px));
}
html body :is(#analysisHubPanel, #webgisAddDataShell, #layerPanelBackdrop,
  #measureModalBackdrop, #webgisPrintPanelShell, #rm5450HelpDrawer) {
  position: fixed !important;
  top: var(--rm-map-panel-top) !important;
  right: var(--rm-map-panel-edge) !important;
  bottom: var(--rm-map-panel-bottom) !important;
  left: auto !important;
  width: var(--rm-map-panel-width) !important;
  max-width: var(--rm-map-panel-width) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  max-inline-size: var(--rm-map-panel-width) !important;
  max-block-size: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  z-index: 1800 !important;
}
/* The analysis menu stays behind its working tools, including Intersect. */
html body #analysisHubPanel { z-index: 1500 !important; }
html body :is(#webgisIntersectShell, #aiRuangMaslahatPanel, #analysisSidePanel,
  #rmTataRuangPanel, #v419TopologyPanel, #v419LocationPanel, #v419AttributePanel) {
  z-index: 1600 !important;
}
html body :is(#webgisAddDataShell, #layerPanelBackdrop, #measureModalBackdrop, #webgisPrintPanelShell) > :first-child {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
html body :is(#webgisAddDataShell, #layerPanelBackdrop, #measureModalBackdrop, #webgisPrintPanelShell) {
  display: block !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(calc(100% + 36px));
  transition: transform .22s ease, opacity .22s ease, visibility 0s .22s;
}
html body :is(#webgisAddDataShell, #layerPanelBackdrop, #measureModalBackdrop, #webgisPrintPanelShell).is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
  transition-delay: 0s;
}
html body :is(#analysisHubPanel, #rmGeminiDialog, #rm5450HelpDrawer,
  #webgisAddDataShell > :first-child, #layerPanelBackdrop > :first-child,
  #measureModalBackdrop > :first-child, #webgisPrintPanelShell > :first-child) {
  border: 1px solid #dce7eb !important;
  border-radius: 20px !important;
  background: #fff !important;
  overflow: hidden;
  box-shadow: 0 20px 60px #10293d29 !important;
}
html body :is(#analysisHubPanel .analysis-panel-header,
  #webgisAddDataShell .webgis-adddata-header, #layerPanelBackdrop .webgis-layer-panel-header,
  #measureModalBackdrop .webgis-measure-header, #webgisPrintPanelShell .webgis-print-panel-header,
  #rmGeminiDialog .rm-gemini-head, #rm5450HelpDrawer .rm5450-help-head) {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  min-height: 82px;
  box-sizing: border-box;
  border-bottom: 1px solid #dce7eb !important;
  background: #f7fafb !important;
  color: #17384d !important;
}
html body #analysisHubPanel .analysis-panel-header { padding-right: 70px !important; }
html body :is(#rmGeminiTitle, #rm5450HelpDrawer .rm5450-help-brand strong) {
  font-size: 20px !important;
  line-height: 1.25 !important;
  color: #17384d !important;
}
html body #rm5450HelpDrawer .rm5450-help-brand small { color: #607684; }
html body #rm5450HelpDrawer :is(.rm5450-help-brand > span, #rm5450HelpClose) {
  color: #0f766e;
  background: #eaf4f2;
  border-color: #cfe0e2;
}
html body :is(#layerPanelBackdrop .webgis-layer-panel-body,
  #measureModalBackdrop .webgis-measure-content, #webgisPrintPanelShell .webgis-print-panel-body) {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 16px !important;
  margin: 0 !important;
  overscroll-behavior: contain;
}
html body #webgisPrintPanelShell .webgis-print-actions { padding: 12px 16px !important; margin: 0 !important; }

/* The backdrop covers every pixel. Map launchers remain visible behind the consent backdrop. */
html body #rmDisclaimerV37 {
  inset: 0 !important;
  width: 100% !important;
  height: 100dvh !important;
  max-width: none !important;
  max-height: none !important;
  max-inline-size: none !important;
  max-block-size: none !important;
  margin: 0 !important;
}
body.rm-disclaimer-v37-open :is(.rm5450-help-root, .rm-gemini-launcher) {
  pointer-events: none !important;
}
body.rm-disclaimer-v37-open .rm-atr-status {
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 768px) {
  :root {
    --rm-map-panel-top: 112px;
    --rm-map-panel-edge: 8px;
    --rm-map-panel-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    --rm-map-panel-width: calc(100vw - 16px);
  }
  html body :is(#rmGeminiTitle, #rm5450HelpDrawer .rm5450-help-brand strong) { font-size: 18px !important; }
}
@media (max-height: 600px) and (orientation: landscape) {
  :root {
    --rm-map-panel-top: 76px;
    --rm-map-panel-bottom: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body :is(#analysisHubPanel, #webgisAddDataShell, #layerPanelBackdrop,
    #measureModalBackdrop, #webgisPrintPanelShell, #rm5450HelpDrawer) { transition: none !important; }
}
@media print {
  html body :is(#rmGeminiDialog, #rm5450HelpDrawer, #webgisAddDataShell,
    #layerPanelBackdrop, #measureModalBackdrop, #webgisPrintPanelShell) { display: none !important; }
}

/* Preview is a separate workspace. Do not let map chrome overlap the paper. */
html body:has(#webgisPrintLayoutShell.is-open) :is(.webgis-overlay-left,.webgis-overlay-right,.webgis-map-control-rail,.webgis-map-control-stack,.webgis-basemap-stack,#rm5450HelpRoot,#rmGeminiLauncher,#rmLandUsePanel,.leaflet-control-container) {
  visibility:hidden !important; pointer-events:none !important;
}
html body:has(#webgisPrintLayoutShell.is-open) #webgisPrintLayoutShell .leaflet-control-container { visibility:visible !important; pointer-events:auto !important; }

html body:has(#webgisPrintLayoutShell.is-open) :is(.webgis-overlay-left,.webgis-overlay-right,.webgis-map-control-rail,.webgis-bottom-toolbar,.webgis-basemap-stack,#rm5450HelpRoot,#rmGeminiLauncher,#rmLandUsePanel) { display:none!important; }
