.bad[data-v-9c92fd54]{fill:#6f849c!important}.spin[data-v-9c92fd54]{animation:blink-9c92fd54 1s infinite alternate}@keyframes blink-9c92fd54{to{opacity:.4}}.hmi3d[data-v-807b16c4]{position:relative;width:100%;height:100%;overflow:hidden;border-radius:4px}.host[data-v-807b16c4]{position:absolute;top:0;right:0;bottom:0;left:0}.fb[data-v-807b16c4]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.note[data-v-807b16c4]{position:absolute;left:6px;bottom:4px;font-size:12px;color:#9ab;pointer-events:none}.note.err[data-v-807b16c4]{color:#e05d5d}[data-v-807b16c4] .hmi3d-label{background:#0b1626d9;border:1px solid #2a3d57;color:#cfe3ff;font-size:12px;padding:2px 6px;border-radius:3px;white-space:nowrap}.hmi-canvas[data-v-26934e3e]{width:100%;max-height:calc(100vh - 170px);display:block;border-radius:6px;-webkit-user-select:none;user-select:none}.tabs[data-v-9abd5851]{display:flex;gap:4px;flex-wrap:wrap}.tabs a[data-v-9abd5851]{padding:4px 12px;border-radius:4px;background:#13202f;color:#9ab;text-decoration:none}.tabs a.active[data-v-9abd5851]{background:#2563a8;color:#fff}.playback[data-v-9abd5851]{margin:8px 0;background:#1c1a10;padding:6px;border-radius:4px}.replay[data-v-9abd5851]{outline:2px solid #f5c07f}.hmi-run.full[data-v-9abd5851]{padding:0;margin:0;border:0;border-radius:0;background:transparent}.hmi-run.full[data-v-9abd5851] .hmi-canvas.full{width:100vw;height:100vh;max-height:none;border-radius:0}.hmi-run.full[data-v-9abd5851] .hmi-canvas.full.short{height:calc(100vh - 56px)}.hmi-run.full .playback[data-v-9abd5851]{margin:0;border-radius:0}.float-msg[data-v-9abd5851]{position:fixed;top:10px;right:14px;background:#0b1626e6;padding:4px 10px;border-radius:4px;z-index:50}.cat[data-v-e094dca7]{margin-top:6px}.cathead[data-v-e094dca7]{display:flex;align-items:center;gap:4px;font-size:12px;color:#9ab;padding:2px 0;border-bottom:1px solid #1a2a40}.cathead b[data-v-e094dca7]{font-weight:400;color:#cfe3ff}.cathead .tw[data-v-e094dca7]{text-decoration:none;color:#9ab;width:10px}.cat-actions[data-v-e094dca7]{margin-left:auto;display:none;gap:3px;align-items:center}.cathead:hover .cat-actions[data-v-e094dca7]{display:inline-flex}.cat-actions a[data-v-e094dca7]{text-decoration:none}.mini[data-v-e094dca7]{padding:0 2px;font-size:11px;width:34px}.items[data-v-e094dca7]{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.item[data-v-e094dca7]{padding:3px 6px;background:#1a2a40;border:1px solid #2a3d57;border-radius:4px;cursor:grab;font-size:12px;display:flex;align-items:center;gap:4px}.item.thumbed[data-v-e094dca7]{flex-direction:column;width:84px;text-align:center}.item.thumbed img[data-v-e094dca7]{width:72px;height:54px;object-fit:contain}.item .ico[data-v-e094dca7]{font-size:28px;line-height:54px}.item[data-v-e094dca7]:hover{background:#24405f}.item.picked[data-v-e094dca7]{outline:2px solid #4da3ff}.asset-tools[data-v-e094dca7]{gap:6px;font-size:12px}.implog[data-v-e094dca7]{font-size:12px;max-height:200px;overflow:auto;padding-left:16px}.modal[data-v-e094dca7] label{display:flex;flex-direction:column;gap:2px;margin:6px 0;font-size:12px}.obj[data-v-4810dc0f]{border:1px solid #2a3d57;border-radius:4px;padding:4px 6px;margin:4px 0;background:#0b1626}.obj a[data-v-4810dc0f]{text-decoration:none}.g3[data-v-4810dc0f]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.hmi-design[data-v-5edf57cc]{display:flex;flex-direction:column;height:calc(100vh - 70px)}.toolbar[data-v-5edf57cc]{flex-wrap:wrap;gap:4px;padding:6px;margin-bottom:6px}.toolbar button[data-v-5edf57cc],.toolbar select[data-v-5edf57cc]{padding:3px 8px}.sep[data-v-5edf57cc]{width:1px;height:22px;background:#2a3d57;margin:0 4px}.body[data-v-5edf57cc]{display:flex;gap:6px;flex:1;min-height:0}.left[data-v-5edf57cc]{width:220px;overflow:auto;padding:6px}.right[data-v-5edf57cc]{width:300px;overflow:auto;padding:8px}.right label[data-v-5edf57cc]{display:flex;flex-direction:column;gap:2px;margin:4px 0;font-size:12px}.canvas-wrap[data-v-5edf57cc]{flex:1;overflow:auto;background:#070b12;border-radius:6px;padding:10px}.canvas-wrap.panning[data-v-5edf57cc]{cursor:grab}.cat h4[data-v-5edf57cc],.left h4[data-v-5edf57cc],.right h4[data-v-5edf57cc]{margin:10px 0 4px;font-size:12px;color:#9ab}.items[data-v-5edf57cc]{display:flex;flex-wrap:wrap;gap:4px}.item[data-v-5edf57cc]{padding:3px 6px;background:#1a2a40;border:1px solid #2a3d57;border-radius:4px;cursor:grab;font-size:12px}.item[data-v-5edf57cc]:hover{background:#24405f}.libs td[data-v-5edf57cc]{font-size:12px;padding:2px}.versions[data-v-5edf57cc]{max-height:200px;overflow:auto;font-size:12px}.grid4[data-v-5edf57cc]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.field[data-v-5edf57cc]{display:flex;align-items:flex-end;gap:4px}.field label[data-v-5edf57cc]{flex:1}.bind[data-v-5edf57cc]{text-decoration:none;opacity:.4;padding-bottom:6px}.bind.on[data-v-5edf57cc]{opacity:1}.bindbox[data-v-5edf57cc]{border:1px solid #2a3d57;border-radius:4px;padding:6px;margin:6px 0;background:#0b1626}.maprow input[data-v-5edf57cc],.maprow select[data-v-5edf57cc]{padding:2px}.tabs2 a[data-v-5edf57cc]{padding:3px 10px;text-decoration:none;color:#9ab}.tabs2 a.on[data-v-5edf57cc]{color:#fff;border-bottom:2px solid #4da3ff}.layer[data-v-5edf57cc]{padding:3px 4px;font-size:12px;cursor:pointer;border-radius:3px}.layer.on[data-v-5edf57cc]{background:#24405f}@media (max-width: 1400px){.left[data-v-5edf57cc]{width:180px}.right[data-v-5edf57cc]{width:250px}.toolbar button[data-v-5edf57cc],.toolbar select[data-v-5edf57cc]{padding:2px 5px;font-size:12px}}th.sortable[data-v-b384739e]{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.filters select[data-v-b384739e]{max-width:150px}td.tk[data-v-b384739e]{font-weight:600}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;background:#0f1724;color:#dbe4f0}a{color:inherit;text-decoration:none}header{display:flex;align-items:center;gap:24px;padding:0 20px;height:52px;background:#142033;border-bottom:1px solid #22324a}header h1{font-size:17px;margin:0;color:#7fd1ff}nav a{padding:6px 12px;border-radius:4px;margin-right:4px;color:#9fb3c8}nav a.router-link-exact-active{background:#1f3a5c;color:#fff}.spacer{flex:1}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:#e05252}.dot.on{background:#3ccf7a}main{padding:18px 20px}.card{background:#142033;border:1px solid #22324a;border-radius:6px;padding:14px;margin-bottom:16px}.card h2{margin:0 0 12px;font-size:15px;color:#9fd8ff}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:6px 8px;border-bottom:1px solid #22324a;text-align:left;white-space:nowrap}th{color:#8aa0b8;font-weight:500}tr:hover td{background:#18283e}.q-GOOD{color:#3ccf7a}.q-BAD,.q-COMM_FAILURE,.q-TIMEOUT{color:#ff6b6b}.q-NOT_CONNECTED,.q-UNCERTAIN{color:#f0b429}button{background:#1f6feb;color:#fff;border:0;border-radius:4px;padding:5px 12px;cursor:pointer;font-size:13px}button.secondary{background:#2b3d55}button.danger{background:#c94040}button:disabled{opacity:.5;cursor:default}input,select{background:#0f1724;border:1px solid #2b3d55;color:#dbe4f0;border-radius:4px;padding:5px 8px;font-size:13px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#8aa0b8}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.err{color:#ff6b6b;font-size:13px}.muted{color:#6f849c;font-size:12px}.badge{padding:1px 8px;border-radius:10px;font-size:12px;background:#2b3d55}.badge.ONLINE{background:#1d5c3a}.badge.OFFLINE{background:#6b2525}.badge.CONNECTING{background:#6b5a1d}.lv-ERROR{color:#ff6b6b}.lv-WARN{color:#f0b429}.alarm-count{background:#c94040;color:#fff;border-radius:9px;padding:0 6px;font-size:11px;margin-left:2px}.p1{color:#ff4d4f;font-weight:600}.p2{color:#ff8c3a}.p3{color:#f0d43a}.p4{color:#7fc8ff}.st-ACTIVE_UNACKED{color:#ff4d4f;font-weight:600;animation:flash 1s infinite alternate}.st-ACTIVE_ACKED{color:#ff8c3a}.st-CLEARED_UNACKED{color:#f0d43a}.st-CLEARED{color:#3ccf7a}@keyframes flash{to{opacity:.45}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:10}.modal .card{width:460px}textarea{background:#0f1724;border:1px solid #2b3d55;color:#dbe4f0;border-radius:4px;padding:5px 8px;font-size:13px;width:100%;min-height:60px}.kv{display:grid;grid-template-columns:180px 1fr 30px;gap:6px;margin-bottom:6px}.login{display:flex;justify-content:center;align-items:center;min-height:80vh}.login form{width:360px;display:flex;flex-direction:column;gap:10px}.login label{display:flex;flex-direction:column;gap:4px}.warn{color:#e0a030}.user{font-weight:600}nav a,header .user,header h1{white-space:nowrap}a.button{display:inline-block;text-align:center;padding:6px 12px;border-radius:4px;text-decoration:none;border:1px solid #3a6ea5;color:inherit}.login .sso{margin-top:4px}.hmi-blink{animation:hmiblink .8s steps(2,start) infinite}@keyframes hmiblink{to{visibility:hidden}}.hmi-flow{animation:hmiflow 1s linear infinite}.hmi-flow.rev{animation-direction:reverse}@keyframes hmiflow{to{stroke-dashoffset:-20}}.hmi-spin{animation:hmispin 1.5s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes hmispin{to{transform:rotate(360deg)}}.hmi-bad text{fill:#6f849c!important}.hmi-btn{cursor:pointer}.mode{display:inline-flex;border:1px solid #2a3d57;border-radius:4px;overflow:hidden}.mode a{padding:3px 12px;color:#9ab;text-decoration:none}.mode a.on{background:#2563a8;color:#fff}header{flex-wrap:nowrap;gap:14px;padding:0 14px;min-width:0}header nav{flex:1 1 auto;min-width:0;display:flex;overflow-x:auto;scrollbar-width:thin}header nav a{flex:0 0 auto;padding:6px 9px;margin-right:2px}header>*{flex-shrink:0}header>nav{flex-shrink:1}header .user{max-width:180px;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1440px){header .hdr-long{display:none}header h1{font-size:15px}}@media (max-width: 1300px){header .user{max-width:110px}}main.chrome-hidden{padding:0}main.chrome-hidden:has(.hmi-design){padding:6px}.f6-hint{position:fixed;top:12px;left:50%;transform:translate(-50%);background:#0b1626d9;color:#cfe3ff;border:1px solid #2a3d57;padding:5px 14px;border-radius:16px;font-size:13px;z-index:60;pointer-events:none;animation:f6fade 3s forwards}@keyframes f6fade{0%,75%{opacity:1}to{opacity:0}}body:has(main.chrome-hidden){overflow:hidden}main.chrome-hidden .hmi-design{height:calc(100vh - 12px)}.hdr-project{display:flex;align-items:center;font-size:13px;padding:2px 8px;border:1px solid #2c3e57;border-radius:4px;white-space:nowrap}.hdr-project .n{max-width:140px;overflow:hidden;text-overflow:ellipsis}.hdr-project a{margin-left:6px;font-size:12px}.login-project{margin:-4px 0 4px}.projects-page{max-width:880px;margin:40px auto;padding:0 16px}.projects-page h2{margin-bottom:4px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:18px}.project-card{display:block;text-align:left;cursor:pointer;padding:16px;border-radius:8px;border:1px solid #2c3e57;background:#142033;color:inherit;text-decoration:none}.project-card:hover{border-color:#4da3ff}.project-card.off{opacity:.55;cursor:not-allowed}.project-card h3{margin:0 0 6px;font-size:17px}.project-card .st{font-size:12px;float:right}.st.RUNNING{color:#3ecf8e}.st.FAILED{color:#ff6b6b}.st.DISABLED,.st.STOPPED,.st.STARTING{color:#aab}.system-page{max-width:1200px;margin:24px auto;padding:0 16px}.system-page table{width:100%}.system-page .row-actions button{margin:2px;padding:3px 8px;font-size:12px}.system-page .bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}
