:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{z-index:2000;background-color:var(--el-mask-color);transition:opacity var(--el-transition-duration);margin:0;position:absolute;inset:0}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size)) / 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size)) / 2);text-align:center;width:100%;position:absolute;top:50%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);animation:2s linear infinite loading-rotate;display:inline}.el-loading-spinner .path{stroke-dasharray:90 150;stroke-dashoffset:0;stroke-width:2px;stroke:var(--el-color-primary);stroke-linecap:round;animation:1.5s ease-in-out infinite loading-dash}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-40px}to{stroke-dasharray:90 150;stroke-dashoffset:-120px}}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;vertical-align:middle;width:fit-content;display:inline-block;position:relative}.el-badge__content{background-color:var(--el-badge-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);font-size:var(--el-badge-font-size);height:var(--el-badge-size);padding:0 var(--el-badge-padding);white-space:nowrap;border:1px solid var(--el-bg-color);justify-content:center;align-items:center;display:inline-flex}.el-badge__content.is-fixed{top:0;right:calc(1px + var(--el-badge-size) / 2);z-index:var(--el-index-normal);position:absolute;transform:translateY(-50%)translate(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{border-radius:50%;width:8px;height:8px;padding:0;right:0}.el-badge__content.is-hide-zero{display:none}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);box-sizing:border-box;border-radius:var(--el-border-radius-base);border-width:var(--el-border-width);border-style:var(--el-border-style);border-color:var(--el-message-border-color);background-color:var(--el-message-bg-color);width:max-content;max-width:calc(100% - 32px);transition:opacity var(--el-transition-duration), transform .4s, top .4s, bottom .4s;padding:var(--el-message-padding);align-items:center;gap:8px;display:flex;position:fixed}.el-message.is-left{left:16px}.el-message.is-right{right:16px}.el-message.is-center{left:50%;transform:translate(-50%)}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;top:-8px;right:-8px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{cursor:pointer;color:var(--el-message-close-icon-color);font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0}.el-message-fade-enter-from.is-left,.el-message-fade-enter-from.is-right,.el-message-fade-leave-to.is-left,.el-message-fade-leave-to.is-right{transform:translateY(-100%)}.el-message-fade-enter-from.is-left.is-bottom,.el-message-fade-enter-from.is-right.is-bottom,.el-message-fade-leave-to.is-left.is-bottom,.el-message-fade-leave-to.is-right.is-bottom{transform:translateY(100%)}.el-message-fade-enter-from.is-center,.el-message-fade-leave-to.is-center{transform:translate(-50%,-100%)}.el-message-fade-enter-from.is-center.is-bottom,.el-message-fade-leave-to.is-center.is-bottom{transform:translate(-50%,100%)}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color);position:fixed;top:0;left:0}.el-popup-parent--hidden{overflow:hidden}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-box-shadow:var(--el-box-shadow);--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:12px;--el-messagebox-font-line-height:var(--el-font-line-height-primary);max-width:var(--el-messagebox-width);width:100%;padding:var(--el-messagebox-padding-primary);vertical-align:middle;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);font-size:var(--el-messagebox-font-size);box-shadow:var(--el-messagebox-box-shadow);text-align:left;backface-visibility:hidden;box-sizing:border-box;overflow-wrap:break-word;display:inline-block;position:relative;overflow:hidden}.el-message-box:focus{outline:none!important}.is-message-box .el-overlay-message-box{text-align:center;padding:16px;position:fixed;inset:0;overflow:auto}.is-message-box .el-overlay-message-box:after{content:"";vertical-align:middle;width:0;height:100%;display:inline-block}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;user-select:none}.el-message-box__header{padding-bottom:var(--el-messagebox-padding-primary)}.el-message-box__header.show-close{padding-right:calc(var(--el-messagebox-padding-primary) + var(--el-message-close-size,16px))}.el-message-box__title{font-size:var(--el-messagebox-font-size);line-height:var(--el-messagebox-font-line-height);color:var(--el-messagebox-title-color)}.el-message-box__headerbtn{width:40px;height:40px;font-size:var(--el-message-close-size,16px);cursor:pointer;background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{align-items:center;gap:12px;display:flex}.el-message-box__input{padding-top:12px}.el-message-box__input div.invalid>input,.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{font-size:24px}.el-message-box__status.el-message-box-icon--primary{--el-messagebox-color:var(--el-color-primary);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{min-width:0;margin:0}.el-message-box__message p{line-height:var(--el-messagebox-font-line-height);margin:0}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__btns{padding-top:var(--el-messagebox-padding-primary);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.el-message-box--center .el-message-box__title{justify-content:center;align-items:center;gap:6px;display:flex}.el-message-box--center .el-message-box__status{font-size:inherit}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__container{justify-content:center}.el-message-box-parent--hidden{overflow:hidden}.fade-in-linear-enter-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@keyframes msgbox-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}:root{--iot-bg:#f5f7fa;--iot-bg-subtle:#eef3f6;--iot-surface:#fff;--iot-surface-muted:#f7fafc;--iot-surface-raised:#fff;--iot-surface-overlay:#fff;--iot-surface-sunken:#eef3f6;--iot-text:#18212f;--iot-text-muted:#657285;--iot-text-subtle:#8490a2;--iot-text-primary:var(--iot-text);--iot-text-secondary:var(--iot-text-muted);--iot-text-tertiary:var(--iot-text-subtle);--iot-border:#6f7e9133;--iot-border-strong:#52617547;--iot-sidebar:#f8fbfd;--iot-sidebar-active:#e7f5f2;--iot-primary:#0f766e;--iot-primary-dark:#134e4a;--iot-primary-hover:#115e59;--iot-primary-active:#134e4a;--iot-primary-soft:#e1f6f2;--iot-primary-softer:#f0fbf8;--iot-success:#16a34a;--iot-warning:#d97706;--iot-danger:#c91f1f;--iot-info:#2563eb;--iot-success-soft:#ecfdf5;--iot-warning-soft:#fff7ed;--iot-danger-soft:#fef2f2;--iot-info-soft:#eff6ff;--iot-space-1:4px;--iot-space-2:8px;--iot-space-3:12px;--iot-space-4:16px;--iot-space-5:20px;--iot-space-6:24px;--iot-space-8:32px;--iot-space-12:48px;--iot-text-xs:12px;--iot-text-sm:13px;--iot-text-base:14px;--iot-text-lg:16px;--iot-text-xl:20px;--iot-text-2xl:24px;--iot-text-display:36px;--iot-radius-xs:5px;--iot-radius-sm:7px;--iot-radius:10px;--iot-radius-lg:14px;--iot-gap:16px;--iot-shadow-sm:0 1px 2px #1f29370d;--iot-shadow:0 1px 2px #1f29370a, 0 8px 20px #2a36470f;--iot-shadow-hover:0 2px 5px #1f29370f, 0 14px 28px #2a364714;--iot-shadow-overlay:0 8px 18px #1f293714, 0 24px 52px #2a36471f;--iot-focus-ring:0 0 0 3px #0f766e2e;--iot-duration-fast:.12s;--iot-duration-base:.18s;--iot-duration-slow:.28s;--iot-ease-out:cubic-bezier(.16, 1, .3, 1);--iot-z-raised:1;--iot-z-dropdown:10;--iot-z-sticky:20;--iot-z-overlay:30;--iot-z-modal:40;--iot-z-toast:50;--iot-z-tooltip:60;--el-color-primary:var(--iot-primary);--el-text-color-primary:var(--iot-text);--el-text-color-regular:var(--iot-text-muted);--el-border-color:var(--iot-border);--el-border-color-light:#6f7e9124;--el-fill-color-light:var(--iot-surface-muted);--el-bg-color:var(--iot-surface)}html,body,#app{background:var(--iot-bg);min-height:100%;color:var(--iot-text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}.iot-visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}:where(a,button,[role=button],input,select,textarea):focus-visible{outline:2px solid var(--iot-primary);outline-offset:2px}:where(a,button,[role=button]){touch-action:manipulation}.iot-page{gap:var(--iot-space-5);flex-direction:column;width:min(100%,1440px);margin-inline:auto;display:flex}.iot-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.iot-grid-2{gap:var(--iot-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.iot-form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-height:36px;display:flex}.iot-entity-cell{flex-direction:column;gap:4px;display:flex}.iot-entity-cell strong{color:var(--iot-text);font-size:var(--iot-text-base);font-weight:600;line-height:1.35}.iot-entity-cell span{color:var(--iot-text-muted);font-size:var(--iot-text-xs);line-height:1.35}.iot-pagination{border-top:1px solid #6f7e9124;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;min-height:32px;margin-top:14px;padding-top:14px;display:flex}.iot-table-footer{min-height:32px;color:var(--iot-text-muted);border-top:1px solid #6f7e9124;justify-content:flex-end;align-items:center;gap:12px;margin-top:14px;padding-top:14px;font-size:13px;display:flex}.iot-pagination-summary{color:var(--iot-text-muted);white-space:nowrap;font-size:13px}.iot-table{--el-table-border-color:#6f7e9124;--el-table-header-bg-color:var(--iot-surface-muted);--el-table-row-hover-bg-color:#f5faf8;border-top:1px solid var(--iot-border);border-bottom:1px solid var(--iot-border);width:100%}.iot-table.el-table .el-table__header th,.iot-table .el-table__header th{background:var(--iot-surface-muted);color:var(--iot-text-muted);font-weight:500;font-size:var(--iot-text-xs);letter-spacing:.01em}.iot-table .el-table__cell{padding:10px 0}.iot-table .el-table__header .el-table__cell{height:42px;padding:var(--iot-space-2) 0}.iot-table .cell{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.iot-table .cell>.el-button{flex:none}.iot-table .cell>.el-button+.el-button{margin-left:0}.iot-table .el-button.is-link{min-height:28px;padding:0 4px}.iot-table .el-table__fixed-right .cell,.iot-table .el-table__fixed-right-patch .cell{justify-content:flex-start}.iot-table .el-table__row{transition:background-color .16s ease-out}.iot-table .el-table__row:hover>td.el-table__cell{background:var(--el-table-row-hover-bg-color)}.iot-table .el-table-fixed-column--right{box-shadow:-8px 0 14px #2a364709}.iot-status{color:var(--iot-text-muted);align-items:center;gap:7px;font-size:13px;font-weight:500;display:inline-flex}.iot-status:before{content:"";background:var(--iot-text-subtle);border-radius:999px;width:7px;height:7px}.iot-status.is-success:before{background:var(--iot-success)}.iot-status.is-danger:before{background:var(--iot-danger)}.iot-status.is-warning:before{background:var(--iot-warning)}.el-button{border-radius:var(--iot-radius-sm);transition:color var(--iot-duration-fast) ease-out, background-color var(--iot-duration-fast) ease-out, border-color var(--iot-duration-fast) ease-out, box-shadow var(--iot-duration-fast) ease-out;font-weight:500}.el-button:focus-visible{box-shadow:var(--iot-focus-ring)}.el-button.is-link{padding-left:4px;padding-right:4px;transform:none}.el-table .iot-operation-column .cell{white-space:nowrap;flex-wrap:nowrap;align-items:center;display:flex}.el-table .iot-operation-column .el-button+.el-button{margin-left:var(--iot-space-2)}.el-button--primary{--el-button-bg-color:var(--iot-primary);--el-button-border-color:var(--iot-primary);--el-button-hover-bg-color:var(--iot-primary-hover);--el-button-hover-border-color:var(--iot-primary-hover);--el-button-active-bg-color:var(--iot-primary-hover);--el-button-active-border-color:var(--iot-primary-hover)}.el-button--primary.is-plain{--el-button-text-color:var(--iot-primary);--el-button-bg-color:var(--iot-primary-softer);--el-button-border-color:#0f766e38;--el-button-hover-bg-color:var(--iot-primary);--el-button-hover-border-color:var(--iot-primary)}.el-input__wrapper,.el-select__wrapper,.el-textarea__inner{border-radius:var(--iot-radius-sm);box-shadow:0 0 0 1px var(--iot-border) inset;transition:box-shadow .16s ease-out,background-color .16s ease-out}.el-input__wrapper:hover,.el-select__wrapper:hover,.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--iot-border-strong) inset}.el-input__wrapper.is-focus,.el-select__wrapper.is-focused,.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--iot-primary) inset, var(--iot-focus-ring)}.el-card{--el-card-border-radius:var(--iot-radius);--el-card-border-color:var(--iot-border)}.el-tag{border-radius:var(--iot-radius-xs);font-size:var(--iot-text-xs);font-weight:500}.el-tag.el-tag--round{border-radius:var(--iot-radius-xs)}.el-table .el-checkbox__inner{border-radius:4px}.el-pagination{--el-pagination-button-bg-color:var(--iot-surface);--el-pagination-border-radius:var(--iot-radius-sm)}.el-dialog{--el-dialog-border-radius:var(--iot-radius-lg);border:1px solid var(--iot-border);max-width:calc(100vw - 48px);box-shadow:var(--iot-shadow-overlay);margin-top:8vh}.el-dialog__header{border-bottom:1px solid #6f7e9124;margin-right:0;padding:18px 20px 12px}.el-dialog__title{color:var(--iot-text);letter-spacing:-.01em;font-size:16px;font-weight:650}.el-dialog__body{overscroll-behavior:contain;max-height:min(68vh,680px);padding:18px 20px;overflow-y:auto}.el-dialog__footer{border-top:1px solid #6f7e911f;padding:12px 20px 18px}.el-dialog__footer .el-button+.el-button{margin-left:6px}.iot-dialog-form,.dialog-form{flex-direction:column;gap:2px;display:flex}.iot-overlay-form{gap:var(--iot-space-4);flex-direction:column;display:flex}.iot-overlay-form>.el-form-item:last-child,.iot-dialog-form>.el-form-item:last-child,.dialog-form>.el-form-item:last-child{margin-bottom:0}.el-form-item__label{color:var(--iot-text);font-weight:550}.el-form-item__error{color:var(--iot-danger);font-size:var(--iot-text-xs);align-items:center;gap:5px;padding-top:6px;line-height:1.45;display:flex;position:static}.el-form-item__error:before{content:"!";border:1px solid;border-radius:50%;flex:0 0 14px;place-items:center;width:14px;height:14px;font-size:10px;font-weight:700;display:inline-grid}.el-form-item.is-error .el-input__wrapper,.el-form-item.is-error .el-select__wrapper,.el-form-item.is-error .el-textarea__inner{box-shadow:0 0 0 1px var(--iot-danger) inset}.iot-dialog-grid,.dialog-grid,.rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.el-drawer__header{border-bottom:1px solid var(--iot-border);color:var(--iot-text);margin-bottom:0;padding:18px 20px 14px;font-weight:650}.el-drawer__body{overscroll-behavior:contain;padding:18px 20px;overflow-y:auto}@media (width<=1180px){.iot-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.el-button,.el-input__wrapper,.el-select__wrapper{min-height:44px}.el-input__inner,.el-select__input,.el-textarea__inner{font-size:16px}.iot-grid-4,.iot-grid-2{grid-template-columns:1fr}.iot-form-actions,.iot-pagination,.iot-table-footer{justify-content:flex-start}.iot-dialog-grid,.dialog-grid,.rule-grid{grid-template-columns:1fr}.el-dialog{width:calc(100vw - 32px)!important}.el-dialog__footer{gap:8px;display:flex}.el-dialog__footer .el-button{flex:1 1 0;min-height:44px;margin:0!important}}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (hover:none),(prefers-reduced-motion:reduce){.metric-card:hover,.attention-item:hover{transform:none}}
