:root{
  --bg:#020713;--bg2:#06172a;--bg3:#0a2a48;--text:#f7fbff;--muted:#93abc3;
  --cyan:#7eeaff;--blue:#13b9ff;--line:rgba(126,234,255,.28);--glass:rgba(255,255,255,.055);
  --shadow:0 28px 80px rgba(0,0,0,.38);--danger:#ff7777;--warm:#ffc56d;
  --topbar-h:76px
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:var(--bg);font-family:Segoe UI,Arial,sans-serif;color:var(--text)}
body{overflow:hidden;background:radial-gradient(circle at 13% 15%,rgba(19,185,255,.12),transparent 30%),radial-gradient(circle at 82% 20%,rgba(126,234,255,.11),transparent 27%),linear-gradient(135deg,#020713 0%,#061426 44%,#092846 100%)}
body,.red-viewport,.red-canvas,.network-node,.focus-layer{-webkit-user-select:none;user-select:none}.settings-panel{-webkit-user-select:text;user-select:text}
button,a{font:inherit}.is-hidden{display:none!important}
.red-shell{height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}
.red-topbar{height:var(--topbar-h);flex:0 0 var(--topbar-h);padding:0 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(2,7,19,.78);backdrop-filter:blur(18px);z-index:120}
.red-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.red-brand-logo{width:46px;height:46px;border:1px solid rgba(126,234,255,.20);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.035)}.red-brand-logo img{width:40px;height:40px;object-fit:contain;filter:brightness(1.3)}
.red-brand-copy strong,.red-brand-copy small{display:block}.red-brand-copy strong{font-size:14px;letter-spacing:.08em;text-transform:uppercase}.red-brand-copy small{margin-top:3px;color:var(--cyan);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.red-top-actions{display:flex;align-items:center;gap:10px}.red-version,.red-user{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);font-size:11px;font-weight:900}.red-version{color:var(--cyan)}.red-user{color:#cfe3f7}.red-settings-btn{width:42px;height:42px;border-radius:50%;border:1px solid rgba(126,234,255,.25);background:rgba(17,183,255,.10);color:#fff;font-size:18px;cursor:pointer;transition:.18s ease}.red-settings-btn:hover{background:rgba(17,183,255,.19);border-color:rgba(126,234,255,.5)}
.red-main{flex:1;position:relative;min-height:0;overflow:hidden}.red-intro{position:absolute;left:clamp(22px,2vw,38px);top:clamp(22px,3vh,42px);z-index:20;pointer-events:none;max-width:440px;transition:opacity .22s ease,filter .22s ease,transform .22s ease}.red-kicker{color:var(--cyan);font-size:11px;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.red-intro h1{margin:8px 0 0;font-size:clamp(34px,2.5vw,47px);line-height:1.01;letter-spacing:-1.3px}.red-intro p{margin:11px 0 0;color:var(--muted);font-size:13px;line-height:1.48;max-width:390px}


/* v4.0.2 · identidad viva sin flash del logo legado */
.erp-brand-live{opacity:0;transition:opacity .16s ease}
.erp-brand-live.erp-brand-ready{opacity:1}

/* Escena fija: no pan, no zoom, no canvas infinito. */
.red-viewport{position:absolute;inset:0;overflow:hidden;background-image:linear-gradient(rgba(126,234,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(126,234,255,.023) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,transparent 0,black 5%,black 98%);touch-action:manipulation}
.red-canvas{position:absolute;inset:0;width:100%;height:100%;transform:none!important}.red-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.red-lines path{fill:none;stroke:rgba(126,234,255,.34);stroke-width:1.6;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(19,185,255,.15));stroke-linecap:round;stroke-linejoin:round}.red-lines .line-root{stroke:rgba(126,234,255,.48);stroke-width:2}.branch-lines{display:none!important}.branch-group{display:none!important}
.network-controls,.mobile-tree{display:none!important}

.network-node{position:absolute;border:1px solid rgba(126,234,255,.22);background:radial-gradient(circle at 94% 7%,rgba(19,185,255,.14),transparent 36%),linear-gradient(150deg,rgba(255,255,255,.085),rgba(255,255,255,.034));color:var(--text);box-shadow:var(--shadow);backdrop-filter:blur(14px);text-decoration:none;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;cursor:pointer;overflow:hidden;isolation:isolate;transition:transform .18s ease,border-color .18s ease,background .18s ease,opacity .22s ease,filter .22s ease,box-shadow .18s ease}
.network-node::after,.focus-card::after{content:"";position:absolute;inset:0;z-index:4;border-radius:inherit;padding:2px;background:conic-gradient(from 35deg,transparent 0 68%,rgba(19,185,255,.10) 73%,rgba(126,234,255,.94) 78%,#fff 81%,rgba(19,185,255,.95) 84%,rgba(126,234,255,.18) 89%,transparent 94%);opacity:0;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 7px rgba(126,234,255,.95)) drop-shadow(0 0 14px rgba(19,185,255,.65));transform:rotate(-18deg) scale(1.03)}
.network-node:hover::after,.network-node:focus-visible::after,.focus-card:hover::after,.focus-card:focus-visible::after{opacity:1;animation:laserSweep .66s cubic-bezier(.35,.05,.2,1) 1}
.network-node:hover,.network-node:focus-visible{border-color:rgba(126,234,255,.92);background:radial-gradient(circle at 94% 7%,rgba(19,185,255,.30),transparent 40%),linear-gradient(150deg,rgba(255,255,255,.13),rgba(255,255,255,.05));box-shadow:0 30px 88px rgba(0,0,0,.42),0 0 0 1px rgba(126,234,255,.35),0 0 26px rgba(19,185,255,.34),inset 0 0 24px rgba(19,185,255,.09);outline:none}
.network-node.is-activating,.focus-card.is-activating{animation:nodePulse .22s ease}
.network-node>*:not(.laser-spark),.focus-card>*:not(.laser-spark){position:relative;z-index:2}
.laser-spark{position:absolute;left:var(--spark-x,90%);top:var(--spark-y,10%);z-index:6;width:3px;height:12px;border-radius:999px;background:linear-gradient(to bottom,#fff 0 26%,#9cf4ff 42%,#15c8ff 75%,rgba(21,200,255,0) 100%);box-shadow:0 0 5px #fff,0 0 10px rgba(126,234,255,.95),0 0 17px rgba(19,185,255,.7);pointer-events:none;transform-origin:50% 0;animation:laserSpark .68s cubic-bezier(.12,.65,.28,1) forwards;animation-delay:var(--spark-delay,0ms)}
@keyframes laserSweep{0%{transform:rotate(-25deg) scale(1.03);filter:drop-shadow(0 0 4px rgba(126,234,255,.65))}42%{filter:drop-shadow(0 0 10px rgba(255,255,255,1)) drop-shadow(0 0 18px rgba(19,185,255,.85))}100%{transform:rotate(335deg) scale(1.03);filter:drop-shadow(0 0 7px rgba(126,234,255,.85))}}
@keyframes laserSpark{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--spark-rot,20deg)) scale(.45)}12%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--spark-tx,14px)),calc(-50% + var(--spark-ty,18px))) rotate(calc(var(--spark-rot,20deg) + 38deg)) scale(.12)}}
@keyframes nodePulse{50%{filter:brightness(1.35);box-shadow:0 0 0 5px rgba(126,234,255,.10),0 0 35px rgba(19,185,255,.22)}}

