body.dfb-page{margin:0;width:100vw;height:100vh;overflow:hidden;background:#05070a;color:#b6c6d4;font-family:"Inter",sans-serif;-webkit-font-smoothing:auto;user-select:none;-webkit-user-select:none}body.dfb-page *,body.dfb-page *::before,body.dfb-page *::after{box-sizing:border-box}body.dfb-page h1{margin:0}body.dfb-page p{margin:0}button{font-family:inherit;border:0;background:none;cursor:pointer;color:inherit}.dfb-mono{font-family:monospace}.dfb-ok{color:#34d399;font-weight:700}.dfb-stage{position:fixed;inset:0;z-index:1;background:radial-gradient(120% 90% at 60% 0%, #0a1420 0%, #05070a 60%)}.dfb-stage canvas{display:block}.dfb-loader{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#05070a;transition:opacity .5s ease,visibility .5s ease}.dfb-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.dfb-loader__box{display:flex;align-items:center;gap:14px;font-family:monospace;font-size:13px;letter-spacing:.5px;color:#67e8f9;padding:16px 22px;border:1px solid rgba(0,240,255,.22);background:rgba(0,240,255,.04);border-radius:10px}.dfb-loader__spin{width:18px;height:18px;border-radius:50%;border:2px solid rgba(0,240,255,.25);border-top-color:#00f0ff;animation:dfb-spin .8s linear infinite}@keyframes dfb-spin{to{transform:rotate(360deg)}}.dfb-hud{position:fixed;inset:0;z-index:10;pointer-events:none}.dfb-hud button,.dfb-hud .dfb-panel,.dfb-hud .dfb-tip{pointer-events:auto}.dfb-topbar{position:absolute;top:0;left:80px;right:0;display:flex;align-items:flex-start;justify-content:space-between;padding:18px 22px 0 22px}.dfb-brand{display:flex;flex-direction:column;gap:3px}.dfb-brand__name{font-size:26px;font-weight:700;letter-spacing:1px;color:#fff;line-height:1.05}.dfb-brand__sub{font-size:12.5px;color:#b6c6d4;letter-spacing:.3px;margin-top:2px}.dfb-panel{position:relative;background:#070d15;border:1px solid rgba(0,240,255,.22);border-radius:12px;padding:14px 15px;box-shadow:0 18px 50px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.03)}.dfb-panel__title{display:flex;align-items:center;gap:8px;font-family:monospace;font-size:12.5px;font-weight:700;letter-spacing:1.6px;color:#00f0ff;margin-bottom:12px}.dfb-panel__title svg{width:15px;height:15px}.dfb-panel__title--mt{margin-top:18px}.dfb-panel--left{position:absolute;top:112px;left:calc(80px + 16px);width:348px;max-height:calc(100vh - 130px);overflow-y:auto}.dfb-panel--left::-webkit-scrollbar{width:4px}.dfb-panel--left::-webkit-scrollbar-thumb{background:rgba(0,240,255,.3);border-radius:2px}.dfb-layers{display:flex;flex-direction:column;gap:7px}.dfb-layer{position:relative;display:flex;align-items:center;gap:11px;padding:10px 11px;text-align:left;border:1px solid hsla(0,0%,100%,.07);border-radius:9px;background:hsla(0,0%,100%,.015);transition:border-color .18s,background .18s,transform .12s}.dfb-layer:hover{border-color:rgba(0,240,255,.35);background:rgba(0,240,255,.05)}.dfb-layer:active{transform:scale(0.99)}.dfb-layer__ico{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:8px;background:rgba(0,240,255,.07);border:1px solid rgba(0,240,255,.18);color:#67e8f9}.dfb-layer__ico svg{width:19px;height:19px}.dfb-layer__main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.dfb-layer__name{font-size:14.5px;font-weight:600;color:#e6eef5}.dfb-layer__name em{color:#8296a6;font-style:normal;font-weight:400}.dfb-layer__sub{font-size:11.5px;color:#8296a6}.dfb-layer__sub--alert{color:#ff2b3d}.dfb-layer__sub--ok{color:#34d399}.dfb-layer__dot{width:9px;height:9px;border-radius:50%;flex:none;border:1px solid hsla(0,0%,100%,.2);background:rgba(0,0,0,0);transition:all .2s}.dfb-layer.is-active{border-color:rgba(0,240,255,.6);background:rgba(0,240,255,.1);box-shadow:0 0 22px rgba(0,240,255,.14),inset 0 0 14px rgba(0,240,255,.06)}.dfb-layer.is-active .dfb-layer__ico{background:rgba(0,240,255,.18);color:#00f0ff}.dfb-layer.is-active .dfb-layer__name{color:#fff}.dfb-layer.is-active .dfb-layer__dot{background:#00f0ff;border-color:#00f0ff;box-shadow:0 0 10px #00f0ff}.dfb-layer.is-active::before{content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);width:3px;height:26px;background:#00f0ff;border-radius:0 3px 3px 0;box-shadow:0 0 12px #00f0ff}.dfb-kpis{display:flex;flex-direction:column;gap:4px}.dfb-kpi{position:relative;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:9px 6px;border-bottom:1px solid hsla(0,0%,100%,.045);border-radius:8px;transition:background .28s ease,box-shadow .28s ease,transform .2s ease,padding .2s ease}.dfb-kpi:last-child{border-bottom:0}.dfb-kpi__ico{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;transition:box-shadow .28s ease}.dfb-kpi__ico svg{width:16px;height:16px}.dfb-kpi__ico--cyan{background:rgba(0,240,255,.08);color:#67e8f9}.dfb-kpi__ico--emerald{background:rgba(52,211,153,.1);color:#34d399}.dfb-kpi__ico--amber{background:rgba(255,122,47,.1);color:#ff7a2f}.dfb-kpi__label{font-size:12.5px;color:#b6c6d4;transition:color .28s ease}.dfb-kpi__val{font-family:monospace;font-size:13px;color:#b6c6d4;text-align:right}.dfb-kpi__val b{color:#fff;font-weight:700;font-size:15.5px}.dfb-kpi.is-focus{background:rgba(0,240,255,.09);box-shadow:inset 0 0 0 1px rgba(0,240,255,.35),0 0 20px rgba(0,240,255,.12);border-bottom-color:rgba(0,0,0,0);padding-left:12px;padding-top:10px;padding-bottom:10px}.dfb-kpi.is-focus .dfb-kpi__label{color:#67e8f9}.dfb-kpi.is-focus .dfb-kpi__ico{box-shadow:0 0 14px rgba(0,240,255,.35)}.dfb-kpi.is-focus::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:#00f0ff;border-radius:0 3px 3px 0;box-shadow:0 0 10px #00f0ff}.dfb-right{position:absolute;top:18px;right:18px;width:390px;max-height:calc(100vh - 34px);display:flex;flex-direction:column;gap:12px;pointer-events:none}.dfb-alarms{flex:none;pointer-events:auto}.dfb-alarms__count{margin-left:auto;font-family:monospace;font-size:10px;font-weight:700;color:#fff;background:rgba(255,43,61,.85);border-radius:10px;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 10px rgba(255,43,61,.5)}.dfb-alarms .dfb-alertcard{margin-bottom:8px}.dfb-alarms__list{display:flex;flex-direction:column;gap:5px}.dfb-alarm{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#b6c6d4;padding:12px 13px;border-radius:8px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.07)}.dfb-alarm svg{width:16px;height:16px;flex:none}.dfb-alarm__dot{width:8px;height:8px;border-radius:50%;flex:none}.dfb-alarm__tag{margin-left:auto;font-family:monospace;font-size:10px;font-weight:700;letter-spacing:.4px;padding:3px 8px;border-radius:5px;flex:none}.dfb-alarm--red .dfb-alarm__dot{background:#ff2b3d;box-shadow:0 0 8px #ff2b3d}.dfb-alarm--red svg{color:#ff8a8a}.dfb-alarm--red .dfb-alarm__tag{color:#ffb4b4;background:rgba(255,43,61,.14)}.dfb-alarm--amber .dfb-alarm__dot{background:#f50;box-shadow:0 0 8px #f50}.dfb-alarm--amber svg{color:#ffbf8a}.dfb-alarm--amber .dfb-alarm__tag{color:#ffd7a0;background:rgba(255,122,47,.14)}.dfb-context-wrap{flex:none;pointer-events:auto;width:100%}.dfb-ctx{display:none}.dfb-ctx.is-active{display:block;animation:dfb-ctx-in .35s ease both}.dfb-ctx__desc{font-size:12.5px;line-height:1.55;color:#b6c6d4;margin-bottom:13px}.dfb-ctx .dfb-btn+.dfb-btn{margin-top:10px}@keyframes dfb-ctx-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dfb-detail{flex:none;pointer-events:auto;width:100%;max-height:calc(100vh - 300px);overflow-y:auto;display:none}.dfb-detail::-webkit-scrollbar{width:4px}.dfb-detail::-webkit-scrollbar-thumb{background:rgba(0,240,255,.3);border-radius:2px}.dfb-detail__back{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#8296a6;padding:5px 9px;border-radius:7px;margin-bottom:12px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.02);transition:color .18s,border-color .18s}.dfb-detail__back svg{width:14px;height:14px}.dfb-detail__back:hover{color:#67e8f9;border-color:rgba(0,240,255,.35)}.dfb-detail__head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.dfb-detail__code{font-family:monospace;font-size:10px;font-weight:700;letter-spacing:.5px;color:#00f0ff;padding:2px 6px;border-radius:4px;border:1px solid rgba(0,240,255,.35);background:rgba(0,240,255,.06)}.dfb-detail__badge{margin-left:auto;font-family:monospace;font-size:9.5px;font-weight:700;letter-spacing:.6px;padding:3px 8px;border-radius:5px}.dfb-detail__badge.is-alert{color:#ffb4b4;background:rgba(255,43,61,.14);border:1px solid rgba(255,43,61,.4);animation:dfb-pulse 1.6s ease-in-out infinite}.dfb-detail__badge.is-warn{color:#ffd7a0;background:rgba(255,122,47,.14);border:1px solid rgba(255,122,47,.4)}.dfb-detail__badge.is-ok{color:#34d399;background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.35)}.dfb-detail__name{font-size:19px;font-weight:700;color:#fff;margin:0 0 2px}.dfb-detail__type{font-size:12.5px;color:#b6c6d4;margin-bottom:13px}body.dfb-page[data-focus="1"] .dfb-context-wrap{display:none}body.dfb-page[data-focus="1"] .dfb-detail{display:block;animation:dfb-detail-in .45s cubic-bezier(0.22, 1, 0.36, 1) both}@keyframes dfb-detail-in{from{opacity:0;transform:translateX(90px)}to{opacity:1;transform:translateX(0)}}.dfb-cctv{margin-top:14px;border:1px solid rgba(0,240,255,.22);border-radius:10px;overflow:hidden;background:rgba(2,8,12,.6);box-shadow:0 0 22px rgba(0,240,255,.08)}.dfb-cctv__screen{position:relative;aspect-ratio:16/9;background:#030a06;overflow:hidden}.dfb-cctv__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s ease;filter:sepia(0.42) hue-rotate(52deg) saturate(1.25) brightness(1.04) contrast(1.03)}.dfb-cctv__video.is-on{opacity:1}.dfb-cctv__canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.dfb-cctv__ai{display:flex;align-items:center;gap:7px;padding:8px 11px;font-size:11.5px;color:#67e8f9;border-top:1px solid rgba(0,240,255,.12);background:rgba(0,240,255,.04)}.dfb-cctv__ai svg{width:14px;height:14px}.dfb-alertcard{display:flex;gap:11px;align-items:center;padding:11px;border-radius:9px;margin-bottom:12px;border:1px solid rgba(255,85,0,.35);background:rgba(255,85,0,.08)}.dfb-alertcard.is-alert{animation:dfb-pulse 1.8s ease-in-out infinite}.dfb-alertcard__ico{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:8px;background:rgba(255,85,0,.16);color:#f50}.dfb-alertcard__ico svg{width:18px;height:18px}.dfb-alertcard__body{display:flex;flex-direction:column;gap:2px}.dfb-alertcard__ttl{font-size:12.5px;font-weight:700;color:#ffd9c2;letter-spacing:.3px}.dfb-alertcard__sub{font-size:11.5px;color:rgba(255,180,150,.85)}@keyframes dfb-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,85,0,0)}50%{box-shadow:0 0 22px 1px rgba(255,85,0,.28)}}.dfb-statusline{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;padding:10px 12px;border-radius:8px;margin-bottom:12px}.dfb-statusline svg{width:16px;height:16px;flex:none}.dfb-statusline.is-alert{color:#ffb4b4;background:rgba(255,43,61,.1);border:1px solid rgba(255,43,61,.32)}.dfb-statusline.is-warn{color:#ffd7a0;background:rgba(255,122,47,.1);border:1px solid rgba(255,122,47,.3)}.dfb-statusline.is-ok{color:#34d399;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.3)}.dfb-readouts{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.dfb-readout{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;color:#b6c6d4;padding:12px 14px;border-radius:8px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.07)}.dfb-readout b{font-family:monospace;font-size:15px;color:#e6eef5;font-weight:700;text-align:right}.dfb-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 15px;border-radius:9px;font-size:13px;font-weight:700;letter-spacing:.4px;border:1px solid rgba(0,0,0,0);transition:background .2s,border-color .2s,color .2s}.dfb-btn svg{width:17px;height:17px}.dfb-btn:hover{border-color:hsla(0,0%,100%,.3)}.dfb-btn--danger{background:rgba(255,43,61,.14);border-color:rgba(255,43,61,.45);color:#ffb9c1}.dfb-btn--danger:hover{background:rgba(255,43,61,.24);border-color:rgba(255,43,61,.7);color:#ffd2d7}.dfb-btn--water{background:rgba(0,240,255,.12);border-color:rgba(0,240,255,.45);color:#67e8f9}.dfb-btn--water:hover{background:rgba(0,240,255,.22);border-color:rgba(0,240,255,.7);color:#b8f4ff}.dfb-btn--cta{background:linear-gradient(180deg, rgba(0, 240, 255, 0.26), rgba(0, 240, 255, 0.11));border-color:rgba(0,240,255,.6);color:#d6fbff;text-transform:uppercase;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.14),0 6px 18px rgba(0,240,255,.12)}.dfb-btn--cta:hover{background:linear-gradient(180deg, rgba(0, 240, 255, 0.38), rgba(0, 240, 255, 0.18));border-color:#00f0ff;color:#fff;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.2),0 0 22px rgba(0,240,255,.34)}.dfb-btn--dark{background:hsla(0,0%,100%,.05);border-color:hsla(0,0%,100%,.14);color:#e6eef5}.dfb-btn--dark:hover{background:hsla(0,0%,100%,.11);border-color:hsla(0,0%,100%,.3)}.dfb-btn--dark.is-on{background:rgba(255,122,47,.16);border-color:rgba(255,122,47,.5);color:#ffd7a0}.dfb-btn--dark.is-on:hover{background:rgba(255,122,47,.26);border-color:rgba(255,122,47,.72)}.dfb-btn.is-done{background:rgba(52,211,153,.14);border-color:rgba(52,211,153,.45);color:#34d399;cursor:default}@keyframes dfb-blink{0%,100%{opacity:1}50%{opacity:.35}}.dfb-detail__xray{margin-top:14px}.dfb-detail__xray[hidden]{display:none}.dfb-detail__almacen{margin-top:10px}.dfb-detail__almacen[hidden]{display:none}.dfb-xmodal{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease}.dfb-xmodal[hidden]{display:none}.dfb-xmodal.is-open{opacity:1}.dfb-xmodal__back{position:absolute;inset:0;background:rgba(2,5,9,.9)}.dfb-xmodal__card{position:relative;width:min(1040px,95vw);max-height:92vh;display:flex;flex-direction:column;background:#050a10;border:1px solid rgba(0,240,255,.22);border-radius:14px;box-shadow:0 40px 120px rgba(0,0,0,.85),0 0 60px rgba(0,240,255,.07);transform:scale(0.96) translateY(12px);transition:transform .3s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.dfb-xmodal.is-open .dfb-xmodal__card{transform:none}.dfb-xm__head{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px 16px;border-bottom:1px solid hsla(0,0%,100%,.07)}.dfb-xm__meta{display:flex;flex-direction:column;gap:7px;min-width:0}.dfb-xm__kicker{font-family:monospace;font-size:11px;font-weight:700;letter-spacing:1.4px;color:#5c6f7e}.dfb-xm__name{font-size:22px;font-weight:700;color:#fff;line-height:1.2;margin:0}.dfb-xm__chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dfb-xm__badge{font-family:monospace;font-size:10px;font-weight:700;letter-spacing:.6px;padding:3px 9px;border-radius:5px;flex-shrink:0}.dfb-xm__badge.is-alert{color:#ffb4b4;background:rgba(255,43,61,.14);border:1px solid rgba(255,43,61,.4);animation:dfb-pulse 1.6s ease-in-out infinite}.dfb-xm__badge.is-warn{color:#ffd7a0;background:rgba(255,122,47,.14);border:1px solid rgba(255,122,47,.4)}.dfb-xm__badge.is-ok{color:#34d399;background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.35)}.dfb-xm__code{font-family:monospace;font-size:11px;color:#8296a6;border:1px solid hsla(0,0%,100%,.12);border-radius:5px;padding:4px 9px}.dfb-xm__close{color:#5c6f7e;display:flex;padding:6px;border-radius:7px;flex-shrink:0;background:none;border:0;cursor:pointer}.dfb-xm__close svg{width:22px;height:22px}.dfb-xm__close:hover{color:#e6eef5;background:hsla(0,0%,100%,.06)}.dfb-xm__body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:6px 10px}.dfb-xm__body::-webkit-scrollbar{width:4px}.dfb-xm__body::-webkit-scrollbar-thumb{background:rgba(0,240,255,.3);border-radius:2px}.dfb-xm__canvas{position:relative}.dfb-xm__svg{position:absolute;inset:0;width:100%;height:100%}.dfb-xm__lead{animation:dfb-xm-in .5s ease both;transition:opacity .3s ease}.dfb-xm__zone{transition:opacity .3s ease}.dfb-xm__zfloor{transition:fill-opacity .3s ease,stroke-opacity .3s ease}.dfb-xm__svg.has-sel .dfb-xm__zone:not(.is-active){opacity:.2}.dfb-xm__svg.has-sel .dfb-xm__lead:not(.is-active){opacity:.15}.dfb-xm__zone.is-active .dfb-xm__zfloor{fill-opacity:.34;stroke-opacity:.95}.dfb-xm__row{position:absolute;left:54%;right:14px;transform:translateY(-50%);display:flex;flex-direction:column;gap:9px;background:#070d14;border:1px solid hsla(0,0%,100%,.09);border-radius:12px;padding:13px 18px;animation:dfb-xm-row-in .45s ease both;cursor:pointer;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}.dfb-xm__row--warn{border-color:rgba(255,157,77,.45)}.dfb-xm__row--crit{border-color:rgba(255,90,110,.55);box-shadow:0 0 22px rgba(255,43,61,.14)}.dfb-xm__row--sec{border-color:rgba(52,211,153,.4)}.dfb-xm__row:hover{border-color:hsla(0,0%,100%,.22)}.dfb-xm__row.is-sel{border-color:var(--zh);box-shadow:0 0 0 1px var(--zh),0 0 26px -8px var(--zh);background:hsla(0,0%,100%,.05)}.dfb-xm__rowhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.dfb-xm__flr{font-family:monospace;font-size:13px;font-weight:700;letter-spacing:.4px;color:#e6eef5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dfb-xm__chip{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-family:monospace;font-size:10.5px;font-weight:700;letter-spacing:.5px}.dfb-xm__dot{width:7px;height:7px;border-radius:50%;display:inline-block;box-shadow:0 0 6px currentColor}.dfb-xm__row--crit .dfb-xm__dot{animation:dfb-pulse 1.4s infinite}.dfb-xm__stats{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap}.dfb-xm__stat{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.dfb-xm__stat svg{width:17px;height:17px;color:#67e8f9;flex-shrink:0}.dfb-xm__stat b{font-family:monospace;font-size:17px;font-weight:700;color:#fff}.dfb-xm__stat em{font-style:normal;font-size:10px;color:#8296a6}.dfb-xm__occ{display:flex;align-items:center;gap:10px}.dfb-xm__occ span:first-child{font-family:monospace;font-size:9.5px;font-weight:700;letter-spacing:.8px;color:#5c6f7e;flex-shrink:0}.dfb-xm__occ b{font-family:monospace;font-size:12.5px;color:#e6eef5;flex-shrink:0}.dfb-xm__occbar{flex:1;height:7px;border-radius:4px;background:hsla(0,0%,100%,.06);overflow:hidden}.dfb-xm__occbar i{display:block;height:100%;border-radius:4px;opacity:.9}.dfb-xm__foot{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 24px;border-top:1px solid hsla(0,0%,100%,.07)}.dfb-xm__legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.dfb-xm__legend span{display:inline-flex;align-items:center;gap:6px;font-family:monospace;font-size:10px;font-weight:700;letter-spacing:.5px;color:#8296a6}.dfb-xm__live{display:inline-flex;align-items:center;gap:8px;font-family:monospace;font-size:11px;color:#8296a6}.dfb-xm__livedot{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 7px #34d399;animation:dfb-pulse 1.6s infinite}@keyframes dfb-xm-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes dfb-xm-row-in{from{opacity:0;transform:translateY(calc(-50% + 12px))}to{opacity:1;transform:translateY(-50%)}}.dfb-tip{position:fixed;z-index:60;top:0;left:0;width:268px;padding:13px 15px;border-radius:10px;background:#060d14;border:1px solid rgba(0,240,255,.4);box-shadow:0 16px 46px rgba(0,0,0,.6),0 0 24px rgba(0,240,255,.12);pointer-events:none;transition:opacity .12s ease}.dfb-tip.is-hidden{opacity:0;visibility:hidden}.dfb-tip__head{display:flex;align-items:baseline;gap:8px;margin-bottom:3px}.dfb-tip__head.is-alert .dfb-tip__code{color:#f50;border-color:rgba(255,85,0,.5)}.dfb-tip__head.is-alert .dfb-tip__name{color:#ffd9c2}.dfb-tip__code{font-family:monospace;font-size:9.5px;font-weight:700;letter-spacing:.5px;color:#00f0ff;padding:1px 5px;border-radius:4px;border:1px solid rgba(0,240,255,.35);background:rgba(0,240,255,.06)}.dfb-tip__name{font-size:13.5px;font-weight:700;color:#fff}.dfb-tip__type{font-size:10.5px;color:#8296a6;margin-bottom:9px}.dfb-tip__grid{display:flex;flex-direction:column;gap:4px}.dfb-tip__row{display:flex;justify-content:space-between;font-size:11px}.dfb-tip__row span{color:#8296a6}.dfb-tip__row b{font-family:monospace;color:#e6eef5;font-weight:700}.dfb-tip__foot{margin-top:9px;padding-top:8px;border-top:1px solid rgba(255,85,0,.25);font-size:10px;color:#ffb98f}.dfb-toast{position:fixed;z-index:70;left:50%;bottom:64px;transform:translate(-50%, 20px);padding:11px 20px;border-radius:10px;font-size:12.5px;font-weight:600;letter-spacing:.3px;color:#67e8f9;background:rgba(6,13,20,.95);border:1px solid rgba(0,240,255,.4);box-shadow:0 16px 40px rgba(0,0,0,.55),0 0 22px rgba(0,240,255,.14);opacity:0;pointer-events:none;transition:opacity .28s ease,transform .28s ease}.dfb-toast.is-show{opacity:1;transform:translate(-50%, 0)}.dfb-tag2d{display:flex;align-items:center;gap:8px;padding:6px 11px;border-radius:8px;background:#120703;border:1px solid rgba(255,85,0,.6);box-shadow:0 8px 24px rgba(0,0,0,.55),0 0 20px rgba(255,85,0,.32);font-family:monospace;font-size:11px;font-weight:700;letter-spacing:.5px;color:#ffd9c2;white-space:nowrap;pointer-events:none}.dfb-tag2d__pulse{width:8px;height:8px;border-radius:50%;flex:none;background:#f50;box-shadow:0 0 10px #f50;animation:dfb-blink 1.1s ease-in-out infinite}.dfb-tag2d__sub{color:rgba(255,150,110,.85);font-weight:500;letter-spacing:.3px}.dfb-tank{margin-top:14px;padding:13px 14px;border:1px solid rgba(0,240,255,.22);border-radius:10px;background:rgba(2,10,16,.6)}.dfb-tank[hidden]{display:none}.dfb-tank__kicker{font-family:monospace;font-size:10px;font-weight:700;letter-spacing:1px;color:#5c6f7e;margin-bottom:12px}.dfb-tank__main{display:flex;gap:14px;align-items:stretch}.dfb-tank__gauge{flex:none;width:76px;text-align:center}.dfb-tank__gauge svg{width:100%;height:128px;display:block}.dfb-tank__gauge .dfb-tank__fill,.dfb-tank__gauge .dfb-tank__surf{transition:y .85s linear,height .85s linear}.dfb-tank__pct{margin-top:5px;font-family:monospace;font-size:11px;color:#8296a6}.dfb-tank__pct b{font-size:17px;color:#fff}.dfb-tank__stats{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:7px}.dfb-tank__stat{display:flex;align-items:center;gap:8px;font-size:12px;color:#b6c6d4;padding:6px 9px;border-radius:6px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.05)}.dfb-tank__stat svg{width:14px;height:14px;flex:none;color:#67e8f9}.dfb-tank__stat span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfb-tank__stat b{font-family:monospace;font-size:13px;color:#fff;flex:none}.dfb-tank__stat em{font-style:normal;font-size:10px;color:#8296a6;font-weight:400}.dfb-tank__cap{font-family:monospace;font-size:10px;color:#5c6f7e;flex:none}.dfb-tank__sparkhead{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:14px 0 4px}.dfb-tank__sparkhead span{font-family:monospace;font-size:9.5px;font-weight:700;letter-spacing:.8px;color:#5c6f7e}.dfb-tank__sparkhead b{font-family:monospace;font-size:10px;color:#67e8f9;font-weight:700}.dfb-tank__spark{width:100%;height:42px;display:block;margin-bottom:12px}.dfb-fab{position:fixed;left:50%;bottom:24px;z-index:3900;transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;padding:15px 32px;border-radius:999px;font-family:"Inter",sans-serif;font-size:13.5px;font-weight:600;letter-spacing:.3px;color:#f2f2f4;cursor:pointer;background:#17171b;border:1px solid rgba(0,240,255,.4);box-shadow:0 14px 38px rgba(0,0,0,.7),0 0 20px rgba(0,240,255,.12);transition:opacity .3s ease,transform .3s ease,background .2s ease,border-color .2s ease}.dfb-fab svg{width:18px;height:18px;color:#67e8f9}.dfb-fab:hover{background:#202026;border-color:rgba(0,240,255,.7);box-shadow:0 14px 38px rgba(0,0,0,.7),0 0 30px rgba(0,240,255,.3)}.dfb-fab__pulse{position:absolute;inset:-1px;border-radius:999px;pointer-events:none;border:1px solid rgba(0,240,255,.55);animation:dfb-fab-pulse 2.2s ease-out infinite}@keyframes dfb-fab-pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.28);opacity:0}}body.dfb-sheet-open .dfb-fab{opacity:0;transform:translateX(-50%) translateY(26px);pointer-events:none}.dfb-scrim{position:fixed;inset:0;z-index:3950;background:rgba(2,5,9,.78);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}.dfb-scrim.is-on{opacity:1;visibility:visible}.dfb-sheet{position:fixed;left:50%;bottom:0;z-index:4000;width:85%;height:80vh;display:flex;flex-direction:column;background:#131316;border:1px solid hsla(0,0%,100%,.07);border-top:1px solid rgba(0,240,255,.3);border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -24px 90px rgba(0,0,0,.9),0 0 44px rgba(0,240,255,.06);transform:translateX(-50%) translateY(100%);transition:transform .5s cubic-bezier(0.22, 1, 0.36, 1)}.dfb-sheet.is-open{transform:translateX(-50%) translateY(0)}.dfb-sheet::before{content:"";position:absolute;top:9px;left:50%;transform:translateX(-50%);width:54px;height:4px;border-radius:2px;background:rgba(0,240,255,.35)}.dfb-sh__head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 15px;border-bottom:1px solid hsla(0,0%,100%,.07)}.dfb-sh__title{margin:0;font-size:20px;font-weight:600;color:#f2f2f4;letter-spacing:-0.2px;display:flex;align-items:center;gap:11px}.dfb-sh__title::before{content:"";width:3px;height:19px;border-radius:2px;flex:none;background:#00f0ff;box-shadow:0 0 10px rgba(0,240,255,.55)}.dfb-sh__close{color:#9a9aa2;padding:7px;border-radius:8px;flex:none}.dfb-sh__close svg{width:22px;height:22px}.dfb-sh__close:hover{color:#67e8f9;background:rgba(0,240,255,.08)}.dfb-sh__body{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px}.dfb-sh__cols{flex:1;min-height:0;display:grid;gap:12px;grid-template-columns:minmax(0, 0.88fr) minmax(0, 1.14fr) minmax(0, 1.18fr)}.dfb-sh__stack{display:grid;grid-template-rows:1.25fr 1fr;gap:12px;min-height:0}.dfb-sh__card{display:flex;flex-direction:column;min-height:0;padding:15px 16px;border-radius:14px;background:hsla(0,0%,100%,.018);border:1px solid hsla(0,0%,100%,.07)}.dfb-sh__card--flow{overflow:hidden}.dfb-sh__cardhead{flex:none;display:flex;align-items:center;gap:9px;margin-bottom:12px}.dfb-sh__cardhead h3{margin:0;font-size:14px;font-weight:600;color:#f2f2f4;letter-spacing:-0.1px;display:flex;align-items:center;gap:9px}.dfb-sh__cardhead h3::before{content:"";width:5px;height:5px;border-radius:50%;flex:none;background:#00f0ff;box-shadow:0 0 7px rgba(0,240,255,.7)}.dfb-sh__cardhead--mt{margin-top:16px}.dfb-sh__sub{margin-left:auto;font-size:11px;color:#6b6b74}.dfb-sh__see{margin-left:auto;font-size:11.5px;color:#9a9aa2;cursor:pointer}.dfb-sh__see:hover{color:#f2f2f4}.dfb-sh__alerts{flex:none;display:flex;flex-direction:column;gap:8px}.dfb-sh__alert{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:10px;background:#1b1b20;border:1px solid hsla(0,0%,100%,.07);border-left:3px solid #6b6b74;transition:background .3s ease,border-left-color .3s ease}.dfb-sh__alert.is-crit{border-left-color:#e5484d;background:linear-gradient(90deg, rgba(229, 72, 77, 0.22), rgba(229, 72, 77, 0) 62%),#1b1b20}.dfb-sh__alert.is-warn{border-left-color:#f0b429;background:linear-gradient(90deg, rgba(240, 180, 41, 0.2), rgba(240, 180, 41, 0) 62%),#1b1b20}.dfb-sh__alert.is-seen,.dfb-sh__alert.is-seen.is-crit,.dfb-sh__alert.is-seen.is-warn{background:#1b1b20;border-left-color:#4ade80}.dfb-sh__alertmain{flex:1;min-width:0}.dfb-sh__alertack{flex:none;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;cursor:pointer;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.12);transition:background .2s,border-color .2s}.dfb-sh__alertack svg{width:15px;height:15px;color:#9a9aa2}.dfb-sh__alertack:hover{background:rgba(74,222,128,.14);border-color:rgba(74,222,128,.45)}.dfb-sh__alertack:hover svg{color:#4ade80}.dfb-sh__alert.is-seen .dfb-sh__alertack{background:rgba(74,222,128,.16);border-color:rgba(74,222,128,.5)}.dfb-sh__alert.is-seen .dfb-sh__alertack svg{color:#4ade80}.dfb-sh__alerttop{display:flex;align-items:center;gap:8px;margin-bottom:5px}.dfb-sh__alerttop svg{width:14px;height:14px;flex:none;color:#9a9aa2}.dfb-sh__alert.is-crit .dfb-sh__alerttop svg{color:#ff8f92}.dfb-sh__alert.is-warn .dfb-sh__alerttop svg{color:#f5c95e}.dfb-sh__alertttl{font-size:13px;font-weight:600;color:#f2f2f4}.dfb-sh__alertbadge{margin-left:auto;flex:none;font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:5px;color:#9a9aa2;background:hsla(0,0%,100%,.06)}.dfb-sh__alert.is-crit .dfb-sh__alertbadge{color:#ff9d9f;background:rgba(229,72,77,.14)}.dfb-sh__alert.is-warn .dfb-sh__alertbadge{color:#f5c95e;background:rgba(240,180,41,.12)}.dfb-sh__alerttxt{margin:0;font-size:12px;line-height:1.55;color:#9a9aa2}.dfb-sh__acts{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:7px}.dfb-sh__acts::-webkit-scrollbar{width:4px}.dfb-sh__acts::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.14);border-radius:2px}.dfb-sh__act{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:10px;background:#1b1b20;border:1px solid hsla(0,0%,100%,.07)}.dfb-sh__act.is-new{overflow:hidden;animation:dfb-act-in .55s cubic-bezier(0.22, 1, 0.36, 1) both}.dfb-sh__actico{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.07)}.dfb-sh__actico svg{width:14px;height:14px;color:#9a9aa2}.dfb-sh__acttxt{flex:1;min-width:0}.dfb-sh__actline{display:block;font-size:12.5px;line-height:1.45;color:#f2f2f4}.dfb-sh__acttxt small{display:block;margin-top:4px;font-size:11px;color:#6b6b74}.dfb-sh__chip{display:inline-block;font-style:normal;font-size:11.5px;font-weight:500;color:#f2f2f4;padding:1px 7px;border-radius:5px;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.12)}.dfb-sh__acteye{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;cursor:pointer}.dfb-sh__acteye svg{width:14px;height:14px;color:#6b6b74}.dfb-sh__acteye:hover{background:hsla(0,0%,100%,.06)}.dfb-sh__acteye:hover svg{color:#9a9aa2}.dfb-sh__svg{flex:1;min-height:0;width:100%}.dfb-sh__live-num{margin-left:auto;display:inline-flex;align-items:center;gap:7px}.dfb-sh__live-num b{font-size:18px;font-weight:600;color:#f2f2f4;letter-spacing:-0.2px}.dfb-sh__live-num span{font-size:11px;color:#9a9aa2;margin-left:-2px}.dfb-sh__card--live .dfb-sh__livedot{background:#f0b429;box-shadow:0 0 8px rgba(240,180,41,.8);margin-right:1px}.dfb-sh__live-head{animation:dfb-blink 1.4s ease-in-out infinite}.dfb-sh__ax{fill:#6b6b74;font-family:"Inter",sans-serif;font-size:9.5px}.dfb-sh__cap{fill:#f2f2f4;font-family:"Inter",sans-serif;font-size:12px;font-weight:600}.dfb-sh__pct{fill:#0b2b31;font-family:"Inter",sans-serif;font-size:15px;font-weight:700}.dfb-sh__cap2{fill:#6b6b74;font-family:"Inter",sans-serif;font-size:10px}.dfb-sh__tipk{fill:#9a9aa2;font-family:"Inter",sans-serif;font-size:11px}.dfb-sh__tipv{fill:#f2f2f4;font-family:"Inter",sans-serif;font-size:12px;font-weight:600}.dfb-sh__live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#9a9aa2}.dfb-sh__livedot{width:7px;height:7px;border-radius:50%;background:#e5484d;box-shadow:0 0 8px rgba(229,72,77,.8);animation:dfb-blink 1.4s ease-in-out infinite}.dfb-sh__camfoot{flex:none;margin-top:10px;font-size:11px;color:#6b6b74}@keyframes dfb-act-in{0%{opacity:0;transform:translateY(-6px);max-height:0;padding-top:0;padding-bottom:0;border-color:rgba(0,240,255,.5);box-shadow:0 0 0 1px rgba(0,240,255,.25)}60%{opacity:1}100%{opacity:1;transform:translateY(0);max-height:70px;padding-top:11px;padding-bottom:11px;border-color:hsla(0,0%,100%,.07);box-shadow:none}}.dfb-cctv-grid{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px}.dfb-cctv-pane{position:relative;overflow:hidden;border-radius:10px;background:#0d0d10;border:1px solid hsla(0,0%,100%,.07)}.dfb-cctv-pane.is-offline{border-color:rgba(240,180,41,.28)}.dfb-cctv-pane__v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(0.72) brightness(0.92) contrast(1.05)}.dfb-cctv-pane__nosig{position:absolute;inset:0;display:grid;place-items:center;font-size:11.5px;font-weight:500;color:#6b6b74;background:repeating-linear-gradient(115deg, rgba(255, 255, 255, 0.02) 0 6px, transparent 6px 12px)}.dfb-cctv-pane__scan{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg, rgba(0, 0, 0, 0.35), transparent 32%, transparent 62%, rgba(0, 0, 0, 0.5))}.dfb-cctv-pane__tag,.dfb-cctv-pane__zone,.dfb-cctv-pane__st{position:absolute;z-index:3;text-shadow:0 1px 2px rgba(0,0,0,.95)}.dfb-cctv-pane__tag{top:8px;left:9px;font-size:11px;font-weight:600;color:#fff}.dfb-cctv-pane__zone{bottom:8px;left:9px;font-size:10px;color:hsla(0,0%,100%,.62)}.dfb-cctv-pane__st{top:8px;right:9px;font-size:10px;font-weight:600;color:#b9f5cd;padding:2px 7px;border-radius:5px;background:rgba(10,10,12,.72)}.dfb-cctv-pane__st.is-threat{color:#ff9d9f}.dfb-cctv-pane__st.is-off{color:#f5c95e}@media(max-width: 1600px),(max-height: 900px){.dfb-topbar{padding:13px 20px 0 20px}.dfb-brand__name{font-size:21px}.dfb-brand__sub{font-size:11.5px}.dfb-panel{padding:11px 12px}.dfb-panel__title{font-size:10px;margin-bottom:8px}.dfb-panel__title--mt{margin-top:10px}.dfb-panel--left{top:96px;left:calc(80px + 14px);width:322px;max-height:calc(100vh - 112px)}.dfb-layers{gap:6px}.dfb-layer{padding:8px 10px;gap:9px}.dfb-layer__ico{width:33px;height:33px}.dfb-layer__ico svg{width:17px;height:17px}.dfb-layer__name{font-size:13.5px}.dfb-layer__sub{font-size:11px}.dfb-kpi{padding:6px 6px;gap:8px}.dfb-kpi__label{font-size:12px}.dfb-kpi__val{font-size:12.5px}.dfb-kpi__val b{font-size:14px}.dfb-right{top:12px;right:14px;width:360px;gap:9px;max-height:calc(100vh - 24px)}.dfb-alertcard{padding:8px 9px}.dfb-alertcard__ico{width:30px;height:30px}.dfb-alertcard__ico svg{width:16px;height:16px}.dfb-alertcard__ttl{font-size:12px}.dfb-alertcard__sub{font-size:11px}.dfb-alarms .dfb-alertcard{margin-bottom:8px}.dfb-alarms__list{gap:4px}.dfb-alarm{padding:8px 10px;font-size:12px;gap:8px}.dfb-alarm svg{width:14px;height:14px}.dfb-alarm__tag{font-size:9px;padding:2px 7px}.dfb-ctx__desc{font-size:12px;margin-bottom:11px}.dfb-statusline{font-size:12px;padding:8px 11px;margin-bottom:10px}.dfb-readouts{gap:5px;margin-bottom:11px}.dfb-readout{font-size:12.5px;padding:9px 12px}.dfb-readout b{font-size:13.5px}.dfb-detail{max-height:calc(100vh - 250px)}}