:root{--fs-1:10px;--fs-2:11px;--fs-3:12px;--fs-4:12.5px;--fs-5:13px;--fs-6:14px;--fs-7:15px;--sp-1:2px;--sp-2:4px;--sp-3:6px;--sp-4:8px;--sp-5:10px;--sp-6:12px;--mov-dur-respuesta:.12s;--mov-dur-continuidad:.2s;--mov-dur-firma:.32s;--mov-dur-salida:.16s;--mov-curva-entrada:ease-out;--mov-curva-salida:ease-in;--mov-curva-viaje:cubic-bezier(.32, .08, .24, 1);--mov-dist-entrada:12px;--mov-escala-pulsar:.97;--mov-respuesta:var(--mov-dur-respuesta) var(--mov-curva-entrada);--mov-continuidad:var(--mov-dur-continuidad) var(--mov-curva-entrada);--mov-salida:var(--mov-dur-salida) var(--mov-curva-salida);--capa-dialogo:200;--capa-ruleta:1000;--capa-tour:4000}@media (prefers-reduced-motion:reduce){:root{--mov-dist-entrada:0px;--mov-escala-pulsar:1;--mov-dur-firma:var(--mov-dur-continuidad)}}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0e13;--bg-raised:#111827;--bg-elev:#1a2235;--panel:#151d2b;--panel-hover:#1a2538;--line:#1e293b;--line-light:#273548;--ink:#e2e8f0;--ink-secondary:#94a3b8;--muted:#64748b;--brand:#3b82f6;--brand-rgb:59, 130, 246;--brand-strong:#60a5fa;--brand-dim:rgba(var(--brand-rgb), .12);--brand-navy:#1e4f8c;--accent:#3b82f6;--cta:#f97316;--cta-dim:#f9731626;--ok:#10b981;--ok-dim:#10b9811f;--warn:#f59e0b;--warn-dim:#f59e0b1f;--danger:#ef4444;--danger-dim:#ef44441f;--err:#ef4444;--surface:var(--panel);--surface-raised:var(--bg-raised);--surface-hover:var(--panel-hover);--surface-muted:var(--panel-hover);--border:var(--line);--primary:var(--brand);--accent-dim:var(--brand-dim);--text:var(--ink);--text-secondary:var(--ink-secondary);--text-muted:var(--muted);--fg-muted:var(--muted);--muted-fg:var(--muted);--line-soft:var(--line);--panel-2:var(--panel-hover);--bg-sunken:var(--bg);--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--mono:var(--font-mono);--radius:10px;--radius-md:8px;--radius-sm:6px;--ai-grad-1:#8b5cf6;--ai-grad-2:#3b82f6;--ai-grad-3:#22d3ee;--ai-grad-4:#ec4899}*{box-sizing:border-box}html,body{background:var(--bg);max-width:100%;min-height:100dvh;color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;caret-color:#0000;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}input,textarea,[contenteditable=true],.messages p,.message-card p,.bubble,.var-value,.metric-line,.tab-content p{-webkit-user-select:text;user-select:text;caret-color:var(--brand)}body:before{content:"";background-image:var(--fondo-puntos,radial-gradient(circle, rgba(var(--brand-rgb), .04) 1px, transparent 1px));pointer-events:none;z-index:0;background-size:24px 24px;position:fixed;inset:0}button,input{font:inherit;color:inherit}input,textarea,select{font-size:max(16px,1em)}button{cursor:pointer}
@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}@keyframes pulse-dot{0%,to{opacity:0;transform:scale(.85)}50%{opacity:1;transform:scale(1.08)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(var(--mov-dist-entrada))}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes msgSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes sendFlash{0%{box-shadow:0 0 #f9731699}50%{box-shadow:0 0 12px 4px #f973164d}to{box-shadow:0 0 #f9731600}}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@keyframes varFlash{0%{background:var(--ok-dim)}to{background:0 0}}@keyframes glowPulse{0%,to{opacity:.7}50%{opacity:1}}
button:active{transform:scale(var(--mov-escala-pulsar))}button:is(:disabled,[aria-disabled=true],[aria-busy=true]):active{transform:none}button{transition:transform var(--mov-respuesta), background var(--mov-dur-respuesta), color var(--mov-dur-respuesta), opacity var(--mov-dur-respuesta)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--barra-scroll-hover,var(--muted))}*{scrollbar-width:thin;scrollbar-color:var(--line-light) transparent}
.loading-screen{background:var(--bg);min-height:100dvh;color:var(--brand);z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:relative}.loading-brand{background:linear-gradient(135deg, var(--brand), #8b5cf6);color:#fff;border-radius:14px;place-items:center;width:56px;height:56px;font-size:20px;font-weight:800;display:grid;position:relative}.loading-brand:after{content:"";border-radius:inherit;pointer-events:none;animation:1.5s ease-in-out infinite pulse-dot;position:absolute;inset:0;box-shadow:0 0 0 6px #10b98180}
.app-shell{z-index:1;grid-template-columns:260px minmax(0,1fr);min-height:100dvh;display:grid;position:relative}.sidebar,.chat-main{min-width:0}.sidebar{background:var(--barra-lat-fondo,var(--panel));border-right:1px solid var(--line);gap:var(--sp-6);flex-direction:column;padding:20px 14px;display:flex;position:relative;overflow-x:hidden}@media (min-width:900px){.app-shell{transition:grid-template-columns .22s}.sidebar,.sidebar .brand,.sidebar .nav button{transition-property:padding,background,color,-webkit-text-fill-color,transform;transition-duration:.22s,.12s,.12s,.16s,.1s;transition-timing-function:ease}.nav button svg,.sidebar-toggle svg{transition:width .22s,height .22s,transform .22s}.brand-text{transition:opacity .16s 80ms}.sidebar-collapsed .brand-text{transition-delay:0s}.sidebar-toggle{transition:top .22s,right .22s,color .15s,border-color .15s,background .15s}}@media (prefers-reduced-motion:reduce){.app-shell,.sidebar,.sidebar .brand,.brand-text,.sidebar .nav button,.nav button svg,.sidebar-toggle,.sidebar-toggle svg{transition:none}}.sidebar-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);width:36px;height:36px;color:var(--ink-secondary);cursor:pointer;z-index:5;place-items:center;padding:0;display:grid;position:absolute;top:22px;right:10px}.sidebar-toggle:hover{color:var(--nav-activo-tinta,var(--brand-strong));border-color:var(--brand);background:var(--brand-dim)}.sidebar-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.sidebar-collapsed .sidebar-toggle{top:14px;right:18px}.sidebar-collapsed .sidebar-toggle svg{transform:rotate(180deg)}.app-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar-collapsed .sidebar{align-items:center;padding:60px 8px 16px}.sidebar .brand{padding-right:44px}.sidebar-collapsed .brand{border-bottom:none;align-self:stretch;padding:0 0 12px 8px}.sidebar-collapsed .brand-text{opacity:0;white-space:nowrap;flex:0 0 0;width:0;overflow:hidden}.sidebar-collapsed .brand-text h1,.sidebar .nav button{white-space:nowrap}.sidebar .nav button svg{flex-shrink:0}.sidebar-collapsed .nav .badge-solo-yo{display:none}.sidebar-collapsed .nav{align-self:stretch}.sidebar-collapsed .nav button{-webkit-text-fill-color:transparent;padding-left:18px;padding-right:0}.sidebar-collapsed .nav button svg{width:20px;height:20px}.sidebar-collapsed .nav button{position:relative}.sidebar-collapsed .nav .nav-badge-wrap{flex:none;gap:0;width:0;font-size:0;position:static}.sidebar-collapsed .nav .badge-pro{display:none}.sidebar-collapsed .nav .sidebar-badge{border:2px solid var(--panel);border-radius:50%;width:9px;min-width:9px;height:9px;margin:0;padding:0;font-size:0;position:absolute;top:7px;right:13px}.brand{align-items:center;gap:var(--sp-6);border-bottom:1px solid var(--line);padding:0 4px 12px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--brand-navy), var(--brand));color:#fff;width:40px;height:40px;font-weight:800;font-size:var(--fs-7);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.brand-logo-img{object-fit:contain;border-radius:10px;flex-shrink:0;width:40px;height:40px}.brand h1,.plant-title h2{letter-spacing:-.01em;margin:0}.brand h1{white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:16px;font-weight:700;line-height:1.15}.brand-text{flex:1;min-width:0}.brand p,.status-row,.small{color:var(--muted);font-size:var(--fs-5);margin:0}.plant-title .status-row{color:var(--barra-estado-tinta,var(--muted))}.nav{gap:var(--sp-2);display:grid}.nav button,.quick button,.action-button,.notify-button{border-radius:var(--radius-sm);min-height:40px;color:var(--ink-secondary);align-items:center;gap:var(--sp-5);font-size:var(--fs-6);background:0 0;border:1px solid #0000;padding:0 12px;transition:background .12s,color .12s,transform .1s;display:flex}.nav button:hover{background:var(--nav-hover-fondo,var(--panel-hover));color:var(--nav-hover-tinta,var(--ink))}.nav button.active{background:var(--brand-dim);color:var(--nav-activo-tinta,var(--brand-strong));font-weight:600}.nav-locked{opacity:.5}.nav button.nav-locked:hover{opacity:.78}.badge-pro{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.06em;color:#a78bfa;background:#8b5cf633;border-radius:4px;margin-left:auto;padding:2px 6px;font-weight:700}.badge-solo-yo{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--warn,#f59e0b);background:var(--warn-dim,#f59e0b24);color:var(--warn,#f59e0b);white-space:nowrap;border-radius:4px;flex:none;margin-left:auto;padding:2px 6px;font-weight:800}.nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.punto-solo-yo{background:var(--warn,#f59e0b);width:8px;height:8px;box-shadow:0 0 0 2px var(--bg,#0b0e13);border-radius:50%;position:absolute;top:-2px;right:-4px}.nav button[data-solo-yo=si],.more-item[data-solo-yo=si]{border-left:2px solid var(--warn,#f59e0b)}.nav button{overflow:hidden}.espejo-btn{border:1px solid var(--line,#ffffff1f);border-radius:var(--radius-sm);height:30px;color:var(--ink-secondary,#94a3b8);align-items:center;gap:var(--sp-3);font-size:var(--fs-3);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;padding:0 10px;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:flex}.espejo-btn:hover{color:var(--ink,#e2e8f0);border-color:var(--warn,#f59e0b)}.espejo-btn.is-on{background:var(--warn,#f59e0b);border-color:var(--warn,#f59e0b);color:#1c1917}.espejo-btn.is-on:hover{color:#1c1917;filter:brightness(1.06)}.espejo-btn-text{display:inline}.espejo-label{font-size:var(--fs-2);color:#1c1917;background:var(--warn,#f59e0b);border-radius:4px;flex-shrink:0;margin-left:4px;padding:1px 6px;font-weight:700}.app-shell[data-espejo=si] .topbar,.app-shell[data-espejo=si] .sidebar{box-shadow:inset 0 3px 0 var(--warn,#f59e0b)}.aviso-espejo .aviso-espejo-volver{border:1px solid var(--warn,#f59e0b);background:var(--warn-dim,#f59e0b24);color:var(--warn,#f59e0b);font-size:var(--fs-3);cursor:pointer;border-radius:6px;flex:none;padding:3px 8px;font-weight:600}.aviso-espejo .aviso-espejo-volver:hover{background:var(--warn,#f59e0b);color:#1c1917}.aviso-rama{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 84px);z-index:1200;align-items:flex-start;gap:var(--sp-4);border:1px solid var(--warn,#f59e0b);background:var(--panel,#151d2b);max-width:min(560px,100vw - 24px);color:var(--ink,#e2e8f0);font-size:var(--fs-5);border-radius:10px;padding:10px 12px;line-height:1.35;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #00000047}.aviso-rama svg:first-child{color:var(--warn,#f59e0b);flex:none;margin-top:1px}.aviso-rama span{flex:1;min-width:0}.aviso-rama button{color:var(--ink-secondary,#94a3b8);cursor:pointer;padding:var(--sp-1);background:0 0;border:none;border-radius:4px;flex:none}.aviso-rama button:hover{color:var(--ink,#e2e8f0);background:var(--panel-hover,#ffffff0f)}@media (min-width:900px){.aviso-rama{bottom:24px}}.nav button.nav-attention{opacity:.7;color:#d97706;cursor:not-allowed}.nav button.nav-attention:hover{color:var(--nav-atencion-hover-tinta,#d97706);background:#d977061f}.sidebar-spacer{flex:1}.pie-barra{align-items:center;gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--line);display:flex}.pie-usuario,.pie-campana{border-radius:var(--radius-sm);min-height:40px;color:var(--ink-secondary);cursor:pointer;background:0 0;border:1px solid #0000}.pie-usuario:hover,.pie-campana:hover,.pie-usuario[aria-expanded=true],.pie-campana[aria-expanded=true]{background:var(--nav-hover-fondo,var(--panel-hover));color:var(--nav-hover-tinta,var(--ink))}.pie-usuario{align-items:center;gap:var(--sp-4);text-align:left;flex:1;min-width:0;padding:4px 6px;display:flex;overflow:hidden}.pie-inicial{background:var(--brand-dim);width:32px;height:32px;color:var(--nav-activo-tinta,var(--brand-strong));font-weight:700;font-size:var(--fs-6);border-radius:50%;flex:none;place-items:center;display:grid}.pie-usuario-texto{min-width:0;line-height:1.2;display:grid}.pie-usuario-texto strong,.pie-usuario-texto .small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pie-usuario-texto strong{font-size:var(--fs-5);color:var(--ink)}.pie-campana{flex:none;place-items:center;width:40px;display:grid;position:relative}.pie-campana-punto{background:var(--muted);border:2px solid var(--barra-lat-fondo,var(--panel));box-sizing:content-box;border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:9px}.pie-campana-punto.is-ok{background:var(--ok)}.sidebar-collapsed .pie-barra{align-self:stretch;gap:var(--sp-2);flex-direction:column}.sidebar-collapsed .pie-usuario{flex:none;justify-content:center;width:40px;padding:4px}.sidebar-collapsed .pie-usuario-texto{display:none}.pie-popover{z-index:1000;gap:var(--sp-3);background:var(--panel);width:260px;max-width:calc(100vw - 16px);color:var(--ink);border:1px solid var(--line-light);border-radius:var(--radius);padding:14px;display:grid;position:fixed;box-shadow:0 8px 24px #0006}.pie-popover p{margin:0}.pie-popover .logout-btn,.pie-popover .version-label{margin-top:0}.pie-popover-tecnico{align-items:center;gap:var(--sp-2);font-size:var(--fs-1);opacity:.8;display:flex}.logout-btn{border:1px solid var(--line-light);border-radius:var(--radius-sm);height:32px;color:var(--muted);justify-content:center;align-items:center;gap:var(--sp-3);font-size:var(--fs-5);background:0 0;margin-top:6px;transition:color .12s,border-color .12s,transform .1s;display:flex}.logout-btn:hover{color:var(--danger);border-color:var(--danger)}.online-dot{background:var(--ok);vertical-align:middle;border-radius:50%;width:6px;height:6px;display:inline-block}.version-label{text-align:center;font-size:var(--fs-1);color:var(--muted);letter-spacing:.04em;margin-top:4px;display:block}.tenant-switcher{margin-top:6px;position:relative}.tenant-switcher-btn{border:1px solid var(--line-light);border-radius:var(--radius-sm);width:100%;height:32px;color:var(--ink-secondary);justify-content:center;align-items:center;gap:var(--sp-3);font-size:var(--fs-3);background:0 0;transition:color .12s,border-color .12s;display:flex}.tenant-switcher-btn:hover:not(:disabled){color:var(--brand);border-color:var(--brand)}.tenant-switcher-btn:disabled{opacity:.6;cursor:default}.tenant-switcher-label{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.tenant-switcher-menu{background:var(--panel);border:1px solid var(--line-light);border-radius:var(--radius);padding:var(--sp-3);z-index:30;gap:var(--sp-1);display:grid;position:absolute;bottom:calc(100% + 6px);left:0;right:0;box-shadow:0 8px 24px #0006}.tenant-switcher-item{border-radius:var(--radius-sm);height:34px;color:var(--ink);justify-content:space-between;align-items:center;gap:var(--sp-4);font-size:var(--fs-5);text-align:left;background:0 0;border:none;padding:0 10px;display:flex}.tenant-switcher-item:hover:not(:disabled){background:rgba(var(--brand-rgb), .1)}.tenant-switcher-item:disabled{opacity:.6}.tenant-switcher-error{font-size:var(--fs-2);color:var(--danger);padding:4px 6px 0}
.chat-main{background:var(--bg);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.topbar{background:var(--barra-sup-fondo,var(--bg));border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex;position:relative}.plant-title{gap:var(--sp-2);min-width:0;display:grid}.plant-selector{align-items:center;gap:var(--sp-3);display:flex}.plant-title h2{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:17px;overflow:hidden}.topbar-actions{align-items:center;gap:var(--sp-4);flex-shrink:0;display:flex}@media (max-width:700px){.topbar{gap:var(--sp-4);padding:10px 12px}.topbar>:first-child{min-width:0}.topbar>:first-child h1,.topbar>:first-child h2,.topbar>:first-child .small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-actions{gap:var(--sp-2)}}.mobile-user-btn{border:1px solid var(--cta);border-radius:var(--radius-sm);background:var(--usuario-movil-fondo,#f973161a);width:38px;height:38px;color:var(--cta);place-items:center;transition:color .12s,border-color .12s;display:none}.mobile-user-btn:hover,.mobile-user-btn:active{color:var(--brand);border-color:var(--brand)}.mobile-user-btn:hover{background:var(--usuario-movil-hover-fondo,#f973161a)}.desktop-only{display:block}.mobile-user-menu{background:var(--panel);border:1px solid var(--line-light);border-radius:var(--radius);padding:var(--sp-6);z-index:30;gap:var(--sp-5);min-width:200px;display:grid;position:absolute;top:100%;right:12px;box-shadow:0 8px 24px #0006}.mobile-user-info{gap:var(--sp-1);display:grid}.mobile-user-info strong{font-size:var(--fs-6)}.mobile-user-info .small{font-size:var(--fs-3);color:var(--ink-secondary)}.mobile-logout-btn{border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-dim);height:36px;color:var(--danger);justify-content:center;align-items:center;gap:var(--sp-4);font-size:var(--fs-5);font-weight:500;transition:background .12s;display:flex}.mobile-logout-btn:hover,.mobile-logout-btn:active{background:var(--danger);color:#fff}.mobile-menu-action-btn{border:1px solid var(--line-light);border-radius:var(--radius-sm);height:36px;color:var(--ink);justify-content:center;align-items:center;gap:var(--sp-4);font-size:var(--fs-5);background:0 0;font-weight:500;transition:background .12s,border-color .12s;display:flex}.mobile-menu-action-btn:hover,.mobile-menu-action-btn:active{border-color:var(--ink-secondary)}.mobile-menu-action-btn.is-on{background:var(--warn,#f59e0b);border-color:var(--warn,#f59e0b);color:#1c1917}.mobile-menu-action-btn.refreshing svg{animation:.6s linear infinite spin}.admin-viewing-label{font-size:var(--fs-2);color:var(--warn);background:var(--warn-dim);border-radius:4px;flex-shrink:0;margin-left:4px;padding:1px 6px;font-weight:600}.admin-exit-btn{border:1px solid var(--warn);border-radius:var(--radius-sm);background:var(--warn-dim);height:30px;color:var(--warn);align-items:center;gap:var(--sp-2);font-size:var(--fs-3);white-space:nowrap;padding:0 10px;font-weight:500;transition:background .12s,color .12s;display:flex}.admin-exit-btn:hover{background:var(--warn);color:#000}.admin-exit-text{display:inline}.status-dot{background:var(--ok);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-flex}.status-dot.warn{background:var(--warn)}.status-dot.danger{background:var(--danger)}.status-dot.offline{background:var(--muted)}.status-row{align-items:center;gap:var(--sp-3);font-size:var(--fs-3);flex-wrap:wrap;row-gap:2px;min-width:0;display:flex}
.plant-summary-row{gap:var(--sp-4);flex-wrap:wrap;display:flex}.summary-chip{background:var(--bg);border-radius:var(--radius-sm);text-align:center;min-width:70px;padding:8px 12px}.summary-chip span{color:var(--brand-strong);font-size:20px;font-weight:700;display:block}.summary-chip small{font-size:var(--fs-2);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.summary-chip.plan span{font-size:var(--fs-6);text-transform:uppercase;color:var(--ok)}
.tab-content{background:var(--contenido-fondo,transparent);contain:layout style paint;grid-row:2/4;padding:20px;animation:.25s ease-out tabFadeIn;overflow-y:auto}.tab-header{margin-bottom:20px}.tab-header h3{margin:0 0 4px;font-size:18px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.empty-icon{color:var(--muted);opacity:.4}.empty-state p{color:var(--muted);max-width:300px;line-height:1.5}.action-button{border-radius:var(--radius);background:var(--brand);color:#fff;justify-content:center;align-items:center;gap:var(--sp-4);min-height:42px;font-weight:600;font-size:var(--fs-6);border:0;padding:0 20px;transition:background .12s,transform .1s;display:flex}.action-button:hover{background:#2563eb}.estado-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);text-align:center;padding:16px;transition:box-shadow .25s,border-color .25s;animation:.3s ease-out both fadeSlideUp}.estado-card:hover{border-color:rgba(var(--brand-rgb), .25);box-shadow:0 2px 16px rgba(var(--brand-rgb), .08)}.estado-card:nth-child(2){animation-delay:50ms}.estado-card:nth-child(3){animation-delay:.1s}.estado-card:nth-child(4){animation-delay:.15s}.estado-number.ok{color:var(--ok)}.estado-number.warn{color:var(--warn)}.estado-card span{font-size:var(--fs-3);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.alarm-card{gap:var(--sp-5);padding:14px;display:grid}.notify-button{background:var(--brand-dim);min-height:36px;color:var(--brand-strong);border-radius:var(--radius-sm);font-size:var(--fs-5);border:1px solid #0000;padding:0 12px;font-weight:600}.nav-btn-wrap{place-items:center;display:grid;position:relative}.alarm-badge{background:var(--danger);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;line-height:1;display:grid;position:absolute;top:-2px;right:50%;transform:translate(14px)}.nav-badge-wrap{align-items:center;gap:var(--sp-5);flex:1;display:flex;position:relative}.sidebar-badge{background:var(--danger);color:#fff;min-width:18px;height:18px;font-size:var(--fs-1);border-radius:9px;place-items:center;margin-left:auto;padding:0 5px;font-weight:700;line-height:1;display:grid}.sidebar-badge--aviso,.alarm-badge--aviso{background:var(--warn)}.sidebar-badge--info,.alarm-badge--info{background:var(--brand)}.sidebar-badge--punto{width:8px;min-width:8px;height:8px;padding:0}.alarm-badge--punto{width:8px;min-width:8px;height:8px;padding:0;top:0}.alarm-pulse{animation:1.4s ease-in-out infinite alarmPulse;background:var(--danger)!important;color:#fff!important}@keyframes iconoSacudida{0%,15%,to{transform:rotate(0)}3%,9%{transform:rotate(-12deg)}6%,12%{transform:rotate(12deg)}}@keyframes iconoPulso{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.08)}}.icono-sacudida{color:var(--danger);transform-origin:top;animation:4s ease-in-out infinite iconoSacudida}.icono-pulso{color:var(--warn);animation:2.8s ease-in-out infinite iconoPulso}@media (prefers-reduced-motion:reduce){.icono-sacudida,.icono-pulso{animation:none}}.refresh-btn{border:1px solid var(--line-light);border-radius:var(--radius-sm);background:var(--barra-boton-fondo,transparent);width:36px;height:36px;color:var(--barra-boton-tinta,var(--muted));place-items:center;transition:color .15s,border-color .15s,transform .1s;display:grid}.refresh-btn:hover{background:var(--barra-boton-hover-fondo,transparent);color:var(--barra-boton-hover-tinta,var(--ink));border-color:var(--barra-boton-hover-borde,var(--ink-secondary))}.refresh-btn.refreshing svg{animation:.6s linear infinite spin}.bottom-nav{display:none}
@media (max-width:1180px){.app-shell{grid-template-columns:240px minmax(0,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}}@media (max-width:768px),(max-width:950px) and (orientation:landscape) and (max-height:500px){.app-shell,.app-shell.sidebar-collapsed{height:max(100svh, min(100lvh, 100svh + env(safe-area-inset-top,0px) * 100));grid-template-columns:1fr;padding-bottom:68px;position:relative}.sidebar{display:none}.topbar{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right));z-index:20;background:var(--barra-sup-fondo,var(--panel));position:sticky;top:0}.plant-title h2{font-size:var(--fs-6)}.mobile-user-btn{display:grid}.desktop-only{display:none!important}.tab-content{padding:14px 12px;padding-bottom:calc(80px + env(safe-area-inset-bottom));padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.bottom-nav{background:var(--bnav-fondo,#151d2bd9);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);box-shadow:var(--bnav-sombra,none);padding:4px max(4px, env(safe-area-inset-right)) max(4px, calc(env(safe-area-inset-bottom) - 8px)) max(4px, env(safe-area-inset-left));z-index:20;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:absolute;bottom:0;left:0;right:0}.bottom-nav button{min-width:0;min-height:52px;color:var(--muted);place-items:center;gap:var(--sp-1);font-size:var(--fs-1);background:0 0;border:0;padding:6px 0;transition:color .15s,transform .1s;display:grid;position:relative}.bottom-nav button.active{color:var(--brand);font-weight:var(--bnav-activo-peso,inherit)}.bottom-nav button.active:after{content:"";background:var(--brand);width:24px;height:3px;box-shadow:var(--bnav-activo-brillo,0 0 8px var(--brand), 0 0 16px rgba(var(--brand-rgb), .3));border-radius:2px;animation:2s ease-in-out infinite glowPulse;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.bottom-nav button span{font-size:var(--fs-1);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}}@media (prefers-reduced-motion:reduce){.topbar{transition:none}}@media (max-width:360px){.bottom-nav button span{font-size:9px}}.more-sheet-backdrop{z-index:60;background:#00000073;align-items:flex-end;animation:.16s more-fade;display:flex;position:fixed;inset:0}.more-sheet{background:var(--panel,#17191f);width:100%;padding:8px 16px calc(20px + env(safe-area-inset-bottom));border-top-left-radius:18px;border-top-right-radius:18px;animation:.2s cubic-bezier(.2,.7,.2,1) more-slide;box-shadow:0 -8px 32px #0000004d}.more-sheet-grip{background:var(--line);border-radius:4px;width:40px;height:4px;margin:6px auto 14px}.more-sheet-grid{gap:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.more-item{justify-content:center;align-items:center;gap:var(--sp-4);border:1px solid var(--line);min-height:84px;color:var(--ink);font-size:var(--fs-3);cursor:pointer;background:0 0;border-radius:14px;flex-direction:column;padding:16px 8px;font-weight:600;display:flex;position:relative}.more-item:active{background:var(--line-soft,var(--line))}.more-item .badge-pro{position:absolute;top:6px;right:6px}@keyframes more-fade{0%{opacity:0}to{opacity:1}}@keyframes more-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.more-sheet-backdrop,.more-sheet{animation:none}}.navcust-sheet{flex-direction:column;max-height:84vh;display:flex;overflow-y:auto}.navcust-head{padding:0 2px 10px}.navcust-list{position:relative;overflow:hidden}.navcust-row{align-items:center;gap:var(--sp-6);box-sizing:border-box;background:var(--panel);color:var(--ink);border:1px solid var(--line);font-weight:600;font-size:var(--fs-6);-webkit-user-select:none;user-select:none;cursor:grab;border-radius:12px;padding:0 14px;display:flex;position:absolute;left:0;right:0}.navcust-row.dragging{cursor:grabbing;z-index:5;border-color:var(--accent);transform:scale(1.02);box-shadow:0 10px 28px #00000047}.navcust-pos{text-align:center;width:20px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:var(--fs-5)}.navcust-ico{color:var(--accent);display:inline-flex}.navcust-label{flex:1}.navcust-grip{color:var(--muted);flex-shrink:0}.navcust-divider{border-top:1px dashed var(--line-light,var(--line));pointer-events:none;align-items:center;height:0;display:flex;position:absolute;left:0;right:0}.navcust-divider span{font-size:var(--fs-1);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--panel);margin-left:auto;padding:0 8px;font-weight:700;transform:translateY(-1px)}.navcust-done{justify-content:center;width:100%;margin-top:14px}.navcust-open{justify-content:center;width:100%;margin-top:10px}.value-kpi-row{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-bottom:14px;display:grid}.value-kpi-row:empty{display:none}
.alarm-header-count{color:var(--danger);font-size:var(--fs-6);font-weight:500}.alarm-error{align-items:center;gap:var(--sp-4);background:var(--danger-dim);color:var(--danger);border-radius:var(--radius-sm);font-size:var(--fs-5);margin:0 16px 12px;padding:10px 14px;display:flex}.alarm-test-msg{align-items:center;gap:var(--sp-4);background:var(--brand-dim);color:var(--brand);border-radius:var(--radius-sm);font-size:var(--fs-5);margin:0 0 12px;padding:10px 14px;display:flex}.vcfg-gated{align-items:center;gap:var(--sp-3);border:1px dashed var(--line);color:var(--muted);cursor:pointer;font:inherit;font-size:var(--fs-5);background:0 0;border-radius:8px;padding:8px 12px;display:inline-flex}.vcfg-gated:hover{border-color:var(--brand);color:var(--ink)}.vcfg-write-mode{margin-top:10px}.vcfg-write-mode-label{font-size:var(--fs-3);color:var(--muted);margin-bottom:6px;display:block}.vcfg-write-mode-opts{flex-wrap:wrap;gap:6px;display:flex}.vcfg-write-mode-opt{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;font:inherit;font-size:var(--fs-5);border-radius:8px;padding:6px 12px}.vcfg-write-mode-opt.active{border-color:var(--brand);background:var(--brand-dim,rgba(var(--brand-rgb), .12));color:var(--brand)}.admin-hint{color:var(--muted);margin-top:4px;display:block}.widget-output{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden;container-type:size}.widget-output>.widget-bn-header{flex-shrink:0}.widget-output-body{justify-content:center;align-items:center;gap:var(--sp-4);min-height:0;padding:var(--sp-3);flex-direction:column;flex:1;display:flex;overflow:hidden}.widget-output-body>.output-feedback{flex-shrink:0}.output-switch{align-items:center;gap:var(--sp-5);border:1px solid var(--line);background:var(--surface-2,#7f7f7f1a);cursor:pointer;color:var(--muted);border-radius:999px;flex-shrink:0;max-width:100%;padding:8px 16px;font-weight:700;display:inline-flex}.output-switch .output-switch-knob{background:var(--muted);border-radius:50%;width:18px;height:18px;transition:all .15s}.output-switch.on{color:#10b981;background:#10b98126;border-color:#10b981}.output-switch.on .output-switch-knob{background:#10b981}.output-switch:disabled{opacity:.5;cursor:not-allowed}.widget-setpoint-body{justify-content:flex-start;align-items:stretch;gap:8px}.setpoint-hero{flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:1px;min-width:0;min-height:0;display:flex;overflow:hidden}.setpoint-eyebrow{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.6px;color:var(--ink-secondary);flex-shrink:0;font-weight:600}.setpoint-value-row{justify-content:center;min-height:0}.widget-setpoint-body .setpoint-value{font-size:clamp(18px,min(15cqw,26cqh),48px)}.widget-setpoint-body .setpoint-unit-big{font-size:clamp(11px,min(6cqw,9cqh),18px)}.widget-setpoint-row{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.widget-setpoint-input{border:1px solid var(--line);background:var(--panel);min-width:34px;color:var(--text);font:inherit;border-radius:8px;flex:70px;padding:7px 9px;transition:border-color .12s,box-shadow .12s}.widget-setpoint-input:focus{border-color:var(--brand,#2563eb);outline:none;box-shadow:0 0 0 3px #2563eb26}.widget-setpoint-unit{color:var(--muted);flex-shrink:0;font-size:12px}.widget-setpoint-input.out-of-range{border-color:var(--danger,#dc2626)}.widget-setpoint-input.out-of-range:focus{box-shadow:0 0 0 3px #dc262626}.widget-setpoint-range{color:var(--muted);text-align:center;flex-shrink:0;font-size:11px}.widget-setpoint-range.bad{color:var(--danger,#dc2626);font-weight:600}.widget-stepper-body{justify-content:center;align-items:center;gap:8px}.widget-stepper-row{flex-shrink:0;justify-content:center;align-items:center;gap:12px;width:100%;min-height:0;display:flex}.stepper-arrow{border:1px solid var(--line);background:var(--panel);width:clamp(30px,15cqmin,42px);height:clamp(30px,15cqmin,42px);color:var(--text);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .12s,background .12s;display:inline-flex}.stepper-arrow:hover:not(:disabled){border-color:var(--brand,#2563eb);background:#2563eb14}.stepper-arrow:disabled{opacity:.4;cursor:not-allowed}.stepper-value{text-align:center;min-width:0;font-size:clamp(16px,min(12cqw,20cqh),32px);font-weight:800;line-height:1}.stepper-value .stepper-unit{color:var(--muted);margin-left:3px;font-size:.55em;font-weight:600}.widget-slider-body{justify-content:center;align-items:stretch;gap:4px}.widget-slider-val{text-align:center;flex-shrink:0;font-size:clamp(15px,min(11cqw,18cqh),28px);font-weight:800}.widget-slider-input{box-sizing:border-box;width:100%;accent-color:var(--brand,#2563eb);cursor:pointer;flex-shrink:0;margin:0}.widget-slider-input:disabled{opacity:.5;cursor:not-allowed}.widget-slider-ends{color:var(--muted);flex-shrink:0;justify-content:space-between;font-size:11px;display:flex}.output-send-btn,.output-command-btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.output-command-btn{flex-shrink:0;width:100%;padding:12px;font-size:15px}.output-send-btn{flex-shrink:0;transition:filter .12s,box-shadow .12s}.output-send-btn:hover:not(:disabled),.output-command-btn:hover:not(:disabled){filter:brightness(1.08)}.output-send-btn:focus-visible,.output-command-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb59}.output-send-btn:disabled,.output-command-btn:disabled{opacity:.5;cursor:not-allowed}.output-feedback{color:var(--muted);flex-shrink:0;align-items:center;gap:4px;font-size:12px;display:inline-flex}.output-feedback.ok{color:#10b981}.output-feedback.err{color:#ef4444}@container (max-height:150px){.widget-output-body{gap:5px;padding:4px}.output-send-btn{padding:7px 10px}.output-command-btn{padding:9px;font-size:13px}.output-switch{padding:6px 12px}}@container (max-width:190px){.widget-setpoint-row .output-send-btn{gap:0;padding:7px 8px;font-size:0}}@container (max-height:105px){.widget-output>.widget-bn-header{font-size:11px}.setpoint-eyebrow,.widget-setpoint-range{display:none}}.modal-card.write-confirm{max-width:420px}.write-confirm-body{padding:16px}.write-confirm-action{color:var(--ink);margin:0 0 6px;font-size:16px;font-weight:700}.write-confirm-detail{color:var(--muted);margin:0 0 12px;font-size:14px}.write-confirm-warn{color:#b45309;background:#f59e0b1f;border:1px solid #f59e0b66;border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.write-confirm-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.write-confirm-actions .btn-secondary{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;font:inherit;border-radius:8px;padding:8px 16px}.write-confirm-actions .btn-danger{color:#fff;cursor:pointer;font-weight:600;font:inherit;background:#dc2626;border:none;border-radius:8px;padding:8px 16px}.write-confirm-actions .btn-danger:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog-card{max-width:440px}.confirm-dialog-object{background:var(--panel-2,#7f7f7f14);border:1px solid var(--line);color:var(--ink);overflow-wrap:anywhere;border-radius:8px;margin:0 0 10px;padding:8px 12px;font-size:15px;font-weight:700}.confirm-dialog-field{margin:12px 0 0;display:block}.confirm-dialog-label{color:var(--muted);margin:0 0 6px;font-size:13px;display:block}.confirm-dialog-label strong{color:var(--ink)}.confirm-dialog-input{box-sizing:border-box;border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:9px 12px;font-size:15px}.confirm-dialog-input:focus{border-color:#dc2626;outline:none;box-shadow:0 0 0 3px #dc26262e}@media (prefers-reduced-motion:reduce){.confirm-dialog-backdrop{animation:none!important}}.confirm-choice-card{max-width:480px}.confirm-choice-actions{flex-wrap:wrap}.confirm-choice-actions .btn-primary{cursor:pointer;font-weight:600;font:inherit;border:none;border-radius:8px;padding:8px 16px}.chat-write-confirm{margin-top:8px}.chat-write-action{margin:0 0 6px;font-weight:700}.chat-write-warn{color:#b45309;background:#f59e0b1f;border:1px solid #f59e0b66;border-radius:8px;align-items:flex-start;gap:6px;margin:0 0 10px;padding:8px 10px;font-size:12px;display:flex}.chat-write-actions{gap:8px;display:flex}.chat-write-btn.danger{color:#fff;cursor:pointer;font-weight:600;font:inherit;background:#dc2626;border:none;border-radius:8px;padding:7px 16px}.chat-write-btn.danger:disabled{opacity:.6;cursor:not-allowed}.chat-write-done{color:#10b981;margin:6px 0 0;font-weight:600}.chat-write-err{color:#ef4444;margin:0 0 8px;font-size:12px}.chat-write-btn{border:1px solid var(--brand,#2563eb);background:var(--brand,#2563eb);color:#fff;cursor:pointer;font-weight:600;font:inherit;border-radius:8px;padding:7px 16px}.chat-write-btn:disabled{opacity:.55;cursor:not-allowed}.chat-conduct-confirm{margin-top:10px}.chat-conduct-confirm .chat-write-btn{align-items:center;gap:6px;display:inline-flex}.chat-conduct-actions{flex-wrap:wrap;gap:8px;display:flex}.chat-conduct-confirm.done .chat-conduct-actions{margin-top:6px}.ai-unavailable-card{border-color:var(--sa-tarjeta-borde-color,var(--warn-dim))}.ai-unavailable-card header{color:var(--warn)}.chat-ai-unavailable{margin-top:10px}.chat-ai-unavailable .chat-write-btn{align-items:center;gap:6px;display:inline-flex}.chat-ai-unavailable-hint{color:var(--ink);margin:0 0 8px;font-size:13px;font-weight:600}.chat-ai-unavailable-menu{flex-wrap:wrap;gap:8px;display:flex}.chat-write-btn.ghost{color:var(--brand);border:1px solid var(--brand);background:0 0}.chat-write-btn.ghost:hover{background:var(--brand-dim)}.chat-write-picker{margin-top:8px}.chat-write-picker-hint{margin:0 0 8px;font-size:13px;font-weight:600}.chat-write-picker-list{flex-direction:column;gap:6px;display:flex}.chat-write-picker-item{border:1px solid var(--line,#0000001f);background:var(--surface,#fff);cursor:pointer;width:100%;font:inherit;text-align:left;border-radius:10px;align-items:center;gap:8px;padding:9px 11px;transition:border-color .12s,background .12s;display:flex}.chat-write-picker-item:hover{border-color:var(--brand,#2563eb);background:#2563eb0f}.chat-write-picker-item .cwp-name{flex:1;font-weight:600}.chat-write-picker-item .cwp-mode{letter-spacing:.02em;color:var(--brand,#2563eb);background:#2563eb1f;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:700}.chat-write-picker-back{color:var(--brand,#2563eb);cursor:pointer;font-weight:600;font:inherit;background:0 0;border:none;margin:0 0 8px;padding:4px 8px}.chat-setpoint-entry{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chat-setpoint-entry input{border:1px solid var(--line,#00000026);min-width:120px;font:inherit;border-radius:8px;flex:1;padding:8px 10px}.chat-setpoint-range{width:100%;color:var(--ink-secondary,#6b7280);font-size:11px}.chat-write-output{flex-direction:column;gap:8px;margin-top:8px;display:flex}.chat-write-output .cwo-last{background:#2563eb14;border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:13px;display:flex}.chat-write-output .cwo-last-label{color:var(--ink-secondary,#6b7280)}.chat-write-output .cwo-last-val{margin-left:auto;font-weight:700}.vcfg-gated strong{color:var(--brand)}.alarm-error.compact{margin:0 0 12px}.alarm-error button{color:var(--danger);padding:var(--sp-1);background:0 0;border:0;margin-left:auto}
@keyframes alarmPulse{0%,to{opacity:1}50%{opacity:.4}}.alarm-pulse{animation:1.2s ease-in-out infinite alarmPulse}.severity-badge,.severity-badge-sm{font-size:var(--fs-2);text-transform:uppercase;letter-spacing:.02em;border-radius:10px;padding:2px 8px;font-weight:600;display:inline-flex}.severity-badge-sm{font-size:var(--fs-1);padding:1px 6px}.severity-critical{background:var(--danger-dim);color:var(--danger)}.severity-warning{background:var(--warn-dim);color:var(--warn)}.severity-info{background:var(--brand-dim);color:var(--brand)}.alarm-rules-section{margin:0 16px}.rules-section-title{font-size:var(--fs-5);color:var(--ink-secondary);margin:0 0 10px;font-weight:600}.alarm-rules-list{gap:var(--sp-6);flex-direction:column;display:flex}.alarm-group{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.alarm-group-header{background:var(--bg-raised);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.alarm-group-header strong{font-size:var(--fs-6)}.alarm-rule-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 14px;transition:background .15s;display:flex}.alarm-rule-row:last-child{border-bottom:0}.alarm-rule-row:hover{background:var(--panel-hover)}.alarm-rule-row.rule-active{background:var(--danger-dim)}.alarm-rule-row.rule-disabled{opacity:.5}.alarm-rule-row.rule-just-created{animation:2.5s ease-out alarmRuleJustCreated}@keyframes alarmRuleJustCreated{0%{background:color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:0 0 0 1px var(--accent) inset}to{box-shadow:none;background:0 0}}.alarm-rule-actions{align-items:center;gap:var(--sp-5);flex-shrink:0;display:flex}.action-button.secondary{background:var(--panel);color:var(--ink);border:1px solid var(--line)}.action-button.secondary:hover{border-color:var(--brand);color:var(--brand)}
.filter-btn:hover,.filter-btn.active{background:var(--brand-dim);color:var(--brand);border-color:var(--brand)}.filter-chip{background:var(--panel);border:1px solid var(--line);font-size:var(--fs-3);color:var(--ink-secondary);border-radius:20px;padding:5px 12px;transition:all .15s}.filter-chip:hover{border-color:var(--brand)}.filter-chip.active{background:var(--brand-dim);border-color:var(--brand);color:var(--brand);font-weight:600}.var-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);transition:border-color .15s;overflow:hidden}.var-row:hover{border-color:var(--line-light)}.var-row.expanded{border-color:var(--brand)}.var-status-badge{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.02em;border-radius:10px;padding:2px 8px;font-weight:700}.status-active{background:var(--ok-dim);color:var(--ok)}.status-pending{background:var(--warn-dim);color:var(--warn)}.status-discovered{background:var(--brand-dim);color:var(--brand)}.status-disabled{color:var(--muted);background:#64748b1f}.status-archived{color:var(--muted);background:#64748b14;text-decoration:line-through}.empty-state.compact{padding:32px 16px}.empty-state.compact p{margin:0}.admin-loading{justify-content:center;align-items:center;gap:var(--sp-6);height:200px;color:var(--ink-secondary);display:flex}.admin-section{margin-bottom:24px}.admin-section h3{margin:0 0 16px;font-size:18px;font-weight:600}.admin-section-header{justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:12px;display:flex}.admin-section-header h3,.admin-section-header h4{margin:0}.admin-section-header h3>svg,.admin-section-header h4>svg{vertical-align:-3px;margin-right:4px}.admin-subsection{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.netdev-primary-actions>.admin-btn{flex:220px;justify-content:center}.netdev-badges{gap:var(--sp-2);flex-wrap:wrap;display:inline-flex}.netdev-badge-proto{background:#6366f1}@media (max-width:640px){.netdev-remote-register select.netdev-input,.netdev-remote-register>.admin-btn,.netdev-remote-actions>.admin-btn{width:100%}}.netdev-intel-head .admin-btn{flex:auto;justify-content:center}@media (max-width:640px){.netdev-control,.netdev-controls>.admin-btn,.netdev-filterbar>.netdev-input,.netdev-filterbar>*,.netdev-primary-actions>.admin-btn{width:100%}.netdev-primary-actions>.admin-btn{flex:none;min-height:44px}.netdev-intel-head .admin-btn{flex:100%}}.admin-subsection h4{font-size:var(--fs-7);margin:0;font-weight:600}.admin-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;transition:border-color .15s}.admin-card:hover{border-color:var(--line-light)}.admin-card.compact{padding:var(--sp-6)}.admin-badge{font-size:var(--fs-1);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:100px;padding:2px 8px;font-weight:700;display:inline-block}.admin-slug{font-size:var(--fs-3);color:var(--muted);word-break:break-word;margin-left:6px}.admin-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.user-cards{display:none}.user-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.user-card-main{flex:1;min-width:0}.user-card-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.user-card-top strong{font-size:15px}.user-card-email{color:var(--muted);word-break:break-all;margin-top:2px;font-size:13px}.user-card-meta{color:var(--muted);margin-top:4px;font-size:11px}.user-card-actions{flex:none;gap:6px;display:flex}@media (max-width:760px){.user-table-wrap{display:none}.user-cards{flex-direction:column;gap:10px;display:flex}}@media (max-width:980px){.cost-calc-grid{grid-template-columns:1fr!important}}.pub-list-cards,.pub-pending-cards{display:none}.pub-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.pub-card-head strong{font-size:15px}.pub-card-meta{color:var(--muted);flex-direction:column;gap:3px;margin-top:8px;font-size:12.5px;display:flex}.pub-card-meta code{word-break:break-all}.pub-card-btn{width:100%;margin-top:12px;padding:11px;font-size:15px}.pub-card-actions{gap:8px;display:flex}.pub-card-actions .pub-card-btn{flex:1}.pub-req-meta{color:var(--muted);flex-direction:column;gap:3px;margin-top:6px;font-size:13px;display:flex}.pub-req-meta a{color:var(--brand);word-break:break-all;text-decoration:none}.pub-req-actions{gap:10px;margin-top:14px;display:flex}.pub-req-actions button{flex:1;min-height:48px;padding:14px 12px;font-size:16px;font-weight:600}@media (max-width:760px){.pub-list-cards{flex-direction:column;gap:10px;display:flex}.pub-pending-cards{flex-direction:column;gap:12px;display:flex}}.admin-table{border-collapse:collapse;width:100%;font-size:var(--fs-5);min-width:720px}.admin-table.catalog-table{min-width:880px}.admin-table th{text-align:left;font-size:var(--fs-2);text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 10px;font-weight:600}.admin-table td{padding:var(--sp-5);border-bottom:1px solid var(--line);color:var(--ink-secondary);overflow-wrap:anywhere}.admin-table tr:hover td{background:var(--panel-hover)}.admin-table .admin-mono{font-family:SF Mono,Monaco,Consolas,monospace;font-size:var(--fs-3);word-break:break-all}.admin-table.netdev-table{min-width:1180px}.netdev-table .admin-mono{word-break:normal;white-space:nowrap}.netdev-table .admin-badge{white-space:nowrap}.admin-actions-cell{gap:var(--sp-2);display:flex}.admin-empty{text-align:center;color:var(--muted);padding:24px!important}.admin-empty-card{justify-content:center;align-items:center;gap:var(--sp-5);text-align:center;color:var(--muted);font-size:var(--fs-5);flex-direction:column;padding:40px 24px;display:flex}.admin-empty-card .empty-icon{color:var(--muted);opacity:.4}.admin-empty-card p{max-width:340px;margin:0;line-height:1.5}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.5}}.admin-btn{align-items:center;gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink);font-size:var(--fs-5);cursor:pointer;padding:8px 16px;font-weight:500;transition:all .15s;display:inline-flex}.admin-btn:hover{background:var(--panel-hover);border-color:var(--line-light)}.admin-btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.admin-btn.primary:hover{background:var(--brand-strong)}.admin-btn.primary:disabled{opacity:.5;cursor:not-allowed}.admin-btn.small{font-size:var(--fs-3);padding:6px 12px}.admin-icon-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--ink-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.admin-icon-btn:hover{background:var(--panel-hover);color:var(--ink)}.admin-icon-btn.danger:hover{background:var(--danger-dim);color:var(--danger)}@media (max-width:640px){.admin-icon-btn{width:40px;height:40px}}.admin-modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#000000c7;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.admin-modal{background:var(--modal-fondo,var(--bg-raised));border:1px solid var(--modal-borde,var(--line-light));color:var(--modal-tinta,inherit);border-radius:var(--radius);width:100%;max-width:440px;max-height:min(var(--vvh,90dvh), 90dvh);opacity:1;isolation:isolate;overflow-y:auto;box-shadow:0 24px 80px #0009}@media (max-width:640px){.admin-modal-overlay{padding-top:max(12px, env(safe-area-inset-top));align-items:flex-start}}.admin-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px;display:flex}.admin-modal-header h3{margin:0;font-size:16px}.admin-form{gap:var(--sp-6);flex-direction:column;padding:16px;display:flex}.admin-form label{gap:var(--sp-2);font-size:var(--fs-3);color:var(--ink-secondary);flex-direction:column;font-weight:500;display:flex}.admin-form input,.admin-form select{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--fs-6);outline:none;padding:8px 12px;transition:border-color .15s}.admin-form input:focus,.admin-form select:focus{border-color:var(--brand)}.admin-form select{cursor:pointer}.admin-form-actions .admin-btn{width:100%;min-height:44px}.admin-error{color:var(--danger);font-size:var(--fs-5);margin:0}@media (max-width:768px){.admin-table{font-size:var(--fs-3)}.admin-table th,.admin-table td{padding:6px 8px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-btn.danger{color:#ef4444;background:#dc26261f;border-color:#dc262680}.admin-btn.danger:hover:not(:disabled){background:#dc262638}@keyframes alarm-nudge-pulse{0%,to{opacity:0}50%{opacity:1}}.alarm-push-nudge{align-items:center;gap:var(--sp-5);border:1px solid var(--err,#ef4444);color:var(--ink);font-size:var(--fs-5);background:#ef44441f;border-radius:10px;margin:10px 12px 0;padding:10px 14px;font-weight:600;display:flex;position:relative}.alarm-push-nudge:after{content:"";border-radius:inherit;pointer-events:none;animation:1.3s ease-in-out infinite alarm-nudge-pulse;position:absolute;inset:-1px;box-shadow:0 0 0 4px #ef444440}.alarm-push-nudge-btn{background:var(--err,#ef4444);color:#fff;font-weight:700;font-size:var(--fs-4);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:7px 12px}.alarm-push-nudge-btn:disabled{opacity:.6;cursor:default}.push-nudge-btn-short{display:none}@media (max-width:520px),(max-height:500px){.alarm-push-nudge{align-items:center;gap:var(--sp-4);font-size:var(--fs-4);flex-wrap:nowrap;margin:6px 12px 0;padding:5px 10px;line-height:1.2}.alarm-push-nudge-btn{font-size:var(--fs-5);flex-shrink:0;padding:6px 9px}.push-nudge-btn-full{display:none}.push-nudge-btn-short{display:inline}}@keyframes sa-gw-pop-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.sa-gw-detail-body .admin-table-wrap,.sa-gw-detail-body .netdev-vars-table{max-width:100%}.sa-gw-detail-body .admin-mono,.sa-gw-detail-body .netdev-kv span{overflow-wrap:anywhere;word-break:break-word}.netdev-page-body .sa-gw-card--full{grid-column:1/-1}.netdev-table-fullwidth .admin-table-wrap{overflow-x:auto}.netdev-opentable-cta .admin-btn{padding:10px 18px;font-size:15px}.sa-gw-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-6);min-width:0}.sa-gw-detail-body .admin-badge{white-space:normal;overflow-wrap:anywhere}.sa-gw-detail-body .admin-table-wrap{max-width:100%;overflow-x:auto}.sa-gw-card--full{grid-column:1/-1}.sa-gw-card h4{font-size:var(--fs-3);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-secondary);margin:0 0 8px;font-weight:700}
.lvl-ok{color:#22c55e}.lvl-warn{color:#eab308}.lvl-crit{color:#ef4444}.lvl-muted{color:var(--ink-secondary)}@media (max-width:640px){.sa-diag-statusbar .admin-btn{justify-content:center}}.plant-selector-wrap{min-width:0;max-width:100%;display:flex;position:relative}.plant-selector-btn{align-items:center;gap:var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;color:inherit;text-align:left;background:0 0;border:1px solid #0000;min-width:0;margin:-4px -8px;padding:4px 8px;transition:background .12s,border-color .12s;display:flex}.plant-selector-btn:hover{background:var(--panel-hover,#ffffff0a);border-color:var(--line,#ffffff14)}.plant-selector-btn h2{margin:0;font-size:17px}@media (max-width:700px){.admin-exit-text{display:none}.admin-exit-btn{padding:0 7px}.espejo-btn-text{display:none}.espejo-btn{padding:0 7px}.topbar-espejo-slot{display:none}}@media (max-width:430px){.plant-title h2,.plant-selector-btn h2{font-size:var(--fs-7)}}@media (max-width:400px){.topbar{padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right));gap:var(--sp-3)}}.plant-selector-menu{background:var(--bg-raised,#1a1f2b);border:1px solid var(--line,#ffffff14);border-radius:var(--radius,10px);z-index:50;min-width:280px;max-width:360px;max-height:70vh;padding:var(--sp-3);gap:var(--sp-2);flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 12px 32px #00000073}.plant-selector-group+.plant-selector-group{border-top:1px solid var(--line,#ffffff0f);margin-top:4px;padding-top:4px}.plant-selector-group-header{align-items:center;gap:var(--sp-3);font-size:var(--fs-2);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-secondary,#9aa3b2);padding:8px 10px 4px;font-weight:600;display:flex}.plant-selector-item{align-items:center;gap:var(--sp-5);border-radius:var(--radius-sm,6px);width:100%;color:var(--ink,#e5e7eb);font-size:var(--fs-6);cursor:pointer;text-align:left;background:0 0;border:none;padding:8px 10px;transition:background .1s;display:flex}.plant-selector-item:hover{background:var(--panel-hover,#ffffff0d)}.plant-selector-item.active{background:var(--brand-dim,rgba(var(--brand-rgb), .14));color:var(--brand,#60a5fa)}.plant-selector-item-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.plant-selector-check{color:var(--brand,#60a5fa);flex-shrink:0}.notif-banner{align-items:center;gap:var(--sp-5);background:var(--brand-dim,rgba(var(--brand-rgb), .12));border:1px solid var(--brand,#3b82f6);border-radius:var(--radius,10px);color:var(--ink,#e5e7eb);font-size:var(--fs-5);margin:12px 16px 0;padding:10px 14px;display:flex}.notif-banner-warn{background:var(--warn-dim,#facc151a);border-color:var(--warn,#facc15)}.notif-banner>span{flex:1}.notif-banner-btn{background:var(--brand,#3b82f6);border-radius:var(--radius-sm,6px);color:#fff;font-size:var(--fs-3);cursor:pointer;align-items:center;gap:var(--sp-3);border:none;padding:6px 12px;font-weight:600;transition:background .12s;display:inline-flex}.notif-banner-btn:hover:not(:disabled){filter:brightness(1.1)}.notif-banner-btn:disabled{opacity:.5;cursor:default}.notif-banner-link{color:var(--warn,#facc15);font-size:var(--fs-3);cursor:pointer;background:0 0;border:none;font-weight:600;text-decoration:underline}.notif-banner-close{color:inherit;cursor:pointer;padding:var(--sp-2);opacity:.6;background:0 0;border:none;display:inline-flex}.notif-banner-close:hover{opacity:1}.offline-banner{z-index:300;justify-content:center;align-items:center;gap:var(--sp-4);padding:6px 14px;padding-top:calc(6px + env(safe-area-inset-top));background:var(--warn,#facc15);color:#1c1917;font-size:var(--fs-5);font-weight:600;animation:.18s offline-banner-in;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #00000040}.offline-banner svg{flex-shrink:0}@keyframes offline-banner-in{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.boton-volver{left:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 50px + 8px);z-index:90;align-items:center;gap:var(--sp-3);background:var(--brand);color:#fff;font-size:var(--fs-4);cursor:pointer;border:0;border-radius:999px;padding:8px 12px;font-weight:600;animation:.15s boton-volver-in;display:flex;position:fixed;box-shadow:0 6px 18px #00000047}.boton-volver:hover{opacity:.9}@media (min-width:900px){.boton-volver{bottom:24px}}.boton-volver svg{flex-shrink:0}@keyframes boton-volver-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.push-prompt-overlay{-webkit-backdrop-filter:blur(4px);z-index:2000;background:#000000b3;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out pushFadeIn;display:flex;position:fixed;inset:0}@keyframes pushFadeIn{0%{opacity:0}to{opacity:1}}.push-prompt-modal{background:var(--modal-fondo,var(--bg-raised,#1a1f2b));border:1px solid var(--line,#ffffff1a);color:var(--modal-tinta,inherit);text-align:center;border-radius:16px;width:100%;max-width:400px;padding:32px 24px 24px;animation:.25s cubic-bezier(.16,1,.3,1) pushSlideIn;position:relative;box-shadow:0 20px 50px #00000080}@keyframes pushSlideIn{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.push-prompt-close{color:var(--ink-secondary,#9aa3b2);cursor:pointer;padding:var(--sp-3);background:0 0;border:none;border-radius:6px;display:inline-flex;position:absolute;top:12px;right:12px}.push-prompt-close:hover{background:var(--panel-hover,#ffffff0f);color:var(--ink,#e5e7eb)}.push-prompt-icon{background:var(--brand-dim,rgba(var(--brand-rgb), .15));width:64px;height:64px;color:var(--brand,#60a5fa);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.push-prompt-modal h3{color:var(--ink,#e5e7eb);margin:0 0 8px;font-size:18px}.push-prompt-modal p{font-size:var(--fs-6);color:var(--ink-secondary,#9aa3b2);margin:0 0 20px;line-height:1.5}.push-prompt-actions{gap:var(--sp-4);flex-direction:column;display:flex}.push-prompt-btn{width:100%;padding:var(--sp-6);border-radius:var(--radius-sm,8px);font-size:var(--fs-6);cursor:pointer;justify-content:center;align-items:center;gap:var(--sp-4);border:1px solid #0000;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.push-prompt-btn.primary{background:var(--brand,#3b82f6);color:#fff}.push-prompt-btn.primary:hover:not(:disabled){filter:brightness(1.1)}.push-prompt-btn.primary:disabled{opacity:.6;cursor:default}.push-prompt-btn.secondary{border-color:var(--line,#ffffff1f);color:var(--ink-secondary,#9aa3b2);background:0 0}.push-prompt-btn.secondary:hover{background:var(--panel-hover,#ffffff0a);color:var(--ink,#e5e7eb)}.ingest-toggle-row{justify-content:space-between;align-items:center;gap:16px;margin-top:12px;display:flex}.avisos-form{gap:var(--sp-4);flex-wrap:wrap;align-items:flex-end;display:flex}.avisos-bridge-warn{align-items:flex-start;gap:var(--sp-4);color:#b45309;background:#f59e0b1f;border:1px solid #f59e0b73;border-radius:8px;margin:4px 0 12px;padding:9px 12px;font-size:.82rem;line-height:1.35;display:flex}.avisos-bridge-warn svg{color:#f59e0b;flex:none;margin-top:1px}@media (prefers-color-scheme:dark){.avisos-bridge-warn{color:#fcd34d}}.avisos-field{gap:var(--sp-1);flex-direction:column;flex:160px;min-width:0;display:flex}.avisos-field input,.avisos-field select{box-sizing:border-box;border:1px solid var(--line);background:var(--bg-raised,var(--panel));width:100%;color:var(--ink);font-size:var(--fs-6);border-radius:8px;padding:8px 10px}@media (max-width:640px){.avisos-field{flex-basis:100%}.avisos-form>button{justify-content:center;width:100%}.plant-selector-menu{min-width:240px;max-width:calc(100vw - 32px)}.notif-banner{font-size:var(--fs-3);flex-wrap:wrap;margin:8px 12px 0}.notif-banner>span{flex-basis:100%}}.logout-btn-sm{border-radius:var(--radius-sm);border:1px solid var(--line-light);background:var(--bg-raised);width:32px;height:32px;color:var(--ink-secondary);justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.logout-btn-sm:hover{background:var(--danger);color:#fff;border-color:var(--danger)}@keyframes sa-skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.admin-header-tools .admin-btn{white-space:nowrap;flex-shrink:0}@media (max-width:480px){.admin-header-tools .admin-btn{height:34px}}.plant-card-admin-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:6px;display:grid}.plant-card-admin{background:var(--sa-tarjeta-fondo,linear-gradient(180deg, var(--panel), var(--bg-raised)));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--sa-tarjeta-sombra,none);color:var(--sa-tarjeta-tinta,inherit);flex-direction:column;gap:14px;padding:18px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.plant-card-admin:hover{border-color:var(--sa-tarjeta-hover-borde,var(--brand));box-shadow:var(--sa-tarjeta-hover-sombra,0 8px 24px #0000004d);transform:translateY(-2px)}.plant-card-admin-header{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.plant-card-admin-title{align-items:center;gap:var(--sp-4);min-width:0;display:flex}.plant-card-admin-title svg{color:var(--brand-strong);flex-shrink:0}.plant-card-admin-title h4{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;overflow:hidden}.plant-card-admin-plan{font-size:var(--fs-2);letter-spacing:.04em;text-transform:uppercase;color:#fff;border-radius:999px;flex-shrink:0;padding:2px 8px;font-weight:700}.plant-card-admin-tenant{align-items:center;gap:var(--sp-3);font-size:var(--fs-3);color:var(--ink-secondary);margin-top:-4px;display:flex}.plant-card-kpi-grid{gap:var(--sp-5);grid-template-columns:1fr 1fr;display:grid}@media (max-width:480px){.plant-card-kpi-grid{grid-template-columns:1fr}}.plant-card-kpi{align-items:center;gap:var(--sp-5);padding:var(--sp-5);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);display:flex}.plant-card-kpi-icon{background:var(--brand-dim);width:30px;height:30px;color:var(--brand-strong);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.plant-card-kpi-icon.ok{background:var(--ok-dim);color:var(--ok)}.plant-card-kpi-icon.danger{background:var(--danger-dim);color:var(--danger)}.plant-card-kpi-icon.muted{background:var(--line);color:var(--ink-secondary)}.plant-card-kpi-icon.warn{color:#f59e0b;background:#f59e0b29}.plant-card-gateway-status .status-dot.partial{background:#f59e0b}.plant-card-kpi-info{flex-direction:column;min-width:0;display:flex}.plant-card-kpi-label{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-secondary)}.plant-card-kpi-value{font-size:var(--fs-6);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plant-card-kpi-value.danger{color:var(--danger)}.plant-card-kpi-value.warn{color:#f59e0b}.plant-card-gateway-status{font-size:var(--fs-5);align-items:center;gap:5px;display:inline-flex}.plant-card-admin-actions{gap:var(--sp-4);margin-top:4px;display:flex}.plant-card-admin-actions .admin-btn{height:38px;font-size:var(--fs-6);flex:1;justify-content:center;font-weight:600}.app-shell.with-viewing-banner{--view-banner-h:calc(40px + env(safe-area-inset-top));--app-height:calc(var(--vvh,100dvh) - var(--view-banner-h))}.app-shell.with-viewing-banner:before{content:"";height:env(safe-area-inset-top);background:var(--bg,#0c1220);z-index:61;pointer-events:none;position:fixed;top:0;left:0;right:0}@media (max-width:768px){.plant-card-admin-grid{grid-template-columns:1fr}.app-shell.with-viewing-banner{--view-banner-h:calc(60px + env(safe-area-inset-top));padding-top:var(--view-banner-h)}}
.vm-section-title.pending{color:var(--warn)}.vm-section-title.active{color:var(--ok)}.vm-section-title.archived{color:var(--muted)}.vcfg-overlay{z-index:var(--capa-dialogo);-webkit-backdrop-filter:blur(6px);animation:fadeIn var(--mov-respuesta);background:#000000b3;justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}body.has-modal-overlay .dashboard-widget,body.has-modal-overlay .widget-scene,body.has-modal-overlay .dashboard-widget-alarm-badge,body.has-modal-overlay .widget-bignumber.in-alarm .widget-bn-value,body.has-modal-overlay .widget-gauge.in-alarm .widget-gauge-svg,html[data-tab-hidden="1"] *{animation-play-state:paused!important}.vcfg-modal{background:var(--bg);width:100%;max-width:760px;height:var(--app-height,100dvh);border-left:1px solid var(--line);border-right:1px solid var(--line);animation:fadeSlideUp var(--mov-continuidad);flex-direction:column;display:flex}@media (min-width:768px){.vcfg-overlay{align-items:center;padding:24px}.vcfg-modal{border-radius:var(--radius);border:1px solid var(--line);height:min(92dvh,900px)}}.policy-sel{gap:var(--sp-4);flex-direction:column;display:flex}.policy-sel-label{font-size:var(--fs-2);color:var(--ink-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.policy-sel-segmented{gap:var(--sp-2);background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;padding:3px;display:flex}.policy-sel-seg{border-radius:calc(var(--radius-sm) - 2px);min-width:64px;min-height:36px;color:var(--ink-secondary);font-size:var(--fs-4);cursor:pointer;background:0 0;border:0;flex:auto;padding:7px 10px;font-weight:600;transition:background .12s,color .12s}.policy-sel-seg.active{background:var(--brand);color:#fff}.policy-sel-seg:hover:not(.active):not(:disabled){background:var(--surface-2,#7f7f7f1a);color:var(--ink)}.policy-sel-seg:disabled{opacity:.5;cursor:not-allowed}.policy-sel-hint{color:var(--ink-secondary);margin:0}.policy-sel-advanced{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);padding:2px 12px}.policy-sel-advanced summary{cursor:pointer;font-size:var(--fs-4);color:var(--ink-secondary);-webkit-user-select:none;user-select:none;padding:8px 0;font-weight:600}.policy-sel-advanced[open] summary{color:var(--ink)}.policy-sel-advanced-body{gap:var(--sp-5);flex-direction:column;padding:4px 0 12px;display:flex}.policy-sel-row{gap:var(--sp-5);display:flex}.policy-sel-row .policy-sel-field{flex:1 1 0}.policy-sel-field{gap:var(--sp-2);font-size:var(--fs-4);color:var(--ink-secondary);flex-direction:column;min-width:0;display:flex}.policy-sel-check{align-items:center;gap:var(--sp-4);font-size:var(--fs-4);color:var(--ink-secondary);cursor:pointer;display:flex}.policy-sel-push-note{color:#f59e0b;margin-top:2px}@media (max-width:480px){.policy-sel-row{flex-direction:column}.policy-sel-seg{min-width:52px;padding:8px 6px;font-size:11.5px}}.vcfg-row{gap:var(--sp-6);grid-template-columns:1fr 1fr;display:grid}.vcfg-row>*{min-width:0}@media (max-width:540px){.vcfg-row{grid-template-columns:1fr}}.status-var{transition:background .25s,border-color .25s}
.dashboard-fab{background:var(--brand);color:#fff;width:56px;height:56px;box-shadow:0 8px 24px rgba(var(--brand-rgb), .4);z-index:60;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s,background .15s;display:flex;position:fixed;bottom:88px;right:24px}.dashboard-fab:hover{background:var(--brand-strong);transform:scale(1.05)}.dashboard-fab:active{transform:scale(.95)}@media (min-width:769px){.dashboard-fab{bottom:24px}}@media (max-width:700px){.dashboard-edit-toggle span,.dashboard-toolbar-actions button>span:not([class]){display:none}.dashboard-preset-picker{justify-content:center;width:38px;position:relative;overflow:hidden}.dashboard-preset-picker select{opacity:0;width:100%;position:absolute;inset:0}.dashboard-view.editing .dashboard-toolbar{gap:6px 8px;padding:8px 12px}.dashboard-view.editing .dashboard-toolbar [title^=Actualizar],.dashboard-view.editing .dashboard-toolbar [aria-label=Modo\ presentacion],.dashboard-view.editing .dashboard-toolbar [aria-label=Modo\ rebobinar],.dashboard-view.editing .dashboard-toolbar [aria-label=Atajos],.dashboard-view.editing .dashboard-toolbar [aria-label=Pantalla\ completa],.dashboard-view.editing .dashboard-toolbar [aria-label="Salir de pantalla completa"],.dashboard-view.editing .dashboard-refresh-hint,.dashboard-view.editing .dashboard-toolbar-title{display:none}}.dashboard-preset-picker{align-items:center;gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink-secondary);padding:4px 8px;display:inline-flex}.dashboard-preset-picker select{color:var(--ink);font-size:var(--fs-5);background:0 0;border:0;outline:none;max-width:160px}@media (max-width:640px){.dashboard-preset-picker select{max-width:110px}}.dashboard-grid.reflow{grid-auto-rows:64px;grid-auto-flow:dense}@media (max-width:480px){.dashboard-grid.reflow{gap:var(--sp-5);grid-auto-rows:72px}}.bulk-select-bar{z-index:6000;background:color-mix(in oklab, var(--panel) 94%, transparent);-webkit-backdrop-filter:blur(14px)saturate(120%);border:1px solid var(--line);border-radius:999px;align-items:center;gap:14px;padding:10px 16px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px -10px #0006}.bulk-select-count{font-size:var(--fs-4);color:var(--ink);white-space:nowrap;font-weight:600}.bulk-select-actions{gap:var(--sp-4);display:flex}.bulk-select-btn{align-items:center;gap:var(--sp-3);border:1px solid var(--line);background:var(--bg-raised,#ffffff0a);color:var(--ink);font-size:var(--fs-4);white-space:nowrap;border-radius:999px;padding:7px 12px;font-weight:600;transition:all .12s;display:inline-flex}.bulk-select-btn:hover:not(:disabled){color:var(--brand);border-color:var(--brand)}.bulk-select-btn.danger{color:var(--danger);border-color:var(--danger);background:var(--danger-dim)}.bulk-select-btn.danger:hover:not(:disabled){color:#fff;background:var(--danger)}.bulk-select-btn:disabled{opacity:.45;cursor:not-allowed}@media (max-width:768px){.bulk-select-bar{bottom:calc(80px + env(safe-area-inset-bottom))}}@media (max-width:480px){.bulk-select-bar{align-items:stretch;gap:var(--sp-4);flex-direction:column;padding:10px 12px;left:10px;right:10px;transform:none}.bulk-select-count{text-align:center}.bulk-select-actions{flex-wrap:wrap;justify-content:center}.bulk-select-btn{flex:calc(50% - 4px);justify-content:center}}@media (prefers-reduced-motion:reduce){.dashboard-grid[class*=scene-preset-] .dashboard-widget{transition:none}.widget-scene .scene-crit-pulse{animation:none!important}.dashboard-widget-content .widget-scene [data-var-color]{transition:none}}.dashboard-toolbar{gap:var(--sp-6);background:var(--panel);flex-wrap:wrap;row-gap:8px;padding:12px 16px}.dashboard-toolbar-title{flex:1;min-width:0}.dashboard-toolbar-title h2{font-size:16px}.dashboard-toolbar-actions{flex-wrap:wrap;row-gap:8px}.dashboard-scroll{padding:16px}.dashboard-grid{gap:var(--sp-6)}.dashboard-edit-toggle{padding:6px 10px}.dashboard-widget:hover{border-color:var(--line-light)}.dashboard-widget-content{padding:var(--sp-6)}
.modal-backdrop{z-index:200;overscroll-behavior:contain;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100dvh;padding:16px;animation:.15s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:540px;max-height:90vh;max-height:min(var(--vvh,90dvh), 90dvh);flex-direction:column;animation:.28s cubic-bezier(.2,.9,.25,1.15) modalSpringUp;display:flex;box-shadow:0 20px 60px #00000080}.modal-card-large{max-width:620px}.modal-card.modal-card-cerrando{animation:.2s ease-in forwards modalDisolucion!important}@media (min-width:900px){.modal-card--catalogo{width:min(96vw,1400px);max-width:min(96vw,1400px);height:min(92vh,1000px);max-height:min(92vh,1000px)}}@keyframes modalSpringUp{0%{opacity:0;transform:translateY(28px)scale(.96)}60%{opacity:1;transform:translateY(-3px)scale(1.005)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modalDisolucion{0%{opacity:1;filter:blur();transform:scale(1)}to{opacity:0;filter:blur(6px);transform:scale(.96)}}@media (prefers-reduced-motion:reduce){.modal-card{animation:none!important}.modal-card.modal-card-cerrando{animation:.2s ease-in forwards modalDisolucionReducida!important}}@keyframes modalDisolucionReducida{0%{opacity:1}to{opacity:0}}.modal-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-header h3{font-size:var(--fs-7);color:var(--ink);margin:0}.modal-close{color:var(--ink-secondary);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;transition:all .12s;display:flex}.modal-close:hover{background:var(--bg-raised);color:var(--ink)}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--sp-4);border-top:1px solid var(--line);flex-shrink:0;padding:12px 16px;display:flex}.add-widget-grid{gap:var(--sp-5);overscroll-behavior:contain;flex:auto;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));min-height:0;padding:16px;display:grid;overflow-y:auto}.add-widget-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:stretch;gap:var(--sp-2);text-align:left;cursor:pointer;flex-direction:column;padding:8px 8px 10px;transition:all .15s;display:flex}.add-widget-card:hover{border-color:var(--brand);background:var(--brand-dim);transform:translateY(-1px)}.add-widget-demo{aspect-ratio:312/204;background:var(--panel);border:1px solid var(--line);pointer-events:none;border-radius:8px;max-height:220px;margin-bottom:6px;overflow:hidden}@media (min-width:900px){.modal-card--catalogo .add-widget-grid{gap:var(--sp-6);grid-template-columns:repeat(auto-fill,minmax(17.5rem,1fr))}.modal-card--catalogo .add-widget-demo{max-height:18.75rem}}.add-widget-demo-fit{justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.add-widget-demo-scaler{transform-origin:50%;flex:none}.add-widget-demo-ai{color:var(--brand);background:var(--brand-dim);justify-content:center;align-items:center;display:flex}.add-widget-type{font-size:var(--fs-5);color:var(--ink);align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-weight:600;display:flex}.add-widget-desc{font-size:var(--fs-2);color:var(--ink-secondary);line-height:1.3}.add-widget-card-soon{cursor:default;opacity:.72}.add-widget-card-soon:hover{border-color:var(--line);background:var(--bg-raised);transform:none}.add-widget-soon-badge{text-transform:uppercase;letter-spacing:.4px;color:var(--brand);background:var(--brand-dim);border:1px solid var(--brand);border-radius:999px;padding:1px 6px;font-size:9px;font-weight:700}.widget-config-body{gap:var(--sp-6);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;min-height:0;padding:16px;display:flex;overflow-y:auto}.form-row{gap:var(--sp-2);flex-direction:column;display:flex}.form-row label{font-size:var(--fs-2);color:var(--ink-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.form-row input[type=text],.form-row input[type=number],.form-row select,.form-row textarea{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:var(--radius-sm);font-size:var(--fs-5);outline:none;padding:8px 10px;font-family:inherit;transition:border-color .12s}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--brand)}.form-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand)}.form-error{color:var(--danger);font-size:var(--fs-3);background:var(--danger-dim);border-radius:var(--radius-sm);padding:8px 10px}.multi-select{gap:var(--sp-1);border:1px solid var(--line);border-radius:var(--radius-sm);max-height:200px;padding:var(--sp-2);background:var(--bg);flex-direction:column;display:flex;overflow-y:auto}.multi-select-color{border-radius:2px;flex-shrink:0;width:10px;height:10px}.form-row-2col{gap:var(--sp-6);grid-template-columns:1fr 1fr;display:grid!important}.form-row-2col>div{gap:var(--sp-2);flex-direction:column;display:flex}.form-row-inline{align-items:center;flex-direction:row!important;gap:10px!important}.form-label-inline{cursor:pointer;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important;font-size:13px!important;font-weight:500!important}@media (max-width:768px){.add-widget-grid{grid-template-columns:repeat(2,1fr)}.dashboard-scroll{padding:var(--sp-6)}.dashboard-grid{gap:var(--sp-4)}.form-row-2col{grid-template-columns:1fr}}@media (max-width:480px){.add-widget-grid{grid-template-columns:1fr}}@media (max-width:600px){.modal-backdrop{padding:var(--sp-4);padding-top:max(8px, env(safe-area-inset-top));padding-bottom:max(8px, env(safe-area-inset-bottom));padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right))}.modal-card,.modal-card-large{max-width:100%;max-height:min(var(--vvh,94dvh), 94dvh)}}@media (max-width:768px){.dashboard-toolbar{flex-wrap:wrap;gap:8px 10px;padding:10px 14px}.dashboard-toolbar-title{flex-basis:100%;order:1;min-width:0}.dashboard-toolbar-actions{order:3;margin-left:auto}.dashboard-refresh-hint{display:none}}@media (max-width:480px){.dashboard-toolbar{padding:10px 12px}.dashboard-toolbar-title h2{font-size:var(--fs-6)}.dashboard-edit-toggle span{display:none}.dashboard-edit-toggle{padding:6px 8px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
:root[data-mode=light]{--fondo-puntos:radial-gradient(circle, #1e4f8c0d 1px, transparent 1px);--barra-scroll-hover:var(--line-light);--modal-fondo:#fff;--modal-tinta:var(--ink);--modal-borde:var(--line);--barra-sup-fondo:var(--bg);--barra-estado-tinta:var(--ink-secondary);--barra-boton-fondo:var(--bg-raised);--barra-boton-tinta:var(--ink-secondary);--barra-boton-hover-fondo:var(--brand-dim);--barra-boton-hover-tinta:var(--brand);--barra-boton-hover-borde:var(--brand);--usuario-movil-fondo:var(--cta-dim);--usuario-movil-hover-fondo:var(--brand-dim);--bnav-fondo:#fffffff2;--bnav-sombra:0 -2px 12px #0000000a;--bnav-activo-peso:700;--bnav-activo-brillo:0 0 12px var(--brand-dim);--bnav-borde-sup-apaisado:1px solid var(--line);--nav-hover-fondo:var(--brand-dim);--nav-hover-tinta:var(--brand);--nav-activo-tinta:var(--brand);--nav-atencion-hover-tinta:var(--brand);--contenido-fondo:var(--bg)}[data-mode=light] .bottom-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}[data-mode=light] .vcfg-modal{color:var(--ink);border:1px solid var(--line);background:#fff}[data-mode=light] .vcfg-tab.active{background:var(--brand-dim);color:var(--brand)}
.dashboard-widget.in-alarm:after{animation:1.6s ease-in-out infinite widget-alarm-border}@keyframes widget-alarm-border{0%,to{opacity:0}50%{opacity:1}}.dashboard-widget-alarm-badge{background:var(--danger);color:#fff;z-index:4;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;animation:1.2s ease-in-out infinite widget-bell-pulse;display:flex;position:absolute;top:6px;right:8px;box-shadow:0 0 12px #ef444480}@keyframes widget-bell-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.dashboard-widget-updated{color:var(--ink-secondary);opacity:.55;pointer-events:none;font-variant-numeric:tabular-nums;letter-spacing:.2px;z-index:2;background:linear-gradient(to right, transparent, var(--panel) 30%);align-items:center;gap:var(--sp-2);padding-left:12px;font-size:9px;display:inline-flex;position:absolute;bottom:4px;right:8px}.dashboard-widget-updated:before{content:"";background:#10b981;border-radius:50%;flex-shrink:0;width:6px;height:6px}.dashboard-widget-stagnant-warn{color:#f59e0b;opacity:.85;z-index:4;pointer-events:auto;cursor:help;justify-content:center;align-items:center;display:flex;position:absolute;top:6px;right:8px}.dashboard-widget-updated.is-stale{color:var(--danger);opacity:1;align-items:center;gap:var(--sp-2);font-weight:700;animation:1.1s step-end infinite widget-stale-blink;display:flex}.dashboard-widget-updated.is-stale:before{content:"";background:var(--danger);border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px #ef4444cc}@keyframes widget-stale-blink{0%,to{opacity:1}50%{opacity:.25}}.threshold-row{align-items:center;gap:var(--sp-4);font-size:var(--fs-3);border-left:2px solid #0000;border-radius:4px;grid-template-columns:16px 1fr 90px 22px;padding:4px 6px;transition:background .12s;display:grid}.threshold-row:hover{background:var(--bg-raised)}.threshold-row.active{border-left-color:var(--th-color,var(--brand))}.color-preset{cursor:pointer;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex;position:relative}.color-preset:hover{transform:translateY(-1px)}.color-preset.active{border-color:var(--ink);box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--brand)}
.dashboard-tabs{gap:var(--sp-4);padding:8px 12px 0}.dashboard-tabs-scroll,.dashboard-tabs-actions{padding-bottom:8px}.dashboard-tab{font-size:var(--fs-3);padding:6px 12px}@media (max-width:480px){.dashboard-widget-updated{font-size:8px}.dashboard-widget-alarm-badge{width:18px;height:18px}.dashboard-widget-handle,.dashboard-widget-btn,.dashboard-widget-resize{min-width:28px;min-height:28px}.threshold-row{font-size:var(--fs-2);grid-template-columns:14px 1fr 70px 20px}.color-preset{width:26px;height:26px}.dashboard-widget-content{padding:var(--sp-5)}}@media (prefers-reduced-motion:reduce){.dashboard-tab.dashboard-tab-alarm:after,.dashboard-tab-scroll-arrow.dashboard-tab-alarm:after,.dashboard-widget.in-alarm:after{animation:none!important}}@media (max-width:480px){.dashboard-tabs{padding:6px 8px 0}.dashboard-tab{font-size:var(--fs-2);padding:6px 10px}.dashboard-tabs .dashboard-tab{max-width:160px}.dashboards-shell .dashboard-help-fab{bottom:80px;right:12px}}
.ent-ac,.ent-ac-input-wrap{width:100%;position:relative}.ent-ac-ghost{pointer-events:none;font:inherit;font-size:var(--fs-5);white-space:pre;color:#0000;align-items:center;padding:0 12px;line-height:1;display:flex;position:absolute;inset:0;overflow:hidden}.ent-ac-ghost-typed{visibility:hidden}.ent-ac-ghost-suffix{color:var(--muted);opacity:.7}.ent-ac-dropdown{z-index:50;background:var(--bg-raised);border:1px solid var(--line-light);border-radius:var(--radius-sm);max-height:280px;padding:var(--sp-2);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #0006}.ent-ac-loading,.ent-ac-empty{font-size:var(--fs-3);color:var(--ink-secondary);align-items:center;gap:var(--sp-3);padding:10px 12px;display:flex}.ent-ac-row{text-align:left;align-items:center;gap:var(--sp-4);cursor:pointer;color:var(--ink);font-size:var(--fs-5);background:0 0;border:0;border-radius:6px;width:100%;padding:8px 10px;transition:background .1s;display:flex}.ent-ac-row.active,.ent-ac-row:hover{background:var(--panel-hover)}.ent-ac-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ent-ac-context{font-size:var(--fs-2);color:var(--ink-secondary);background:var(--bg);white-space:nowrap;border-radius:10px;padding:1px 6px}.ent-ac-count{font-size:var(--fs-2);color:var(--muted);white-space:nowrap}.ent-ac-create{border-top:1px solid var(--line);color:var(--brand-strong);margin-top:2px;padding-top:10px;font-weight:600}.ent-ac-create.active,.ent-ac-create:hover{background:var(--brand-dim)}
.widget-stagnant-dot{box-sizing:border-box;vertical-align:middle;background:0 0;border:2px solid #f97316;border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-left:6px;animation:2.4s ease-in-out infinite vtblTxStagnant;display:inline-block}@keyframes vtblTxStagnant{0%,to{opacity:1}50%{opacity:.4}}
@media (prefers-color-scheme:dark),screen{.widget-bn-title{color:var(--ink)}}
.aicop-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));background:#0206129e;place-items:center;display:grid;position:fixed;inset:0}.aicop-modal{width:min(440px,100%);max-height:min(var(--vvh,86dvh), 720px);background:var(--panel);border:1px solid var(--line-light);border-radius:16px;flex-direction:column;display:flex;overflow-y:auto;box-shadow:0 24px 60px #00000080}.aicop-modal-wide{width:min(720px,100%);max-height:min(var(--vvh,92dvh), 860px)}.aicop-scene-preview{aspect-ratio:6/5;border:1px solid var(--line-light);background:linear-gradient(#ffffff05,#ffffff05),repeating-linear-gradient(45deg,#ffffff04 0 10px,#0000 10px 20px);border-radius:12px;justify-content:center;align-items:center;width:100%;max-height:420px;margin:8px 0 12px;display:flex;overflow:hidden}.add-widget-card-ai{border-color:color-mix(in srgb, var(--accent,#3b82f6) 45%, var(--line-light))}.add-widget-card-ai:hover{border-color:var(--accent,#3b82f6)}.add-widget-demo-ai{color:#d8b4fe;justify-content:center;align-items:center;display:flex}.aicop-widget-list{gap:var(--sp-3);flex-direction:column;max-height:280px;margin:4px 0 12px;padding:0;list-style:none;display:flex;overflow-y:auto}.aicop-widget-item{align-items:center;gap:var(--sp-5);border:1px solid var(--line-light);background:#ffffff08;border-radius:8px;padding:8px 10px;display:flex}.aicop-widget-type{color:#d8b4fe;min-width:84px;font-size:.82rem;font-weight:600}.aicop-widget-vars{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.aicop-rule-card{border:1px solid var(--line-light);background:#ffffff08;border-radius:12px;margin:4px 0 12px;padding:12px 14px}.aicop-rule-head{align-items:center;gap:var(--sp-4);margin-bottom:6px;display:flex}.aicop-rule-name{font-size:.95rem;font-weight:700}.aicop-rule-vars{color:var(--muted);margin-bottom:6px;font-size:.82rem}.aicop-trigger-btn{color:#d8b4fe;border-color:color-mix(in srgb, #d8b4fe 40%, var(--line))}.aicop-confidence{align-items:center;gap:var(--sp-2);font-size:var(--fs-2);border-radius:999px;margin-left:auto;padding:2px 8px;font-weight:700;display:inline-flex}.aicop-confidence-high{color:var(--aicop-tinta-ok,#86efac);background:#22c55e26}.aicop-confidence-medium{color:var(--aicop-tinta-aviso,#fde68a);background:#eab30826}.aicop-confidence-needs-review{color:var(--aicop-tinta-error,#fca5a5);background:#ef444426}.aicop-reasoning{border-top:1px dashed var(--line-light);margin-top:10px;padding-top:10px}.aicop-reasoning-label{font-size:var(--fs-2);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:3px;font-weight:700}.aicop-reasoning p{font-size:var(--fs-5);color:var(--text);margin:0;line-height:1.45}.aicop-details{margin-top:10px}.aicop-details summary{cursor:pointer;font-size:var(--fs-3);color:var(--muted);font-weight:700;list-style:none}.aicop-details summary::-webkit-details-marker{display:none}.aicop-details ul{gap:var(--sp-2);flex-direction:column;margin:6px 0 0;padding-left:18px;display:flex}.aicop-details li{font-size:var(--fs-4);color:var(--ink-secondary,var(--muted));line-height:1.4}.aicop-warnings{gap:var(--sp-3);flex-direction:column;margin-top:10px;display:flex}.aicop-warning-row{font-size:var(--fs-4);color:var(--aicop-tinta-aviso,#fde68a);background:#eab3081a;border:1px solid #eab30859;border-radius:8px;align-items:flex-start;gap:7px;padding:6px 9px;line-height:1.4;display:flex}.aicop-warning-row svg{color:#eab308;flex-shrink:0;margin-top:1px}.widget-scene{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.widget-scene svg{width:100%;max-width:100%;height:100%;max-height:100%;display:block}.aicop-head{border-bottom:1px solid var(--line-light);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.aicop-title{align-items:center;gap:var(--sp-4);color:#d8b4fe;font-weight:600;display:inline-flex}.aicop-close{color:var(--muted);cursor:pointer;padding:var(--sp-4);background:0 0;border:none;border-radius:8px;place-items:center;display:grid}.aicop-close:hover{color:var(--text);background:var(--bg-raised)}.aicop-tabs{gap:var(--sp-2);border-bottom:1px solid var(--line-light);padding:8px 12px 0;display:flex}.aicop-tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 6px 10px;font-size:13.5px;font-weight:600}.aicop-tab.active{color:#d8b4fe;border-bottom-color:#a855f7}.aicop-body{padding:16px}.aicop-help{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.45}.aicop-form{flex-direction:column;gap:12px;display:flex}.aicop-input{resize:vertical;border:1px solid var(--line-light);background:var(--bg-raised);width:100%;color:var(--text);font:inherit;border-radius:12px;padding:11px 12px;font-size:16px;line-height:1.4}.aicop-input:focus{border-color:#a855f7;outline:none;box-shadow:0 0 0 3px #a855f726}.aicop-examples{flex-direction:column;gap:6px;display:flex}.aicop-example{text-align:left;border:1px dashed var(--line-light);min-height:40px;color:var(--muted);font-size:var(--fs-4);cursor:pointer;background:0 0;border-radius:9px;align-items:center;padding:7px 10px;transition:color .12s,border-color .12s;display:flex}.aicop-example:hover{color:var(--text);border-color:#a855f7}.aicop-loader{text-align:center;justify-content:center;align-items:center;gap:var(--sp-6);flex-direction:column;min-height:220px;padding:26px 16px 22px;display:flex}.aicop-loader-morph{filter:drop-shadow(0 4px 14px rgba(var(--brand-rgb),.16))}.aicop-shape{transform-box:fill-box;transform-origin:50%;opacity:0;animation:12s ease-in-out infinite aicop-shape-cycle}.aicop-shape-1{animation-delay:3s}.aicop-shape-2{animation-delay:6s}.aicop-shape-3{animation-delay:9s}@keyframes aicop-shape-cycle{0%,4%{opacity:0;transform:scale(.6)}11%{opacity:1;transform:scale(1)}19%{opacity:1;transform:scale(1.03)}25%{opacity:0;transform:scale(1.2)}to{opacity:0;transform:scale(.6)}}.aicop-gearspin{transform-box:fill-box;transform-origin:50%;animation:5s linear infinite aicop-gearspin}@keyframes aicop-gearspin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.aicop-shape,.aicop-gearspin{animation-duration:1ms}}.aicop-loader-msg{color:var(--text);letter-spacing:.1px;font-size:14.5px;font-weight:600;animation:.45s aicop-msg-in}@keyframes aicop-msg-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.aicop-loader-sub{font-size:var(--fs-3);color:var(--muted);max-width:300px;line-height:1.45}.aicop-clarify{align-items:flex-start;gap:var(--sp-4);background:var(--aicop-fondo-aviso,#eab3081a);color:var(--aicop-tinta-aviso,#fde68a);font-size:var(--fs-5);border:1px solid #eab30866;border-radius:10px;padding:9px 11px;line-height:1.4;display:flex}.aicop-error{color:var(--aicop-tinta-error,#fca5a5);font-size:var(--fs-5);background:#ef44441a;border:1px solid #ef444466;border-radius:10px;padding:9px 11px}:root[data-mode=light]{--aicop-tinta-ok:#15803d;--aicop-tinta-aviso:#854d0e;--aicop-tinta-error:#b91c1c;--aicop-fondo-aviso:#eab3081f}
.aicop-pending{gap:var(--sp-3);background:var(--aicop-fondo-aviso,#eab3081a);border:1px solid #eab30866;border-radius:10px;flex-direction:column;padding:9px 11px;display:flex}.aicop-pending-head{align-items:center;gap:var(--sp-4);color:var(--aicop-tinta-aviso,#fde68a);font-weight:600;font-size:var(--fs-5);display:flex}.aicop-pending-field{color:var(--text);align-items:baseline;gap:8px;padding-left:22px;font-size:13px;display:flex}.aicop-pending-q{line-height:1.4}.aicop-pending-risk{font-size:var(--fs-2);color:#fca5a5;background:#ef444426;border-radius:999px;flex-shrink:0;padding:1px 8px;font-weight:600}.aicop-assumptions{border:1px solid var(--line-light);background:var(--bg-raised);border-radius:11px;padding:8px 11px 10px}.aicop-assumptions ul{flex-direction:column;gap:4px;margin:4px 0 0;padding-left:18px;display:flex}.aicop-assumptions li{color:var(--text);font-size:13px;line-height:1.4}.aicop-risk{font-size:var(--fs-3);border-radius:999px;padding:2px 9px;font-weight:600}.aicop-risk-low{color:#86efac;background:#22c55e26}.aicop-risk-medium{color:#fde68a;background:#eab30826}.aicop-risk-high{color:#fca5a5;background:#ef444426}.aicop-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#a855f7,#7c3aed);border:none;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:11px 16px;font-size:14.5px;font-weight:600;display:inline-flex}.aicop-btn-primary:disabled{opacity:.55;cursor:default}.aicop-btn-ghost{justify-content:center;align-items:center;gap:var(--sp-3);background:var(--bg-raised);color:var(--text);border:1px solid var(--line-light);font-weight:500;font-size:var(--fs-6);cursor:pointer;border-radius:11px;padding:11px 14px;display:inline-flex}.aicop-draft{flex-direction:column;gap:12px;display:flex}.aicop-card{border:1px solid var(--line-light);background:var(--bg-raised);border-radius:12px;flex-direction:column;gap:9px;padding:12px 14px;display:flex}.aicop-card-row{align-items:baseline;gap:12px;display:flex}.aicop-card-k{color:var(--muted);flex-shrink:0;min-width:78px;font-size:12px}.aicop-card-v{color:var(--text);font-size:14.5px}.aicop-card-v strong{font-size:16px}.aicop-msg{color:var(--text);font-size:13.5px;line-height:1.4}.aicop-sev.severity-critical{color:#fca5a5;background:#ef444426}.aicop-sev.severity-warning{color:#fde68a;background:#eab30826}.aicop-sev.severity-info{color:#93c5fd;background:#3b82f626}.aicop-actions{flex-wrap:wrap;gap:10px;display:flex}.aicop-actions .aicop-btn-ghost{flex:none}.aicop-actions .aicop-btn-primary{flex:1}.aicop-suggest{border:1px solid var(--line-light);background:var(--bg-raised);border-radius:11px;max-height:240px;overflow:hidden auto}.aicop-suggest-head{color:var(--muted);padding:8px 11px 4px;font-size:11.5px}.aicop-suggest-row{align-items:center;gap:var(--sp-4);border:none;border-top:1px solid var(--line-light);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;min-height:40px;padding:9px 11px;font-size:13.5px;display:flex}.aicop-suggest-row:hover{background:#a855f71a}.aicop-suggest-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:500;overflow:hidden}.aicop-suggest-machine{color:var(--muted);font-size:var(--fs-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.aicop-suggest-val{color:var(--brand-strong);flex-shrink:0;margin-left:auto;font-size:12.5px}.aicop-select{background:var(--panel);min-width:0;color:var(--text);font:inherit;font-size:var(--fs-6);border:1px solid #a855f773;border-radius:9px;flex:1;max-width:100%;padding:7px 9px}.aicop-select:focus{border-color:#a855f7;outline:none}
.admin-review-view{gap:var(--sp-4);flex-direction:column;padding:8px 0;display:flex}.admin-review-filters{gap:var(--sp-4);flex-wrap:wrap;display:flex}.admin-review-filters select{background:var(--panel);border:1px solid var(--border);color:var(--ink);font-size:var(--fs-5);border-radius:6px;padding:6px 10px}@media (min-width:761px){html,body{overflow:hidden}.app-shell{--shell-h:calc(100dvh - env(safe-area-inset-bottom));height:var(--shell-h);margin-top:env(safe-area-inset-top);min-height:0;overflow:hidden}.app-shell>.topbar,.app-shell .chat-main>.topbar{padding-top:14px}.sidebar{height:var(--shell-h,100dvh);overscroll-behavior:contain;overflow-y:auto}.app-shell>.sidebar{padding-top:20px}.chat-main{height:var(--shell-h,100dvh);min-height:0;overflow:hidden}html.kb-open .app-shell{--shell-h:var(--vvh,100dvh)}.chat-main>.tab-content{overscroll-behavior:contain;min-height:0;overflow-y:auto}.topbar{z-index:5;position:sticky;top:0}.app-shell.with-viewing-banner{--shell-h:calc(var(--vvh,100dvh) - var(--view-banner-h));margin-top:var(--view-banner-h)}}@supports (padding:env(safe-area-inset-top)){.topbar,.superadmin-topbar{padding-top:max(calc(14px + env(safe-area-inset-top)), calc(14px + var(--sat-top,0px)))}.app-shell,.superadmin-dashboard{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.superadmin-sidebar,.sidebar{padding-top:max(calc(20px + env(safe-area-inset-top)), calc(20px + var(--sat-top,0px)))}.sidebar-collapsed .sidebar{padding-top:calc(60px + env(safe-area-inset-top))}.sidebar-toggle{top:calc(22px + env(safe-area-inset-top))}.sidebar-collapsed .sidebar-toggle{top:calc(14px + env(safe-area-inset-top))}}@media (max-width:760px){input,select,textarea,.chat-input-wrap input,.composer input{font-size:16px!important}.chat-main{height:max(100svh, min(100lvh, 100svh + env(safe-area-inset-top,0px) * 100));grid-template-rows:auto 1fr auto;min-height:0;display:grid;overflow:hidden}html.kb-open .chat-main{height:var(--app-height,100svh)}html.kb-open .bottom-nav{display:none}html.kb-open .app-shell{padding-bottom:0}html,body{height:max(100svh, min(100lvh, 100svh + env(safe-area-inset-top,0px) * 100));overscroll-behavior:none;overflow:hidden}html.kb-open body{height:var(--app-height,100svh)}.chat-main>.topbar{padding-top:calc(10px + env(safe-area-inset-top));background:var(--barra-sup-fondo,var(--panel))}}.logo-upload-row{align-items:center;gap:var(--sp-5);cursor:pointer;display:flex;flex-direction:row!important}.logo-upload-btn{background:var(--brand,#3b82f6);color:#fff;font-size:var(--fs-5);white-space:nowrap;border-radius:6px;align-items:center;padding:6px 12px;font-weight:600;display:inline-flex}.logo-upload-btn:hover{filter:brightness(1.08)}@media (max-width:760px){.app-shell{padding-bottom:0}.dashboard-scroll{padding-bottom:calc(84px + env(safe-area-inset-bottom))}}.widget-chart-zoom-controls{z-index:6;gap:var(--sp-2);display:flex;position:absolute;top:6px;right:6px}.widget-chart-zoom-btn{border:1px solid var(--line);background:var(--bg-raised);width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:8px;place-items:center;transition:color .15s,border-color .15s,background .15s;display:grid;box-shadow:0 1px 4px #0000001f}.widget-chart-zoom-btn:hover{color:var(--brand);border-color:var(--brand)}.widget-chart-zoom-btn:active{transform:scale(.94)}.widget-chart-pin-clear{z-index:6;border:1px solid var(--brand);background:var(--brand-dim);width:26px;height:26px;color:var(--brand);cursor:pointer;opacity:.9;border-radius:8px;place-items:center;display:grid;position:absolute;top:6px;left:6px}.widget-chart-pin-clear:hover{opacity:1}.widget-chart-hires-spinner{z-index:6;border:2px solid var(--brand-dim);border-top-color:var(--brand);pointer-events:none;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;position:absolute;top:10px;left:50%;transform:translate(-50%)}.wl-modal{max-width:880px}.wl-body{flex-direction:column;padding:0;display:flex}.wl-embedded{flex-direction:column;gap:12px;display:flex}.wl-toolbar{align-items:center;gap:var(--sp-4);border-bottom:1px solid var(--line);flex-wrap:wrap;padding:12px 16px;display:flex}
.notif-center{flex-direction:column;gap:8px;display:flex}.notif-center-header-help{color:var(--muted);cursor:help;justify-content:center;align-items:center;display:inline-flex}.notif-center-header{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 0 4px;padding:0;display:block}.notif-center-header-row{justify-content:space-between;align-items:center;gap:var(--sp-6);height:36px;font-size:var(--fs-7);margin:0;font-weight:700;display:flex}.notif-center-header-title{align-items:center;gap:var(--sp-4);min-width:0;display:flex}.notif-center-header-tabs{flex-shrink:0}.push-banner.is-ok{border-color:color-mix(in srgb, var(--ok) 40%, var(--line))}.push-banner.is-ok svg{color:var(--ok)}.push-banner.is-warn{border-color:color-mix(in srgb, var(--warn,#f59e0b) 45%, var(--line))}.push-banner.is-warn svg{color:var(--warn,#f59e0b)}.notif-bell-slot{display:inline-flex;position:relative}.push-status-dot{border:2px solid var(--bg-raised,var(--panel));pointer-events:none;border-radius:50%;width:9px;height:9px;position:absolute;bottom:-2px;right:-2px}.push-status-dot.is-ok{background:var(--ok,#1f9d63)}.push-status-dot.is-warn{background:var(--warn,#c77a06)}.notif-center .notif-center-toolbar{padding:0 0 8px}.notif-toolbar-count{font-family:var(--font-mono,ui-monospace, monospace);font-weight:600;font-size:var(--fs-4);color:var(--ink-secondary);white-space:nowrap;margin-right:2px}.notif-center-toolbar .form-select{padding:6px 26px 6px 8px;font-size:12.5px}.notif-center-toolbar .wl-date{font-size:11.5px}.notif-center-toolbar .wl-date input{padding:3px 6px}.notif-center-toolbar .history-filter-check{white-space:nowrap;font-size:12px}.notif-todovisto-btn{padding:0 16px;font-weight:800}
.alarm-test-msg.compact{margin:0 0 12px}.alarm-test-msg button{color:var(--brand);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:2px}.menu-de-fila-backdrop{z-index:19;background:0 0;position:fixed;inset:0}.audit-log-viewer{flex-direction:column;gap:12px;display:flex}.audit-log-viewer .wl-toolbar{padding:0 0 12px}.audit-log-embedded .wl-table-wrap{overscroll-behavior:contain;max-height:min(52vh,440px);overflow-y:auto}.audit-log-embedded .wl-table thead th{background:var(--panel);z-index:1;box-shadow:0 1px 0 var(--line);position:sticky;top:0}.audit-log-more{align-items:center;gap:var(--sp-6);padding:2px 4px;display:flex}.wl-embedded .wl-toolbar{border-bottom:1px solid var(--line);padding:0 0 12px}.wl-filter{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:140px;color:var(--ink);font-size:var(--fs-5);flex:180px;padding:7px 10px}.wl-filter:focus{border-color:var(--accent);outline:none}.wl-date{color:var(--ink-secondary,#6b7280);align-items:center;gap:6px;font-size:12px;display:inline-flex}.wl-date input{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);padding:6px 8px;font-size:13px}.wl-table-wrap{padding:0 4px 8px;overflow-x:auto}.wl-embedded .wl-table-wrap{padding:0}.wl-table{border-collapse:collapse;width:100%;font-size:var(--fs-5)}.wl-table th{text-align:left;color:var(--ink-secondary);font-weight:600;font-size:var(--fs-2);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px}.wl-table td{color:var(--ink);border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 12px}.wl-table tbody tr:hover{background:var(--panel-hover)}.wl-mono{font-variant-numeric:tabular-nums;white-space:nowrap}.wl-badge{font-size:var(--fs-2);white-space:nowrap;border-radius:999px;padding:2px 8px;font-weight:600;display:inline-block}.wl-badge-neutral{background:var(--bg-raised);color:var(--ink-secondary)}.wl-badge-info{background:rgba(var(--brand-rgb), .14);color:var(--accent)}.wl-badge-ok{background:var(--ok-dim);color:var(--ok)}.wl-badge-err{background:var(--danger-dim);color:var(--danger)}.wl-table-wrap{-webkit-overflow-scrolling:touch}.wl-table,.wl-embedded .wl-table{min-width:560px}@media (max-width:640px){.resp-grid-3,.resp-grid-2{grid-template-columns:1fr!important}.wl-modal{max-width:min(880px,94vw)}.cost-calc-hero-price{font-size:26px!important}.resp-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}}.widget-stepper-row{flex-wrap:wrap}.stepper-value{min-width:48px}.widget-output-body .output-send-btn{white-space:nowrap;max-width:100%}@media (max-width:640px){.chat-write-actions{flex-wrap:wrap}.chat-write-actions .chat-write-btn{flex:auto}.chat-setpoint-entry input,.chat-setpoint-entry .chat-write-btn{flex:100%}.chat-write-output .output-send-btn,.chat-write-output .output-command-btn{width:100%}}
.app-shell{transition:padding-top .2s,margin-top .2s}@media (min-width:768px){.vcfg-modal{height:min(var(--vvh,92dvh), 900px)}}.composer{padding-bottom:14px}@media (prefers-reduced-motion:reduce){.vcfg-modal,.tab-content,.msg,.alarm-card{transition:none!important;animation:none!important}@keyframes fadeSlideUp{0%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:1}to{opacity:1}}@keyframes msgSlideIn{0%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes tabFadeIn{0%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes widget-enter{0%{opacity:1;transform:none}to{opacity:1;transform:none}}@keyframes widget-exit{0%{opacity:1;transform:none}to{opacity:1;transform:none}}html .presentation-grid .dashboard-widget{animation:none}}.login-page{overflow-y:auto}@media (max-width:760px){.login-page{padding-top:max(8vh, env(safe-area-inset-top));align-items:flex-start}}html.kb-open .login-page{max-height:var(--vvh,100dvh);padding-top:max(24px, env(safe-area-inset-top));align-items:flex-start}.login-input-wrap input,.login-input-wrap textarea{scroll-margin:12px 0 24px}.legal-page{-webkit-overflow-scrolling:touch;background:var(--bg,#0e1116);justify-content:center;height:100dvh;padding:28px 16px 48px;display:flex;overflow-y:auto}.legal-back{align-items:center;gap:var(--sp-3);font-size:var(--fs-5);color:var(--ink,#e5e7eb);background:var(--panel,#1a2230);border:1px solid var(--line,#273140);cursor:pointer;border-radius:8px;margin-bottom:18px;padding:7px 14px;display:inline-flex}.legal-back:hover{background:var(--panel-hover,#222d3e)}.legal-doc{width:100%;max-width:780px;color:var(--ink,#e5e7eb);font-size:14.5px;line-height:1.6}.legal-doc h1{color:var(--ink,#e5e7eb);margin:0 0 2px;font-size:22px}.legal-doc h2{color:var(--ink,#e5e7eb);margin:22px 0 6px;font-size:16px}.legal-doc p,.legal-doc li{color:var(--ink-secondary,#c7ccd3)}.legal-doc ul{margin:6px 0;padding-left:20px}.legal-doc li{margin-bottom:4px}.legal-doc a{color:var(--brand-strong,#60a5fa)}.legal-updated{opacity:.6;margin:0 0 8px;font-size:12px}.legal-foot{opacity:.6;margin-top:28px;font-size:12px}.settings-legal-link{font-size:var(--fs-3);color:var(--ink-secondary,#94a3b8);opacity:.85;margin-top:10px;text-decoration:underline;display:inline-block}.settings-legal-link:hover{opacity:1}
.install-guide-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020610b8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.install-guide-card{background:var(--surface,#121826);width:100%;max-width:440px;max-height:calc(100dvh - 32px);color:var(--ink,#e5e7eb);border:1px solid var(--line,#2a3243);border-radius:16px;padding:20px;overflow-y:auto;box-shadow:0 20px 60px #0000008c}.install-guide-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-6);margin-bottom:12px;display:flex}.install-guide-title{align-items:center;gap:var(--sp-4);color:var(--primary,#3b82f6);display:flex}.install-guide-title h3{color:var(--ink,#e5e7eb);margin:0;font-size:17px}.install-guide-close{width:32px;height:32px;color:var(--ink-secondary,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.install-guide-close:hover{background:var(--bg,#0c1220);color:var(--ink,#e5e7eb)}.install-guide-intro{font-size:var(--fs-6);color:var(--ink-secondary,#94a3b8);margin:0 0 14px;line-height:1.5}.install-guide-native{align-items:center;gap:var(--sp-4);width:100%;padding:var(--sp-6);background:var(--primary,#3b82f6);color:#fff;font-weight:600;font-size:var(--fs-7);cursor:pointer;border:none;border-radius:10px;justify-content:center;margin-bottom:16px;display:inline-flex}.install-guide-native:hover{filter:brightness(1.08)}.install-guide-steps{gap:var(--sp-6);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.install-guide-step{align-items:center;gap:var(--sp-6);grid-template-columns:auto auto 1fr;display:grid}.install-guide-step-num{background:var(--primary,#3b82f6);color:#fff;width:26px;height:26px;font-size:var(--fs-5);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.install-guide-step-icon{color:var(--primary,#3b82f6);justify-content:center;align-items:center;display:inline-flex}.install-guide-step-text{font-size:var(--fs-6);color:var(--ink,#e5e7eb);line-height:1.45}.install-guide-note{font-size:var(--fs-5);color:var(--ink-secondary,#94a3b8);margin:14px 0 0;line-height:1.45}@media (max-width:480px){.install-guide-overlay{align-items:flex-end;padding:0}.install-guide-card{max-width:100%;max-height:90dvh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}}
:where(button,a,[role=button],input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}.btn-primary,.btn-secondary,.btn-sm,.action-button{transition:transform .12s,box-shadow .2s,filter .15s,background .15s}.btn-primary:hover:not(:disabled),.action-button:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 2px 10px #00000040}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-sm:active:not(:disabled),.action-button:active:not(:disabled){filter:brightness(.97);transform:translateY(1px)}@media (prefers-reduced-motion:reduce){.btn-primary,.btn-secondary,.btn-sm,.action-button{transition:none}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-sm:active:not(:disabled),.action-button:active:not(:disabled){transform:none}}.share-access{flex-direction:column;gap:14px;display:flex}.share-field{flex-direction:column;gap:4px;display:flex}.share-label{text-transform:uppercase;letter-spacing:.04em;opacity:.6;font-size:11px}.share-val{background:var(--surface-2,#7f7f7f1f);word-break:break-all;border-radius:8px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.share-url{background:var(--surface-2,#7f7f7f1f);color:var(--accent,#2563eb);word-break:break-all;border-radius:8px;padding:8px 10px;font-size:14px;text-decoration:none}.share-url:hover{text-decoration:underline}.share-pass{letter-spacing:.06em;color:var(--accent,#2563eb);font-size:18px;font-weight:700}.share-hint{opacity:.65;margin:0;font-size:12px}.share-actions{flex-wrap:wrap;gap:8px;display:flex}.share-actions .admin-btn{flex:1;justify-content:center;min-width:96px}.share-wa{color:#06210f!important;background:#25d366!important;border-color:#25d366!important}.share-regen{color:inherit;opacity:.55;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px;text-decoration:underline}.share-regen:hover{opacity:.8}
.config-web-group{align-items:center;gap:var(--sp-3);display:inline-flex}.config-web-ttl{align-items:center;gap:var(--sp-2);font-size:var(--fs-2);opacity:.85;display:inline-flex}.config-web-ttl input{width:52px;font-size:var(--fs-3);text-align:right;border:1px solid var(--border,#33415555);color:inherit;background:0 0;border-radius:6px;padding:2px 4px}.config-web-ttl input:disabled{opacity:.5}.remote-assist-view{flex-direction:column;gap:1.25rem;max-width:68rem;padding:1rem;display:flex}.remote-assist-view .ra-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.remote-assist-view h2{margin:0 0 .25rem;font-size:1.25rem}.remote-assist-view h3{opacity:.85;margin:0 0 .5rem;font-size:1rem}.remote-assist-view .ra-sub,.remote-assist-view .ra-meta,.remote-assist-view .ra-hint,.remote-assist-view .ra-empty{opacity:.7;margin:0;font-size:.85rem}.remote-assist-view .ra-warning,.remote-assist-view .ra-error{border:1px solid;border-radius:8px;padding:.75rem 1rem;font-size:.9rem}.remote-assist-view .ra-warning{border-color:var(--warn);color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, transparent)}.remote-assist-view .ra-error{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.remote-assist-view .ra-form{border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem 1rem;padding:1rem;display:grid}.remote-assist-view .ra-form label{flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.remote-assist-view .ra-form input,.remote-assist-view .ra-form select{border:1px solid var(--line);background:var(--panel);color:inherit;font:inherit;border-radius:6px;min-height:44px;padding:.5rem .6rem}.remote-assist-view .ra-full{grid-column:1/-1}.remote-assist-view .ra-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.remote-assist-view .ra-item{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;display:flex}.remote-assist-view .ra-item-past{opacity:.75}.remote-assist-view .ra-item-main,.remote-assist-view .ra-item-side{flex-direction:column;gap:.2rem;min-width:0;display:flex}.remote-assist-view .ra-item-side{text-align:right;align-items:flex-end}.remote-assist-view .ra-badge{font-size:var(--fs-3);border:1px solid;border-radius:999px;padding:.15rem .5rem;font-weight:600}.remote-assist-view .ra-active{color:var(--ok)}.remote-assist-view .ra-pending{color:var(--warn)}.remote-assist-view .ra-revoked,.remote-assist-view .ra-failed{color:var(--danger)}.remote-assist-view .ra-expired{opacity:.7}.remote-assist-view .ra-steps{flex-wrap:wrap;gap:.25rem .75rem;margin:.4rem 0 0;padding:0;font-size:.78rem;list-style:none;display:flex}.remote-assist-view .ra-step{opacity:.55;align-items:center;gap:.3rem;display:flex}.remote-assist-view .ra-step-done{opacity:1;color:var(--ok);font-weight:600}.remote-assist-view .ra-step-dot{border:1px solid;border-radius:999px;flex:none;justify-content:center;align-items:center;width:1.1em;height:1.1em;font-size:.7em;line-height:1;display:inline-flex}.remote-assist-view .ra-step-note{opacity:.75;font-style:normal;font-weight:400}.remote-assist-view .ra-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;margin-top:.25rem;display:flex}.remote-assist-view .ra-actions button{min-height:44px;padding-inline:.9rem}@media (max-width:640px){.remote-assist-view .ra-item-side{text-align:left;align-items:flex-start}.remote-assist-view .ra-item{flex-direction:column}.remote-assist-view .ra-item-main,.remote-assist-view .ra-item-side{width:100%}.remote-assist-view .ra-actions{justify-content:flex-start;width:100%}.remote-assist-view .ra-actions button{flex:10rem}}.activation-preview-modal{max-width:560px}.activation-preview-block{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.activation-preview-block:first-of-type{border-top:none;padding-top:0}.activation-preview-block h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 6px;font-size:.82rem}.activation-preview-block ul{margin:0;padding-left:18px}.activation-preview-warn{color:var(--warn);font-weight:600}.activation-preview-ttl{color:var(--text-muted);margin-top:12px;font-style:italic}
.mando-tools{gap:var(--sp-4);flex-wrap:wrap;align-items:center;display:flex}.mando-super{border:1px solid var(--line);padding:var(--sp-6);background:color-mix(in srgb, var(--line) 22%, transparent);border-radius:12px}.mando-tenant{border:1px solid var(--line);padding:var(--sp-6);gap:var(--sp-5);border-radius:12px;flex-direction:column;display:flex}.mando-tenant-head{justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.mando-table{min-width:720px}.mando-cards{display:none}.mando-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px}@media (max-width:760px){.mando-table-wrap{display:none}.mando-cards{flex-direction:column;gap:10px;display:flex}}.alarm-group.alarm-group-abierta{border-left:3px solid var(--danger,#ef4444);padding-left:8px}
.shell-trial-chip-wrap{min-width:0;display:inline-flex;position:relative}.shell-trial-chip{align-items:center;gap:var(--sp-2);border:1px solid var(--brand);background:var(--brand-dim);height:20px;color:var(--brand);font-size:var(--fs-2);white-space:nowrap;cursor:pointer;border-radius:999px;padding:0 8px;font-weight:700;display:inline-flex}.shell-trial-chip.urgente{color:var(--warn);border-color:var(--warn);background:0 0}.shell-trial-chip-detalle{z-index:30;border:1px solid var(--line);background:var(--panel);width:max-content;max-width:70vw;color:var(--ink);font-size:var(--fs-2);border-radius:8px;padding:6px 8px;font-weight:600;line-height:1.35;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0000002e}@media (max-width:700px){.topbar{min-height:48px;padding:6px 12px}.plant-title{align-items:center;gap:var(--sp-4);display:flex}.plant-title .status-row{flex-wrap:nowrap;flex-shrink:0}.status-texto{display:none}}.dashboard-tabs{gap:var(--sp-3);--barra-desplazamiento:0px;transform:translateY(calc(-1 * var(--barra-desplazamiento)));padding:4px 10px 0;transition:transform .2s}.dashboard-tabs-scroll,.dashboard-tabs-actions{padding-bottom:4px}.dashboard-tab{min-height:28px}@media (max-width:900px){.dashboard-tabs{padding:2px 8px 0}.dashboard-tab{min-height:26px;font-size:var(--fs-2);padding:4px 10px}}.dashboard-toolbar{--barra-desplazamiento:0px;transform:translateY(calc(-1 * var(--barra-desplazamiento)));transition:transform .2s}@media (max-width:900px){.dashboard-toolbar{gap:var(--sp-4);padding:6px 12px}.dashboard-toolbar-title{flex:auto;order:0;min-width:0}.dashboard-toolbar-actions{flex-wrap:nowrap;flex:none;order:0}.dashboard-share-badge{flex-shrink:0}.dashboard-view:not(.editing) .dashboard-toolbar{flex-wrap:nowrap;max-height:56px}.dashboard-view.editing .dashboard-toolbar{flex-wrap:wrap;max-height:none}.dashboard-view:not(.editing){position:relative}.dashboard-view:not(.editing) .dashboard-toolbar{top:var(--alto-tabs,0px);z-index:3;background:var(--panel);position:absolute;left:0;right:0}.dashboard-view:not(.editing) .dashboard-toolbar.dashboard-toolbar-plegada{pointer-events:none}.dashboards-shell:not(:has(.dashboard-view.editing)) .dashboard-tabs{z-index:4;background:var(--panel);position:absolute;top:0;left:0;right:0}.dashboards-shell:not(:has(.dashboard-view.editing)) .dashboard-tabs.dashboard-tabs-plegada{pointer-events:none}.dashboards-shell:not(:has(.dashboard-view.editing)){overflow:clip}.dashboards-shell:not(:has(.dashboard-view.editing)) .dashboard-scroll{padding-top:calc(var(--alto-barras,0px) + var(--sp-4))}}@media (prefers-reduced-motion:reduce){.dashboard-toolbar,.dashboard-tabs{transition:none}}@media (max-width:700px){.notif-banner{flex-wrap:nowrap;margin:6px 10px 0;padding:6px 10px;font-size:11.5px}.notif-banner>span{white-space:nowrap;text-overflow:ellipsis;flex-basis:auto;min-width:0;overflow:hidden}}@media (max-width:900px),(max-width:950px) and (orientation:landscape) and (max-height:500px){body.paneles-pantalla-completa .app-shell>.topbar,body.paneles-pantalla-completa .app-shell .chat-main>.topbar,body.paneles-pantalla-completa .topbar,body.paneles-pantalla-completa .dashboards-shell .dashboard-tabs,body.paneles-pantalla-completa .dashboards-shell .dashboard-toolbar{opacity:0;pointer-events:none;border-top-width:0;border-bottom-width:0;height:0;min-height:0;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;overflow:hidden}body.paneles-pantalla-completa .dashboard-help-fab{display:none}}.paneles-salir-pantalla-completa{top:max(8px, env(safe-area-inset-top,0px));right:calc(var(--apaisado-carril-total,0px) + max(8px, env(safe-area-inset-right,0px)));z-index:900;border:1px solid var(--line);background:var(--panel);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:fixed;box-shadow:0 8px 24px #0000002e}
