:root{font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:#243c45;background:#f3f6f7;font-synthesis:none;--el-color-primary:#147d82;--el-color-primary-light-3:#4d9fa2;--el-color-primary-light-5:#8bbfc1;--el-color-primary-light-7:#c3dfe0;--el-color-primary-light-9:#edf6f6;--el-border-radius-base:7px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible{outline:3px solid #45b8bc;outline-offset:3px}h1,h2,h3,p{margin:0}.muted{color:#849098}.small{font-size:12px}.teal{color:#147d82!important}.amber{color:#b77b22!important}.coral{color:#c16852!important}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#53ada8;vertical-align:middle;margin-right:7px}.brand{display:flex;align-items:center;gap:11px;color:#f3fafb;font-size:20px;font-weight:600;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:1.7px;color:#9cb8be;margin-top:5px;font-weight:400}.brand-mark{background:#c4e7e1;color:#153a3d;display:grid;place-items:center;width:39px;height:42px;border-radius:9px 9px 3px;font-size:18px;font-weight:800;letter-spacing:-2px}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:700;color:#64878b}.eyebrow.light{color:#7ebdbb}.login-shell{display:grid;grid-template-columns:1.08fr 1fr;min-height:100vh}.login-story{background:#15363e;padding:52px 11%;color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;min-height:800px}.login-story .brand{margin-bottom:100px}.login-story h1{font-size:46px;line-height:1.6;letter-spacing:2px;margin-top:22px;font-weight:500}.login-story>p{color:#a9c1c6;font-size:14px;line-height:2;margin-top:24px}.login-grid{position:absolute;right:-25px;bottom:50px;display:grid;grid-template-columns:repeat(4,72px);gap:11px;transform:rotate(-20deg);opacity:.32}.login-grid span{width:72px;height:72px;border:1px solid #639497;border-radius:8px}.login-grid .lit{background:#34777c;border-color:#459b9f}.login-note{margin-top:auto;padding-top:100px;display:flex;gap:18px;align-items:center;font-size:11px;z-index:1}.login-note b{color:#a4d1cb;letter-spacing:2px}.login-note span{color:#97b3b9}.login-panel{display:grid;place-items:center;background:#fbfcfc;padding:50px}.login-form{width:100%;max-width:370px}.login-form h2{font-size:28px;margin:25px 0 12px;letter-spacing:.5px}.login-form>p{font-size:13px}.login-form .el-form{margin-top:32px}.login-form .el-form-item{margin-bottom:23px}.login-form .el-form-item__label{font-size:12px;font-weight:600;color:#4f656e}.login-form .el-input__wrapper{padding:7px 14px}.login-form .el-alert{margin-top:20px}.login-submit{width:100%;height:46px;letter-spacing:1px}.login-submit span{margin-left:10px}.login-hint{font-size:11px!important;line-height:1.9;color:#87959c;margin-top:20px}.evidence-note{border-top:1px solid #e4eaec;margin-top:35px;padding-top:24px;color:#96a0a5;font-size:11px;line-height:1.9}.app-shell{display:flex;min-height:100vh}.sidebar{width:218px;background:#16343d;position:fixed;top:0;bottom:0;padding:30px 20px;color:#c6d8dc;display:flex;flex-direction:column;z-index:10}.sidebar .brand{font-size:18px;padding:0 2px}.sidebar .brand small{letter-spacing:2px;font-size:10px}.workspace-label{font-size:9px;letter-spacing:1px;color:#708f98;margin:57px 7px 19px}.nav-item{display:flex;align-items:center;gap:13px;font-size:13px;padding:14px 13px;border-radius:6px}.nav-item.active{color:#fff;background:#2b515a;box-shadow:inset 3px 0 #a9d5ce}.nav-item>span{font-size:21px;line-height:1;color:#a1c9c7}.nav-item i{font-style:normal;font-size:11px;background:#41636c;border-radius:4px;padding:2px 6px;margin-left:auto;color:#d4e4e6}.sidebar-explainer{margin:28px 8px;font-size:11px;color:#aac5c9}.sidebar-explainer p{color:#78959e;font-size:10px;padding:10px 0 0 13px;line-height:1.7}.sidebar-bottom{margin-top:auto;border-top:1px solid #2b4b55;padding:25px 8px 0}.mock-label{font-size:9px;font-weight:600;letter-spacing:1.1px;color:#acccc8}.sidebar-bottom p{font-size:12px;color:#c5d7da;margin:12px 0}.sidebar-bottom small{font-size:10px;color:#7e9ca5;line-height:1.9}.workspace{margin-left:218px;width:calc(100% - 218px)}.topbar{height:75px;border-bottom:1px solid #e3e9eb;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 35px;gap:15px}.breadcrumb{color:#87949a;font-size:11px}.breadcrumb span{padding:0 12px;color:#c5ced2}.breadcrumb b{font-weight:500;color:#52646c}.topbar-actions{display:flex;gap:12px;align-items:center;font-size:12px}.connection-badge{display:flex;align-items:center;gap:7px;color:#9a824d;font-size:10px;margin-right:10px}.connection-badge i{width:6px;height:6px;border-radius:50%;background:#d7a64c}.connection-badge.connected{color:#4b8986}.connection-badge.connected i{background:#3d9e91}.connection-badge.offline{color:#c16852}.connection-badge.offline i{background:#c16852}.user-avatar{display:grid;place-items:center;width:28px;height:28px;background:#e6efef;color:#4c7778;border-radius:50%;font-size:11px;font-weight:600}.username{font-size:11px;color:#60727a}.topbar .el-button{font-size:11px}.main-content{max-width:1660px;margin:auto;padding:34px 35px 22px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-heading h1{font-size:27px;font-weight:600;letter-spacing:.3px;display:flex;align-items:center;gap:14px;margin-top:8px}.page-heading h1 .el-tag{font-size:10px;height:20px;font-weight:500}.page-heading p{font-size:11px;color:#819098;margin-top:11px}.heading-time{text-align:right;display:grid;gap:6px}.heading-time>span{font-size:10px;color:#92a0a6}.heading-time b{font-size:11px;font-weight:500;color:#5d737c;font-variant-numeric:tabular-nums}.heading-time small{font-size:9px;color:#97a3a9}.evidence-banner{display:flex;align-items:center;gap:11px;border:1px solid #dfe8eb;background:#edf3f5;padding:13px 16px;border-radius:7px;margin-bottom:23px}.evidence-icon{width:17px;height:17px;display:grid;place-items:center;border:1px solid #839da7;color:#6b8996;border-radius:50%;font-family:serif;font-size:12px;font-weight:700;flex-shrink:0}.evidence-banner>div{font-size:10px;color:#7c929c;display:flex;gap:14px;line-height:1.7}.evidence-banner strong{color:#54717e;white-space:nowrap;font-weight:500}.evidence-banner>.el-tag{font-size:9px;margin-left:auto;background:#f4f8f9;flex-shrink:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:31px}.metric-card{background:#fff;border:1px solid #e3e9ec;border-radius:8px;padding:19px 20px 16px;box-shadow:0 2px 3px #1a344002}.metric-card>span{color:#73858e;font-size:11px}.metric-card>div{display:flex;align-items:baseline;gap:7px;margin-top:11px}.metric-card b{font-size:33px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums;color:#29454f}.metric-card small{font-size:10px;color:#98a6ad}.metric-card i{font-style:normal;display:grid;place-items:center;margin-left:auto;font-size:21px;color:#79939e;background:#f3f7f8;width:32px;height:32px;border-radius:6px}.metric-card p{border-top:1px solid #f0f3f5;margin-top:14px;padding-top:12px;font-size:9px;color:#99a5ac}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-heading>div{display:flex;align-items:center;gap:12px}.section-heading h2{font-size:16px;font-weight:600}.section-heading h3{font-size:14px;font-weight:600}.section-heading>div>span{color:#96a2a8;font-size:10px}.section-heading>.small{font-size:10px}.filter-bar{display:flex;gap:12px;margin:18px 0 20px}.filter-bar .search-input{max-width:365px;margin-right:auto}.filter-bar .el-select{width:155px}.filter-bar .el-input__wrapper,.filter-bar .el-select__wrapper{font-size:11px;min-height:35px;box-shadow:0 0 0 1px #dfe7e9}.search-input .el-input__prefix{font-size:20px;color:#a0aeb5}.device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.device-card{text-align:left;background:#fff;border:1px solid #e0e7e9;border-radius:9px;padding:20px 20px 0;color:inherit;min-width:0;transition:transform .15s,box-shadow .15s,border-color .15s;box-shadow:0 2px 3px #1a344002}.device-card:hover{border-color:#9cbfc0;box-shadow:0 5px 16px #2449500e;transform:translateY(-2px)}.device-card-top{display:flex;align-items:center;justify-content:space-between}.machine-icon{width:35px;height:35px;background:#edf5f5;border:1px solid #dceaea;border-radius:7px;display:grid;place-items:center;font-size:25px;color:#4c9193}.freshness-badge{font-size:9px;display:flex;align-items:center;gap:5px;color:#5b9b91}.freshness-badge i{width:5px;height:5px;background:#5b9b91;border-radius:50%}.freshness-badge.stale{color:#b48b43}.freshness-badge.stale i{background:#c3a36c}.device-title{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.device-title h3{font-size:15px;font-weight:600;letter-spacing:.2px}.device-title>span{color:#b8c7cc;font-size:17px}.device-code{font-size:9px;color:#91a0a7;margin-top:6px;font-variant-numeric:tabular-nums}.device-code>span{color:#c8d1d4}.device-status{display:flex;gap:6px;margin-top:16px;align-items:center;flex-wrap:wrap}.unknown-tag{font-size:9px;line-height:1.6;background:#f0f2f4;color:#89939c;padding:3px 6px;border-radius:4px}.scenario-tag{font-size:9px;line-height:1.6;background:#edf6f4;color:#3f9085;border-radius:4px;padding:3px 6px}.scenario-tag small{font-size:8px;opacity:.7;margin-left:3px}.scenario-tag.alarm{color:#bd7863;background:#fcf1ec}.scenario-tag.stale{color:#b08e4b;background:#faf5e9}.scenario-tag.idle,.scenario-tag.no-task,.scenario-tag.missing-sensors{color:#7d8e9a;background:#f0f4f6}.task-label{display:flex;justify-content:space-between;gap:10px;margin-top:19px;font-size:9px}.task-label span{color:#9ba6ac}.task-label b{color:#71858e;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}.progress-row{display:flex;justify-content:space-between;margin-top:20px;margin-bottom:9px;font-size:9px;color:#8699a2}.progress-row b{font-size:10px;color:#598c8b;font-weight:500}.device-card .el-progress-bar__outer{background:#edf1f3}.layer-row{display:flex;justify-content:space-between;font-size:9px;color:#9aa8af;margin-top:12px;margin-bottom:20px}.layer-row b{font-weight:500;color:#627b86;margin-left:4px}.device-footer{border-top:1px solid #edf1f3;display:flex;justify-content:space-between;padding:13px 0;color:#9caab1;font-size:8px}.device-footer>span:last-child{font-size:8px;letter-spacing:.5px}.stale-card .machine-icon{background:#f5f4ef;border-color:#ebe6da;color:#ad976a}.page-footer{display:flex;justify-content:space-between;gap:10px;color:#a6b0b6;font-size:9px;padding-top:25px}.page-footer .dot{width:4px;height:4px}.connection-alert,.error-alert{margin-bottom:16px}.connection-alert .el-alert__description{margin-top:8px}.device-drawer .el-dialog__header{margin-bottom:0;border-bottom:1px solid #e8eef0;padding-bottom:20px;color:#2b4853}.device-drawer .el-dialog__body{padding:25px}.detail-header{display:flex;justify-content:space-between;margin-bottom:23px}.detail-header h2{font-size:24px;margin:9px 0}.detail-header p{font-size:11px;color:#81969f}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px;margin:25px 0}.detail-facts>div{display:grid;gap:8px}.detail-facts span{font-size:10px;color:#95a3ab}.detail-facts b{font-size:11px;font-weight:500;color:#526e7b}.detail-section{border-top:1px solid #e8eef0;margin-top:24px;padding-top:22px}.detail-section>.small{line-height:1.9;margin-top:12px;font-size:10px}.progress-chart{height:215px;width:100%;max-width:350px;margin:0 auto}.task-detail{display:flex;justify-content:space-between;font-size:11px;color:#6b848f;gap:12px}.task-detail b{font-weight:500}.task-detail>span{font-size:10px}.sensor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.sensor-card{background:#f6f9fa;border:1px solid #e6edef;border-radius:7px;padding:15px;display:grid;gap:9px;min-width:0}.sensor-card>span:first-child{font-size:10px;color:#758b95}.sensor-card>b{font-size:25px;font-weight:600;color:#355864}.sensor-card>b small{font-size:9px;font-weight:400;color:#9aa9b0;display:block;margin-top:5px}.sensor-card>small{font-size:8px;color:#a0aeb5}.sensor-card>.small{font-size:9px}.el-drawer{max-width:100vw}.el-empty__description p{font-size:12px;color:#8c9da5}@media(min-width:1600px){.main-content{padding-top:40px}.device-card{padding:24px 24px 0}.device-grid{gap:22px}.device-title h3{font-size:17px}.device-footer{padding:16px 0}.layer-row{margin-bottom:24px}}@media(max-width:1200px){.sidebar{width:186px;padding:28px 16px}.workspace{margin-left:186px;width:calc(100% - 186px)}.main-content{padding:28px 25px}.topbar{padding:0 25px}.metrics{gap:11px}.metric-card{padding:16px}.evidence-banner>div{display:block}.evidence-banner strong{display:block}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-story h1{font-size:36px}.login-story{padding:45px 10%}.login-panel{padding:40px}}@media(max-width:850px){.sidebar{width:72px;padding:24px 15px}.sidebar .brand>div,.workspace-label,.nav-item,.sidebar-explainer,.sidebar-bottom{display:none}.sidebar .brand{padding:0}.brand-mark{width:38px;flex-shrink:0}.workspace{margin-left:72px;width:calc(100% - 72px)}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.heading-time{display:none}.evidence-banner>.el-tag{display:none}.topbar{padding:0 20px}.topbar .connection-badge{font-size:9px}.breadcrumb{display:none}.topbar-actions{margin-left:auto}.main-content{padding:25px 20px}.filter-bar{flex-wrap:wrap}.filter-bar .search-input{max-width:none;flex-basis:100%}.filter-bar .el-select{flex:1}.page-footer>span:last-child{display:none}.login-shell{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100vh;padding:35px}.login-form{max-width:400px}}@media(max-width:570px){.sidebar{display:none}.workspace{margin-left:0;width:100%}.topbar{height:60px}.topbar-actions{gap:8px}.main-content{padding:23px 16px}.page-heading h1{font-size:24px}.page-heading p{font-size:10px;line-height:1.9;max-width:270px}.eyebrow{font-size:9px}.device-grid{grid-template-columns:1fr}.metrics{gap:10px;margin-bottom:24px}.metric-card{padding:15px}.metric-card b{font-size:30px}.metric-card p{font-size:8px}.evidence-banner{padding:11px}.evidence-banner>div{font-size:9px}.device-card{padding:20px 20px 0}.device-title h3{font-size:16px}.device-footer{font-size:9px}.device-drawer .el-dialog__body{padding:20px}.detail-facts{gap:20px 8px}.sensor-card{padding:12px}.sensor-card>b{font-size:22px}}.device-drawer .el-dialog__header{padding:22px 32px;margin:0;background:#fff}.device-drawer .el-dialog__body{padding:28px 32px 48px;background:#f3f6f7}.device-drawer .detail-content{max-width:1600px;margin:0 auto}.device-drawer .detail-facts{grid-template-columns:repeat(6,minmax(0,1fr));background:#fff;border:1px solid #e3e9ec;border-radius:10px;padding:22px}.device-overview-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,2fr);gap:24px}.device-drawer .detail-section{background:#fff;border:1px solid #e3e9ec;border-radius:10px;padding:24px;margin-top:0;min-width:0}.device-drawer .imaging-section,.device-drawer .history-section{margin-top:24px}.imaging-grid,.history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.image-panel,.history-panel{border:1px solid #e1e9ec;border-radius:8px;overflow:hidden;min-width:0}.image-panel header,.history-panel header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px}.image-panel h3,.history-panel h3{font-size:14px;font-weight:600}.image-empty{aspect-ratio:16/9;min-height:220px;background:#19343e;color:#a9bec5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.image-empty>span{font-size:42px;color:#5c828e}.image-empty b,.history-empty b{font-size:14px;font-weight:500}.image-empty p,.history-empty p{font-size:12px}.image-panel footer{padding:12px 18px;font-size:11px;color:#84949d;background:#f8fafb}.history-panel header>span{font-size:11px;color:#84949d}.history-empty{height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#f7fafb;color:#84949d;border-top:1px solid #edf1f3}@media(max-width:1000px){.device-overview-grid{grid-template-columns:1fr}.device-drawer .detail-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.device-drawer .el-dialog__header{padding:18px}.device-drawer .el-dialog__body{padding:18px 14px 32px}.device-drawer .detail-section{padding:18px}.imaging-grid,.history-grid{grid-template-columns:1fr}.device-drawer .detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.image-empty{min-height:180px}.task-detail{flex-wrap:wrap}}.device-drawer.el-dialog{padding:0;border-radius:16px;overflow:hidden;max-height:88vh;max-height:88dvh;display:flex;flex-direction:column;box-shadow:0 24px 80px #102d3e40}.device-drawer .el-dialog__header{flex-shrink:0;padding:20px 56px 20px 26px;margin-right:0}.device-drawer .el-dialog__headerbtn{top:10px;right:10px}.device-drawer .el-dialog__body{overflow-y:auto;min-height:0;padding:22px 26px 28px}.device-drawer .detail-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.device-drawer .detail-section{padding:18px}.device-drawer .device-overview-grid{gap:18px;grid-template-columns:minmax(260px,1fr) minmax(0,1.4fr)}.device-drawer .imaging-section,.device-drawer .history-section{margin-top:18px}.device-drawer .image-empty{min-height:160px}.device-drawer .history-empty{height:190px}@media(max-width:850px){.device-drawer .device-overview-grid{grid-template-columns:1fr}}@media(max-width:650px){.device-drawer.el-dialog{width:calc(100vw - 24px);max-height:92dvh;border-radius:12px}.device-drawer .el-dialog__body{padding:16px}.device-drawer .el-dialog__header{padding:18px 50px 18px 18px}.device-drawer .detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell .sidebar{width:168px;padding:24px 16px}.app-shell .workspace{margin-left:168px;width:calc(100% - 168px)}.app-shell .topbar{height:54px;padding:0 24px}.app-shell .main-content{max-width:1920px;padding:18px 24px 12px}.app-shell .page-heading{margin-bottom:12px}.app-shell .page-heading h1{font-size:23px;margin-top:4px}.app-shell .page-heading p{margin-top:6px}.app-shell .evidence-banner{padding:8px 12px;margin-bottom:12px}.app-shell .metrics{gap:12px;margin-bottom:12px}.app-shell .metric-card{padding:12px 16px}.app-shell .metric-card>div{margin-top:5px}.app-shell .metric-card b{font-size:29px}.app-shell .metric-card p{margin-top:7px;padding-top:7px}.fleet-charts{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:12px;margin-bottom:16px}.overview-chart{background:#fff;border:1px solid #e0e7e9;border-radius:9px;padding:14px 16px;min-width:0}.overview-chart header{display:flex;justify-content:space-between;align-items:center;gap:8px}.overview-chart h2{font-size:13px;font-weight:600}.overview-chart header>span{font-size:10px;color:#8b9ba3}.composition-body{display:flex;align-items:center;gap:18px;margin-top:14px}.scenario-ring{width:112px;height:112px;border-radius:50%;padding:14px;flex-shrink:0}.scenario-ring>div{background:#fff;border-radius:50%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.scenario-ring b{font-size:25px}.scenario-ring span{font-size:10px;color:#81959c}.chart-legend{flex:1;display:grid;gap:10px}.chart-legend>div{display:flex;gap:7px;align-items:center;font-size:11px}.chart-legend i{width:7px;height:7px;border-radius:2px}.chart-legend span{flex:1;white-space:nowrap;color:#728791}.chart-legend b{font-size:12px}.chart-legend small{font-size:10px;color:#95a3ab;white-space:nowrap}.freshness-score{display:flex;align-items:baseline;gap:12px;margin-top:16px}.freshness-score>b{font-size:34px;color:#17858a}.freshness-score small{font-size:17px}.freshness-score>span{font-size:11px;color:#81959c}.freshness-track{height:10px;border-radius:5px;background:#e2bd7a;margin-top:10px;overflow:hidden}.freshness-track i{display:block;height:100%;background:#17858a;transition:width .3s}.freshness-key{display:flex;justify-content:space-between;font-size:10px;color:#81959c;margin-top:9px}.freshness-key span:first-child{color:#17858a}.chart-note{font-size:10px;color:#8b9ba3;margin-top:14px;line-height:1.6}.operation-pending{display:flex;justify-content:space-between;margin-top:23px}.operation-pending>div{display:grid;gap:8px;font-size:11px;color:#81959c}.operation-pending b{font-size:25px;font-weight:500;color:#9babb3}.pending-track{margin-top:10px;padding:7px;background:#f3f6f7;border-radius:4px;text-align:center;font-size:10px;color:#93a3ab}.app-shell .filter-bar{margin:10px 0 12px}.app-shell .device-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.app-shell .device-card{padding:13px 16px 0}.app-shell .machine-icon{width:26px;height:26px;font-size:20px}.app-shell .device-title{margin-top:8px}.app-shell .device-title h3{font-size:15px}.app-shell .device-code{margin-top:4px}.app-shell .device-status{margin-top:8px}.app-shell .task-label{margin-top:10px}.app-shell .progress-row{margin-top:10px;margin-bottom:6px}.app-shell .layer-row{margin-top:8px;margin-bottom:10px}.app-shell .device-footer{padding:8px 0}.app-shell .page-footer{padding-top:12px}@media(min-width:1600px){.app-shell .device-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell .device-card{padding:16px 20px 0}.app-shell .device-title h3{font-size:17px}.app-shell .device-footer{font-size:10px}.app-shell .device-code,.app-shell .task-label,.app-shell .progress-row,.app-shell .layer-row{font-size:11px}}@media(max-width:1100px){.app-shell .sidebar{width:72px;padding:24px 15px}.app-shell .sidebar .brand>div,.app-shell .workspace-label,.app-shell .nav-item,.app-shell .sidebar-explainer,.app-shell .sidebar-bottom{display:none}.app-shell .workspace{margin-left:72px;width:calc(100% - 72px)}.fleet-charts{grid-template-columns:1fr 1fr}.overview-chart:last-child{grid-column:1/-1}.operation-pending{margin-top:12px}.app-shell .device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.app-shell .sidebar{display:none}.app-shell .workspace{margin-left:0;width:100%}.app-shell .main-content{padding:16px 12px}.fleet-charts{grid-template-columns:1fr}.overview-chart:last-child{grid-column:auto}.app-shell .device-grid{grid-template-columns:1fr}.freshness-key{gap:8px}.app-shell .evidence-banner>div{font-size:10px}}@media(min-width:1200px)and (min-height:720px){.app-shell .sidebar .nav-item{gap:8px;padding:12px 8px;white-space:nowrap}.app-shell .workspace-label{letter-spacing:0;font-size:8px}.app-shell .page-heading{margin-bottom:10px}.app-shell .page-heading p,.app-shell .metric-card p{display:none}.app-shell .metric-card{padding:10px 16px}.app-shell .device-card{position:relative;padding:12px 16px 0}.app-shell .device-card-top{position:absolute;right:16px;top:15px}.app-shell .machine-icon{display:none}.app-shell .device-title{margin-top:0;padding-right:110px}.app-shell .device-title>span{display:none}.app-shell .task-label,.app-shell .progress-row{margin-top:7px}.app-shell .layer-row{margin-bottom:7px}.app-shell .device-footer{padding:7px 0}.overview-chart{padding:12px 16px}.composition-body{margin-top:10px}.scenario-ring{width:100px;height:100px}.fleet-charts{margin-bottom:12px}}.metrics-toggle{display:flex;gap:4px}.metrics-toggle button{border:0;border-radius:4px;background:#f2f6f7;color:#81959c;padding:4px 7px;font-size:10px}.metrics-toggle button[aria-pressed=true]{background:#e5f2f1;color:#147d82}.operational-bars{display:grid;gap:12px;margin-top:20px}.operational-bars>div{display:flex;align-items:center;gap:8px;font-size:11px}.operational-bars span{color:#728791}.operational-bars i{flex:1;background:#edf2f4;height:8px;border-radius:5px;overflow:hidden}.operational-bars em{display:block;height:100%;background:#17858a}.operational-bars em.maintenance-bar{background:#b28b52}.operational-bars b{font-size:12px;min-width:44px;text-align:right}.operational-bars small{min-width:36px;color:#81959c;font-size:10px;text-align:right}.operational-bars>p,.current-operation-counts>p{font-size:10px;color:#81959c;margin-top:2px}.current-operation-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.current-operation-counts>div{display:grid;gap:6px;font-size:10px;color:#81959c}.current-operation-counts b{font-size:24px;color:#355864}.current-operation-counts small{font-size:10px;margin-left:4px;font-weight:400}.current-operation-counts>p{grid-column:1/-1}.operations-source{margin-top:10px}.operations-cutoff{font-size:9px;color:#98a7af;margin-top:5px}.sensor-history-chart{height:245px;width:100%;min-width:0}.history-limit{padding:9px 14px;font-size:10px;color:#a37a38;background:#fbf7ed;line-height:1.7}.live-history>.history-panel:last-child{grid-column:1/-1}.history-section>.el-alert{margin-top:12px}@media(max-width:650px){.history-section>.section-heading{align-items:flex-start;flex-wrap:wrap}.sensor-history-chart{height:225px}}.compact-device-dialog .el-dialog__body{padding:18px 22px!important}.compact-device-content{display:grid;gap:18px}.compact-device-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;border:1px solid #dfe8eb;border-radius:9px;background:#fff;padding:16px}.compact-device-summary>div{display:grid;gap:7px;min-width:0}.compact-device-summary span{font-size:10px;color:#84959e}.compact-device-summary b{font-size:13px;font-weight:600;overflow-wrap:anywhere}.compact-device-dialog .compact-sensor-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.compact-device-dialog .sensor-tile{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:10px;row-gap:4px;padding:13px 14px;text-align:left;background:#fff;min-height:96px;border:1px solid #dfe8eb;transition:border-color .15s,box-shadow .15s;color:inherit}.sensor-tile:hover{border-color:#71aaa9;box-shadow:0 3px 12px #16343d12}.sensor-tile-icon{grid-row:1/4;width:32px;height:34px;border-radius:8px;background:#edf6f5;color:#187d82;display:grid;place-items:center;font-size:18px;align-self:center;font-weight:600}.compact-device-dialog .sensor-tile .sensor-tile-name{font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#68818d}.compact-device-dialog .sensor-tile .sensor-tile-value{font-size:24px;line-height:1.25;color:#2d535d;font-variant-numeric:tabular-nums}.compact-device-dialog .sensor-tile .sensor-tile-value small{display:inline;margin-left:6px;font-size:10px;color:#84959e;font-weight:400}.sensor-tile-time{font-size:10px;color:#8d9da5;font-variant-numeric:tabular-nums}.compact-imaging-grid{gap:14px;margin-top:12px}.image-preview-card{border:1px solid #dce7e9;border-radius:9px;background:#193640;color:#acc3c9;text-align:left;overflow:hidden;padding:0;display:grid;grid-template-rows:auto 1fr auto;min-height:136px}.image-preview-card:hover{border-color:#4d9fa2;box-shadow:0 3px 12px #16343d18}.preview-title{display:flex;justify-content:space-between;padding:12px 15px;font-size:12px;color:#e0eeef}.preview-title small{font-size:10px;color:#93b6bd}.preview-placeholder{display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;color:#8baab2}.preview-placeholder i{font-size:28px;font-style:normal}.preview-caption{font-size:9px;color:#7699a3;padding:10px 15px}.compact-evidence-note{font-size:10px;line-height:1.6;color:#8a9da6}.compact-device-content .el-empty{padding:15px}.drilldown-dialog.el-dialog{padding:0;border-radius:14px;max-height:88dvh;overflow:hidden;display:flex;flex-direction:column}.drilldown-dialog .el-dialog__header{padding:20px 52px 18px 24px;margin:0;border-bottom:1px solid #e3ebed;flex-shrink:0}.drilldown-dialog .el-dialog__headerbtn{top:9px;right:10px}.drilldown-dialog .el-dialog__body{padding:20px 24px;overflow:auto;min-height:0}.drilldown-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:11px;color:#81939d;flex-wrap:wrap}.drilldown-window{font-size:10px;color:#8b9da6;margin-bottom:12px}.sensor-history-dialog .sensor-history-chart{height:360px}.expanded-image-empty{height:390px;background:#193640;color:#9fbcc4;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.expanded-image-empty>span{font-size:64px;color:#527d8a}.expanded-image-empty p{font-size:12px;line-height:1.9;max-width:550px}.expanded-image-empty b{font-weight:500}@media(min-width:1000px)and (max-height:900px){.compact-device-dialog .el-dialog__header{padding-top:15px;padding-bottom:15px}.compact-device-dialog .el-dialog__body{padding:14px 20px!important}.compact-device-content{gap:12px}.compact-device-summary{padding:12px}.compact-device-dialog .sensor-tile{min-height:80px;padding:9px 12px}.compact-device-dialog .sensor-tile .sensor-tile-value{font-size:22px}.compact-device-dialog .compact-sensor-grid{gap:9px;margin-top:9px}.compact-imaging-grid{margin-top:9px}.image-preview-card{min-height:105px}.preview-title{padding:9px 12px}.preview-caption{padding:8px 12px}}@media(max-width:950px){.compact-device-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-device-dialog .compact-sensor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:570px){.compact-device-dialog .el-dialog__body{padding:14px!important}.compact-device-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.compact-device-dialog .sensor-tile{grid-template-columns:25px minmax(0,1fr);padding:10px;column-gap:7px}.sensor-tile-icon{width:25px;font-size:15px}.compact-device-dialog .sensor-tile .sensor-tile-value{font-size:20px}.compact-imaging-grid{grid-template-columns:1fr}.drilldown-dialog .el-dialog__body{padding:16px}.sensor-history-dialog .sensor-history-chart,.expanded-image-empty{height:280px}}.compact-device-dialog .sensor-tile .sensor-tile-icon{font-size:18px;color:#187d82}.fleet-pagination{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:10px;color:#7c939c}.fleet-pagination>span{font-variant-numeric:tabular-nums;margin-right:5px}.fleet-pagination button{border:1px solid #dce7e9;border-radius:5px;background:#fff;color:#49767d;padding:4px 8px;font-size:11px;line-height:1.2}.fleet-pagination button:hover{background:#edf6f6;border-color:#9bc2c4}.fleet-pagination small{font-size:9px;color:#8c9ea5;margin-left:4px}.fleet-pagination button[aria-pressed=true]{color:#147d82;background:#edf6f6}@media(max-width:760px){.fleet-section>.section-heading{flex-wrap:wrap;gap:10px}.fleet-pagination small{display:none}}.app-shell .device-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.app-shell .device-card{padding:10px 12px 0;min-width:0}.app-shell .device-card .device-title{padding:0;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0}.app-shell .device-card .device-title h3{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .device-card .device-title>span{display:inline-block;flex-shrink:0;font-size:9px}.compact-machine-row{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;margin:6px 0}.device-illustration{height:78px;display:grid;place-items:center;background:#f6f8f9;border-radius:6px;overflow:hidden}.device-illustration img{width:100%;height:100%;object-fit:contain}.generic-machine{font-size:40px;color:#a0b8bc}.app-shell .device-card .device-code{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 6px}.app-shell .device-card .layer-row{font-size:10px;gap:6px;display:flex;justify-content:space-between;margin:5px 0}.app-shell .device-card .progress-row{font-size:9px;margin:5px 0}.app-shell .device-card .device-footer{padding:6px 0;font-size:9px;gap:4px}.app-shell .device-card .freshness-badge{font-size:8px;white-space:nowrap}@media(min-width:1200px)and (max-height:900px){.app-shell .main-content{padding-top:10px}.app-shell .page-heading{margin-bottom:7px}.app-shell .page-heading h1{font-size:21px}.app-shell .evidence-banner{margin-bottom:8px;padding:6px 10px}.app-shell .metric-card{padding:7px 12px}.app-shell .metric-card b{font-size:24px}.app-shell .metrics{margin-bottom:8px}.overview-chart{padding:9px 12px}.scenario-ring{width:70px;height:70px;padding:10px}.scenario-ring b{font-size:19px}.scenario-ring span{font-size:8px}.chart-legend{gap:6px}.chart-legend>div{font-size:10px}.composition-body{gap:10px;margin-top:8px}.freshness-score{margin-top:9px}.freshness-score>b{font-size:27px}.freshness-key{margin-top:7px}.operational-bars{margin-top:10px;gap:7px}.fleet-charts{margin-bottom:8px}.app-shell .filter-bar{margin:7px 0 8px}.app-shell .device-card{padding:8px 10px 0}.device-illustration{height:62px}.compact-machine-row{grid-template-columns:65px minmax(0,1fr);margin:4px 0;gap:7px}.app-shell .device-card .device-footer{padding:4px 0}.app-shell .page-footer{padding-top:8px}}@media(min-width:1200px)and (max-height:800px){.app-shell .topbar{height:46px}.app-shell .main-content{padding-top:7px;padding-bottom:4px}.app-shell .page-heading{margin-bottom:5px}.app-shell .metrics{margin-bottom:6px}.app-shell .metric-card{padding-top:5px;padding-bottom:5px}.app-shell .fleet-charts{margin-bottom:5px}.overview-chart{padding-top:7px;padding-bottom:7px}.app-shell .page-footer{padding-top:5px}.app-shell .device-grid{gap:7px}}.app-shell .device-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.compact-machine-row{grid-template-columns:minmax(0,1fr) 108px;gap:6px;min-height:94px}.device-card-readings{grid-column:1;grid-row:1;min-width:0}.device-illustration{grid-column:2;grid-row:1;height:94px;background:transparent;border-radius:0;overflow:visible}.device-illustration img{object-fit:contain;object-position:right center}.app-shell .device-card .layer-row{flex-direction:column;gap:3px}.app-shell .device-card .device-footer>span:last-child{font-size:8px}@media(max-width:1599px){.app-shell .device-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1199px){.app-shell .device-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:799px){.app-shell .device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.app-shell .device-grid{grid-template-columns:1fr}}@media(min-width:1600px){.app-shell .device-card{padding:7px 10px 0}.compact-machine-row{margin:2px 0}.app-shell .device-card .device-footer{padding:4px 0}.app-shell .device-card .device-title h3{font-size:13px}}@media(min-width:1200px)and (max-height:900px){.compact-machine-row{grid-template-columns:minmax(0,1fr) 94px;min-height:78px}.device-illustration{height:78px}.app-shell .device-card .device-code{margin-bottom:3px}.app-shell .device-card .progress-row,.app-shell .device-card .layer-row{margin:3px 0}}.device-illustration{display:flex;justify-content:flex-end;align-items:center;min-width:0}.device-illustration img{display:block;max-height:94px;max-width:100%;min-width:0;min-height:0}@media(min-width:1200px)and (max-height:900px){.device-illustration img{max-height:78px}}@media(min-width:1200px)and (max-height:800px){.app-shell .page-footer{padding-top:2px;line-height:1}.app-shell .main-content{padding-bottom:0}.app-shell .device-grid{row-gap:5px}.app-shell .fleet-charts{margin-bottom:2px}}.fleet-sort{display:flex;align-items:center;gap:5px;flex-shrink:0}.fleet-sort>span{font-size:9px;color:#81959c;margin-right:3px}.fleet-sort button{border:1px solid #dde7e9;border-radius:5px;background:#fff;color:#718892;padding:6px 8px;font-size:10px}.fleet-sort button[aria-pressed=true]{background:#e8f4f2;color:#147d82;border-color:#a6cdca}.app-shell .device-card .device-title>.device-state{display:inline-flex;align-items:center;gap:5px;background:transparent;color:#667c87;padding:0}.status-lamp{display:inline-block;width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#a7b3bd;box-shadow:0 0 0 3px #a7b3bd16}.state-printing .status-lamp{background:#24a170;box-shadow:0 0 0 3px #24a17016}.state-preparing .status-lamp,.state-paused .status-lamp{background:#e3b229;box-shadow:0 0 0 3px #e3b22919}.state-maintenance .status-lamp{background:#dc8b36;box-shadow:0 0 0 3px #dc8b3619}.state-stopped .status-lamp{background:#d26560;box-shadow:0 0 0 3px #d2656019}.state-offline .status-lamp{background:#84909a}.state-unknown .status-lamp{background:transparent;border:1px solid #a7b3bd;box-shadow:none}@media(max-width:799px){.app-shell .filter-bar{flex-wrap:wrap}.fleet-sort{flex-basis:100%}}.sample-expired{color:#b87b31}.sample-current{color:#17858a}@media(min-width:1600px){.app-shell .device-grid{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:8px}}@media(min-width:1200px)and (max-width:1599px){.app-shell .device-grid{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:7px}}.compact-machine-row{column-gap:4px}.app-shell .device-card{padding-left:9px;padding-right:9px}.app-shell .device-card .progress-row{gap:4px}.app-shell .device-card .progress-row b{white-space:nowrap}.sensor-tile-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-charts{grid-template-columns:minmax(300px,.85fr) minmax(0,1.65fr);gap:12px;margin-bottom:12px}.operational-bars{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;row-gap:10px;margin-top:13px}.operational-bars>p{grid-column:1/-1}.operational-bars small{min-width:50px}.operational-bars .other-duration{background:#79aaa4}.operational-bars .unknown-duration{background:#a7b6c2}.current-operation-counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:13px}.duration-explainer,.state-breakdown{margin-top:7px}.app-shell .main-content{padding-top:12px}.app-shell .page-heading{margin-bottom:10px}@media(min-width:1200px){.overview-chart:last-child{grid-column:auto}.app-shell .device-card{padding-top:6px}.app-shell .device-grid{row-gap:7px}}@media(max-width:1199px){.fleet-charts{grid-template-columns:1fr 1.5fr}.overview-chart:last-child{grid-column:auto}.operational-bars{grid-template-columns:1fr;gap:7px}.current-operation-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:799px){.fleet-charts{grid-template-columns:1fr}.overview-chart:last-child{grid-column:auto}}@media(min-width:1200px)and (max-height:800px){.fleet-charts{gap:9px;margin-bottom:6px}.operational-bars{margin-top:8px;row-gap:7px}.duration-explainer,.state-breakdown{font-size:9px;margin-top:4px}.operations-source{margin-top:5px}.current-operation-counts{margin-top:8px;gap:6px}.current-operation-counts b{font-size:21px}.app-shell .device-grid{row-gap:5px}}@media(min-width:1200px)and (max-height:800px){.app-shell .device-card{padding-top:5px}.compact-machine-row{margin-top:2px;margin-bottom:2px}.app-shell .device-card .device-footer{padding-top:3px;padding-bottom:3px}}.app-shell .page-heading .eyebrow{display:none}@media(min-width:1200px){.heading-time>span{display:none}.heading-time{gap:3px}}.workspace-nav-button{width:100%;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font-family:inherit;font-size:11px}.workspace-nav-button+.workspace-nav-button{margin-top:5px}.mobile-page-switch{display:none}@media(max-width:1100px){.mobile-page-switch{display:flex;gap:7px;padding:12px 20px 0}.mobile-page-switch button{border:1px solid #dce7e9;background:#fff;border-radius:5px;padding:7px 12px;font-size:11px;color:#78929b}.mobile-page-switch button[aria-pressed=true]{background:#e5f3f2;border-color:#a0ccca;color:#1b7c7f}}.app-shell .main-content{padding-top:8px}.app-shell .page-heading{margin-bottom:8px}.app-shell .page-heading h1{margin-top:0;font-size:23px}.app-shell .heading-time{gap:2px}.fleet-charts{margin-bottom:8px}.fleet-charts .overview-chart{padding-block:7px}.fleet-charts .composition-body{margin-top:6px}.fleet-charts .scenario-ring{width:72px;height:72px;padding:9px}.fleet-charts .scenario-ring b{font-size:20px}.fleet-charts .scenario-ring span{font-size:9px}.fleet-charts .chart-legend{gap:4px}.fleet-charts .current-operation-counts,.fleet-charts .operational-bars{margin-top:6px;row-gap:5px}.fleet-charts .current-operation-counts>div{gap:2px}.fleet-charts .current-operation-counts b{font-size:20px;line-height:1.15}.fleet-charts .duration-explainer,.fleet-charts .state-breakdown{margin-top:4px}.operations-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 12px;margin-top:4px}.operations-meta .operations-source,.operations-meta .operations-cutoff{margin:0}.compact-device-content{gap:10px}.device-detail-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(0,.85fr);gap:8px}.device-detail-panel{min-width:0;padding:8px 10px;border:1px solid #dfe8eb;border-radius:9px;background:#fff}.device-detail-panel .section-heading{gap:6px;margin-bottom:7px}.device-detail-panel .compact-device-summary{grid-template-columns:repeat(2,minmax(0,1fr));border:0;padding:0;gap:8px}.device-detail-panel .compact-device-summary>div{gap:3px}.device-detail-task{margin:8px 0;font-size:11px;color:#647c86;overflow-wrap:anywhere}.device-detail-panel>.el-progress{margin-top:8px}.device-detail-machine{display:flex;flex-direction:column}.device-detail-machine img{width:100%;height:min(20dvh,175px);margin-block:auto;object-fit:contain}.device-detail-machine>p{margin:auto;padding:12px 0}.compact-device-dialog .device-detail-top .compact-sensor-grid{display:flex;flex-wrap:wrap;gap:5px;margin-top:0}.compact-device-dialog .device-detail-top .sensor-tile{flex:1 1 max(115px,calc((100% - 10px) / 3));min-height:0;grid-template-columns:21px minmax(0,1fr);gap:1px 5px;padding:5px 6px;line-height:1.15}.compact-device-dialog .device-detail-top .sensor-tile-name{line-height:1.25;white-space:normal;overflow-wrap:anywhere}.compact-device-dialog .device-detail-top .sensor-tile-icon{width:21px;font-size:14px}.compact-device-dialog .device-detail-top .sensor-tile-value{font-size:14px}.compact-device-dialog .device-detail-top .sensor-tile-value small{margin-left:3px;font-size:8px}.compact-device-dialog .device-detail-top .sensor-tile-time{font-size:9px;line-height:1.15}.sensor-history-selector{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:12px}.sensor-history-selector .el-select{width:min(100%,330px)}@media(max-width:850px){.device-detail-top{grid-template-columns:repeat(2,minmax(0,1fr))}.device-detail-machine{grid-column:1 / -1}}@media(max-width:570px){.device-detail-top{grid-template-columns:minmax(0,1fr)}}.login-captcha{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;width:100%}.login-captcha button{display:grid;place-items:center;min-width:0;padding:0;overflow:hidden;border:1px solid #dfe8eb;border-radius:7px;background:#f4f8f9;color:#52727c;font-size:12px}.login-captcha button:disabled{cursor:wait;opacity:.7}.login-captcha img{display:block;width:100%;height:42px;object-fit:contain}.live-imaging-grid[data-v-7178e4ea]{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.live-preview[data-v-7178e4ea]{min-width:0;display:flex;justify-content:center;align-items:center;background:#132b33}.live-preview img[data-v-7178e4ea]{height:100%;width:100%;object-fit:contain}.preview-placeholder[data-v-7178e4ea]{padding:0 8px;text-align:center;font-size:10px}.preview-placeholder i[data-v-7178e4ea]{font-size:22px}.preview-title[data-v-7178e4ea]{padding:9px 12px}.preview-caption[data-v-7178e4ea]{padding:7px 12px;font-variant-numeric:tabular-nums;font-size:9px}.expanded-live-image[data-v-7178e4ea]{height:min(54vh,520px);display:flex;align-items:center;justify-content:center;background:#132b33;border-radius:9px;overflow:hidden}.expanded-live-image img[data-v-7178e4ea]{width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.expanded-live-image[data-v-7178e4ea]{touch-action:none}.expanded-live-image.zoomed[data-v-7178e4ea]{cursor:grab}.expanded-live-image.dragging[data-v-7178e4ea]{cursor:grabbing}.live-image-controls[data-v-7178e4ea]{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;color:#536e78}.live-image-controls span[data-v-7178e4ea]:first-child{margin-right:auto}.live-image-controls button[data-v-7178e4ea]{padding:4px 9px;border:1px solid #d4e2e5;border-radius:4px;background:#fff;color:#2b6269}.live-image-controls button[data-v-7178e4ea]:disabled{opacity:.4;cursor:default}.image-history-list[data-v-7178e4ea]{display:flex;gap:6px;overflow-x:auto;padding:0 0 10px;margin-bottom:8px}.image-history-list button[data-v-7178e4ea]{flex-shrink:0;border:1px solid #dce7e9;border-radius:5px;padding:7px 9px;color:#536e78;background:#f7fafb;font-size:10px}.image-history-list button[aria-pressed=true][data-v-7178e4ea]{color:#0b787d;border-color:#53a0a3;background:#e7f4f4}.live-imaging-grid .image-preview-card[data-v-7178e4ea]{min-width:0;min-height:0}.live-imaging-grid .live-preview[data-v-7178e4ea],.live-imaging-grid .preview-placeholder[data-v-7178e4ea]{width:min(100%,27dvh,265px);aspect-ratio:1;align-self:center;justify-self:center;min-height:0;background:#132b33;border-radius:4px;overflow:hidden}@media(min-width:1000px)and (max-height:800px){.live-imaging-grid .live-preview[data-v-7178e4ea],.live-imaging-grid .preview-placeholder[data-v-7178e4ea]{width:min(100%,23dvh)}}@media(max-width:570px){.live-imaging-grid[data-v-7178e4ea]{grid-template-columns:1fr}.live-imaging-grid .live-preview[data-v-7178e4ea],.live-imaging-grid .preview-placeholder[data-v-7178e4ea]{width:min(100%,220px)}}@media(max-width:570px){.live-imaging-grid[data-v-7178e4ea]{gap:6px}.preview-title[data-v-7178e4ea]{padding:8px;font-size:10px}.preview-title small[data-v-7178e4ea]{display:none}.preview-caption[data-v-7178e4ea]{padding:5px 7px;font-size:8px}.preview-placeholder[data-v-7178e4ea]{flex-direction:column;gap:3px;font-size:9px}.image-history-list[data-v-7178e4ea]{max-width:100%}}.history-viewer[data-v-019b316b]{--history-square: min(52dvh, 590px, calc(100vw - 400px) );color:#193c45}.history-project-header[data-v-019b316b]{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px}.history-project-header>div[data-v-019b316b]{min-width:0}.history-project-header h2[data-v-019b316b]{margin:0 0 5px;font-size:17px;overflow-wrap:anywhere}.history-project-header p[data-v-019b316b]{margin:0;color:#607982;font-size:12px}.history-live-controls[data-v-019b316b]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px;font-size:12px;color:#607982}.history-live-controls label[data-v-019b316b]{display:flex;gap:5px;align-items:center}.history-layout[data-v-019b316b]{display:grid;grid-template-columns:245px minmax(0,1fr);gap:12px}.history-sidebar[data-v-019b316b],.history-comparison figure[data-v-019b316b]{min-width:0;background:#fff;border:1px solid #dce7e9;border-radius:8px;overflow:hidden}.history-sidebar[data-v-019b316b]{display:flex;flex-direction:column;height:calc(var(--history-square) + 43px)}.history-channels[data-v-019b316b]{display:grid;grid-template-columns:repeat(3,1fr);padding:8px;gap:4px;border-bottom:1px solid #e4ecee}.history-channels button[data-v-019b316b]{border:0;border-radius:4px;background:transparent;padding:7px 2px;color:#53737c;font-size:12px;cursor:pointer}.history-channels button[aria-pressed=true][data-v-019b316b]{background:#e4f3f1;color:#246e70;font-weight:700}.history-image-list[data-v-019b316b]{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:4px}.history-image-list>button[data-v-019b316b]{display:flex;flex-direction:column;text-align:left;gap:4px;width:100%;padding:8px;border:0;border-radius:4px;color:#284d57;background:none;cursor:pointer}.history-image-list>button[data-v-019b316b]:hover,.history-image-list>button[aria-current=true][data-v-019b316b]{background:#e4f3f1}.history-image-list>button[aria-current=true][data-v-019b316b]{box-shadow:inset 3px 0 #32918b}.history-layer[data-v-019b316b]{font-weight:600;font-size:11px}.history-layer small[data-v-019b316b]{font-weight:400}.history-file-name[data-v-019b316b]{font-size:11px;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history-status[data-v-019b316b]{padding:12px;font-size:12px;line-height:1.6;color:#607982}.history-page-controls[data-v-019b316b],.history-navigation[data-v-019b316b]{display:flex;justify-content:center;align-items:center;gap:8px}.history-page-controls[data-v-019b316b]{border-top:1px solid #e4ecee;padding:9px 4px;font-size:12px}.history-comparison figure[data-v-019b316b]{display:flex;flex-direction:column;margin:0}.history-comparison figcaption[data-v-019b316b]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;flex-wrap:wrap}.history-zoom-tools[data-v-019b316b]{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:400}.history-zoom-tools button[data-v-019b316b]{padding:4px 9px;border:1px solid #d4e2e5;border-radius:4px;background:#fff;color:#2b6269;cursor:pointer}.history-zoom-tools button[data-v-019b316b]:disabled{opacity:.4;cursor:default}.history-canvas[data-v-019b316b],.history-pseudo-canvas[data-v-019b316b]{min-height:0;display:flex;background:#122c36}.history-pseudo-canvas[data-v-019b316b]{justify-content:center}.history-canvas[data-v-019b316b]{width:var(--history-square);height:var(--history-square);flex:0 0 auto;align-items:center;justify-content:center;overflow:hidden;min-width:0;touch-action:none}.history-canvas.zoomed[data-v-019b316b]{cursor:grab}.history-canvas.dragging[data-v-019b316b]{cursor:grabbing}.history-canvas img[data-v-019b316b]{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}.history-image-status[data-v-019b316b]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;text-align:center;color:#c2d3d7;font-size:12px}.history-legend[data-v-019b316b]{display:flex;gap:5px;width:47px;margin:12px 4px 12px 0;color:#e4f0f1;font-size:10px}.history-legend-gradient[data-v-019b316b]{width:12px;border:1px solid #ffffff35}.history-legend-labels[data-v-019b316b]{display:flex;flex-direction:column;justify-content:space-between}.history-current-info[data-v-019b316b]{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0}.history-current-info>div[data-v-019b316b]{display:grid;min-width:0;gap:4px;font-size:12px}.history-current-info strong[data-v-019b316b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-current-info span[data-v-019b316b]{color:#607982}.history-jump[data-v-019b316b],.history-jump label[data-v-019b316b]{display:flex;gap:7px;align-items:center;white-space:nowrap;font-size:12px}.history-jump input[data-v-019b316b]{width:72px;border:1px solid #c6d8dc;border-radius:4px;padding:6px;color:#193c45}.history-navigation[data-v-019b316b]{flex-wrap:wrap;font-size:12px}.history-jump-error[data-v-019b316b]{margin:8px 0 0;text-align:center;color:#a45b24;font-size:12px}@media(max-width:900px){.history-layout[data-v-019b316b]{grid-template-columns:190px minmax(0,1fr);gap:8px}}@media(max-width:640px){.history-viewer[data-v-019b316b]{--history-square: min(35vh, 340px, calc(100vw - 100px) )}.history-layout[data-v-019b316b]{grid-template-columns:1fr}.history-sidebar[data-v-019b316b]{height:150px}.history-legend[data-v-019b316b]{width:33px;gap:3px;font-size:9px}.history-legend-gradient[data-v-019b316b]{width:8px}}.monitoring-query-page[data-v-0adc85a5]{padding:28px 26px 24px;max-width:1920px;margin:auto;color:#193c45}.monitoring-heading[data-v-0adc85a5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.monitoring-eyebrow[data-v-0adc85a5]{font-size:10px;letter-spacing:2px;color:#658b91;font-weight:700}.monitoring-heading h1[data-v-0adc85a5]{margin:8px 0 9px;font-size:27px;letter-spacing:-.6px}.monitoring-heading h1 span[data-v-0adc85a5]{display:inline-block;vertical-align:middle;margin-left:12px;padding:5px 8px;font-size:10px;letter-spacing:0;font-weight:500;color:#417e83;border:1px solid #c6dfdf;border-radius:5px;background:#edf7f6}.monitoring-heading p[data-v-0adc85a5]{margin:0;font-size:12px;color:#71868e}.monitoring-retention[data-v-0adc85a5]{display:flex;align-items:center;gap:13px;padding-left:20px;border-left:1px solid #d7e3e5}.monitoring-retention b[data-v-0adc85a5]{font-size:25px;font-weight:500;color:#628b8d}.monitoring-retention span[data-v-0adc85a5]{font-size:10px;color:#8a9b9e;line-height:1.8}.monitoring-filters[data-v-0adc85a5]{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.5fr) 130px auto;gap:16px;align-items:end;padding:18px 20px;border:1px solid #dce6e8;border-radius:10px;background:#fff;box-shadow:0 4px 16px #17373f03}.monitoring-filters label>span[data-v-0adc85a5]{display:block;font-size:11px;color:#6f848b;margin-bottom:8px}.monitoring-filters .el-select[data-v-0adc85a5]{width:100%}.monitoring-filters>.el-button[data-v-0adc85a5]{height:33px;padding:0 19px}.project-option[data-v-0adc85a5]{display:flex;gap:12px;align-items:center;min-width:0}.project-option b[data-v-0adc85a5]{font-size:12px;font-weight:500}.project-option small[data-v-0adc85a5]{font-size:10px;color:#8a9b9e;overflow:hidden;text-overflow:ellipsis}.monitoring-context[data-v-0adc85a5]{display:flex;justify-content:space-between;gap:16px;margin:21px 1px 9px;font-size:12px;font-weight:600}.monitoring-context i[data-v-0adc85a5]{font-style:normal;color:#c0cdd0;margin:0 10px}.monitoring-context small[data-v-0adc85a5]{font-size:10px;font-weight:400;color:#8a9b9e}.monitoring-project-path[data-v-0adc85a5]{font-size:10px;color:#7e939b;overflow-wrap:anywhere;margin:0 0 15px}.monitoring-results-heading[data-v-0adc85a5]{display:flex;align-items:center;justify-content:space-between;margin:24px 0 14px}.monitoring-results-heading h2[data-v-0adc85a5]{margin:0;font-size:16px}.monitoring-results-heading h2 span[data-v-0adc85a5]{font-size:10px;color:#8ba0a5;margin-left:10px;font-weight:400}.monitoring-module-grid[data-v-0adc85a5]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.monitoring-module[data-v-0adc85a5]{min-width:0;background:#fff;border:1px solid #dce7e9;border-radius:11px;overflow:hidden}.monitoring-module-header[data-v-0adc85a5]{display:flex;align-items:center;padding:16px 16px 14px;gap:10px;border-bottom:1px solid #edf2f3}.monitoring-channel-symbol[data-v-0adc85a5]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:#e9f4f3;color:#307c7e;font-size:11px;font-weight:700}.monitoring-module-header h3[data-v-0adc85a5]{font-size:13px;margin:0 0 4px;font-weight:600}.monitoring-module-header small[data-v-0adc85a5]{font-size:9px;color:#8c9da2}.monitoring-channel-dot[data-v-0adc85a5]{margin-left:auto;width:6px;height:6px;border-radius:50%;background:#d9e4e6}.monitoring-channel-dot.ready[data-v-0adc85a5]{background:#62a69d}.monitoring-image-grid[data-v-0adc85a5]{padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.monitoring-image-card[data-v-0adc85a5]{overflow:hidden;min-width:0;border:1px solid #e6edef;border-radius:7px}.monitoring-image-open[data-v-0adc85a5]{border:0;background:#16323b;display:flex;justify-content:center;align-items:center;width:100%;height:125px;padding:0;cursor:zoom-in;position:relative;overflow:hidden}.monitoring-image-open img[data-v-0adc85a5]{width:100%;height:100%;object-fit:contain}.monitoring-image-open>span[data-v-0adc85a5]{padding:12px;color:#bed0d4;font-size:10px;line-height:1.7;overflow-wrap:anywhere}.monitoring-image-open i[data-v-0adc85a5]{position:absolute;right:7px;bottom:7px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;background:#ffffffd9;font-style:normal;color:#315c66}.monitoring-image-info[data-v-0adc85a5]{padding:9px 8px}.monitoring-image-info>b[data-v-0adc85a5]{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:500;color:#4f6d77}.monitoring-image-info time[data-v-0adc85a5]{display:block;font-size:8px;color:#8a9da4;margin:6px 0;overflow-wrap:anywhere}.monitoring-download-link[data-v-0adc85a5]{border:0;padding:0;background:none;cursor:pointer;color:#1c868a;font-size:10px;line-height:1.6}.monitoring-download-link[data-v-0adc85a5]:disabled{color:#95afb4;cursor:wait}.monitoring-module-footer[data-v-0adc85a5]{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-top:1px solid #edf2f3;font-size:9px;color:#8b9ea4}.monitoring-module-footer>div[data-v-0adc85a5]{display:flex;gap:6px}.monitoring-module-footer button[data-v-0adc85a5]{border:1px solid #dbe6e8;border-radius:4px;width:24px;height:23px;background:#fff;color:#4a7a82;cursor:pointer}.monitoring-module-footer button[data-v-0adc85a5]:disabled{opacity:.35;cursor:default}.monitoring-empty[data-v-0adc85a5]{min-height:260px;padding:35px 20px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.monitoring-empty>span[data-v-0adc85a5]{font-size:35px;font-weight:200;color:#a8c3c8;margin-bottom:18px}.monitoring-empty b[data-v-0adc85a5]{font-size:11px;font-weight:500;color:#749099;line-height:1.8}.monitoring-download-notice[data-v-0adc85a5]{font-size:11px;color:#9d7947;padding:11px 0 0;margin:0}.monitoring-viewer-toolbar[data-v-0adc85a5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.monitoring-viewer-toolbar b[data-v-0adc85a5]{font-size:12px;font-weight:500;overflow-wrap:anywhere}.monitoring-viewer-toolbar small[data-v-0adc85a5]{display:block;font-size:10px;color:#8b9fa5;margin-top:7px}.monitoring-expanded-image[data-v-0adc85a5]{height:min(60vh,620px);display:flex;align-items:center;justify-content:center;border-radius:8px;background:#132d36;overflow:hidden}.monitoring-expanded-image img[data-v-0adc85a5]{max-width:100%;max-height:100%;object-fit:contain}.monitoring-expanded-image>span[data-v-0adc85a5]{color:#bdcdd2;font-size:12px}.monitoring-viewer-footer[data-v-0adc85a5]{display:flex;justify-content:center;align-items:center;gap:20px;padding-top:16px}.monitoring-viewer-footer>span[data-v-0adc85a5]{font-size:11px;color:#8b9da5}@media(min-width:1700px){.monitoring-image-open[data-v-0adc85a5]{height:170px}}@media(max-width:1250px){.monitoring-query-page[data-v-0adc85a5]{padding:22px 20px}.monitoring-filters[data-v-0adc85a5]{gap:12px;padding:15px;grid-template-columns:1fr 1.3fr 110px auto}.monitoring-module-grid[data-v-0adc85a5]{gap:12px}.monitoring-image-grid[data-v-0adc85a5]{padding:9px;gap:9px}.monitoring-module-header[data-v-0adc85a5]{padding:13px 12px}.monitoring-image-open[data-v-0adc85a5]{height:108px}}@media(max-width:900px){.monitoring-module-grid[data-v-0adc85a5]{grid-template-columns:1fr}.monitoring-image-grid[data-v-0adc85a5]{grid-template-columns:repeat(4,minmax(0,1fr))}.monitoring-filters[data-v-0adc85a5]{grid-template-columns:1fr 1fr}.monitoring-empty[data-v-0adc85a5]{min-height:170px}.monitoring-heading h1[data-v-0adc85a5]{font-size:23px}.monitoring-context[data-v-0adc85a5]{flex-wrap:wrap}}@media(max-width:570px){.monitoring-query-page[data-v-0adc85a5]{padding:18px 12px}.monitoring-retention[data-v-0adc85a5]{display:none}.monitoring-heading h1[data-v-0adc85a5]{font-size:21px}.monitoring-heading h1 span[data-v-0adc85a5]{display:block;margin:10px 0 0;width:max-content}.monitoring-filters[data-v-0adc85a5]{grid-template-columns:1fr}.monitoring-image-grid[data-v-0adc85a5]{grid-template-columns:repeat(2,minmax(0,1fr))}.monitoring-image-open[data-v-0adc85a5]{height:135px}.monitoring-results-heading h2[data-v-0adc85a5]{font-size:14px}}.monitoring-project-actions[data-v-0adc85a5]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.monitoring-project-actions .monitoring-project-path[data-v-0adc85a5]{margin:0;min-width:0}.monitoring-project-archive-button[data-v-0adc85a5]{flex-shrink:0;font-size:11px}.monitoring-archive-notice[data-v-0adc85a5]{padding:11px 14px;margin:0 0 14px;border:1px solid #cbe3df;background:#edf7f4;border-radius:7px;font-size:11px;line-height:1.8;color:#35776d;overflow-wrap:anywhere}.monitoring-archive-notice.error[data-v-0adc85a5]{color:#a86b38;background:#fff7ec;border-color:#f0dfc6}.monitoring-module-archive-button[data-v-0adc85a5]{margin-left:auto;border:0;background:none;padding:4px 0;color:#1c868a;font-size:10px;line-height:1.6;white-space:nowrap;cursor:pointer}.monitoring-module-archive-button[data-v-0adc85a5]:disabled{color:#a7b7bb;cursor:default}.monitoring-module-archive-button+.monitoring-channel-dot[data-v-0adc85a5]{margin-left:0}@media(max-width:570px){.monitoring-project-actions[data-v-0adc85a5]{align-items:flex-start;flex-direction:column;gap:10px}}.monitoring-project-buttons[data-v-0adc85a5]{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.monitoring-project-buttons .el-button[data-v-0adc85a5]{margin:0;font-size:11px}.monitoring-query-page[data-v-0adc85a5]{padding-top:12px}.monitoring-heading[data-v-0adc85a5]{gap:12px;margin-bottom:10px}.monitoring-heading h1[data-v-0adc85a5]{margin:0;font-size:23px}.monitoring-retention[data-v-0adc85a5]{gap:8px;padding-left:12px}.monitoring-retention b[data-v-0adc85a5]{font-size:19px;white-space:nowrap}.monitoring-filters[data-v-0adc85a5]{padding:8px 12px;gap:10px}.monitoring-filters label>span[data-v-0adc85a5]{margin-bottom:3px;white-space:nowrap}.monitoring-context[data-v-0adc85a5]{margin:8px 1px 4px;gap:4px 12px}.monitoring-project-actions[data-v-0adc85a5]{margin-bottom:4px;gap:10px}.monitoring-results-heading[data-v-0adc85a5]{margin:8px 0}.monitoring-module-header[data-v-0adc85a5]{padding-block:8px}.monitoring-image-open[data-v-0adc85a5]{height:clamp(135px,20vh,210px)}@media(min-width:901px){.monitoring-filters[data-v-0adc85a5]{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) 168px auto}.monitoring-filters label[data-v-0adc85a5]{display:flex;align-items:center;gap:8px;min-width:0}.monitoring-filters label>span[data-v-0adc85a5]{margin-bottom:0}.monitoring-filters .el-select[data-v-0adc85a5]{flex:1;min-width:0}}@media(max-width:570px){.monitoring-project-buttons[data-v-0adc85a5]{max-width:100%}}