.core-node{left:50%;top:24%;transform:translate(-50%,-50%);width:clamp(236px,17vw,304px);height:clamp(194px,22vh,236px);padding:14px 22px 18px;border-radius:50%;align-items:center;text-align:center;gap:2px;background:radial-gradient(circle at 50% 42%,rgba(126,234,255,.18),rgba(17,183,255,.08) 40%,rgba(255,255,255,.025) 70%);border-color:rgba(126,234,255,.42);box-shadow:0 0 0 14px rgba(126,234,255,.022),0 36px 100px rgba(0,0,0,.46)}
.core-node:hover,.core-node:focus-visible{transform:translate(-50%,-50%) scale(1.025)}.core-node .node-icon{width:clamp(144px,11vw,178px);height:clamp(126px,14vh,154px);display:grid;place-items:center;margin:0 auto -2px}.core-node .node-icon img{width:100%;height:100%;object-fit:contain;transform:scale(1.13);filter:brightness(1.22) drop-shadow(0 0 18px rgba(126,234,255,.26))}.core-node small{color:var(--cyan);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.node-orbit{position:absolute;inset:-13px;border-radius:50%;border:1px dashed rgba(126,234,255,.24);animation:orbit 26s linear infinite}@keyframes orbit{to{transform:rotate(360deg)}}
.area-node{top:62%;transform:translate(-50%,-50%);width:clamp(330px,25vw,455px);min-height:clamp(135px,16vh,170px);padding:24px 58px 24px 25px;border-radius:22px}.workshop-node{left:25%}.admin-node{left:75%}.area-node:hover,.area-node:focus-visible{transform:translate(-50%,-53%)}.area-node strong{font-size:clamp(26px,2.2vw,35px);line-height:1.03;letter-spacing:-.7px}.area-node small{color:var(--muted);font-size:12px;font-weight:800}.area-node .node-index{position:absolute;top:15px;right:17px;color:rgba(126,234,255,.40);font-size:12px;font-weight:950;letter-spacing:.12em}.area-node::before{content:'+';position:absolute;right:18px;bottom:16px;width:30px;height:30px;border:1px solid rgba(126,234,255,.25);border-radius:50%;display:grid;place-items:center;color:var(--cyan);font-size:19px;background:rgba(17,183,255,.08);z-index:2}
.focus-active .red-intro{opacity:.23;filter:blur(1px);transform:translateY(-4px)}.focus-active #networkCanvas{filter:saturate(.55) brightness(.68);opacity:.48;transition:opacity .22s ease,filter .22s ease}.focus-active .mode-edge{opacity:.55}

/* Capa de foco. La rama se reemplaza nivel por nivel dentro del mismo viewport. */
.focus-layer{position:absolute;inset:0;z-index:70;display:grid;place-items:center;padding:28px 48px;opacity:1;visibility:visible;transition:opacity .22s ease,visibility .22s ease}.focus-layer.is-hidden{display:grid!important;opacity:0;visibility:hidden;pointer-events:none}.focus-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(13,59,91,.22),rgba(1,6,14,.56) 72%);backdrop-filter:blur(3px)}
.focus-panel{position:relative;width:min(1480px,94vw);max-height:calc(100vh - var(--topbar-h) - 54px);min-height:420px;border:1px solid rgba(126,234,255,.25);border-radius:28px;background:linear-gradient(145deg,rgba(3,14,28,.955),rgba(7,34,58,.95));box-shadow:0 44px 120px rgba(0,0,0,.55),0 0 55px rgba(17,183,255,.055);padding:18px 22px 28px;overflow:auto;animation:focusIn .24s cubic-bezier(.2,.8,.2,1)}
@keyframes focusIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.focus-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;min-height:46px}.focus-nav button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#fff;cursor:pointer;font-size:20px}.focus-nav button:hover{border-color:rgba(126,234,255,.45);background:rgba(17,183,255,.12)}.focus-breadcrumb{display:flex;justify-content:center;align-items:center;gap:7px;min-width:0;color:#b9cee0;font-size:12px;font-weight:800}.focus-breadcrumb button{width:auto;height:auto;padding:0;border:0;background:none;color:inherit;font-size:12px}.focus-breadcrumb button:hover{color:var(--cyan)}.focus-breadcrumb i{font-style:normal;color:rgba(126,234,255,.46)}.focus-breadcrumb strong{color:var(--cyan);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.focus-tree{position:relative;padding:8px 8px 0}.focus-parent{position:relative;width:min(390px,72vw);min-height:96px;margin:2px auto 64px;padding:17px 22px;border:1px solid rgba(126,234,255,.39);border-radius:20px;background:radial-gradient(circle at 92% 6%,rgba(19,185,255,.18),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.04));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 22px 60px rgba(0,0,0,.28)}.focus-parent::after{content:"";position:absolute;left:50%;top:100%;height:37px;border-left:2px solid rgba(126,234,255,.33)}.focus-parent span{color:var(--cyan);font-size:9px;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.focus-parent strong{margin-top:5px;font-size:clamp(22px,2vw,29px);line-height:1.05}.focus-parent small{margin-top:5px;color:var(--muted);font-size:11px;font-weight:750}
.focus-children{--focus-cols:5;position:relative;display:grid;grid-template-columns:repeat(var(--focus-cols),minmax(0,1fr));gap:15px;max-width:1320px;margin:0 auto}.focus-children::before{content:"";position:absolute;left:5%;right:5%;top:-28px;border-top:2px solid rgba(126,234,255,.26)}
.focus-card{position:relative;min-width:0;min-height:132px;padding:17px 16px 16px;border:1px solid rgba(126,234,255,.18);border-radius:18px;background:radial-gradient(circle at 94% 7%,rgba(19,185,255,.12),transparent 36%),linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.03));color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;cursor:pointer;overflow:hidden;isolation:isolate;box-shadow:0 18px 46px rgba(0,0,0,.25);opacity:0;transform:translateY(9px);animation:branchReveal .28s ease forwards;animation-delay:calc(var(--i,0)*45ms);transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.focus-card::before{content:"";position:absolute;left:50%;bottom:100%;height:28px;border-left:2px solid rgba(126,234,255,.26)}.focus-card:hover,.focus-card:focus-visible{transform:translateY(-3px);border-color:rgba(126,234,255,.90);background:radial-gradient(circle at 94% 7%,rgba(19,185,255,.27),transparent 40%),linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.045));box-shadow:0 22px 58px rgba(0,0,0,.32),0 0 0 1px rgba(126,234,255,.30),0 0 28px rgba(19,185,255,.30),inset 0 0 20px rgba(19,185,255,.07);outline:none}.focus-card strong{font-size:clamp(16px,1.25vw,21px);line-height:1.08}.focus-card small{color:var(--muted);font-size:10px;font-weight:750;line-height:1.25}.focus-card .node-symbol{width:42px;height:32px;display:grid;place-items:center;border-radius:9px;background:rgba(17,183,255,.10);border:1px solid rgba(126,234,255,.17);color:var(--cyan);font-size:8px;font-weight:950;letter-spacing:.07em}.focus-card .trial-badge{color:var(--warm);font-size:8px;letter-spacing:.08em}.focus-card .focus-tag{position:absolute;right:10px;top:10px;padding:4px 6px;border-radius:999px;border:1px solid rgba(126,234,255,.22);color:var(--cyan);font-size:7px;font-weight:950;letter-spacing:.08em}.focus-card.is-disabled{opacity:.34!important;filter:saturate(.25) grayscale(.35);pointer-events:none}.focus-card.is-primary{border-color:rgba(126,234,255,.34)}
@keyframes branchReveal{to{opacity:1;transform:none}}
.focus-layer[data-level="quotes"] .focus-children,.focus-layer[data-level="secondary"] .focus-children{max-width:930px}

