/* MADRE SELVA · Esfera SELVA IA (08/11/2026). Modelo único: la esfera de MS EJECUTIVO, con color por experiencia.
   Capa exclusivamente visual. Color por experiencia (html[data-ms-xp]): BASE verde esmeralda · PRO azul luminoso ·
   PREMIUM dorado cálido · MS EJECUTIVO dorado metálico; núcleo negro en las cuatro. No cambia lógica, datos ni permisos.
   Reversión: quitar features/selva-orb de build-evolution.mjs. */
html{--ms-orb-size:92px;--ms-orb-c:#2FD08C;--ms-orb-glow:47,208,140;--ms-orb-lap:16s}
html[data-ms-xp="pro"]{--ms-orb-c:#4DA6FF;--ms-orb-glow:77,166,255}
html[data-ms-xp="premium"]{--ms-orb-c:#EDBA62;--ms-orb-glow:237,186,98}
html[data-ms-xp="direccion"]{--ms-orb-c:#E2C58A;--ms-orb-glow:226,197,138}
/* Color por esfera (también en la vista previa DEMO de MS Ejecutivo, que muestra las cuatro variantes). */
.ms-orb[data-ms-orb="base"]{--ms-orb-c:#2FD08C;--ms-orb-glow:47,208,140}.ms-orb[data-ms-orb="pro"]{--ms-orb-c:#4DA6FF;--ms-orb-glow:77,166,255}.ms-orb[data-ms-orb="premium"]{--ms-orb-c:#EDBA62;--ms-orb-glow:237,186,98}.ms-orb[data-ms-orb="executive"]{--ms-orb-c:#E2C58A;--ms-orb-glow:226,197,138}
@media (max-width:1100px){html{--ms-orb-size:76px}}
@media (max-width:640px){html{--ms-orb-size:60px}}

/* Lugar de la esfera dentro del panel real: reserva su espacio para no tapar textos ni controles. */
.ms-orb-anchor{position:relative;padding-right:calc(var(--ms-orb-size) + 20px);min-height:var(--ms-orb-size);box-sizing:border-box}
.ms-orb-anchor.ms-orb-inset{padding-right:calc(var(--ms-orb-size) + 48px)}
.ms-orb-unit{position:absolute;top:50%;right:var(--ms-orb-right,0px);transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:2}
.ms-orb{position:relative;flex:none;width:var(--ms-orb-size);height:var(--ms-orb-size);margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;line-height:0;z-index:2;-webkit-tap-highlight-color:transparent;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.ms-orb-inset>.ms-orb-unit{right:calc(28px + var(--ms-orb-right,0px))}
.ms-orb-anchor{padding-right:calc(var(--ms-orb-size) + 20px + var(--ms-orb-right,0px))}
.ms-orb-anchor.ms-orb-inset{padding-right:calc(var(--ms-orb-size) + 48px + var(--ms-orb-right,0px))}
/* Celular (y tablet sin lugar a la derecha): la esfera va centrada debajo del título, con «Asistencia activa» encima. */
.ms-orb-anchor.ms-orb-stack{padding-right:0!important;min-height:0!important}
.ms-orb-stack .ms-orb-unit{position:relative;top:auto;right:auto;transform:none;width:max-content;margin:16px auto 18px}
.ms-orb-inset.ms-orb-stack .ms-orb-unit{right:auto;margin-left:auto;margin-right:auto}
button.ms-orb{cursor:pointer}
/* Indicador «Asistencia activa»: cápsula compacta encima de la esfera; verde permanente en las cuatro experiencias. */
.ms-orb-status{display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 9px;border-radius:999px;background:rgba(6,7,8,.62);border:1px solid rgba(214,182,122,.5);box-shadow:inset 0 1px 0 rgba(255,240,210,.08);color:#D9C08A;font:500 11px/1.25 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.02em;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none}
.ms-orb-status[hidden],.ms-orb-alert[hidden]{display:none!important}
.ms-orb-status i{position:relative;flex:none;width:7px;height:7px;border-radius:50%;background:#2FD08C;box-shadow:0 0 6px rgba(47,208,140,.7)}
.ms-orb-status i::after{content:"";position:absolute;inset:-4px;border-radius:50%;background:rgba(47,208,140,.35);animation:ms-orb-pulse 3.6s ease-in-out infinite}
@keyframes ms-orb-pulse{0%,100%{transform:scale(.6);opacity:0}50%{transform:scale(1);opacity:.55}}
/* Aviso independiente ante una interrupción real del servicio (sin colores de estado en la cápsula). */
.ms-orb-alert{display:inline-block;max-width:220px;padding:4px 10px;border-radius:8px;background:rgba(6,7,8,.7);border:1px solid rgba(201,205,209,.4);color:#E3E6E9;font:500 11px/1.3 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;text-align:center;pointer-events:none}
@media (max-width:640px){.ms-orb-status,.ms-orb-alert{font-size:10.5px}.ms-orb-status{padding:3px 9px 3px 8px}.ms-orb-unit{gap:10px}}
/* Neutraliza los estilos globales de botón de cada identidad: la esfera no lleva aro, fondo ni sombra de botón. */
html:not(#v5) body .ms-orb.ms-orb,html:not(#v5)[data-ms-xp] body .ms-orb.ms-orb{width:var(--ms-orb-size)!important;height:var(--ms-orb-size)!important;min-width:0!important;min-height:0!important;max-width:none!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important}
span.ms-orb{pointer-events:none}
/* El lienzo es 1,5 veces la esfera: los rayos del destello y los anillos de MS EJECUTIVO pueden sobresalir del círculo. */
.ms-orb canvas{position:absolute;z-index:1;display:block;left:-25%;top:-25%;width:150%;height:150%;pointer-events:none}
/* Resplandor y reflejo inferior (suaves, sin destellos agresivos). */
.ms-orb::before{content:"";position:absolute;inset:-18%;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(var(--ms-orb-glow),.30) 0%,rgba(var(--ms-orb-glow),.10) 42%,transparent 70%);opacity:.75;animation:ms-orb-breathe 7s ease-in-out infinite;pointer-events:none}
.ms-orb::after{content:"";position:absolute;left:22%;right:22%;bottom:-7%;height:10%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(var(--ms-orb-glow),.55),transparent 70%);filter:blur(2px);opacity:.7;pointer-events:none}
button.ms-orb:hover,button.ms-orb:focus-visible{transform:scale(1.045);filter:brightness(1.12)}
button.ms-orb:hover::before,button.ms-orb:focus-visible::before{opacity:1}
button.ms-orb:active{transform:scale(.985)}
button.ms-orb:focus-visible{outline:2px solid var(--ms-orb-c);outline-offset:4px}
/* Estado real: un asistente está respondiendo (lo informa la propia app en su panel). */
.ms-orb.is-busy{filter:brightness(1.18)}
.ms-orb.is-busy::before{opacity:1}
@keyframes ms-orb-breathe{0%,100%{transform:scale(.96);opacity:.62}50%{transform:scale(1.03);opacity:.86}}

/* 08/11/2026 · Sin marco ni destello en los bordes del panel (decisión del titular): solo la esfera es interactiva. */
.ms-frame{display:none!important}

@media (prefers-reduced-motion:reduce){
  .ms-orb,.ms-orb::before,.ms-orb-status i::after{animation:none!important;transition:none!important}
}
@media print{.ms-orb-unit,.ms-frame{display:none!important}.ms-orb-anchor{padding-right:0}}
/* 12/11/2026 · PRO: esfera en la franja «Control del salón» de Mesas, antes de la hora (en línea, sin reservar espacio lateral). */
.ms-orb-anchor.ms-orb-inline,.ms-orb-anchor.ms-orb-inline.ms-orb-inset{padding-right:0!important;min-height:0!important}
.ms-orb-inline{--ms-orb-size:56px}
.ms-orb-inline>.ms-orb-unit{position:relative;top:auto;right:auto;transform:none;flex-direction:row-reverse;align-items:center;gap:10px;margin:0 18px 0 auto;width:auto}
html:not(#v5) body .ms-orb-inline .ms-orb.ms-orb,html:not(#v5)[data-ms-xp] body .ms-orb-inline .ms-orb.ms-orb{width:56px!important;height:56px!important}
@media (max-width:640px){.ms-orb-inline{--ms-orb-size:48px}html:not(#v5) body .ms-orb-inline .ms-orb.ms-orb,html:not(#v5)[data-ms-xp] body .ms-orb-inline .ms-orb.ms-orb{width:48px!important;height:48px!important}.ms-orb-inline>.ms-orb-unit .ms-orb-status{display:none}}
