/**
 * Fondo estático en rutas con visor pesado (WebGL/Three, canvas 2D, PDF, SVG).
 * body.rum-viewer-3d-route | body.rum-viewer-2d-route
 * Reduce animaciones y capas de decoración para dejar margen de GPU/CPU al visor.
 */

body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) {
  background-color: #050a18 !important;
  background-image: none !important;
}

body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .stars-container {
  display: none !important;
}

body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .viewer-shell {
  background: #2a2a2a !important;
  background-image: none !important;
}

body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) #viewer {
  background: #2a2a2a !important;
}

/* Panel de mando: mismo azul oscuro que .pp-cc-viewport */
body.project-panel-cc:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .pp-cc-bim-host .viewer-shell {
  background: radial-gradient(ellipse 120% 80% at 50% 0%, #1e2d4a 0%, #0b1018 42%, #030508 100%) !important;
}

body.project-panel-cc:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .pp-cc-bim-host .viewer-shell #viewer {
  background: transparent !important;
}

body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) #visualizador-bim .main-layout {
  background: #0a1628 !important;
  background-image: none !important;
}

body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .viewer-loader {
  background: rgba(5, 8, 22, 0.94) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .viewer-loader__panel {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(15, 23, 42, 0.96) !important;
}

/* Solo aplanar el loader legacy; no tocar RumPortalOrb (.viewer-loader__portal-visual) */
body:is(.rum-viewer-3d-route, .rum-viewer-2d-route)
  .viewer-loader__panel:not(:has(.viewer-loader__portal-visual))
  .viewer-loader__core {
  animation: none !important;
  background: rgba(56, 189, 248, 0.4) !important;
  box-shadow: none !important;
}

body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .star,
body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .stars-container .star {
  animation: none !important;
}

body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .satellite,
body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .satellite-1,
body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .satellite-2 {
  animation: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .rum-takeoff-page .star {
  animation: none !important;
}

body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .rum-takeoff-page .satellite,
body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .rum-takeoff-page .satellite-1,
body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .rum-takeoff-page .satellite-2 {
  animation: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

body:is(.rum-viewer-3d-route, .rum-viewer-2d-route)
  .viewer-loader__panel:not(:has(.viewer-loader__portal-visual))
  .viewer-loader__warp::before,
body:is(.rum-viewer-3d-route, .rum-viewer-2d-route)
  .viewer-loader__panel:not(:has(.viewer-loader__portal-visual))
  .viewer-loader__warp::after {
  animation: none !important;
  opacity: 0.4 !important;
  transform: scale(1) !important;
}

body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .world .satDot {
  animation: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

body.rum-viewer-2d-route .top-controls,
body.rum-viewer-2d-route .viewer-card {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.rum-viewer-2d-route header {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Widget: desactivar blur mientras WebGL está activo para liberar GPU */
body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .rum-viewer-widget {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body:is(.rum-viewer-3d-route, .rum-viewer-2d-route) .rum-viewer-widget--floating {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Promueve el canvas del visor a su propia capa de composición */
body:is(.rum-viewer-3d-route) #viewer,
body:is(.rum-viewer-3d-route) #viewer canvas {
  will-change: transform;
  transform: translateZ(0);
}

/* Evita que el split resizer y el KPI column compitan con el canvas */
body.rum-viewer-3d-route .pp-cc-cockpit--kpi {
  contain: layout style;
}

body.rum-viewer-3d-route .pp-cc-split {
  contain: strict;
}

/* Model Coordination — tema estudio claro (menos decoración oscura) */
body.rum-mc-studio {
  background-color: #f3f4f6 !important;
  background-image: none !important;
}

body.rum-mc-studio .viewer-shell,
body.rum-mc-studio #viewer {
  background: #000 !important;
}

body.rum-mc-studio .viewer-loader {
  background: rgba(0, 0, 0, 0.88) !important;
}

body.rum-mc-studio .viewer-loader__panel {
  background: rgba(255, 255, 255, 0.98) !important;
}
