:root{--page:#0b0f16;--surface-1:#141a24;--surface-2:#1b232f;--border:#ffffff14;--border-2:#ffffff24;--ink:#f1f5f9;--ink-2:#94a3b8;--ink-muted:#64748b;--good:#0ca30c;--warn:#fab219;--bad:#d03b3b;--info:#3987e5;--serie-a:#3987e5;--serie-b:#199e70;--good-soft:#0ca30c24;--warn-soft:#fab21924;--bad-soft:#d03b3b24;--info-soft:#3987e524;--radius:14px;--gap:16px;--shadow:0 4px 20px #00000059;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--chart-grid:#ffffff0f;--topbar-bg:#0b0f16d9}html[data-theme=light]{--page:#eef1f6;--surface-1:#fff;--surface-2:#f1f4f8;--border:#0f172a14;--border-2:#0f172a29;--ink:#0f172a;--ink-2:#475569;--ink-muted:#64748b;--good:#0b8a0b;--warn:#b07400;--bad:#c22f2f;--info:#2673d1;--serie-a:#2673d1;--serie-b:#0f8a61;--good-soft:#0b8a0b1a;--warn-soft:#b074001f;--bad-soft:#c22f2f1a;--info-soft:#2673d11a;--shadow:0 4px 18px #0f172a1a;--chart-grid:#0f172a14;--topbar-bg:#ffffffd9}html[data-theme=light] input,html[data-theme=light] select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background:radial-gradient(1200px 600px at 80% -10%, #3987e50f, transparent 60%), var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh}.login-overlay{z-index:100;background:radial-gradient(1000px 500px at 50% -10%, #3987e51a, transparent 60%), var(--page);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.login-card{background:var(--surface-1);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:12px;padding:32px 30px;animation:.4s both fadein;display:flex}.login-logo{align-self:center;width:auto;height:40px;margin-bottom:6px}.login-card h1{text-align:center;font-size:19px;font-weight:800}.login-sub{color:var(--ink-muted);text-align:center;margin-bottom:10px;font-size:13px}.login-field{flex-direction:column;gap:5px;display:flex}.login-field span{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-2);font-size:11px}.login-field input{background:var(--surface-2);color:var(--ink);border:1px solid var(--border-2);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:9px;padding:11px 13px;font-family:inherit;font-size:14px}.login-field input:focus{outline:2px solid var(--info);outline-offset:1px}.login-err{background:var(--bad-soft);color:var(--bad);border-radius:8px;padding:9px 12px;font-size:12px}.login-btn{background:var(--info);color:#fff;cursor:pointer;border:none;border-radius:9px;margin-top:8px;padding:12px;font-family:inherit;font-size:14px;font-weight:700;transition:filter .2s}.login-btn:hover{filter:brightness(1.1)}.login-btn:disabled{opacity:.6;cursor:default}.user-chip{color:var(--ink-2);align-items:center;gap:8px;font-size:12px;display:flex}.btn-logout{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:12px;transition:all .2s}.btn-logout:hover{background:var(--bad-soft);color:var(--bad);border-color:var(--bad)}@media (width<=680px){.user-chip #auth-user{display:none}}.topbar{z-index:20;background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);align-items:center;gap:20px;padding:12px 22px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-logo{width:auto;height:34px;display:block}.brand-txt{flex-direction:column;line-height:1.2;display:flex}.brand-txt strong{letter-spacing:.3px;color:#5bbf3f;font-size:16px}.brand-txt span{color:var(--ink-muted);font-size:11px}.brand-sep{background:var(--border-2);width:1px;height:26px}.brand-tag{color:var(--ink-muted);letter-spacing:.3px;font-size:11px}.brand-tag strong{color:var(--ink-2)}@media (width<=680px){.brand-sep,.brand-tag{display:none}}.filters{gap:14px;margin-left:8px;display:flex}.field{flex-direction:column;gap:3px;display:flex}.field span{text-transform:uppercase;letter-spacing:1px;color:var(--ink-muted);font-size:10px}.field select{background:var(--surface-2);color:var(--ink);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;min-width:130px;padding:6px 10px;font-family:inherit;font-size:13px}.field select:focus{outline:2px solid var(--info);outline-offset:1px}.conn{align-items:center;gap:10px;margin-left:auto;display:flex}.conn-dot{background:var(--ink-muted);border-radius:50%;flex:none;width:10px;height:10px}.conn-dot.online{background:var(--good);animation:2s infinite pulse;box-shadow:0 0 #0ca30c99}.conn-dot.offline{background:var(--bad)}.conn-dot.error{background:var(--warn)}.conn-dot.past{background:var(--info)}.conn-txt{flex-direction:column;line-height:1.25;display:flex}.conn-txt span{font-size:13px;font-weight:600}.conn-txt small{color:var(--ink-muted);font-size:11px}.btn-refresh{background:var(--surface-2);color:var(--ink);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;width:34px;height:34px;font-size:17px;transition:transform .4s,background .2s}.btn-refresh:hover{background:var(--surface-1)}.btn-refresh.spin{transform:rotate(360deg)}#btn-theme{color:var(--ink-2);justify-content:center;align-items:center;display:inline-flex}#btn-theme svg{width:16px;height:16px}#btn-theme:hover{color:var(--ink)}@keyframes pulse{0%{box-shadow:0 0 #0ca30c8c}70%{box-shadow:0 0 0 8px #0ca30c00}to{box-shadow:0 0 #0ca30c00}}.live-header{background:linear-gradient(135deg, var(--surface-2), var(--surface-1));border:1px solid var(--border);border-left:5px solid var(--info);border-radius:14px;align-items:center;gap:15px;margin-bottom:16px;padding:14px 20px;display:flex}.live-icon{filter:drop-shadow(0 0 10px #3987e559);font-size:30px;line-height:1}.live-title{flex-direction:column;gap:3px;min-width:0;display:flex}.live-machine{letter-spacing:.3px;color:var(--ink);font-size:27px;font-weight:800;line-height:1.05}.live-context{color:var(--ink-2);font-size:13px}@media (width<=680px){.live-machine{font-size:21px}.live-icon{font-size:24px}}.content{max-width:1360px;margin:0 auto;padding:22px}.section{margin-bottom:26px}.section-head{align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.section-head h2{letter-spacing:.3px;font-size:14px;font-weight:700}.section-sub{color:var(--ink-muted);font-size:12px}.kpi-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(185px,1fr));display:grid}.kpi{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;animation:.4s both fadein;position:relative;overflow:hidden}.kpi:before{content:"";background:var(--border-2);width:3px;height:100%;position:absolute;top:0;left:0}.kpi.good:before{background:var(--good)}.kpi.warn:before{background:var(--warn)}.kpi.bad:before{background:var(--bad)}.kpi.info:before{background:var(--info)}.kpi .k-label{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-2);margin-bottom:8px;font-size:11px}.kpi .k-value{font-size:30px;font-weight:800;line-height:1}.kpi .k-unit{color:var(--ink-muted);margin-top:6px;font-size:12px}.kpi.kpi-hero{background:linear-gradient(135deg, var(--surface-2), var(--surface-1));grid-column:span 2}.kpi-hero .k-value{font-size:46px}.k-delta{align-items:center;gap:4px;margin-top:6px;font-size:12px;font-weight:700;display:inline-flex}.k-delta.up{color:var(--good)}.k-delta.down{color:var(--bad)}.meter-track{background:var(--info-soft);border-radius:5px;height:8px;margin-top:12px;overflow:hidden}.meter-fill{border-radius:5px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.meter-fill.good{background:var(--good)}.meter-fill.warn{background:var(--warn)}.meter-fill.bad{background:var(--bad)}.split{gap:var(--gap);grid-template-columns:2fr 1fr;align-items:start;display:grid}.split-main,.split-side{min-width:0}.info-row{gap:var(--gap);grid-template-columns:1fr 1fr;align-items:start;display:grid}.info-row>div{min-width:0}.chart-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.chart-box{height:320px;position:relative}#canvas-hourly{width:100%!important;height:100%!important}.chart-placeholder{color:var(--ink-muted);border:1px dashed var(--border-2);border-radius:10px;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.device-card,.transport-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.dev-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.dev-name{font-size:16px;font-weight:700}.dev-meta{color:var(--ink-muted);font-size:12px;line-height:1.7}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:700}.badge.online{background:var(--good-soft);color:var(--good)}.badge.offline{background:var(--bad-soft);color:var(--bad)}.badge.past{background:var(--info-soft);color:var(--info)}.badge.paro{background:var(--bad-soft);color:var(--bad);animation:1.6s infinite pulse-bad}.badge.idle{background:var(--warn-soft);color:var(--warn)}.prod-state{border-radius:8px;margin-top:12px;padding:5px 12px;font-size:13px;font-weight:700;display:inline-block}.prod-state.on{background:var(--good-soft);color:var(--good)}.prod-state.paro{background:var(--bad-soft);color:var(--bad)}.prod-state.pend{color:var(--ink-2);background:#94a3b824;font-weight:700}.prod-state.idle{background:var(--warn-soft);color:var(--warn)}.prod-state .ps-src{opacity:.75;font-size:11px;font-weight:600}.dev-pend{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:12px;display:flex}.alarm-banner{background:var(--bad-soft);border:1px solid var(--bad);color:var(--bad);border-radius:10px;margin-top:12px;padding:10px 14px;font-size:13px;font-weight:700;animation:1.6s infinite pulse-bad}.stop-timer{font-variant-numeric:tabular-nums;font-weight:800}.dur{font-variant-numeric:tabular-nums;border-radius:6px;padding:2px 9px;font-weight:800;display:inline-block}.dur.lo{background:var(--good-soft);color:var(--good)}.dur.mid{color:#ec835a;background:#ec835a2e}.dur.hi{background:var(--bad-soft);color:var(--bad)}@keyframes pulse-bad{0%,to{opacity:1}50%{opacity:.6}}.mlist{flex-direction:column;gap:8px;display:flex}.mrow{background:var(--surface-2);border-radius:10px;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:12px;padding:9px 12px;display:grid}.mrow .badge{padding:3px 8px;font-size:10px}.mname{font-size:14px;font-weight:700}.mprod{color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.mcumpl{text-align:right;font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.mcumpl.good{color:var(--good)}.mcumpl.warn{color:var(--warn)}.mcumpl.bad{color:var(--bad)}.mcumpl.pend{color:var(--ink-muted);cursor:help;font-weight:700}.maporte{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink-muted);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.maporte:empty{border:0;padding:0}.maporte.good{color:var(--good);border-color:var(--good)}.maporte.warn{color:var(--warn);border-color:var(--warn)}.maporte.bad{color:var(--bad);border-color:var(--bad)}@media (width<=720px){.mrow{grid-template-columns:auto 1fr auto auto}.maporte{display:none}}.tp-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tp-item{background:var(--surface-2);border-radius:10px;padding:10px 12px}.tp-item .t-lbl{text-transform:uppercase;letter-spacing:.6px;color:var(--ink-muted);font-size:10px}.tp-item .t-val{font-variant-numeric:tabular-nums;margin-top:3px;font-size:20px;font-weight:800}.tp-note{color:var(--ink-2);margin-top:10px;font-size:12px}.ap-head{align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.ap-pct{font-variant-numeric:tabular-nums;flex:none;font-size:40px;font-weight:800;line-height:1}.ap-pct.good{color:var(--good)}.ap-pct.warn{color:var(--warn)}.ap-pct.bad{color:var(--bad)}.ap-pct.info{color:var(--ink-2)}.ap-of{color:var(--ink-2);font-size:12px;line-height:1.45}.ap-of strong{color:var(--ink);font-variant-numeric:tabular-nums}.ap-foot{color:var(--ink-muted);margin-top:9px;font-size:12px}.ap-foot strong{color:var(--ink-2);font-variant-numeric:tabular-nums}.tp-split{margin-top:14px}.tp-bar{background:var(--surface-2);border-radius:999px;height:10px;display:flex;overflow:hidden}.tp-bar span{height:100%;display:block}.tp-bar .s-maq{background:var(--good)}.tp-bar .s-man{background:var(--warn)}.tp-legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 18px;margin-top:9px;font-size:12px;display:flex}.tp-legend i{vertical-align:middle;border-radius:3px;width:9px;height:9px;margin-right:6px;display:inline-block}.tp-legend .k-maq{background:var(--good)}.tp-legend .k-man{background:var(--warn)}.tp-legend strong{color:var(--ink);font-variant-numeric:tabular-nums}.aporte-detail{color:var(--ink-2);margin-top:10px;font-size:12px}.aporte-detail div{justify-content:space-between;gap:12px;padding:2px 0;display:flex}.aporte-detail b{font-variant-numeric:tabular-nums;color:var(--ink)}.aporte-verdict{text-transform:uppercase;letter-spacing:.4px;margin-top:9px;font-size:11px;font-weight:700;line-height:1.45}.tp-note.aporte-verdict{text-transform:none;letter-spacing:0;font-weight:500}.aporte-verdict.v-ok{color:var(--good)}.aporte-verdict.v-manual{color:var(--warn)}.aporte-verdict.v-sensor{color:var(--info,#3987e5)}.aporte-verdict.v-unclear,.aporte-verdict.v-none{color:var(--ink-muted)}.table-wrap{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.live-table{border-collapse:collapse;width:100%;font-size:13px}.live-table th,.live-table td{text-align:left;white-space:nowrap;padding:9px 14px}.live-table th{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-muted);border-bottom:1px solid var(--border);background:var(--surface-1);font-size:10px;position:sticky;top:0}.live-table td{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}.live-table tr:last-child td{border-bottom:none}.live-table .num{text-align:right}.live-table tbody tr{transition:background .2s}.live-table tbody tr:hover{background:var(--surface-2)}.live-table tr.flash{animation:1.4s flashrow}@keyframes flashrow{0%{background:var(--info-soft)}to{background:0 0}}.type-tag{background:var(--surface-2);color:var(--ink-2);border-radius:6px;padding:2px 8px;font-size:11px}.type-tag.snapshot{color:var(--info)}.type-tag.shift_close{color:var(--good)}.type-tag.calibration{color:var(--warn)}.cell-cumpl{font-weight:700}.cell-cumpl.good{color:var(--good)}.cell-cumpl.warn{color:var(--warn)}.cell-cumpl.bad{color:var(--bad)}.empty{text-align:center;color:var(--ink-muted);padding:26px!important}.table-foot{text-align:center;margin-top:12px}.btn{background:var(--surface-2);color:var(--ink);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:8px 18px;font-family:inherit;font-size:13px;transition:background .2s}.btn:hover{background:var(--surface-1)}.btn:disabled{opacity:.5;cursor:default}.hist-controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.chip-row{gap:8px;display:flex}.chip{background:var(--surface-1);color:var(--ink-2);border:1px solid var(--border-2);cursor:pointer;border-radius:20px;padding:7px 16px;font-family:inherit;font-size:13px;transition:all .2s}.chip:hover{background:var(--surface-2);color:var(--ink)}.chip.active{background:var(--info);border-color:var(--info);color:#fff;font-weight:600}.range-row{align-items:flex-end;gap:10px;display:flex}.range-row .field input[type=date]{background:var(--surface-2);color:var(--ink);border:1px solid var(--border-2);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;padding:6px 10px;font-family:inherit;font-size:13px}.range-row .field input[type=date]:focus{outline:2px solid var(--info);outline-offset:1px}.skeleton{background:linear-gradient(90deg, var(--surface-1) 25%, var(--surface-2) 50%, var(--surface-1) 75%);border-radius:var(--radius);background-size:200% 100%;min-height:96px;animation:1.3s infinite shimmer}.skeleton.kpi-hero{min-height:96px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.toasts{z-index:50;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--surface-2);border:1px solid var(--border-2);border-left:3px solid var(--info);box-shadow:var(--shadow);border-radius:10px;max-width:340px;padding:12px 16px;font-size:13px;animation:.3s slidein}.toast.bad{border-left-color:var(--bad)}.toast.good{border-left-color:var(--good)}.toast.warn{border-left-color:var(--warn)}@keyframes slidein{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}@media (width<=1100px){.kpi-grid{grid-template-columns:1fr 1fr 1fr}.split,.info-row{grid-template-columns:1fr}}@media (width<=680px){.topbar{flex-wrap:wrap;gap:12px}.conn{margin-left:0}.kpi-grid{grid-template-columns:1fr 1fr}.kpi-hero .k-value{font-size:38px}.kpi.kpi-hero{grid-column:1/-1}}.plant-screen{z-index:90;background:radial-gradient(1000px 500px at 50% -10%, #3987e51a, transparent 60%), var(--page);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.plant-wrap{text-align:center;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:760px;animation:.4s both fadein;display:flex}.plant-wrap h1{margin-top:10px;font-size:24px;font-weight:800}.plant-sub{color:var(--ink-muted);margin-bottom:22px;font-size:14px}.plant-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));width:100%;display:grid}.plant-card{background:var(--surface-1);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:18px;flex-direction:column;gap:10px;padding:26px 22px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.plant-card:hover{border-color:var(--info);box-shadow:var(--shadow);transform:translateY(-3px)}.plant-card .p-ico{font-size:34px;line-height:1}.plant-card .p-name{font-size:18px;font-weight:800}.plant-card .p-desc{color:var(--ink-2);font-size:13px;line-height:1.5}.plant-card .p-meta{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.plant-card .p-cta{color:var(--info);margin-top:8px;font-size:13px;font-weight:700}.plant-foot{color:var(--ink-muted);align-items:center;gap:12px;margin-top:30px;font-size:12px;display:flex}.plant-chip{background:var(--surface-2);border:1px solid var(--border-2);color:var(--ink);border-radius:20px;align-items:center;gap:8px;padding:6px 14px 6px 10px;text-decoration:none;transition:border-color .2s;display:inline-flex}.plant-chip:hover{border-color:var(--info)}.plant-chip-back{color:var(--ink-muted);font-size:14px}.plant-chip-name{font-size:13px;font-weight:700}.app-layout{align-items:stretch;display:flex}.sidebar{background:var(--surface-1);border-right:1px solid var(--border);z-index:15;flex-direction:column;flex:none;justify-content:space-between;gap:14px;width:232px;height:calc(100vh - 59px);padding:14px 10px;display:flex;position:sticky;top:59px;overflow-y:auto}.sb-nav{flex-direction:column;gap:3px;display:flex}.nav-item{cursor:pointer;color:var(--ink-2);border-left:3px solid #0000;border-radius:10px;align-items:center;gap:11px;padding:10px 12px;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active{background:var(--info-soft);color:var(--ink);border-left-color:var(--info)}.nav-ico{width:20px;height:18px;color:var(--ink-muted);flex:none;justify-content:center;align-items:center;display:inline-flex}.nav-ico svg{width:17px;height:17px;display:block}.nav-item:hover .nav-ico{color:var(--ink)}.nav-item.active .nav-ico{color:var(--info)}.nav-sep{background:var(--border);height:1px;margin:8px 6px}.nav-back{color:var(--ink-muted);font-size:12.5px}.app-layout .content{flex:1;min-width:0;max-width:none}.sb-toggle{background:var(--surface-2);color:var(--ink);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;flex:none;width:36px;height:36px;font-size:17px;display:none}.sb-overlay{display:none}@media (width<=900px){.sb-toggle{display:block}.sidebar{z-index:60;height:100vh;box-shadow:var(--shadow);transition:left .25s;position:fixed;top:0;left:-260px}.sidebar.open{left:0}.sb-overlay.show{z-index:55;background:#00000080;display:block;position:fixed;inset:0}}.filters{display:none}body[data-view=maquina] .filters{display:flex}.view{display:none}.view.active{animation:.25s both fadein;display:block}.crumbs{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:7px;min-height:18px;margin-bottom:16px;font-size:12.5px;display:flex}.crumbs a{color:var(--ink-2);text-decoration:none}.crumbs a:hover{color:var(--info);text-decoration:underline}.crumbs .sep{color:var(--ink-muted);opacity:.6}.crumbs .here{color:var(--ink);font-weight:700}.view-head{margin-bottom:18px}.view-head h1{letter-spacing:.2px;font-size:21px;font-weight:800}.view-head p{color:var(--ink-muted);margin-top:4px;font-size:13px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.card-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.card h3{margin-bottom:10px;font-size:14px;font-weight:700}.card .muted{color:var(--ink-muted);font-size:12.5px;line-height:1.6}.zone-card{cursor:pointer;flex-direction:column;gap:8px;transition:transform .2s,border-color .2s;display:flex}.zone-card:hover{border-color:var(--info);transform:translateY(-2px)}.zone-card.disabled{cursor:default;opacity:.75}.zone-card.disabled:hover{border-color:var(--border);transform:none}.zone-ico{font-size:28px}.zone-name{font-size:16px;font-weight:800}.zone-sub{color:var(--ink-2);font-size:12.5px}.zone-cta{color:var(--info);margin-top:6px;font-size:13px;font-weight:700}.line-row{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:14px;margin-bottom:10px;padding:15px 18px;transition:border-color .2s;display:grid}.line-row:hover{border-color:var(--info)}.line-row.disabled{cursor:default;opacity:.7}.line-row .l-name{font-size:15px;font-weight:700}.line-row .l-sub{color:var(--ink-muted);font-size:12px}.line-row .l-num+.l-sub{text-align:right;font-size:11px;display:block}.line-row .l-sub b.good{color:var(--good)}.line-row .l-sub b.warn{color:var(--warn)}.line-row .l-sub b.bad{color:var(--bad)}.line-row .l-num{font-variant-numeric:tabular-nums;text-align:right;font-size:16px;font-weight:800}.line-row .l-num.pend{color:var(--ink-muted);cursor:help;font-weight:700}.line-row .l-lbl{text-transform:uppercase;letter-spacing:.6px;color:var(--ink-muted);font-size:10px}.tagchip{border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}.tagchip.on{background:var(--good-soft);color:var(--good)}.tagchip.off{background:var(--bad-soft);color:var(--bad)}.tagchip.pend{color:var(--ink-2);background:#94a3b824}.tagchip.info{background:var(--info-soft);color:var(--info)}.tagchip.warn{background:var(--warn-soft);color:var(--warn)}.oee-card{flex-direction:column;gap:12px;display:flex}.oee-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.oee-big{font-variant-numeric:tabular-nums;font-size:42px;font-weight:800;line-height:1}.oee-big.good{color:var(--good)}.oee-big.warn{color:var(--warn)}.oee-big.bad{color:var(--bad)}.oee-part{grid-template-columns:120px 1fr 52px;align-items:center;gap:10px;font-size:12.5px;display:grid}.oee-part .p-lbl{color:var(--ink-2)}.oee-part .p-val{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.alert-row{background:var(--surface-1);border:1px solid var(--border);border-left:4px solid var(--info);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:9px;padding:13px 16px;display:grid}.alert-row.bad{border-left-color:var(--bad)}.alert-row.warn{border-left-color:var(--warn)}.alert-row.good{border-left-color:var(--good)}.alert-row .a-ico{font-size:20px}.alert-row .a-title{font-size:14px;font-weight:700}.alert-row .a-sub{color:var(--ink-muted);margin-top:2px;font-size:12px}.alert-row .a-when{color:var(--ink-muted);white-space:nowrap;font-size:11.5px}.reco-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:auto 1fr;align-items:start;gap:14px;margin-bottom:11px;padding:17px 19px;display:grid}.reco-card .r-ico{font-size:24px}.reco-card .r-title{font-size:14.5px;font-weight:700}.reco-card .r-body{color:var(--ink-2);margin-top:5px;font-size:13px;line-height:1.6}.reco-card .r-data{color:var(--ink-muted);margin-top:7px;font-size:12px}.energy-hero{background:linear-gradient(135deg, var(--surface-2), var(--surface-1));border:1px dashed var(--border-2);border-radius:var(--radius);text-align:center;margin-bottom:var(--gap);padding:40px 26px}.energy-hero .e-ico{font-size:44px}.energy-hero h2{margin:12px 0 8px;font-size:19px;font-weight:800}.energy-hero p{color:var(--ink-2);max-width:560px;margin:0 auto;font-size:13.5px;line-height:1.65}.kpi.pending{opacity:.55}.kpi.pending .k-value{color:var(--ink-muted)}.kpi.info.pending{opacity:.8}.an-pending-note{color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:9px 12px;font-size:12.5px;display:flex}.oee-part .meter-track:empty{background:var(--surface-2)}.cfg-table{border-collapse:collapse;width:100%;font-size:13px}.cfg-table th,.cfg-table td{text-align:left;border-bottom:1px solid var(--border);padding:9px 12px}.cfg-table th{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-muted);font-size:10px}.cfg-table input[type=number]{background:var(--surface-2);color:var(--ink);border:1px solid var(--border-2);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;width:110px;padding:6px 10px;font-family:inherit;font-size:13px}.cfg-table input[type=number]:focus{outline:2px solid var(--info);outline-offset:1px}.cfg-actions{gap:10px;margin-top:14px;display:flex}.btn.primary{background:var(--info);border-color:var(--info);color:#fff;font-weight:700}.btn.primary:hover{filter:brightness(1.1);background:var(--info)}@media (width<=680px){.line-row{grid-template-columns:auto 1fr auto}.line-row .l-hide-sm{display:none}.oee-big{font-size:34px}}.an-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.an-tab{background:var(--surface-1);color:var(--ink-2);border:1px solid var(--border-2);cursor:pointer;border-radius:10px;padding:9px 18px;font-family:inherit;font-size:13.5px;font-weight:700;transition:all .18s}.an-tab:hover{background:var(--surface-2);color:var(--ink)}.an-tab.active{background:var(--info-soft);border-color:var(--info);color:var(--ink)}.an-filters{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:22px;padding:14px 16px;display:flex}.an-filters .field select,.an-filters .field input[type=date]{background:var(--surface-2);color:var(--ink);border:1px solid var(--border-2);cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;min-width:130px;padding:6px 10px;font-family:inherit;font-size:13px}.an-filters .field select:focus,.an-filters .field input[type=date]:focus{outline:2px solid var(--info);outline-offset:1px}.an-range{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-left:auto;display:flex}.an-filters[data-scope=machine] .an-f-zone{display:none}html[data-theme=light] .an-filters .field select,html[data-theme=light] .an-filters .field input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.field.an-inline{margin-left:auto}.an-hours{border-left:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:10px;padding-left:14px;display:flex}.an-hours-title{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);align-self:center;font-size:11px}.an-hours-all{color:var(--ink);cursor:pointer;align-self:center;align-items:center;gap:6px;font-size:13px;display:flex}.an-hours-all input{cursor:pointer;accent-color:var(--info)}.an-hours .field select{min-width:88px}.an-hours .field select:disabled{opacity:.45;cursor:not-allowed}.an-hours-hint{color:var(--ink-muted);align-self:center;font-size:12px}.an-scope-note{background:var(--surface-1);border:1px solid var(--border);border-left:3px solid var(--info);border-radius:8px;margin:-10px 0 22px;padding:10px 14px;line-height:1.5}.an-cmp-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.cmp-card{flex-direction:column;gap:2px;display:flex}.cmp-head h3{margin-bottom:10px;font-size:14px;font-weight:800}.cmp-labels,.cmp-row{grid-template-columns:1.3fr 1fr 1fr 1fr;align-items:center;gap:8px;display:grid}.cmp-labels{text-transform:uppercase;letter-spacing:.6px;color:var(--ink-muted);border-bottom:1px solid var(--border);padding:4px 0 8px;font-size:10px}.cmp-labels span:not(:first-child),.cmp-row>:not(.cmp-ind){text-align:right}.cmp-row{border-bottom:1px solid var(--border);padding:9px 0}.cmp-row:last-child{border-bottom:none}.cmp-ind{color:var(--ink-2);font-size:12.5px;font-weight:600}.cmp-cur{font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.cmp-prev{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:13px}.cmp-row .k-delta{justify-content:flex-end;font-size:11.5px}.cmp-row .k-delta:not(.up):not(.down){color:var(--ink-muted)}.rank-list{flex-direction:column;gap:9px;display:flex}.rank-row{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:auto auto 1.6fr repeat(3,1fr);align-items:center;gap:14px;padding:13px 18px;display:grid}.rank-pos{color:var(--ink-2);font-variant-numeric:tabular-nums;background:var(--surface-2);border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;font-size:15px;font-weight:800;display:inline-flex}.rank-medal{font-size:20px;line-height:1}.rank-name{flex-direction:column;align-items:flex-start;gap:4px;font-size:14.5px;font-weight:700;display:flex}.rank-name .tagchip{padding:2px 8px;font-size:10px}.rank-metric{text-align:right;flex-direction:column;gap:2px;display:flex}.rank-metric small{text-transform:uppercase;letter-spacing:.5px;color:var(--ink-muted);font-size:10px}.rank-metric b{font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.rank-metric b.good{color:var(--good)}.rank-metric b.warn{color:var(--warn)}.rank-metric b.bad{color:var(--bad)}.mvp-card{flex-direction:column;gap:10px;display:flex}.mvp-lbl{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-2);font-size:11px}.mvp-vals{gap:18px;display:flex}.mvp-me,.mvp-pl{flex-direction:column;gap:2px;display:flex}.mvp-me small,.mvp-pl small{color:var(--ink-muted);font-size:10.5px}.mvp-me b{font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.mvp-pl b{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.mvp-card .k-delta{align-self:flex-start}.cap-card{flex-direction:column;gap:18px;display:flex}.cap-gauge-wrap{grid-template-columns:260px 1fr;align-items:center;gap:24px;display:grid}.cap-gauge-box{height:150px;position:relative}.cap-gauge-box canvas{width:100%!important;height:100%!important}.cap-gauge-center{flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;bottom:6px;left:0;right:0}.cap-gauge-center b{font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1}.cap-gauge-center b.good{color:var(--good)}.cap-gauge-center b.warn{color:var(--warn)}.cap-gauge-center b.bad{color:var(--bad)}.cap-gauge-center small{color:var(--ink-muted);font-size:11px}.cap-stats{grid-template-columns:repeat(3,1fr);align-items:start;gap:12px;display:grid}.cap-stat{background:var(--surface-2);border-radius:10px;flex-direction:column;gap:4px;padding:11px 13px;display:flex}.cap-stat .cs-lbl{text-transform:uppercase;letter-spacing:.5px;color:var(--ink-muted);font-size:10.5px}.cap-stat .cs-val{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.cap-stat .cs-val .u{color:var(--ink-muted);font-size:11px;font-weight:600}.cap-nominal{grid-column:1/-1;margin-top:2px;font-size:12px}.cap-dist{border-top:1px solid var(--border);flex-direction:column;gap:9px;padding-top:16px;display:flex}.cap-dist-title{color:var(--ink-2);font-size:12px;font-weight:700}.cap-dist-row{grid-template-columns:150px 1fr 52px;align-items:center;gap:12px;display:grid}.cap-dist-row .cd-lbl{color:var(--ink-2);font-size:12.5px}.cap-dist-row .cd-val{text-align:right;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.cap-dist-row .meter-track{margin-top:0}.fore-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.fore-card{border-left:4px solid var(--border-2);flex-direction:column;gap:14px;display:flex}.fore-card.good{border-left-color:var(--good)}.fore-card.warn{border-left-color:var(--warn)}.fore-card.bad{border-left-color:var(--bad)}.fore-title{align-items:center;gap:10px;font-size:14px;font-weight:800;display:flex}.fore-kpis{grid-template-columns:1fr 1fr;gap:14px;display:grid}.fore-k{flex-direction:column;gap:3px;display:flex}.fore-k .fk-lbl{color:var(--ink-muted);font-size:11px}.fore-k .fk-val{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1}.fore-k .fk-val.good{color:var(--good)}.fore-k .fk-val.warn{color:var(--warn)}.fore-k .fk-val.bad{color:var(--bad)}.fore-k .fk-u{color:var(--ink-muted);font-size:11px}.an-note{color:var(--ink-muted);margin-top:4px;font-size:12px}.an-soon{align-items:flex-start;gap:14px;margin-top:10px;display:flex}.an-soon .r-ico{font-size:22px}.an-soon strong{font-size:13.5px}.an-soon .muted{margin-top:4px;font-size:12.5px;line-height:1.6}.loss-card{flex-direction:column;gap:16px;display:flex}.loss-top{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.loss-big{flex-direction:column;display:flex}.loss-big .lb-val{font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1}.loss-big .lb-val.bad{color:var(--bad)}.loss-big .lb-u{color:var(--ink-muted);font-size:12px}.loss-meta{gap:20px;margin-left:auto;display:flex}.loss-meta .lm-item{text-align:right;flex-direction:column;gap:2px;display:flex}.loss-meta .lm-item small{color:var(--ink-muted);font-size:10.5px}.loss-meta .lm-item b{font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.loss-bars{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:14px;display:flex}.loss-row{grid-template-columns:130px 1fr 90px 66px;align-items:center;gap:12px;display:grid}.loss-row .ll-lbl{color:var(--ink-2);font-size:12.5px}.loss-row .ll-val{text-align:right;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.loss-row .ll-min{text-align:right;font-size:12px}.loss-row .meter-track{margin-top:0}.loss-cost{border-top:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:10px;padding-top:12px;display:flex}.loss-cost .lc-lbl{color:var(--ink-2);font-size:12.5px}.loss-cost .lc-val{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.loss-cost .lc-val.bad{color:var(--bad)}.peak-list{flex-direction:column;gap:6px;display:flex}.peak-row{border-bottom:1px solid var(--border);grid-template-columns:56px 1fr auto;align-items:center;gap:12px;padding:6px 0;display:grid}.peak-row:last-child{border-bottom:none}.peak-row .pk-h{font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.peak-row .pk-p{color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.peak-row .pk-p small{color:var(--ink-muted)}.peak-row .pk-u{text-align:right;font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.peak-row .pk-u.good{color:var(--good)}.peak-row .pk-u.warn{color:var(--warn)}.peak-row .pk-u.bad{color:var(--bad)}.trend-controls{margin-bottom:14px}.corr-insights{flex-direction:column;gap:10px;display:flex}.corr-insights .reco-card{margin-bottom:0}.heat{flex-direction:column;gap:3px;display:flex;overflow-x:auto}.heat-row{grid-template-columns:52px repeat(7,minmax(20px,1fr));align-items:center;gap:3px;display:grid}.heat-head .heat-wd{color:var(--ink-muted);text-align:center;font-size:10px}.heat-hr{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:10.5px}.heat-cell{background:var(--info);border-radius:3px;height:16px;display:block}.heat-cell.empty{background:var(--surface-2);opacity:1!important}.heat-legend{align-items:center;gap:5px;margin-top:12px;font-size:11px;display:flex}.heat-legend .heat-cell{width:16px;height:12px}@media (width<=900px){.cap-gauge-wrap{grid-template-columns:1fr}.cap-gauge-box{max-width:260px;margin:0 auto}.loss-meta{margin-left:0}}@media (width<=680px){.loss-row{grid-template-columns:96px 1fr 70px}.loss-row .ll-min{display:none}.loss-meta{gap:14px}.rank-row{grid-template-columns:auto auto 1fr;row-gap:10px}.rank-row .rank-metric{grid-column:span 1}.fore-kpis,.cap-stats{grid-template-columns:1fr}.an-range{margin-left:0}.an-hours{border-left:0;width:100%;padding-left:0}.cap-dist-row{grid-template-columns:110px 1fr 44px}}.tw-nav{flex-wrap:wrap;margin:0 0 14px}.chip:disabled{opacity:.45;cursor:default}.chip:disabled:hover{background:var(--surface-1);color:var(--ink-2)}.tw-card h3{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 10px;font-size:14px;display:flex}.tw-card h3 small{color:var(--ink-muted);font-size:11px;font-weight:400}.tw-table th,.tw-table td{padding-left:0;padding-right:14px}.tw-table tr:last-child td{border-bottom:0}.tw-pos{width:26px;color:var(--ink-muted);font-variant-numeric:tabular-nums;text-align:center!important}.tw-plant{border-left:3px solid var(--info);margin-bottom:16px}.tw-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.tw-partial{color:var(--warn);border:1px solid var(--warn);white-space:nowrap;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:10.5px}.tw-notes{margin:0;padding-left:18px}.tw-notes li{margin-bottom:4px}.tw-notes li:last-child{margin-bottom:0}.hist-est{color:var(--warn);cursor:help;vertical-align:1px;margin-left:2px;font-size:11px}.sens-banner{border-radius:var(--radius);background:var(--bad-soft);border:1px solid var(--bad);border-left:5px solid var(--bad);color:var(--ink);flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 12px;padding:12px 16px;animation:2.4s ease-in-out infinite sens-pulse;display:flex}.sens-banner.acked{opacity:.9;border-left-color:var(--warn);animation:none}@keyframes sens-pulse{0%,to{box-shadow:0 0 #d03b3b00}50%{box-shadow:0 0 0 4px #d03b3b2e}}@media (prefers-reduced-motion:reduce){.sens-banner{animation:none}}.sens-banner .sb-ico{font-size:22px;line-height:1}.sens-banner .sb-txt{flex-direction:column;flex:320px;gap:2px;min-width:0;display:flex}.sens-banner .sb-txt strong{font-size:14px}.sens-banner .sb-txt span{color:var(--ink-2);font-size:12.5px}.sens-banner .sb-txt b{color:var(--bad);font-variant-numeric:tabular-nums}.sens-banner .sb-link{color:var(--ink-2);white-space:nowrap;font-size:12.5px;text-decoration:none}.sens-banner .sb-link:hover{color:var(--ink);text-decoration:underline}.sens-banner .sb-ack{padding:6px 14px;font-size:12.5px}.est-badge{letter-spacing:.03em;background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:10.5px;font-weight:700;display:inline-flex}.est-badge.good{background:var(--good-soft);color:var(--good);border-color:var(--good)}.est-badge.bad{background:var(--bad-soft);color:var(--bad);border-color:var(--bad)}.est-value{font-variant-numeric:tabular-nums;color:var(--warn);border-bottom:1px dashed var(--warn);cursor:help}.q-real{color:var(--good);letter-spacing:.03em;font-size:11px;font-weight:700}.kpi-est,.oee-est{background:var(--warn-soft);color:var(--ink-2);border-radius:8px;flex-wrap:wrap;align-items:flex-start;gap:6px;margin-top:8px;padding:6px 8px;font-size:11px;line-height:1.35;display:flex}.kpi-est b,.oee-est b{color:var(--ink)}.kpi-est span,.oee-est span{flex:140px;min-width:0}.kpi.has-est,.card.oee-card.has-est{position:relative;overflow:hidden}.kpi.has-est:after,.card.oee-card.has-est:after{content:"";background:linear-gradient(135deg, transparent 50%, var(--warn) 50%);opacity:.55;pointer-events:none;width:34px;height:34px;position:absolute;top:0;right:0}.live-table tr.row-est>td{background:var(--warn-soft)}.live-table tr.row-est>td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.sens-ico{font-size:13px;line-height:1}.sens-ico.bad{color:var(--bad)}.sens-ico.warn{color:var(--warn)}.sens-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.sens-card{background:var(--surface-1);border:1px solid var(--border);border-top:3px solid var(--ink-muted);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.sens-card.good{border-top-color:var(--good)}.sens-card.warn{border-top-color:var(--warn)}.sens-card.bad{border-top-color:var(--bad)}.sens-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.sens-line{color:var(--ink);font-size:14px;font-weight:700}.sens-state{letter-spacing:.04em;font-size:11.5px;font-weight:700}.sens-state.good{color:var(--good)}.sens-state.warn{color:var(--warn)}.sens-state.bad{color:var(--bad)}.sens-state.muted{color:var(--ink-muted)}.sens-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:10px;padding:5px 0;font-size:12.5px;display:flex}.sens-row:last-of-type{border-bottom:none}.sens-row .sr-l{color:var(--ink-2)}.sens-row .sr-v{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}.sens-warn{color:var(--bad);font-size:11.5px}.sens-src{color:var(--warn)}.sens-prod{border-radius:10px;flex-direction:column;gap:3px;margin-top:10px;padding:8px 10px;font-size:12.5px;display:flex}.sens-prod.real{background:var(--good-soft);color:var(--good)}.sens-prod.est{background:var(--warn-soft);color:var(--ink)}.sens-prod-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.sens-prod-row>span{color:var(--ink-2);align-items:center;gap:5px;display:flex}.sens-prod-row>b{font-variant-numeric:tabular-nums;white-space:nowrap}.sens-prod-row.total{border-top:1px solid;margin-top:3px;padding-top:5px;font-weight:600}.sens-prod-row.total>span{color:inherit}.sens-tl{margin-top:var(--gap);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.sens-tl-empty{margin-top:var(--gap);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);color:var(--ink-2);padding:14px 16px;font-size:12.5px}.tl-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.tl-head>span:first-child{color:var(--ink);font-size:13px;font-weight:700}.tl-sub{color:var(--ink-2);font-size:11.5px}.tl-bar{background:var(--good-soft);border:1px solid var(--border);border-radius:6px;height:22px;position:relative;overflow:hidden}.tl-seg{background:var(--warn);border-left:1px solid var(--warn);cursor:help;position:absolute;top:0;bottom:0}.tl-seg.open{background:var(--bad);border-left-color:var(--bad)}.tl-axis{color:var(--ink-2);justify-content:space-between;gap:10px;margin-top:6px;font-size:11px;display:flex}.tl-open{color:var(--bad)}.tl-legend{color:var(--ink-muted);margin-top:8px;font-size:11px}.tl-legend .lg{vertical-align:-1px;border:1px solid var(--border-2);border-radius:3px;width:22px;height:10px;display:inline-block}.tl-legend .lg.est{background:var(--warn)}.tl-legend .lg.real{background:var(--good-soft)}.off-list{flex-direction:column;gap:8px;display:flex}.off-row{grid-template-columns:90px 1fr auto auto;align-items:center;gap:10px;font-size:12.5px;display:grid}.off-bar{background:var(--surface-2);border-radius:999px;height:8px;display:block;overflow:hidden}.off-bar>span{background:var(--bad);border-radius:999px;height:100%;display:block}.off-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.off-n{color:var(--bad);font-variant-numeric:tabular-nums;white-space:nowrap}.off-t{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}.last-fail{flex-direction:column;gap:6px;display:flex}.lf-title{color:var(--ink);font-size:14px;font-weight:700}.lf-type{letter-spacing:.02em;font-size:12px;font-weight:700}.lf-type.bad{color:var(--bad)}.lf-type.warn{color:var(--warn)}.lf-meta{grid-template-columns:auto 1fr;gap:3px 12px;margin-top:6px;font-size:12.5px;display:grid}.lf-meta>span{color:var(--ink-2)}.lf-meta>b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.lf-meta>b.good{color:var(--good)}.lf-meta>b.warn{color:var(--warn)}.lf-meta>b.bad{color:var(--bad)}.lf-review{background:var(--warn-soft);color:var(--ink);border-radius:10px;margin-top:8px;padding:8px 10px;font-size:12px}.live-table td.good{color:var(--good)}.live-table td.warn{color:var(--warn)}.live-table td.bad{color:var(--bad)}.badge.muted{background:var(--surface-2);color:var(--ink-muted);border-color:var(--border)}@media (width<=900px){.sens-grid{grid-template-columns:1fr}.off-row{grid-template-columns:60px 1fr auto}.off-row .off-t{display:none}}@media (width<=560px){.sens-banner{align-items:flex-start}.sens-banner .sb-ack,.sens-banner .sb-link{text-align:center;width:100%}.lf-meta{grid-template-columns:1fr}.lf-meta>b{margin-bottom:4px}.tl-axis{flex-direction:column;gap:2px}}.lab-toolbar{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px;display:flex}.lab-toolbar .chip-row{flex-wrap:wrap}.lab-live{color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.lab-live:before{content:"●";margin-right:6px}.lab-live.on:before{color:var(--good);animation:2s infinite lab-blink}.lab-live.off:before{color:var(--bad)}.lab-live.paused:before{color:var(--ink-muted)}.lab-live.off{color:var(--bad)}@keyframes lab-blink{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.lab-live.on:before{animation:none}}.lab-gap{margin-top:26px}.lab-ctx{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.lab-tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.lab-tiles .k-value{font-variant-numeric:tabular-nums;font-size:24px}.lab-tile .tagchip{padding:2px 8px;font-size:10px}.lab-key{color:var(--ink-muted);overflow-wrap:anywhere;margin-top:8px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10.5px}.lab-sides-table td:first-child{min-width:230px}.lab-sides-table .lab-key{margin-top:3px}.lab-sides-table td.num{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.lab-unit{color:var(--ink-muted);white-space:nowrap;font-size:12px}.lab-sides-table td.lab-pending,.lab-pending{color:var(--ink-muted);font-weight:400}.lab-subhead td{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);background:var(--surface-2);font-size:11px}.lab-derived td.num{color:var(--info)}.lab-turn{color:var(--info);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:3px;font-size:11.5px;font-weight:600}.lab-reboot-table td:first-child{min-width:200px}.lab-prev-periods{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.lab-prev-periods .lab-key{margin-top:0}.live-table th.lab-group{text-align:center;border-bottom:1px solid var(--border)}.lab-warns{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.lab-warns .tagchip{overflow-wrap:anywhere;font-weight:600}.lab-metrics{flex-wrap:wrap;margin-bottom:10px}.lab-metrics .chip{padding:5px 12px;font-size:12px}#view-lab .alert-row .a-body{min-width:0}#view-lab .alert-row .a-sub{overflow-wrap:anywhere}.lab-detail summary{cursor:pointer;color:var(--info);margin-top:6px;font-size:11.5px}.lab-detail pre,.lab-raw{color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.lab-detail pre{background:var(--surface-2);border-radius:8px;max-height:160px;margin-top:6px;padding:8px 10px;font-size:11px;overflow:auto}.lab-raw{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;font-size:12px}.lab-endpoint{color:var(--ink-muted);margin-top:10px;font-size:12px;line-height:1.7}.lab-endpoint code,#view-lab .dev-meta code{color:var(--ink-2);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11.5px}@media (width<=680px){.lab-live{width:100%;margin-left:0}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rp-layout{grid-template-columns:340px 1fr;align-items:start;gap:20px;display:grid}.rp-picker{flex-direction:column;gap:10px;max-height:calc(100vh - 96px);padding:14px;display:flex;position:sticky;top:76px}.rp-picker-head{flex-direction:column;gap:8px;display:flex}.rp-picker-head h2{margin:0;font-size:15px}.rp-search input{background:var(--surface-2);width:100%;color:var(--ink);border:1px solid var(--border-2);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:13px}.rp-search input:focus{outline:2px solid var(--info);outline-offset:1px}.rp-picker-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.rp-count{color:var(--ink-muted);font-size:12px}.rp-count.active{color:var(--info);font-weight:600}.rp-link{color:var(--info);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:12px}.rp-link:disabled{color:var(--ink-muted);cursor:not-allowed}.rp-link:hover:not(:disabled){text-decoration:underline}.rp-presets{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rp-presets:empty{display:none}.rp-presets-lbl{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);width:100%;font-size:10.5px}.rp-preset{align-items:center;display:inline-flex}.rp-preset .chip{padding:3px 9px;font-size:11.5px}.rp-preset-del{color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:15px;line-height:1}.rp-preset-del:hover{color:var(--bad)}.rp-groups{flex:1;margin:0 -4px;overflow-y:auto}.rp-group{border-bottom:1px solid var(--border)}.rp-group:last-child{border-bottom:0}.rp-group-head{cursor:pointer;align-items:center;gap:9px;padding:9px 6px;list-style:none;display:flex}.rp-group-head::-webkit-details-marker{display:none}.rp-group-head:focus-visible{outline:2px solid var(--info);outline-offset:-2px}.rp-group-head:after{content:"▸";color:var(--ink-muted);margin-left:auto;font-size:11px}.rp-group[open]>.rp-group-head:after{content:"▾"}.rp-g-name{font-size:13.5px;font-weight:600}.rp-g-n{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:11.5px}.rp-group-body{flex-direction:column;gap:2px;padding:2px 6px 10px;display:flex}.rp-group.disabled{opacity:.55}.rp-group.disabled .rp-group-head{cursor:default}.rp-metric{cursor:pointer;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:start;gap:9px;padding:6px 8px;display:grid}.rp-metric:hover{background:var(--surface-2)}.rp-metric:focus-within{outline:2px solid var(--info);outline-offset:-2px}.rp-metric input{cursor:pointer;accent-color:var(--info);margin-top:2px}.rp-m-name{font-size:12.5px;line-height:1.35}.rp-m-desc{color:var(--ink-muted);margin-top:2px;font-size:11px;display:block}.rp-m-tag{white-space:nowrap;text-transform:lowercase;align-self:center;padding:2px 7px;font-size:9.5px}.rp-m-warn{color:var(--warn);margin:2px 8px 6px;font-size:11.5px;line-height:1.4}.rp-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;display:flex}.rp-actions .btn.primary{flex:auto}.rp-progress{align-items:center;gap:8px;width:100%;display:flex}.rp-progress .meter-track{flex:1}.rp-progress-txt{color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}#rp-status{width:100%;margin:0}.rp-preview{flex-direction:column;gap:6px;min-width:0;display:flex}.rp-ds .section-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.rp-ds .section-head .btn{margin-left:auto}.rp-notes{margin:6px 0 0;padding-left:18px}.rp-notes li{margin-bottom:4px}@media (width<=1100px){.rp-layout{grid-template-columns:1fr}.rp-picker{max-height:none;position:static}.rp-groups{max-height:420px}}@media (width<=680px){.rp-ds .section-head .btn{width:100%;margin-left:0}}a.mrow,a.line-row,a.zone-card,a.plant-card{color:inherit;text-decoration:none}button.plant-card{font:inherit;color:inherit;width:100%}.user-chip form{display:inline}.conn-estado{align-items:center;gap:10px;display:flex}.login-form{flex-direction:column;gap:12px;display:flex}.login-card h1+.login-sub{margin-bottom:4px}.user-chip a{color:var(--ink-2);text-decoration:none}.user-chip a:hover{color:var(--ink)}.nav-item.disabled{cursor:default;opacity:.5}.nav-item.disabled:hover{color:var(--ink-2);background:0 0}.nav-item.disabled:hover .nav-ico{color:var(--ink-muted)}.nav-item .nav-soon{letter-spacing:.4px;text-transform:uppercase;color:var(--ink-muted);border:1px solid var(--border-2);border-radius:999px;margin-left:auto;padding:1px 6px;font-size:9.5px;font-weight:700}.chart-box .chart-placeholder{display:flex}.aviso{background:var(--surface-1);border:1px solid var(--border);border-left:4px solid var(--info);border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:11px 15px;font-size:13px;display:flex}.aviso.bad{border-left-color:var(--bad);background:var(--bad-soft)}.aviso.good{border-left-color:var(--good)}.aviso.warn{border-left-color:var(--warn)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.form-field{flex-direction:column;gap:5px;min-width:0;display:flex}.form-field>span,.form-label{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-2);font-size:11px}.form-field input:not([type=checkbox]):not([type=radio]),.form-field select,.form-field textarea,.input{background:var(--surface-2);width:100%;color:var(--ink);border:1px solid var(--border-2);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:9px;padding:9px 12px;font-family:inherit;font-size:13.5px}html[data-theme=light] .form-field input,html[data-theme=light] .form-field select,html[data-theme=light] .form-field textarea,html[data-theme=light] .input{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.input:focus{outline:2px solid var(--info);outline-offset:1px;border-color:var(--info);box-shadow:none}.form-field small{color:var(--ink-muted);font-size:11.5px}.form-error{color:var(--bad);font-size:12px}.form-check{color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.form-check input{accent-color:var(--info);width:15px;height:15px}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.btn.danger{color:var(--bad);border-color:var(--bad)}.btn.danger:hover{background:var(--bad-soft)}.btn.sm{padding:5px 11px;font-size:12px}a.btn{text-decoration:none;display:inline-block}.btn-link{color:var(--info);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px}.btn-link:hover{text-decoration:underline}.btn-link.danger{color:var(--bad)}.card-head{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px;display:flex}.card-head h3{margin-bottom:0}.card-head-nota{color:var(--ink-muted);margin-left:auto;font-size:12px}.live-table td.acciones-falla{text-align:right}.login-row{justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;display:flex}.login-row a{color:var(--info);text-decoration:none}.login-row a:hover{text-decoration:underline}.login-ok{background:var(--good-soft);color:var(--good);border-radius:8px;padding:9px 12px;font-size:12px}.live-table td.wrap,.live-table th.wrap{white-space:normal}.live-table .acciones{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.muted{color:var(--ink-muted)}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:14px;display:flex}.pager .chip{text-decoration:none;display:inline-block}.pager .chip.disabled{opacity:.45;cursor:default}a.chip,a.an-tab{text-decoration:none;display:inline-block}.kv{grid-template-columns:max-content 1fr;gap:6px 16px;font-size:13px;display:grid}.kv dt{color:var(--ink-muted)}.kv dd{color:var(--ink);font-variant-numeric:tabular-nums}.stop-list{flex-direction:column;gap:6px;display:flex}.stop-list li{color:var(--ink-2);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;font-size:13px;list-style:none;display:flex}[wire\:loading\.delay]{opacity:1}@media (width<=680px){.user-chip .user-name{display:none}}.escena{--ok:var(--good);--crit:var(--bad);--fg:var(--ink);--muted:var(--ink-2);--line:var(--border-2);--panel:var(--surface-1);--mono:ui-monospace, "SFMono-Regular", Consolas, monospace;--neutro:#6b7480;--calor:#fb923c;--dato:#a5b4fc;--piso:#24282d;--junta:#30363d;--franja:#8a6d1f;--maq:#cfd5db;--maq-base:#3a414a;--cabezal:#7d8792;--rojo-maq:#b23a32;--gabinete:#2b5f99;--acero:#9aa3ad;--banda:#2c3239;--tubo:#0f1215;--tubo-borde:#000;--botella:#3fbf58;--botella-clara:#9af0aa;--vidrio:#11171d;--molde:#6b7682;--parison:#f2b46d;--etiqueta:#d9dcdf;--gw:#217064;--sensor:#c7cfd7;--db:#3b4070;--db-lado:#2c3058;--led-off:#4a525c;--tag:#1c2127;--sombra:#000}html[data-theme=light] .escena{--neutro:#8a929c;--calor:#ea580c;--dato:#4f46e5;--piso:#e4e1da;--junta:#cfcac0;--franja:#e3b341;--maq:#f7f8f9;--maq-base:#6b7480;--cabezal:#b9c0c8;--rojo-maq:#c2372f;--gabinete:#2f6fb3;--acero:#d3d8dd;--banda:#56606b;--tubo:#2b3138;--tubo-borde:#14181c;--botella:#2f9e44;--botella-clara:#8be39a;--vidrio:#26313b;--molde:#8a96a3;--parison:#f2c48d;--etiqueta:#f4f4f2;--gw:#1d5c55;--sensor:#fff;--db:#e2e4fb;--db-lado:#c6cbf2;--led-off:#9ba4ae;--tag:#fff;--sombra:#0d1420}.escena-tarjeta{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.escena-lienzo{background-color:var(--surface-2);background-image:radial-gradient(var(--border-2) 1px, transparent 1.2px);background-size:16px 16px;min-width:0;padding:14px}.escena-lienzo .escena{max-height:640px}.escena-panel{border-top:1px solid var(--border);flex-direction:column;gap:12px;min-width:0;padding:22px;display:flex}.escena-panel h3{color:var(--ink);margin:0;font-size:20px;font-weight:700;line-height:1.25}.escena-panel p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.5}.escena-panel .escena-nota{color:var(--ink-muted);margin-top:auto;font-size:12px}.escena-chip{width:fit-content;color:var(--tono);background:color-mix(in oklab, var(--tono) 14%, transparent);border-radius:999px;align-items:center;gap:6px;padding:5px 10px 5px 8px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.escena-chip:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.escena-chip[data-s=verde]{--tono:var(--good)}.escena-chip[data-s=amarillo]{--tono:var(--warn)}.escena-chip[data-s=rojo]{--tono:var(--bad)}.planta-grid{grid-template-columns:repeat(auto-fill,minmax(min(520px,100%),1fr));gap:14px;display:grid}.maq-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);min-width:0;color:inherit;flex-direction:column;text-decoration:none;transition:border-color .2s;display:flex;overflow:hidden}a.maq-card:hover{border-color:var(--info)}.maq-card.disabled{opacity:.7}.maq-card-head{align-items:center;gap:12px;padding:14px 16px;display:flex}.maq-card-nombre{flex-direction:column;gap:2px;min-width:0;display:flex}.maq-card-nombre .l-sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.maq-card-head .badge{white-space:nowrap;flex-shrink:0}.maq-card-head .escena-chip{flex-shrink:0;margin-left:auto}.maq-card .l-name{font-size:15px;font-weight:700}.maq-card .l-sub{color:var(--ink-muted);font-size:12px}.maq-card .escena-lienzo{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px 10px}.maq-card-estado{color:var(--ink-2);margin:0;padding:12px 16px 0;font-size:13px;line-height:1.45}.maq-card-estado strong{color:var(--ink)}.maq-card-cifras{flex-wrap:wrap;gap:10px 28px;margin-top:auto;padding:12px 16px 16px;display:flex}.maq-card-cifras .l-lbl{text-transform:uppercase;letter-spacing:.6px;color:var(--ink-muted);font-size:10px}.maq-card-cifras .l-num{text-align:left;font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.maq-card-cifras .l-num.pend{color:var(--ink-muted);cursor:help}.maq-card-cifras .l-num+.l-sub{font-size:11px;display:block}.maq-card-cifras .l-sub b.good{color:var(--good)}.maq-card-cifras .l-sub b.warn{color:var(--warn)}.maq-card-cifras .l-sub b.bad{color:var(--bad)}.escena{width:100%;height:auto;display:block}.escena .caja polygon{stroke:color-mix(in oklab, var(--m), var(--sombra) 30%);stroke-width:.5px;stroke-linejoin:round}.escena .sup{fill:var(--m)}.escena .izq{fill:color-mix(in oklab, var(--m), var(--sombra) 9%)}.escena .der{fill:color-mix(in oklab, var(--m), var(--sombra) 21%)}.escena .sombra-stop{stop-color:var(--sombra)}.escena .junta{stroke:var(--junta);stroke-width:.5px}.escena .franja{fill:var(--franja);opacity:.7}.escena .vidrio{fill:var(--vidrio);stroke:color-mix(in oklab, var(--maq), var(--sombra) 35%);stroke-width:.8px;transition:fill .6s}.escena .molde{fill:var(--molde);stroke:color-mix(in oklab, var(--molde), var(--sombra) 35%);stroke-width:.6px}.escena .parison{fill:var(--parison)}.escena .placa{fill:#fff;stroke:var(--tubo-borde);stroke-width:.6px}.escena .placa-txt{font:700 6.4px var(--sans);fill:#14181c;letter-spacing:.04em}.escena .rotulo{font:600 4.6px var(--mono);fill:color-mix(in oklab, var(--maq), var(--sombra) 55%);letter-spacing:.06em}.escena .hmi{fill:var(--vidrio)}.escena .hmi-luz{fill:var(--dato);opacity:.55}.escena .rejilla{stroke:color-mix(in oklab, var(--gabinete), var(--sombra) 40%);stroke-width:.7px}.escena .antena{stroke:color-mix(in oklab, var(--gw), var(--sombra) 25%);stroke-width:1.2px;stroke-linecap:round}.escena .antena-punta{fill:var(--gw)}.escena .pata{stroke:var(--banda);stroke-width:1.4px}.escena .papel{fill:var(--etiqueta);stroke:color-mix(in oklab, var(--etiqueta), var(--sombra) 30%);stroke-width:.5px}.escena .rollo{fill:none;stroke:color-mix(in oklab, var(--etiqueta), var(--sombra) 45%);stroke-width:1.1px;stroke-dasharray:2 2.6;transform-box:fill-box;transform-origin:50%;animation:escena-girar var(--t,1s) linear infinite}.escena .eje{fill:var(--banda)}@keyframes escena-girar{to{transform:rotate(360deg)}}.escena .botellas{fill:none;stroke:var(--botella);stroke-width:5.6px;stroke-linecap:round;stroke-dasharray:.1 13.9;animation:escena-avanzar var(--t,1s) linear infinite}@keyframes escena-avanzar{to{stroke-dashoffset:-14px}}.escena .tubo-borde{fill:none;stroke:var(--tubo-borde);stroke-width:10px;stroke-linecap:round;stroke-linejoin:round}.escena .tubo{fill:none;stroke:var(--tubo);stroke-width:7.6px;stroke-linecap:round;stroke-linejoin:round}.escena .tubo-brillo{fill:none;stroke:#fff;stroke-opacity:.12;stroke-width:2px;stroke-linecap:round}.escena .tubo-sigue{opacity:.35}.escena .corte-tubo{stroke:var(--muted);stroke-width:1.4px;stroke-linecap:round}.escena .destino{font:600 6px var(--sans);fill:var(--muted);letter-spacing:.02em}.escena .destino.sub{font:500 5.4px var(--mono);fill:var(--neutro)}.escena .botellas-tubo{fill:none;stroke:var(--botella-clara);stroke-width:4px;stroke-linecap:round;stroke-dasharray:.1 29.9;animation:escena-succionar var(--t,1s) linear infinite}@keyframes escena-succionar{to{stroke-dashoffset:-30px}}.escena .molde.izq{transform-box:fill-box;animation:escena-cierra-izq var(--ciclo,3s) ease-in-out infinite}.escena .molde.der{transform-box:fill-box;animation:escena-cierra-der var(--ciclo,3s) ease-in-out infinite}@keyframes escena-cierra-izq{0%,12%{transform:translate(0)}28%,72%{transform:translate(3.2px)}88%,to{transform:translate(0)}}@keyframes escena-cierra-der{0%,12%{transform:translate(0)}28%,72%{transform:translate(-3.2px)}88%,to{transform:translate(0)}}.escena .led-linea{fill:var(--ok)}.escena .led-tubo{fill:var(--ok);animation:escena-tic var(--t,1s) steps(1) infinite}@keyframes escena-tic{0%{opacity:1}30%{opacity:.25}}@keyframes escena-parpadeo{50%{opacity:.2}}.escena .linea[data-modo=lento] .led-linea{fill:var(--warn);animation:1.2s ease-in-out infinite escena-parpadeo}.escena .linea[data-modo=paro] .led-linea{fill:var(--crit);animation:.9s ease-in-out infinite escena-parpadeo}.escena .linea[data-modo=quieta] .led-linea{fill:var(--warn)}.escena .linea:is([data-modo=paro],[data-modo=quieta]) :is(.botellas,.botellas-tubo,.rollo){animation-play-state:paused}.escena .linea:is([data-modo=paro],[data-modo=quieta]) .molde{animation:none}.escena .linea[data-modo=paro] .led-tubo{fill:var(--crit);animation:none}.escena .linea[data-modo=quieta] .led-tubo{fill:var(--warn);animation:none}.escena .linea[data-modo=paro] .vidrio{fill:color-mix(in oklab, var(--vidrio), var(--crit) 28%)}.escena{--andon-v:color-mix(in oklab, var(--ok) 22%, var(--maq-base));--andon-a:color-mix(in oklab, var(--warn) 22%, var(--maq-base));--andon-r:color-mix(in oklab, var(--crit) 22%, var(--maq-base))}.escena[data-andon=verde]{--andon-v:var(--ok)}.escena[data-andon=ambar]{--andon-a:var(--warn)}.escena[data-andon=rojo]{--andon-r:var(--crit)}.escena .halo-andon{opacity:0;transition:opacity .4s}.escena .halo-v{fill:var(--ok)}.escena .halo-a{fill:var(--warn)}.escena .halo-r{fill:var(--crit)}.escena[data-andon=verde] .halo-v,.escena[data-andon=ambar] .halo-a{opacity:.4}.escena[data-andon=rojo] .halo-r{opacity:.5;animation:1s ease-in-out infinite escena-parpadeo}.escena .brillo{opacity:.5;transition:opacity 1s}.escena[data-meta=sin-meta] .brillo{opacity:0}.escena .brillo-stop{stop-color:var(--ok)}.escena[data-meta=warn] .brillo-stop{stop-color:var(--warn)}.escena[data-meta=crit] .brillo-stop{stop-color:var(--crit)}.escena .brillo-e{transform-box:fill-box;transform-origin:50%;animation:6s ease-in-out infinite alternate escena-respirar}@keyframes escena-respirar{0%{transform:scale(.94)}to{transform:scale(1.05)}}.escena .calor-stop{stop-color:var(--calor)}.escena .calor-cabezal{opacity:.85;transform-box:fill-box;transform-origin:50%;transition:opacity 1s;animation:2.4s ease-in-out infinite alternate escena-respirar}.escena[data-maquina=paro] .calor-cabezal{opacity:.35}.escena .led-contador{fill:var(--ok)}.escena[data-contador=desfase] .led-contador{fill:var(--warn);animation:1s ease-in-out infinite escena-parpadeo}.escena[data-contador=desfase] .hmi-luz{fill:var(--warn);opacity:.7;animation:1s ease-in-out infinite escena-parpadeo}.escena[data-contador=sin-contador] .led-contador{fill:var(--led-off)}.escena[data-contador=sin-contador] .hmi-luz{opacity:.2}.escena .paquete{fill:none;stroke:var(--dato);stroke-linecap:round;stroke-dasharray:.01 140;opacity:0}.escena .paquete.punto{stroke-width:4.2px}.escena .paquete.estela{stroke-width:10px;stroke-opacity:.2}.escena .p-subida .paquete{animation:4s linear infinite escena-subida}@keyframes escena-subida{0%,30%{stroke-dashoffset:0;opacity:0}31%{opacity:1}58%{stroke-dashoffset:-100px;opacity:1}59%,to{stroke-dashoffset:-100px;opacity:0}}.escena .led-gw{fill:var(--ok);animation:4s ease-out infinite escena-destello}.escena .halo-gw{fill:var(--ok);opacity:0;animation:4s ease-out infinite escena-destello-halo}@keyframes escena-destello{0%,26%{opacity:.55}30%{opacity:1}42%,to{opacity:.55}}@keyframes escena-destello-halo{0%,26%{opacity:0}30%{opacity:.5}46%,to{opacity:0}}.escena .subida{fill:none;stroke:var(--dato);stroke-opacity:.4;stroke-width:1px;stroke-dasharray:2 3.5}.escena .corte{display:none}.escena .corte line{stroke:var(--crit);stroke-width:1.8px;stroke-linecap:round}.escena .db-lado{fill:var(--db-lado)}.escena .db-tapa{fill:var(--db);stroke:var(--db-lado);stroke-width:.6px}.escena .db-aro{fill:none;stroke:color-mix(in oklab, var(--db-lado), var(--sombra) 14%);stroke-width:.7px}.escena .db-pulso{fill:none;stroke:var(--dato);stroke-width:1.2px;opacity:0;transform-box:fill-box;transform-origin:50%;animation:4s ease-out infinite escena-db-pulso}@keyframes escena-db-pulso{0%,58%{opacity:0;transform:scale(1)}61%{opacity:.9}82%,to{opacity:0;transform:scale(1.6)}}.escena .db-ok{font:600 7px var(--mono);fill:var(--ok);opacity:0;animation:4s ease-out infinite escena-db-ok}@keyframes escena-db-ok{0%,59%{opacity:0}63%,82%{opacity:1}92%,to{opacity:0}}.escena .db-nombre{font:600 7.5px var(--sans);fill:var(--fg)}.escena .db-func{font:500 6px var(--mono);fill:var(--muted)}.escena .sala{transition:opacity .6s}.escena[data-enlace=caido] .sala{filter:var(--gris);opacity:.8}.escena[data-enlace=caido] .sala *{animation-play-state:paused!important}.escena[data-enlace=caido] :is(.p-subida,.db-pulso,.db-ok){display:none}.escena[data-enlace=caido] :is(.led-gw,.halo-gw){fill:var(--led-off);animation:none}.escena[data-enlace=caido] .subida{stroke:var(--crit);stroke-opacity:.6}.escena[data-enlace=caido] .corte{display:inline}.escena .aviso{display:none}.escena[data-enlace=caido] .aviso{display:inline}.escena .aviso rect{fill:var(--panel);stroke:var(--crit);stroke-width:.8px}.escena .aviso text{font:600 8px var(--sans);fill:var(--crit)}.escena .tag rect{fill:var(--tag);stroke:var(--line);stroke-width:.8px}.escena .tag .t1{font:600 5.8px var(--sans);letter-spacing:.08em;fill:var(--muted)}.escena .tag .t2{font:600 9.5px var(--mono);fill:var(--fg)}.escena .tag .t3{font:500 5.6px var(--sans);fill:var(--muted)}.escena .tag .t2[data-tono=warn]{fill:var(--warn)}.escena .tag .t2[data-tono=crit]{fill:var(--crit)}.escena .tag .t2[data-tono=apagado]{fill:var(--neutro)}.escena .guia{fill:none;stroke:var(--muted);stroke-width:.6px;stroke-dasharray:1.5 2}.escena .ancla{fill:var(--muted)}.escena.compacta .botellas{stroke-width:8px;stroke-dasharray:.1 17.9;animation-name:escena-avanzar-c}@keyframes escena-avanzar-c{to{stroke-dashoffset:-18px}}.escena.compacta .botellas-tubo{stroke-width:5.5px}.escena.compacta .junta{stroke-width:.8px}@media (prefers-reduced-motion:reduce){.escena *{transition:none!important;animation:none!important}}
