.global-loading[data-v-19052769]{z-index:9999;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#6c6d6d03;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.global-loading__panel[data-v-19052769]{justify-content:center;align-items:center;width:112px;height:112px;display:flex;position:relative;overflow:hidden}.global-loading__panel[data-v-19052769]:after{content:"";border-radius:6px;position:absolute;inset:10px}.global-loading__ring[data-v-19052769]{width:58px;height:58px;position:relative}.global-loading__ring[data-v-19052769]:before,.global-loading__ring[data-v-19052769]:after{content:"";border-radius:50%;position:absolute}.global-loading__ring[data-v-19052769]:before{border:1px solid #1d21291a;inset:7px}.global-loading__ring[data-v-19052769]:after{background:linear-gradient(135deg,#165dff,#14c9c9);animation:1.1s ease-in-out infinite global-loading-pulse-19052769;inset:18px;box-shadow:0 0 18px #165dff52}.global-loading__ring span[data-v-19052769]{border-radius:50%;animation:1.15s linear infinite global-loading-orbit-19052769;position:absolute;inset:0}.global-loading__ring span[data-v-19052769]:before{content:"";background:#165dff;border-radius:50%;width:8px;height:8px;position:absolute;top:2px;left:50%;transform:translate(-50%);box-shadow:0 0 12px #165dffad}.global-loading__ring span[data-v-19052769]:nth-child(2){animation-delay:-.38s}.global-loading__ring span[data-v-19052769]:nth-child(2):before{background:#14c9c9;width:7px;height:7px;box-shadow:0 0 12px #14c9c99e}.global-loading__ring span[data-v-19052769]:nth-child(3){animation-delay:-.76s}.global-loading__ring span[data-v-19052769]:nth-child(3):before{background:#722ed1;width:6px;height:6px;box-shadow:0 0 12px #722ed194}.global-loading-fade-enter-active[data-v-19052769],.global-loading-fade-leave-active[data-v-19052769]{transition:opacity .18s}.global-loading-fade-enter-from[data-v-19052769],.global-loading-fade-leave-to[data-v-19052769]{opacity:0}@keyframes global-loading-orbit-19052769{to{transform:rotate(360deg)}}@keyframes global-loading-pulse-19052769{0%,to{opacity:.78;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}:root{--app-bg:#f3f7ff;--app-radius:8px;--font-family:"PingFang SC", "Microsoft YaHei", sans-serif;--sider-width:220px;--header-height:44px;--color-dark:#1e2e51;--color-primary:#3b82f6;--color-primary-dark:#2563eb;--color-primary-bright:#60a5fa;--color-primary-soft:#3c6df01f;--color-accent:#8fb0ff;--color-accent-soft:#8fb0ff29;--color-success:#14b86a;--color-success-dark:#0f9600;--color-success-bright:#4ade80;--color-warning:#f5a524;--color-warning-dark:#ff9f2e;--color-warning-bright:#ffc873;--color-danger:#e74c3c;--color-danger-dark:#c0392b;--color-danger-bright:#ff7a6b;--color-purple:#8b5cf6;--color-purple-dark:#7c3aed;--color-purple-bright:#a78bfa;--color-light:#f8fafc;--color-white:#fff;--color-black:#000;--color-border:#e5e7eb;--text-primary:#18243d;--text-secondary:#60708f;--text-muted:#60708f;--text-gray:#d0d0d0;--text-placeholder:#94a3b8;--text-disabled:#b0b8c4;--radius-sm:14px;--radius-md:22px;--radius-lg:30px;--border-color:#4a7cf324;--content-max-width:1800px}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-family);background:var(--app-bg);color:var(--text-primary)}ul,ol{list-style:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}input,textarea,select,button{font-family:inherit;font-size:inherit;background:0 0;border:none;outline:none}table{border-collapse:collapse;border-spacing:0}*{scrollbar-width:thin;scrollbar-color:#6081c66b transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:linear-gradient(#84a1e0c7,#547bd6b8) padding-box padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#6c90e0eb,#3c6df0e0) padding-box padding-box}::-webkit-scrollbar-corner{background:0 0}.u-flex{align-items:center;display:flex}.u-flex-center{justify-content:center;align-items:center;display:flex}.u-flex-between{justify-content:space-between;align-items:center;display:flex}.u-flex-start{justify-content:flex-start;align-items:center;display:flex}.u-flex-end{justify-content:flex-end;align-items:center;display:flex}.u-flex-col{flex-direction:column;display:flex}.u-flex-wrap{flex-wrap:wrap}.u-flex-1{flex:1}.u-col-center{align-items:center}.u-col-top{align-items:flex-start}.u-col-bottom{align-items:flex-end}.u-row-center{justify-content:center}.u-row-left{justify-content:flex-start}.u-row-right{justify-content:flex-end}.u-row-between{justify-content:space-between}.u-row-around{justify-content:space-around}.u-font-df{font-size:14px}.u-font-xs{font-size:12px}.bold{font-weight:700}.u-w-full{width:100%}.u-h-full{height:100%}.u-pointer,.u-link{cursor:pointer}.u-link:hover{text-decoration:underline;color:var(--color-primary)!important}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ellipsis-1{-webkit-line-clamp:1}.ellipsis-2{-webkit-line-clamp:2}.ellipsis-1,.ellipsis-2{word-break:break-all;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.u-border-top{border-top:1px solid #6081c612}.u-border-bottom{border-bottom:1px solid #6081c612}.u-mt-0{margin-top:0}.u-mb-0{margin-bottom:0}.u-ml-0{margin-left:0}.u-mr-0{margin-right:0}.u-mx-0{margin-left:0;margin-right:0}.u-my-0{margin-top:0;margin-bottom:0}.u-m-0{margin:0}.u-pt-0{padding:0}.u-pb-0{padding-bottom:0}.u-pl-0{padding-left:0}.u-pr-0{padding-right:0}.u-px-0{padding-left:0;padding-right:0}.u-py-0{padding-top:0;padding-bottom:0}.u-p-0{padding:0}.u-gap-0{gap:0}.u-font-0{font-size:0}.u-mt-4{margin-top:4px}.u-mb-4{margin-bottom:4px}.u-ml-4{margin-left:4px}.u-mr-4{margin-right:4px}.u-mx-4{margin-left:4px;margin-right:4px}.u-my-4{margin-top:4px;margin-bottom:4px}.u-m-4{margin:4px}.u-pt-4{padding:4px}.u-pb-4{padding-bottom:4px}.u-pl-4{padding-left:4px}.u-pr-4{padding-right:4px}.u-px-4{padding-left:4px;padding-right:4px}.u-py-4{padding-top:4px;padding-bottom:4px}.u-p-4{padding:4px}.u-gap-4{gap:4px}.u-font-4{font-size:4px}.u-mt-8{margin-top:8px}.u-mb-8{margin-bottom:8px}.u-ml-8{margin-left:8px}.u-mr-8{margin-right:8px}.u-mx-8{margin-left:8px;margin-right:8px}.u-my-8{margin-top:8px;margin-bottom:8px}.u-m-8{margin:8px}.u-pt-8{padding:8px}.u-pb-8{padding-bottom:8px}.u-pl-8{padding-left:8px}.u-pr-8{padding-right:8px}.u-px-8{padding-left:8px;padding-right:8px}.u-py-8{padding-top:8px;padding-bottom:8px}.u-p-8{padding:8px}.u-gap-8{gap:8px}.u-font-8{font-size:8px}.u-mt-12{margin-top:12px}.u-mb-12{margin-bottom:12px}.u-ml-12{margin-left:12px}.u-mr-12{margin-right:12px}.u-mx-12{margin-left:12px;margin-right:12px}.u-my-12{margin-top:12px;margin-bottom:12px}.u-m-12{margin:12px}.u-pt-12{padding:12px}.u-pb-12{padding-bottom:12px}.u-pl-12{padding-left:12px}.u-pr-12{padding-right:12px}.u-px-12{padding-left:12px;padding-right:12px}.u-py-12{padding-top:12px;padding-bottom:12px}.u-p-12{padding:12px}.u-gap-12{gap:12px}.u-font-12{font-size:12px}.u-mt-16{margin-top:16px}.u-mb-16{margin-bottom:16px}.u-ml-16{margin-left:16px}.u-mr-16{margin-right:16px}.u-mx-16{margin-left:16px;margin-right:16px}.u-my-16{margin-top:16px;margin-bottom:16px}.u-m-16{margin:16px}.u-pt-16{padding:16px}.u-pb-16{padding-bottom:16px}.u-pl-16{padding-left:16px}.u-pr-16{padding-right:16px}.u-px-16{padding-left:16px;padding-right:16px}.u-py-16{padding-top:16px;padding-bottom:16px}.u-p-16{padding:16px}.u-gap-16{gap:16px}.u-font-16{font-size:16px}.u-mt-20{margin-top:20px}.u-mb-20{margin-bottom:20px}.u-ml-20{margin-left:20px}.u-mr-20{margin-right:20px}.u-mx-20{margin-left:20px;margin-right:20px}.u-my-20{margin-top:20px;margin-bottom:20px}.u-m-20{margin:20px}.u-pt-20{padding:20px}.u-pb-20{padding-bottom:20px}.u-pl-20{padding-left:20px}.u-pr-20{padding-right:20px}.u-px-20{padding-left:20px;padding-right:20px}.u-py-20{padding-top:20px;padding-bottom:20px}.u-p-20{padding:20px}.u-gap-20{gap:20px}.u-font-20{font-size:20px}.u-mt-24{margin-top:24px}.u-mb-24{margin-bottom:24px}.u-ml-24{margin-left:24px}.u-mr-24{margin-right:24px}.u-mx-24{margin-left:24px;margin-right:24px}.u-my-24{margin-top:24px;margin-bottom:24px}.u-m-24{margin:24px}.u-pt-24{padding:24px}.u-pb-24{padding-bottom:24px}.u-pl-24{padding-left:24px}.u-pr-24{padding-right:24px}.u-px-24{padding-left:24px;padding-right:24px}.u-py-24{padding-top:24px;padding-bottom:24px}.u-p-24{padding:24px}.u-gap-24{gap:24px}.u-font-24{font-size:24px}.u-mt-32{margin-top:32px}.u-mb-32{margin-bottom:32px}.u-ml-32{margin-left:32px}.u-mr-32{margin-right:32px}.u-mx-32{margin-left:32px;margin-right:32px}.u-my-32{margin-top:32px;margin-bottom:32px}.u-m-32{margin:32px}.u-pt-32{padding:32px}.u-pb-32{padding-bottom:32px}.u-pl-32{padding-left:32px}.u-pr-32{padding-right:32px}.u-px-32{padding-left:32px;padding-right:32px}.u-py-32{padding-top:32px;padding-bottom:32px}.u-p-32{padding:32px}.u-gap-32{gap:32px}.u-font-32{font-size:32px}.u-mt-40{margin-top:40px}.u-mb-40{margin-bottom:40px}.u-ml-40{margin-left:40px}.u-mr-40{margin-right:40px}.u-mx-40{margin-left:40px;margin-right:40px}.u-my-40{margin-top:40px;margin-bottom:40px}.u-m-40{margin:40px}.u-pt-40{padding:40px}.u-pb-40{padding-bottom:40px}.u-pl-40{padding-left:40px}.u-pr-40{padding-right:40px}.u-px-40{padding-left:40px;padding-right:40px}.u-py-40{padding-top:40px;padding-bottom:40px}.u-p-40{padding:40px}.u-gap-40{gap:40px}.u-font-40{font-size:40px}.hide-scroll{-ms-overflow-style:none;scrollbar-width:none}.hide-scroll::-webkit-scrollbar{display:none}.page-shell-full{gap:16px;width:100%;height:100%;min-height:0;margin:0 auto;display:flex}.section-card{border-radius:var(--app-radius);background:linear-gradient(#fffffff0,#f9fcfffa);border-color:#6081c629;padding:12px;box-shadow:0 14px 34px #21458814,inset 0 1px #ffffffe6}.section-card__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-card__head-title{color:var(--text-primary);font-size:16px;font-weight:700}.section-card__head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.color-primary{color:var(--color-primary)}.page-card__header.page-card__header--primary{background:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--color-primary)}.page-card__header.page-card__header--primary .icon{color:var(--color-primary)}.color-purple{color:var(--color-purple)}.page-card__header.page-card__header--purple{background:color-mix(in srgb, var(--color-purple) 8%, transparent);color:var(--color-purple)}.page-card__header.page-card__header--purple .icon{color:var(--color-purple)}.color-success{color:var(--color-success)}.page-card__header.page-card__header--success{background:color-mix(in srgb, var(--color-success) 8%, transparent);color:var(--color-success)}.page-card__header.page-card__header--success .icon{color:var(--color-success)}.color-warning{color:var(--color-warning)}.page-card__header.page-card__header--warning{background:color-mix(in srgb, var(--color-warning) 8%, transparent);color:var(--color-warning)}.page-card__header.page-card__header--warning .icon{color:var(--color-warning)}.color-danger{color:var(--color-danger)}.page-card__header.page-card__header--danger{background:color-mix(in srgb, var(--color-danger) 8%, transparent);color:var(--color-danger)}.page-card__header.page-card__header--danger .icon{color:var(--color-danger)}.color-white{color:var(--color-white)}.page-card__header.page-card__header--white{background:color-mix(in srgb, var(--color-white) 8%, transparent);color:var(--color-white)}.page-card__header.page-card__header--white .icon{color:var(--color-white)}.color-muted{color:var(--text-muted)}.page-card__header.page-card__header--muted{background:color-mix(in srgb, var(--text-muted) 8%, transparent);color:var(--text-muted)}.page-card__header.page-card__header--muted .icon{color:var(--text-muted)}.color-gray{color:var(--text-gray)}.page-card__header.page-card__header--gray{background:color-mix(in srgb, var(--text-gray) 8%, transparent);color:var(--text-gray)}.page-card__header.page-card__header--gray .icon{color:var(--text-gray)}.color-light{color:var(--color-light)}.page-card__header.page-card__header--light{background:color-mix(in srgb, var(--color-light) 8%, transparent);color:var(--color-light)}.page-card__header.page-card__header--light .icon{color:var(--color-light)}.color-disabled{color:var(--text-disabled)}.page-card__header.page-card__header--disabled{background:color-mix(in srgb, var(--text-disabled) 8%, transparent);color:var(--text-disabled)}.page-card__header.page-card__header--disabled .icon{color:var(--text-disabled)}.color-placeholder{color:var(--text-placeholder)}.page-card__header.page-card__header--placeholder{background:color-mix(in srgb, var(--text-placeholder) 8%, transparent);color:var(--text-placeholder)}.page-card__header.page-card__header--placeholder .icon{color:var(--text-placeholder)}.dash-panel{z-index:10;color:#d6e2f2;-webkit-user-select:none;user-select:none;background:#253a64b8;border:1px solid #658ecb47;border-radius:10px;min-width:180px;padding:10px;position:absolute}.dash-panel__header{color:#eaf2ff;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:15px;font-weight:600;display:flex}.dash-panel__row{justify-content:space-between;align-items:center;gap:12px;padding:5px 0;font-size:13px;display:flex}.dash-panel__row .label{color:#8ea3bf;line-height:20px}.dash-panel__row .value{color:#eaf2ff;font-weight:600}.dash-panel__row .key{color:#cfe0f5;background:#5a82be2e;border:1px solid #78a0dc40;border-radius:4px;padding:0 8px;font-size:12px;line-height:20px}.sensor-label{--label-s:1;padding:calc(1px * var(--label-s)) calc(6px * var(--label-s));font-size:calc(8px * var(--label-s));color:#eaf2ff;white-space:nowrap;border-radius:calc(4px * var(--label-s));pointer-events:none;background:#0d162899}.page-shell{width:100%;max-width:1800px;margin:0 auto}.page-shell--list{flex-direction:column;gap:12px;height:100%;display:flex}.panel-title{color:var(--text-primary);font-size:16px;font-weight:700}.list-card{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#fffffff0,#f9fcfffa);border-color:#6081c629;flex:1;min-height:0;padding:10px;overflow:hidden;box-shadow:0 14px 34px #21458814,inset 0 1px #ffffffe6}.list-card__toolbar{z-index:1;border-bottom:1px solid #6081c61a;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex;position:relative}.list-card__toolbar:after{content:"";background:linear-gradient(90deg,#3c6df057,#0000);width:72px;height:1px;position:absolute;bottom:-1px;left:0}.list-card__meta{color:var(--text-secondary);align-items:center;gap:10px;font-size:13px;display:flex}.list-card__meta strong{color:var(--text-primary);font-size:18px}@media (width<=900px){.page-shell--list{height:auto}.list-card{flex:none;overflow:visible}}@media (width<=768px){.list-card{padding:14px}}.page-section{border-radius:var(--app-radius);background:linear-gradient(#fff 0%,#fcfdfe 100%);padding:16px;position:relative;overflow:auto;box-shadow:0 1px 2px #2145880a,0 8px 24px -10px #21458814}.page-section__head{justify-content:space-between;margin-bottom:12px;display:flex}.page-section__head-title{align-items:center;gap:10px;display:flex}.page-section__head-title:before{content:"";background:linear-gradient(#6081c6 0%,#4a6db0 100%);border-radius:2px;flex-shrink:0;width:4px;height:16px;box-shadow:0 2px 6px #4a6db040}.page-section__head .title-text{color:var(--text-primary);font-size:16px;font-weight:700}.page-section__head .title-meta{color:var(--text-muted);font-size:12px}.arco-input-wrapper,.arco-select-view,.arco-picker,.arco-textarea-wrapper{transition:border-color .18s,background .18s;background:#fff!important;border-color:#4a7cf324!important}.arco-input-wrapper:hover,.arco-select-view:hover,.arco-picker:hover,.arco-textarea-wrapper:hover{border-color:#4a79f33d!important}.arco-input-wrapper.arco-input-focus,.arco-select-view:focus-within,.arco-picker:focus-within,.arco-textarea-wrapper.arco-textarea-focus{border-color:#3c6df085!important}.list-page__pagination .arco-pagination{width:100%}.list-page__pagination .arco-pagination .arco-pagination-total{flex:1}.arco-image-error{background:linear-gradient(135deg,#132142d6,#21335dad)}.arco-btn-text{box-shadow:none!important;background:0 0!important;border-color:#0000!important;min-width:0!important;padding-left:4px!important;padding-right:4px!important}.arco-btn-text:hover{opacity:.7;background:0 0!important}.arco-modal-simple{width:320px;padding:0}.arco-modal-simple .arco-modal-header,.arco-modal-simple .arco-modal-footer{margin:0}.arco-modal .arco-modal-header{height:44px;padding:0 20px;background-color:var(--color-primary)!important}.arco-modal .arco-modal-header .arco-modal-close-btn{color:var(--color-white)}.arco-modal .arco-modal-body{min-height:80px;padding:20px}.arco-modal .arco-modal-footer{text-align:right;border:none;padding:0 20px 20px}.arco-modal .arco-modal-footer .arco-btn{border-radius:2px}.arco-modal .arco-modal-header .arco-modal-title{color:var(--color-white);justify-content:space-between;font-family:思源黑体;font-weight:700}.arco-icon-hover:hover{color:var(--text-primary)}.arco-modal-title-icon{display:none}.arco-modal-container.dark-modal .arco-modal{background-color:var(--color-dark)!important}.arco-modal-container.dark-modal .arco-modal .arco-modal-header{border-color:var(--text-muted);background-color:var(--color-dark)!important}.arco-modal .arco-modal-body.p-0{padding:0}.arco-tree-node-indent-block{margin-right:0}.arco-tree-node-switcher{margin-right:4px}.arco-tree-node{padding-left:0}.arco-table .arco-table-header .arco-table-th{background:#f1f6fff2}.arco-table .arco-table-border-wrapper{border-color:#6081c61f;border-radius:8px}.arco-table.arco-table-size-small .arco-table-header .arco-table-th{font-size:11px}.arco-table.arco-table-size-small .arco-table-body .arco-table-td{font-size:12px}.arco-table.dark-table .arco-table-header .arco-table-th{background:#5a82be2e}.arco-table.dark-table .arco-pagination-item{color:#fff}.arco-table.dark-table .arco-pagination-item-active,.arco-table.dark-table .arco-pagination-item:hover{color:var(--color-primary)}.arco-table.dark-table .arco-pagination-total{color:#fff}