/* Banda de equipos: se conserva como explorador horizontal dentro de la misma escena. */
.catalog-band{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1660px,94vw);height:min(620px,78vh);border-radius:30px;border:1px solid rgba(126,234,255,.32);background:linear-gradient(150deg,rgba(3,13,26,.99),rgba(6,31,53,.985));box-shadow:0 44px 120px rgba(0,0,0,.62);padding:20px 22px 22px;z-index:95;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.catalog-band.is-hidden{display:block!important;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-46%)}.catalog-band-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 6px 16px}.catalog-band-head span{display:block;color:var(--cyan);font-size:10px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.catalog-band-head strong{display:block;margin-top:4px;font-size:29px}.catalog-band-head button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);color:#fff;font-size:24px;cursor:pointer}.equipment-rail-wrap{height:calc(100% - 68px);display:grid;grid-template-columns:58px 1fr 58px;gap:14px;align-items:center}.equipment-rail{height:100%;display:flex;align-items:center;gap:22px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding:4px 4px 12px}.equipment-rail::-webkit-scrollbar{display:none}.equipment-card{flex:0 0 min(390px,31vw);height:min(430px,62vh);border:1px solid rgba(255,255,255,.13);border-radius:24px;overflow:hidden;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.032));color:#fff;text-decoration:none;display:grid;grid-template-rows:minmax(0,1fr) auto;scroll-snap-align:center;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.equipment-card:hover{transform:translateY(-4px);border-color:rgba(126,234,255,.55);box-shadow:0 18px 42px rgba(0,0,0,.28)}.equipment-card .equipment-image{min-height:0;background:radial-gradient(circle at 50% 50%,rgba(126,234,255,.105),transparent 66%);display:grid;place-items:center;overflow:hidden;padding:8px 10px 2px}.equipment-card img{width:100%;height:100%;object-fit:contain}.equipment-card strong{display:block;padding:14px 16px 18px;text-align:center;font-size:20px;line-height:1.15}.rail-arrow{width:58px;height:116px;border:1px solid rgba(126,234,255,.24);border-radius:18px;background:rgba(17,183,255,.09);color:#fff;font-size:34px;cursor:pointer}.rail-arrow:hover{border-color:rgba(126,234,255,.5);background:rgba(17,183,255,.16)}.rail-loading{padding:92px 20px;width:100%;text-align:center;color:var(--muted)}
.public-flyout{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:min(1080px,90vw);border-radius:24px;border:1px solid rgba(126,234,255,.25);background:rgba(3,15,29,.98);box-shadow:0 35px 100px rgba(0,0,0,.55);padding:15px;z-index:100}.public-flyout-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 12px}.public-flyout-head strong{font-size:18px}.public-flyout-head a{color:var(--cyan);text-decoration:none;font-size:12px;font-weight:800}.public-flyout-list{display:flex;gap:12px;overflow-x:auto}.public-card{flex:0 0 180px;border:1px solid rgba(255,255,255,.09);border-radius:15px;overflow:hidden;color:#fff;text-decoration:none;background:rgba(255,255,255,.04)}.public-card img{width:100%;height:95px;object-fit:cover;background:#0b2035}.public-card span{display:block;padding:10px;font-size:12px;font-weight:800}

.mode-edge{position:fixed;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:38px;height:90px;border-radius:18px 0 0 18px;border:1px solid rgba(126,234,255,.25);border-right:none;background:rgba(2,7,19,.80);color:#fff;writing-mode:vertical-rl;text-orientation:mixed;cursor:pointer;z-index:85;transition:opacity .2s ease}.mode-edge i{display:block;width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 -10px 0 var(--cyan),0 10px 0 var(--cyan)}
.settings-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.46);z-index:130}.settings-panel{position:fixed;right:18px;top:86px;width:320px;border-radius:24px;border:1px solid rgba(126,234,255,.22);background:rgba(3,15,29,.97);backdrop-filter:blur(16px);box-shadow:var(--shadow);padding:16px 16px 14px;z-index:140;transform:translateX(116%);opacity:0;transition:transform .22s ease,opacity .22s ease}.settings-panel.open{transform:translateX(0);opacity:1}.settings-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.settings-head span{display:block;color:var(--cyan);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.settings-head strong{display:block;margin-top:4px;font-size:22px}.settings-head button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-size:20px;cursor:pointer}.settings-panel section{padding:12px 0;border-top:1px solid rgba(255,255,255,.06)}.settings-panel small{display:block;color:var(--cyan);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.settings-user{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.03)}.settings-user strong{font-size:17px}.settings-user span{color:var(--muted);font-size:12px;font-weight:800;text-transform:capitalize}.settings-action{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;border-radius:14px;border:1px solid rgba(126,234,255,.20);background:rgba(17,183,255,.10);color:#fff;text-decoration:none;font-weight:800;cursor:pointer}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-picker button{min-height:42px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;cursor:pointer;font-weight:800}.mode-picker button.active{border-color:rgba(126,234,255,.4);background:rgba(17,183,255,.18);color:var(--cyan)}.settings-panel footer{padding-top:14px;border-top:1px solid rgba(255,255,255,.06);margin-top:4px;color:var(--muted);font-size:12px;text-align:center}

.developer-only{display:none!important}.role-desarrollador .developer-only{display:flex!important}.role-operador [data-branch="admin"]{opacity:.48;filter:saturate(.36) grayscale(.2);border-color:rgba(255,255,255,.16)}.role-operador [data-branch="admin"]::after{content:'Acceso limitado';position:absolute;right:18px;top:18px;padding:6px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.17);background:rgba(0,0,0,.28);color:#d7e0ea;font-size:9px;font-weight:950;letter-spacing:.07em;text-transform:uppercase;inset:auto 18px auto auto;width:auto;height:auto;opacity:1;animation:none;-webkit-mask:none;mask:none}.role-operador [data-branch="admin"] .node-index{display:none}

@media (max-width:1180px){
  .red-intro{max-width:320px}.red-intro h1{font-size:34px}.red-intro p{font-size:12px;max-width:300px}
  .area-node{width:330px}.workshop-node{left:23%}.admin-node{left:77%}.area-node strong{font-size:27px}
  .focus-panel{width:95vw}.focus-children{--focus-cols:3!important;max-width:980px}.focus-layer[data-level="workshop"] .focus-children{--focus-cols:3!important}.focus-layer[data-level="quotes"] .focus-children,.focus-layer[data-level="secondary"] .focus-children{--focus-cols:3!important}
}
@media (max-width:760px){
  :root{--topbar-h:66px}html,body{height:100%;overflow:hidden}.red-topbar{height:66px;flex-basis:66px;padding:0 12px}.red-brand{gap:8px}.red-brand-logo{width:38px;height:38px}.red-brand-logo img{width:33px;height:33px}.red-brand-copy strong{font-size:12px}.red-brand-copy small{font-size:8px}.red-top-actions{gap:6px}.red-user{display:none}.red-version{padding:6px 8px;font-size:9px}.red-settings-btn{width:38px;height:38px}
  .red-intro{left:14px;top:14px;max-width:260px}.red-kicker{font-size:8px}.red-intro h1{font-size:25px;letter-spacing:-.7px}.red-intro p{display:none}
  .core-node{top:26%;width:174px;height:148px;padding:9px 12px 12px}.core-node .node-icon{width:96px;height:88px;margin:0 auto}.core-node .node-icon img{width:100%;height:100%;transform:scale(1.08)}.core-node small{font-size:8px}.node-orbit{inset:-8px}
  .area-node{left:50%;width:min(86vw,380px);min-height:104px;padding:15px 50px 15px 18px}.workshop-node{top:53%}.admin-node{top:73%}.area-node strong{font-size:22px}.area-node small{font-size:10px}.area-node:hover,.area-node:focus-visible{transform:translate(-50%,-50%)}.red-lines{display:none}
  .focus-layer{padding:8px}.focus-panel{width:100%;max-height:calc(100vh - 82px);min-height:0;border-radius:22px;padding:11px 10px 18px}.focus-nav{grid-template-columns:38px 1fr 38px}.focus-nav button{width:35px;height:35px}.focus-breadcrumb{font-size:10px;gap:4px}.focus-breadcrumb button{font-size:10px}.focus-tree{padding:4px 2px 0}.focus-parent{width:min(82vw,330px);min-height:76px;margin-bottom:46px;padding:12px 16px}.focus-parent::after{height:27px}.focus-parent strong{font-size:20px}.focus-parent small{font-size:9px}.focus-children{--focus-cols:2!important;gap:9px;max-width:none}.focus-children::before{top:-20px}.focus-card{min-height:96px;padding:12px 11px;border-radius:15px}.focus-card::before{height:20px}.focus-card strong{font-size:14px}.focus-card small{font-size:9px}.focus-card .node-symbol{width:34px;height:27px;font-size:7px}.focus-layer[data-level="quotes"] .focus-children,.focus-layer[data-level="secondary"] .focus-children{--focus-cols:1!important;max-width:380px}
  .catalog-band{position:fixed;left:8px;right:8px;top:74px;bottom:8px;transform:none;width:auto;height:auto;border-radius:22px;padding:14px 10px;z-index:150}.catalog-band.is-hidden{transform:translateY(20px)}.catalog-band-head{padding:0 4px 12px}.catalog-band-head strong{font-size:21px}.equipment-rail-wrap{height:calc(100% - 58px);display:block}.rail-arrow{display:none}.equipment-rail{height:100%;gap:14px;padding:4px 4px 12px;align-items:center}.equipment-card{flex:0 0 86vw;height:min(68vh,570px);max-height:570px;min-height:390px}.equipment-card strong{font-size:19px}.public-flyout{position:fixed;left:8px;right:8px;bottom:10px;transform:none;width:auto;max-height:68vh;overflow:auto;z-index:151}.public-card{flex-basis:42vw}.mode-edge{right:4px;height:72px;width:31px;font-size:10px}.settings-panel{top:74px;right:3vw;width:94vw;max-width:360px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}


/* v4.0.3 · fondo energético dinámico */
.red-viewport{isolation:isolate}
.red-energy-field{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.62}
.red-energy-svg{display:block;width:100%;height:100%;overflow:visible}
.red-energy-circuit .circuit-route{fill:none;stroke:rgba(126,234,255,.075);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(19,185,255,.06))}
.red-energy-circuit .circuit-node{fill:rgba(126,234,255,.14);filter:drop-shadow(0 0 4px rgba(126,234,255,.16))}
.red-energy-signals{mix-blend-mode:screen}
.energy-flow{fill:none;stroke:rgba(126,234,255,.38);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:16 250;stroke-dashoffset:266;opacity:0;filter:drop-shadow(0 0 4px rgba(126,234,255,.18));animation:energyTravel var(--flow-dur,3.4s) linear forwards}
.energy-flow.is-reactive{display:none}
.energy-head{fill:rgba(235,255,255,.78);opacity:.55;filter:drop-shadow(0 0 3px rgba(126,234,255,.34))}
.energy-glow{fill:rgba(126,234,255,.16);opacity:.34;filter:blur(1px)}
.energy-junction{display:none}
.energy-core-wave{display:none}
@keyframes energyTravel{0%{opacity:0;stroke-dashoffset:240}10%{opacity:.95}78%{opacity:.92}100%{opacity:0;stroke-dashoffset:-250}}
20%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.9)}}
18%{opacity:.34}100%{opacity:0;r:170px}}
.focus-active .red-energy-field{opacity:.28;filter:saturate(.55) brightness(.82)}
@media (prefers-reduced-motion: reduce){.red-energy-field{display:none}.node-orbit,.network-node:hover::after,.network-node:focus-visible::after,.focus-card:hover::after,.focus-card:focus-visible::after{animation:none!important}}

