:root{--pf-primary:#c63c3c;--pf-primary-hover:#aa3030;--pf-primary-soft:#fbeaea;--pf-ink:#191d22;--pf-text:#20252b;--pf-text-muted:#68717b;--pf-text-subtle:#8a929b;--pf-canvas:#f3f5f7;--pf-surface:#fff;--pf-surface-subtle:#f8f9fa;--pf-border:#dfe3e8;--pf-border-strong:#cdd3d9;--pf-sidebar:#171b20;--pf-sidebar-hover:#252b32;--pf-sidebar-active:#30363e;--pf-success:#27825b;--pf-success-soft:#eaf6ef;--pf-warning:#a15b21;--pf-warning-soft:#fff3e5;--pf-danger:#b83232;--pf-danger-soft:#fdeaea;--pf-info:#2f6f9f;--pf-info-soft:#eaf2f8;--pf-radius-xs:4px;--pf-radius-sm:5px;--pf-radius-md:6px;--pf-radius-lg:8px;--pf-sidebar-width:248px;--pf-page-title-size:20px;--pf-topbar-height:76px;--pf-page-x:28px;--pf-shadow-overlay:0 18px 50px #161c2229;--el-color-primary:var(--pf-primary);--el-color-primary-light-3:#d66d6d;--el-color-primary-light-5:#e39c9c;--el-color-primary-light-7:#f0cccc;--el-color-primary-light-8:#f5dddd;--el-color-primary-light-9:var(--pf-primary-soft);--el-color-primary-dark-2:var(--pf-primary-hover);--el-color-danger:var(--pf-danger);--el-border-color:var(--pf-border);--el-border-color-light:#e8ebee;--el-fill-color-light:var(--pf-surface-subtle);--el-text-color-primary:var(--pf-text);--el-text-color-regular:#4f5862;--el-text-color-secondary:var(--pf-text-muted);--el-border-radius-base:var(--pf-radius-sm);--el-border-radius-small:var(--pf-radius-xs);--el-font-size-base:14px}.el-button{gap:7px;min-height:36px;font-weight:500}.el-button--danger{--el-button-bg-color:var(--pf-primary);--el-button-border-color:var(--pf-primary);--el-button-hover-bg-color:var(--pf-primary-hover);--el-button-hover-border-color:var(--pf-primary-hover)}.el-input__wrapper,.el-select__wrapper,.el-date-editor.el-input__wrapper{min-height:36px;box-shadow:0 0 0 1px var(--pf-border) inset}.el-input__wrapper:hover,.el-select__wrapper:hover{box-shadow:0 0 0 1px var(--pf-border-strong) inset}.el-input__wrapper.is-focus,.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--pf-primary) inset, 0 0 0 3px #c63c3c14}.el-table{--el-table-border-color:#e4e7ea;--el-table-header-bg-color:#f6f7f9;--el-table-row-hover-bg-color:#faf4f4;color:var(--pf-text)}.el-table th.el-table__cell{color:#4f5862;height:44px;font-size:13px;font-weight:600}.el-table td.el-table__cell{min-height:48px;padding:10px 0}.el-table .cell{line-height:1.55}.el-dialog,.el-drawer{border:1px solid var(--pf-border);border-radius:var(--pf-radius-lg);box-shadow:var(--pf-shadow-overlay);overflow:hidden}.el-dialog__header,.el-drawer__header{border-bottom:1px solid var(--pf-border);margin:0;padding:18px 20px}.el-dialog__body{padding:20px}.el-dialog__footer{background:var(--pf-surface-subtle);border-top:1px solid var(--pf-border);padding:14px 20px}.el-tabs__item{height:48px;color:var(--pf-text-muted);font-weight:500}.el-tabs__item.is-active{color:var(--pf-primary)}.el-tag{border-radius:var(--pf-radius-xs)}.el-pagination{--el-pagination-button-bg-color:var(--pf-surface);--el-pagination-hover-color:var(--pf-primary)}.el-loading-mask{background-color:#ffffffc2}.app-shell{grid-template-columns:var(--pf-sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{color:#f8fafc;background:var(--pf-sidebar);border-right:1px solid #303740;flex-direction:column;min-width:0;height:100vh;display:flex;position:sticky;top:0;box-shadow:1px 0 #0000002e}.brand{border-bottom:1px solid #2b3139;align-items:center;gap:11px;min-height:76px;padding:0 18px;display:flex}.brand-mark{color:#fff;background:var(--pf-primary);border-radius:var(--pf-radius-sm);flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:750;display:grid}.brand-copy{gap:2px;min-width:0;display:grid}.brand-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.brand-copy small{color:#88929d;letter-spacing:0;font-size:10px}.navigation{scrollbar-color:#596470 #1b2026;scrollbar-gutter:stable;scrollbar-width:thin;flex:1;padding:13px 10px 18px 12px;overflow:auto}.navigation::-webkit-scrollbar{width:10px}.navigation::-webkit-scrollbar-track{background:#1b2026;border-radius:8px;margin:8px 0}.navigation::-webkit-scrollbar-thumb{background:#56616c padding-box padding-box;border:2px solid #1b2026;border-radius:8px;min-height:42px}.navigation::-webkit-scrollbar-thumb:hover{background:#707c88 padding-box padding-box}.nav-primary{border-bottom:1px solid #2b3139;gap:3px;padding-bottom:13px;display:grid}.nav-primary+.nav-group,.nav-group+.nav-group{margin-top:16px}.nav-group-label{color:#717b86;padding:0 10px 7px;font-size:11px;font-weight:600;display:block}.nav-group-items{gap:3px;display:grid}.nav-item,.settings-button{color:#b8c0c9;border-radius:var(--pf-radius-sm);text-align:left;background:0 0;border:0;align-items:center;gap:11px;width:100%;height:40px;padding:0 12px;text-decoration:none;transition:color .14s,background-color .14s;display:flex;position:relative}.nav-item:before{content:"";background:0 0;border-radius:0 2px 2px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.nav-item:hover,.settings-button:hover{color:#fff;background:var(--pf-sidebar-hover)}.nav-item.active{color:#fff;background:var(--pf-sidebar-active);font-weight:550}.nav-item.active:before{background:#e05252}.sidebar-footer{border-top:1px solid #2b3139;padding:12px}.sidebar-version{color:#707a85;justify-content:space-between;align-items:center;padding:10px 12px 0;font-size:11px;display:flex}.sidebar-status{align-items:center;gap:5px;display:inline-flex}.sidebar-status:before{content:"";background:#7f8994;border-radius:1px;width:6px;height:6px}.content-shell{background:var(--pf-canvas);min-width:0}.topbar{z-index:20;min-height:var(--pf-topbar-height);padding:10px var(--pf-page-x);border-bottom:1px solid var(--pf-border);background:#fffffff5;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.page-heading{min-width:0}.breadcrumb{color:var(--pf-text-subtle);margin:0;font-size:12px}.topbar-actions,.account-summary,.account-copy{align-items:center;display:flex}.topbar-actions{gap:8px}.scope-indicator{min-height:32px;color:var(--pf-text-muted);background:var(--pf-surface-subtle);border:1px solid var(--pf-border);border-radius:var(--pf-radius-sm);white-space:nowrap;align-items:center;gap:6px;padding:0 9px;font-size:12px;display:inline-flex}.account-summary{min-height:38px;color:var(--pf-text);background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-sm);gap:9px;padding:4px 9px}.account-avatar{width:27px;height:27px;color:var(--pf-primary);background:var(--pf-primary-soft);border-radius:var(--pf-radius-xs);place-items:center;display:grid}.account-copy{flex-direction:column;align-items:flex-start;line-height:1.2}.account-copy strong{font-size:13px;font-weight:600}.account-copy small{color:var(--pf-text-subtle);margin-top:2px;font-size:10px}.icon-button{color:#525b65;background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-sm);place-items:center;width:38px;height:38px;display:grid}.icon-button:hover{color:var(--pf-primary);background:var(--pf-primary-soft);border-color:#dbb8b8}.content-shell>main{padding:24px var(--pf-page-x) 40px}@media (width<=1100px){:root{--pf-sidebar-width:208px;--pf-page-x:20px}.brand-copy strong,.nav-item,.settings-button{font-size:13px}}@media (width<=760px){:root{--pf-sidebar-width:56px;--pf-page-x:10px}.brand{justify-content:center;padding:0}.brand-copy,.nav-group-label,.nav-item span,.settings-button span,.sidebar-version,.account-copy,.scope-indicator{display:none}.nav-primary{padding-bottom:10px}.navigation,.sidebar-footer{padding-left:8px;padding-right:8px}.nav-item,.settings-button{justify-content:center;padding:0}.topbar{gap:8px;min-height:66px;padding:8px 10px}.content-shell,.content-shell>main{width:100%;min-width:0}.content-shell>main{padding-top:12px;padding-bottom:24px;overflow-x:hidden}.topbar-actions{flex:none}.navigation::-webkit-scrollbar{width:6px}}:root{color:var(--pf-text);background:var(--pf-canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%}body{background:var(--pf-canvas);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #c63c3c52}::selection{color:var(--pf-ink);background:#f3caca}h1,h2,h3,p{letter-spacing:0}h1,h2,h3{color:var(--pf-ink)}h2{margin:0;font-size:16px;font-weight:600}main>.section-block>.section-heading>div:first-child>h2{font-size:var(--pf-page-title-size);line-height:1.35}.section-block{background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-md);min-width:0}.section-heading{border-bottom:1px solid var(--pf-border);justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:13px 18px;display:flex}.section-heading>div:first-child{min-width:0}.section-heading p{color:var(--pf-text-muted);margin:4px 0 0;font-size:12px;line-height:1.55}.heading-actions,.page-actions{flex:none;align-items:center;gap:8px;display:flex}.metric-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;display:grid}.metric{background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-md);justify-content:space-between;align-items:center;min-height:84px;padding:18px;display:flex}.metric-label{color:var(--pf-text-muted);font-size:14px}.metric strong{font-variant-numeric:tabular-nums;font-size:28px}.search,.asset-search{height:36px;color:var(--pf-text-subtle);background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-sm);align-items:center;gap:8px;padding:0 11px;display:flex}.search:focus-within,.asset-search:focus-within{border-color:var(--pf-primary);box-shadow:0 0 0 3px #c63c3c14}.search input,.asset-search input{width:100%;min-width:0;color:var(--pf-text);background:0 0;border:0;outline:0}.secondary-button{color:#4b535c;background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-sm);height:36px;padding:0 13px}.empty-table{min-height:360px}.empty-state,.quality-empty{min-height:280px;color:var(--pf-text-subtle);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.empty-state strong{color:#4c545d;font-size:14px}.empty-state span{font-size:13px}.primary-action,.primary-inline{color:#fff;background:var(--pf-primary);border:1px solid var(--pf-primary);border-radius:var(--pf-radius-sm)}.primary-action:hover,.primary-inline:hover{background:var(--pf-primary-hover);border-color:var(--pf-primary-hover)}.primary-inline{align-items:center;gap:7px;height:36px;padding:0 13px;display:inline-flex}@media (width<=900px){.metric-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media (width<=760px){.section-block{width:100%;overflow:hidden}.section-heading{flex-wrap:wrap;align-items:flex-start;min-height:auto;padding:12px}.heading-actions,.page-actions{flex-wrap:wrap;max-width:100%}.metric-grid{grid-template-columns:1fr}.el-dialog{max-width:680px;margin-left:auto;margin-right:auto;width:calc(100% - 24px)!important}.el-drawer{width:min(92vw,760px)!important}.el-table{max-width:100%}:where(.asset-toolbar,.controller-toolbar,.deployment-toolbar,.device-pool-toolbar,.analysis-toolbar,.operation-toolbar,.review-toolbar,.quality-toolbar){flex-wrap:wrap;align-items:stretch;gap:8px;width:100%;display:flex}:where(.asset-toolbar,.controller-toolbar,.deployment-toolbar,.device-pool-toolbar,.analysis-toolbar,.operation-toolbar,.review-toolbar,.quality-toolbar) :where(.el-input,.el-select,.el-cascader,.controller-code-search){flex:190px;width:auto;min-width:0}}.report-version-list{gap:5px;display:grid}.report-version-list>span{align-items:center;gap:7px;display:flex}.report-version-list small{color:var(--text-muted)}.report-template-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}.report-template-switches{gap:22px;padding-top:8px;display:flex}.report-preview{color:#202630;background:#fff;border:1px solid #d9dde4;max-width:780px;margin:0 auto;padding:36px 42px}.report-preview header,.report-preview footer{text-align:center}.report-preview h1{font-size:28px}.report-preview table{border-collapse:collapse;width:100%;margin:28px 0}.report-preview th,.report-preview td{text-align:left;border:1px solid #aeb5c0;padding:10px}.report-preview th{background:#f3f4f6;width:120px}.report-watermark{color:#c72f38;text-align:center;font-weight:700}.report-downloads{flex-wrap:wrap;gap:8px;display:flex}.report-archive-filters{grid-template-columns:minmax(260px,1fr) 210px auto;gap:12px;margin-bottom:18px;display:grid}.report-archive-subline{color:var(--pf-text-muted);margin-top:4px;display:block}.report-archive-actions{flex-wrap:wrap;gap:2px 8px;display:flex}.batch-report-dialog{gap:18px;display:grid}.batch-report-form{grid-template-columns:minmax(220px,1fr) minmax(300px,1.4fr);gap:18px;display:grid}.batch-report-controller-head,.batch-report-result>div{justify-content:space-between;align-items:center;width:100%;display:flex}.batch-report-controller-head{color:var(--pf-text-muted);font-size:12px}.batch-report-controllers{border:1px solid var(--pf-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;max-height:230px;padding:10px;display:grid;overflow-y:auto}.batch-report-controllers .el-checkbox{border:1px solid #e5e8eb;min-width:0;height:auto;margin:0;padding:9px 10px}.batch-report-controllers .el-checkbox__label{white-space:normal;gap:3px;min-width:0;display:grid}.batch-report-controllers span,.batch-report-result span{color:var(--pf-text-muted);font-size:12px}.batch-report-result{border-top:1px solid var(--pf-border);gap:10px;padding-top:16px;display:grid}@media (width<=720px){.report-template-form,.batch-report-form,.batch-report-controllers,.report-archive-filters{grid-template-columns:1fr}}.deployment-page{margin-top:0;overflow:hidden}.heading-actions,.deployment-actions{align-items:center;gap:8px;display:flex}.deployment-summary{color:#68717b;background:#fafbfc;border-bottom:1px solid #e5e8eb;gap:30px;padding:14px 20px;font-size:13px;display:flex}.deployment-summary span{align-items:baseline;gap:6px;display:flex}.deployment-summary strong{color:#24292f;font-size:19px}.deployment-task-tabs{border-bottom:1px solid #e6e9ec;padding:0 18px}.deployment-task-tabs .el-tabs__header{margin:0}.form-field-hint{color:var(--el-text-color-secondary);margin:6px 0 0;font-size:12px;line-height:1.5}.deployment-toolbar{border-bottom:1px solid #e6e9ec;grid-template-columns:minmax(280px,360px) minmax(260px,1fr) auto auto auto;align-items:center;gap:10px;min-height:62px;padding:12px 18px;display:grid}.deployment-toolbar .region-cascader,.deployment-toolbar .deployment-search-input{width:100%}.deployment-result-count{color:var(--pf-text-muted);white-space:nowrap;font-size:13px}.deployment-table .table-secondary{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:250px;display:block;overflow:hidden}.deployment-conclusion-pending{color:#8a5a20;max-width:165px;line-height:1.45;display:inline-block}.deployment-cell-stack{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:48px;display:flex}.deployment-cell-stack .table-primary,.deployment-cell-stack .table-secondary{width:100%}.deployment-row-actions{white-space:nowrap;grid-template-columns:repeat(2,max-content);justify-content:center;align-items:center;gap:4px;display:grid}.close-readiness-alert{margin:10px 0 16px}.post-closure-amendment-alert{margin-bottom:16px}.deployment-row-actions .el-button:nth-child(3){grid-column:1/-1;justify-self:center}.deployment-row-actions .el-button+.el-button{margin-left:0}.deployment-form-note{color:#606a74;background:#f6f7f9;border-left:3px solid #c63c3c;margin:-4px 0 18px;padding:10px 12px;font-size:13px}.form-two-columns,.deployment-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.deployment-detail-grid__wide{grid-column:1/-1}.cabinet-function-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px;display:grid}.cabinet-function-grid__item{grid-template-columns:88px minmax(150px,1fr);align-items:center;gap:8px;display:grid}.cabinet-function-grid__item>span{color:#5f6973;white-space:nowrap;font-size:13px}.drawer-title{justify-content:space-between;align-items:center;width:100%;padding-right:18px;display:flex}.drawer-title h2{color:#24292f}.drawer-title span{color:#77818b;margin-top:5px;font-size:12px;display:block}.deployment-task-facts{border:1px solid #e3e6e9;border-radius:5px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:14px;display:grid;overflow:hidden}.deployment-task-facts>div{border-right:1px solid #e3e6e9;align-content:center;gap:5px;min-height:68px;padding:11px 14px;display:grid}.deployment-task-facts>div:last-child{border-right:0}.deployment-task-facts span{color:#77818b;font-size:12px}.deployment-task-facts strong{color:#24292f;font-size:14px}.deployment-drawer .el-table .el-input,.deployment-drawer .el-table .el-select,.deployment-drawer .el-table .el-date-editor{width:100%}.deployment-drawer .el-table .el-input__wrapper,.deployment-drawer .el-table .el-select__wrapper{min-height:30px}.deployment-timeline{background:#f8f9fa;border:1px solid #e3e6e9;border-radius:5px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.deployment-timeline span{color:#5e6872;border-right:1px solid #e1e5e8;flex-direction:column;justify-content:center;gap:5px;min-height:66px;padding:10px 16px;font-size:13px;display:flex}.deployment-timeline span:last-child{border-right:0}.deployment-timeline strong{color:#252a30;font-size:12px}.deployment-workflow-card{background:#fff;border:1px solid #e3e6e9;border-radius:6px;margin-top:14px;padding:16px 18px}.deployment-workflow-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.deployment-workflow-header h3{color:#252a30;margin:0;font-size:15px}.deployment-workflow-header p{color:#68717b;margin:5px 0 0;font-size:13px}.deployment-workflow-card .el-step__description{color:#7b858f;max-width:150px;line-height:1.45}.material-warning{color:#7b4a16;background:#fff9ef;border:1px solid #ecd8b8;border-radius:5px;align-items:flex-start;gap:16px;margin-top:14px;padding:11px 14px;font-size:13px;display:flex}.material-warning strong{flex:none}.material-warning span{line-height:1.6}.drawer-section{border-top:1px solid #e3e6e9;margin-top:18px;padding-top:18px}.drawer-section-title{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.drawer-section-title h3{margin:0;font-size:15px}.drawer-section-title p{color:#7b858f;margin:4px 0 0;font-size:12px}.table-subtext,.dialog-hint,.muted-note{color:var(--el-text-color-secondary);margin:4px 0 0;font-size:12px;line-height:1.45}.dialog-hint{margin:0 0 16px}.drawer-save-row,.deployment-actions{justify-content:flex-end;display:flex}.deployment-actions{border-top:1px solid #e3e6e9;margin-top:22px;padding-top:18px}.controller-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 14px;display:grid}.deployment-photo-tile{color:#30363d;background:#fafbfc;border:1px solid #e0e4e8;border-radius:6px;align-items:stretch;min-width:0;min-height:134px;padding:12px;display:flex}.deployment-photo-tile:hover{border-color:#c84444}.deployment-photo-tile--dragging{background:#fff7f7;border-color:#c84444;box-shadow:inset 0 0 0 1px #c84444}.deployment-photo-tile__content{gap:4px;width:100%;min-width:0;display:grid}.deployment-photo-tile__content strong{overflow-wrap:anywhere;font-size:13px}.deployment-photo-tile__content span{color:#7b858f;font-size:12px}.deployment-photo-tile__drop-hint{color:#a45757!important}.deployment-photo-tile__upload,.deployment-photo-tile__view{color:#b63838;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;width:fit-content;padding:0;font-size:12px;display:inline-flex}.deployment-photo-tile__thumbs{gap:7px;min-width:0;display:flex}.deployment-photo-tile__thumb-wrap{width:62px;height:62px;position:relative}.deployment-photo-tile__thumbnail{cursor:zoom-in;background:#f2f4f6;border:1px solid #dfe4e8;border-radius:4px;width:62px;height:62px;padding:0;display:block;overflow:hidden}.deployment-photo-tile__thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.deployment-photo-tile__delete{color:#fff;cursor:pointer;background:#c84444;border:1px solid #fff;border-radius:50%;place-items:center;width:22px;height:22px;padding:0;display:grid;position:absolute;top:-6px;right:-6px}.deployment-photo-preview{gap:12px;max-height:72vh;display:grid}.deployment-photo-preview>img{object-fit:contain;max-width:100%;max-height:62vh;margin:auto;display:block}.deployment-photo-preview__footer{color:#66707a;justify-content:space-between;align-items:center;gap:12px;min-width:0;font-size:13px;display:flex}.deployment-photo-preview__footer span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deployment-photo-preview__footer>div{gap:6px;display:flex}.deployment-photo-tile--readonly:hover{border-color:#e0e4e8}.channel-table .deployment-photo-tile{min-height:112px;padding:8px}.channel-table .deployment-photo-tile__thumb-wrap,.channel-table .deployment-photo-tile__thumbnail{width:46px;height:46px}.text-warning{color:#a46018}.text-success{color:#237a54}.deployment-drawer .el-drawer__body{padding-top:8px}.supplement-sensor-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-top:14px;display:grid}.supplement-sensor-list .el-checkbox{margin-right:0}@media (width<=1180px){.deployment-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.deployment-toolbar .el-select{width:100%!important}.controller-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.deployment-toolbar{grid-template-columns:minmax(0,1fr)}}.login-page{background:var(--pf-surface);grid-template-columns:minmax(420px,1fr) minmax(420px,520px);min-height:100vh;display:grid}.login-visual{color:#fff;background-image:url(/assets/switchgear-login-BSDkHXZE.jpg);background-position:50%;background-size:cover;flex-direction:column;justify-content:space-between;min-height:100vh;padding:42px 48px;display:flex;position:relative;overflow:hidden}.login-visual:before{content:"";background:#11161b94;position:absolute;inset:0}.login-visual>*{position:relative}.login-brand{align-items:center;gap:11px;display:flex}.login-brand-copy{gap:3px;display:grid}.login-brand-copy strong{font-size:15px;font-weight:650}.login-brand-copy small{color:#ffffffad;font-size:10px}.login-visual-heading{max-width:620px;padding-bottom:28px}.login-visual-heading span{color:#ffffffc2;margin-bottom:12px;font-size:13px;font-weight:550;display:inline-flex}.login-visual-heading h2{color:#fff;max-width:560px;margin:0;font-size:36px;font-weight:650;line-height:1.35}.login-panel{background:var(--pf-surface);border-left:1px solid var(--pf-border);place-items:center;min-width:0;padding:52px 58px;display:grid}.login-panel-content{width:min(360px,100%)}.login-heading{margin-bottom:28px}.login-kicker{color:var(--pf-primary);align-items:center;gap:7px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.login-heading h1{color:var(--pf-ink);margin:0;font-size:26px;font-weight:650}.login-heading p{color:var(--pf-text-muted);margin:8px 0 0;font-size:13px;line-height:1.65}.login-form{gap:18px;display:grid}.login-form label{color:#4f5862;gap:7px;font-size:13px;font-weight:550;display:grid}.field-with-icon{height:42px;color:var(--pf-text-subtle);background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-sm);align-items:center;gap:9px;padding:0 12px;display:flex}.field-with-icon:focus-within{color:var(--pf-primary);border-color:var(--pf-primary);box-shadow:0 0 0 3px #c63c3c14}.field-with-icon input{width:100%;min-width:0;color:var(--pf-text);background:0 0;border:0;outline:0}.primary-action{height:42px;margin-top:4px;font-weight:600}.primary-action:disabled{cursor:wait;opacity:.7}.login-footer{color:var(--pf-text-subtle);text-align:center;margin:28px 0 0;font-size:11px}.login-filing{color:var(--pf-text-subtle);text-align:center;flex-wrap:wrap;justify-content:center;gap:4px 14px;margin:14px 0 0;font-size:11px;line-height:1.6;display:flex}.login-filing a{color:inherit;text-decoration:none}.login-filing a:hover,.login-filing a:focus-visible{color:var(--pf-primary);text-decoration:underline}.identity-list-page{margin-top:0;overflow:hidden}.identity-toolbar{background:var(--pf-surface-subtle);border-bottom:1px solid var(--pf-border);grid-template-columns:minmax(220px,1.3fr) minmax(170px,.8fr) minmax(150px,.7fr) auto;align-items:center;gap:10px;padding:12px 16px;display:grid}.toolbar-count{color:var(--pf-text-muted);white-space:nowrap;font-size:12px}.identity-pagination{border-top:1px solid var(--pf-border);justify-content:flex-end;padding:14px 16px;display:flex}.user-drawer-heading{align-items:center;gap:10px;display:flex}.user-drawer-heading>div{gap:2px;display:grid}.user-drawer-heading strong{color:var(--pf-ink);font-size:16px}.user-drawer-heading small{color:var(--pf-text-muted);font-size:12px}.user-management-drawer .el-drawer__body{padding:0 20px 20px}.user-management-drawer .el-drawer__footer{background:var(--pf-surface-subtle);border-top:1px solid var(--pf-border);padding:14px 20px}.drawer-section{padding:18px 0}.drawer-section+.drawer-section{border-top:1px solid var(--pf-border)}.drawer-section-heading,.account-status-section{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.drawer-section-heading{margin-bottom:16px}.drawer-section h3,.account-status-section h3{color:var(--pf-ink);margin:0;font-size:15px;font-weight:600}.drawer-section-heading p,.account-status-section p{color:var(--pf-text-muted);margin:5px 0 0;font-size:12px;line-height:1.55}.permission-list{flex-wrap:wrap;gap:8px;display:flex}.scope-explanation{color:var(--pf-text-muted);background:var(--pf-surface-subtle);border-left:3px solid var(--pf-primary);padding:12px 14px;font-size:13px;line-height:1.6}.grant-toolbar{grid-template-columns:minmax(240px,1fr) auto;gap:10px;margin-bottom:12px;display:grid}.account-status-section{align-items:center}.user-password-dialog{max-width:calc(100vw - 32px)}.password-dialog-heading{align-items:center;gap:10px;display:flex}.password-dialog-heading>div{gap:2px;display:grid}.password-dialog-heading strong{font-size:16px}.password-dialog-heading small,.password-dialog-notice{color:var(--text-muted)}.password-dialog-notice{margin:0 0 16px;font-size:13px;line-height:1.7}.drawer-footer-actions{justify-content:flex-end;gap:8px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.full-field{grid-column:1/-1}.field-tip{color:var(--pf-text-subtle);margin-top:5px;font-size:12px}.dialog-note{color:#5d6670;background:var(--pf-surface-subtle);border-left:3px solid var(--pf-primary);margin:0 0 18px;padding:10px 12px;font-size:13px;line-height:1.6}.placeholder-page,.standalone-state{color:var(--pf-text-subtle);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;display:flex}.placeholder-page{min-height:430px;margin-top:0}.placeholder-page strong,.standalone-state h1{color:#30363d}.standalone-state{background:var(--pf-canvas);min-height:100vh;padding:24px}.standalone-state h1,.standalone-state p{margin:0}.standalone-state a{color:var(--pf-primary);margin-top:10px}@media (width<=900px){.login-page{grid-template-columns:minmax(300px,.8fr) minmax(380px,1fr)}.login-visual{padding:30px}.login-visual-heading h2{font-size:28px}.login-panel{padding:42px}}@media (width<=760px){.identity-toolbar{grid-template-columns:1fr 1fr;padding:10px 12px}.identity-toolbar>.el-input,.identity-toolbar>.toolbar-count{grid-column:1/-1}.form-grid,.grant-toolbar{grid-template-columns:1fr}.account-status-section{flex-direction:column;align-items:stretch}.identity-pagination{justify-content:flex-start;overflow-x:auto}}@media (width<=700px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{border-left:0;min-height:100vh}}.asset-page{margin-top:0;overflow:hidden}.asset-summary{color:#68717b;background:#fafbfc;border-bottom:1px solid #e5e8eb;gap:28px;padding:14px 20px;font-size:13px;display:flex}.asset-summary span{align-items:baseline;gap:6px;display:flex}.asset-summary strong{color:#24292f;font-size:19px}.asset-tabs>.el-tabs__header{margin:0;padding:0 20px}.asset-tabs>.el-tabs__content{overflow:visible}.asset-tab{min-height:390px}.asset-toolbar{border-bottom:1px solid #e6e9ec;justify-content:space-between;align-items:center;min-height:62px;padding:12px 18px;display:flex}.stock-import-notice{margin:0 18px 14px}.asset-search{color:#7d8690;background:#f8f9fa;border:1px solid #dfe3e7;border-radius:5px;align-items:center;gap:8px;width:min(360px,50%);height:36px;padding:0 11px;display:flex}.asset-search:focus-within{border-color:#ba3b3b;box-shadow:0 0 0 2px #ba3b3b17}.asset-search input{background:0 0;border:0;outline:0;width:100%}.monitored-controller-toolbar,.controller-toolbar{flex-wrap:wrap;justify-content:flex-start;gap:10px}.controller-toolbar .table-page-navigator{margin-left:auto}.controller-status-summary{gap:0;padding-block:10px}.controller-status-summary span{border-right:1px solid #e1e5e9;padding:0 22px}.controller-status-summary span:first-child{padding-left:0}.controller-status-summary span:last-child{border-right:0}.controller-status-summary .is-monitoring strong{color:#2f7d4b}.site-toolbar{flex-wrap:wrap;justify-content:flex-start;gap:12px}.site-toolbar-filters{flex:640px;align-items:center;gap:10px;min-width:0;display:flex}.site-toolbar-filters .region-cascader{width:min(300px,42%);min-width:230px}.site-toolbar-filters .asset-search{flex:280px;width:auto;min-width:0}@media (width<=760px){.site-toolbar-filters{flex-wrap:wrap;flex-basis:100%}.site-toolbar-filters .region-cascader,.site-toolbar-filters .asset-search{width:100%;min-width:0}.site-toolbar .asset-result-count{margin-left:0}}.controller-row-actions{white-space:nowrap;justify-content:center;align-items:center;gap:4px;display:flex}.controller-row-actions .el-button+.el-button{margin-left:0}.installed-region-filter{grid-template-columns:minmax(280px,360px) auto;align-items:center;gap:8px;display:grid}.asset-result-count{color:var(--pf-text-muted);white-space:nowrap;margin-left:auto;font-size:13px}.table-primary,.table-secondary{display:block}.table-primary{color:#30363d;font-size:13px;font-weight:600}.table-secondary{color:#7b858f;margin-top:3px;font-size:12px}.attachment-upload{grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.file-picker{color:#5f6872;cursor:pointer;background:#f8f9fa;border:1px solid #dfe3e7;border-radius:4px;align-items:center;min-width:0;height:32px;padding:0 10px;display:flex}.file-picker input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.file-picker span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.asset-note{color:#7b848e;margin:12px 0;font-size:12px}.quality-page{margin-top:0;overflow:hidden}.quality-title,.quality-toolbar{align-items:center;gap:12px;display:flex}.quality-title p{color:#737d87;margin:4px 0 0;font-size:12px}.quality-toolbar{border-bottom:1px solid #e4e7ea;min-height:66px;padding:12px 18px}.quality-toolbar__separator{color:#69737d;flex:none;font-size:13px}.quality-hint{color:#7b858f;font-size:12px}.quality-information{border-bottom:1px solid #dfe3e6}.quality-information>section,.quality-chart-band,.quality-comparison-chart{border-bottom:1px solid #e4e7ea;padding:18px}.quality-information>section:nth-child(2n){background:#fafbfc}.quality-information h3,.quality-chart-band h3,.quality-comparison-chart h3{color:#252b31;margin:0 0 14px;font-size:14px}.quality-information h3{align-items:center;gap:8px;display:flex}.quality-information h3:before{content:"";background:#c84444;width:3px;height:16px}.quality-info-grid{background:#e3e6e8;border:1px solid #e3e6e8;grid-template-columns:repeat(5,minmax(140px,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.quality-info-grid div{background:#fff;min-width:0;padding:12px 14px}.quality-info-grid dt{color:#77818b;margin-bottom:5px;font-size:12px}.quality-info-grid dd{overflow-wrap:anywhere;color:#252b31;margin:0;font-size:13px}.quality-info-grid--controller{grid-template-columns:repeat(7,minmax(0,1fr))}.quality-info-grid--ledger{grid-template-columns:repeat(3,minmax(140px,1fr))}.quality-photo-list{border-top:1px dashed #dfe3e6;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.quality-photo-list__label{color:#737d87;min-width:132px;font-size:12px}.quality-photo-list button{color:#343a40;cursor:pointer;background:#fff;border:1px solid #dfe3e6;border-radius:4px;align-items:center;gap:6px;min-height:32px;padding:6px 9px;display:inline-flex}.quality-photo-list button:hover{border-color:#c84444}.quality-photo-list small{color:#7b858f;overflow-wrap:anywhere}.quality-empty-inline{color:#7b858f;margin:0;font-size:13px}.quality-ledger-table{border-top:1px solid #e3e6e8;margin-top:14px}.monitoring-conclusion-heading,.monitoring-daily-toolbar{align-items:center;gap:12px;min-width:0;display:flex}.monitoring-conclusion-heading{justify-content:space-between}.monitoring-conclusion-heading p{color:var(--pf-text-muted);margin:4px 0 0;font-size:12px}.monitoring-conclusion-pending,.deployment-conclusion-pending{color:#8a5a20;line-height:1.45}.monitoring-daily-toolbar{border-top:1px solid var(--pf-border);min-height:58px;margin-top:18px;padding-top:12px}.monitoring-daily-toolbar .table-page-navigator{margin-left:auto}.quality-cell-actions{flex-wrap:wrap;gap:6px;display:flex}.quality-cell-actions button{color:#c84444;cursor:pointer;background:0 0;border:0;padding:0}.quality-range-summary{border-bottom:1px solid #e4e7ea;grid-template-columns:repeat(6,minmax(130px,1fr));display:grid}.quality-range-summary--five{grid-template-columns:repeat(5,minmax(130px,1fr))}.quality-range-summary>div{border-right:1px solid #e4e7ea;flex-direction:column;justify-content:center;gap:6px;min-height:64px;padding:10px 16px;display:flex}.quality-range-summary span{color:#77818b;font-size:12px}.quality-range-summary strong{color:#24292f;font-size:16px}.quality-range-summary__object{min-width:0}.quality-result-object-select{width:min(100%,210px)}.quality-combined-chart{width:100%;height:455px}.quality-chart-band{padding-bottom:0}.quality-chart-band--combined{padding:0}.waveform-context{background:#f7f8f9;border-bottom:1px solid #e4e7ea;grid-template-columns:minmax(320px,.8fr) minmax(520px,2fr);gap:24px;padding:18px 20px;display:grid}.waveform-context__identity{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));align-content:start;gap:16px;display:grid}.waveform-context__identity div,.waveform-context__cabinet{min-width:0}.waveform-context__identity span,.waveform-context__cabinet span{color:#737d87;font-size:12px}.waveform-context__identity strong{overflow-wrap:anywhere;color:#252b31;margin-top:6px;font-size:15px;display:block}.waveform-context__cabinets{border-left:1px solid #d9dde1;gap:8px;padding-left:24px;display:grid}.waveform-context__cabinet{grid-template-columns:minmax(160px,1.5fr) repeat(3,minmax(110px,1fr));align-items:center;gap:12px;min-height:28px;display:grid}.waveform-context__cabinet strong{overflow-wrap:anywhere;color:#30363c;font-size:13px}.quality-metrics{border-bottom:1px solid #e4e7ea;grid-template-columns:repeat(4,minmax(150px,1fr));display:grid}.quality-metrics div{border-bottom:1px solid #e4e7ea;border-right:1px solid #e4e7ea;flex-direction:column;justify-content:center;gap:7px;min-height:74px;padding:12px 18px;display:flex}.quality-metrics span{color:#727c86;font-size:12px}.quality-metrics strong{color:#24292f;font-size:18px;font-weight:600}.quality-waveforms{border-bottom:1px solid #e4e7ea;width:100%;height:575px}.quality-compare-controls{border-bottom:1px solid #e4e7ea;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:16px;padding:18px;display:grid}.quality-compare-controls>.el-button{grid-column:1/-1;justify-self:end;min-width:120px}.quality-compare-controls section{grid-template-columns:1fr;gap:8px;display:grid}.quality-compare-controls .el-date-editor{width:100%}.quality-compare-controls h3{margin:0;font-size:13px}.quality-comparison-list{gap:0;display:grid}.quality-comparison-chart__canvas{width:100%;height:360px}.interactive-chart{width:100%;min-width:0}@media (width<=1100px){.quality-info-grid,.quality-info-grid--controller,.quality-info-grid--ledger{grid-template-columns:repeat(2,minmax(140px,1fr))}.quality-range-summary{grid-template-columns:repeat(2,minmax(130px,1fr))}.quality-toolbar{flex-wrap:wrap}.quality-compare-controls{grid-template-columns:1fr}.waveform-context{grid-template-columns:1fr;gap:16px}.waveform-context__cabinets{border-top:1px solid #d9dde1;border-left:0;padding-top:14px;padding-left:0}.waveform-context__cabinet{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media (width<=680px){.waveform-context__cabinet{grid-template-columns:1fr;gap:5px}}.quality-preview-dialog .el-dialog__body{padding-top:8px}.quality-preview{background:#f5f6f7;border:1px solid #e0e4e7;place-items:center;min-height:300px;max-height:70vh;display:grid;overflow:hidden}.quality-preview .el-image{width:100%;height:68vh}.quality-preview iframe{border:0;width:100%;height:68vh}.quality-preview__unsupported{color:#727c86;font-size:13px}.quality-preview-dialog .el-dialog__footer .el-button{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.quality-empty{color:#7a848e;place-items:center;min-height:180px;display:grid}.analysis-page{margin-top:0;overflow:hidden}.heading-actions,.analysis-toolbar,.analysis-summary,.analysis-pagination{align-items:center;display:flex}.heading-actions{gap:8px}.analysis-summary{border-bottom:1px solid #e4e7eb;min-height:76px}.analysis-summary span{color:#69737d;border-right:1px solid #e4e7eb;align-items:baseline;gap:9px;min-width:180px;height:42px;padding:8px 18px;font-size:12px;display:flex}.analysis-summary strong{color:#20252b;font-size:25px;font-weight:650}.analysis-toolbar{border-bottom:1px solid #e4e7eb;gap:10px;min-height:64px;padding:12px 18px}.analysis-toolbar .region-cascader{flex:0 0 280px;width:280px}.analysis-waveform-section{border:1px solid #e0e4e8;gap:14px;padding:16px;display:grid}.analysis-waveform-periods{border-top:1px solid #e0e4e8;border-left:1px solid #e0e4e8;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.analysis-waveform-periods span{color:#252b31;overflow-wrap:anywhere;border-bottom:1px solid #e0e4e8;border-right:1px solid #e0e4e8;min-width:0;padding:11px 14px;font-size:13px}.analysis-waveform-periods small{color:#727c86;margin-bottom:5px;font-size:12px;display:block}.analysis-excluded-days{background:#f7f8fa;border-top:1px solid #d9dfe5;border-left:1px solid #d9dfe5;grid-template-columns:minmax(150px,.8fr) repeat(3,minmax(220px,1fr));display:grid}.analysis-excluded-days strong,.analysis-excluded-days span{overflow-wrap:anywhere;border-bottom:1px solid #d9dfe5;border-right:1px solid #d9dfe5;min-width:0;padding:10px 12px;font-size:12px;line-height:1.6}.analysis-excluded-days strong{color:#4d5862;background:#eef1f4}.analysis-excluded-days span{color:#626c76}.asset-search{color:#7b858f;border:1px solid #d9dde2;border-radius:5px;align-items:center;gap:8px;width:min(420px,42vw);height:34px;padding:0 10px;display:flex}.asset-search input{color:#252a30;background:0 0;border:0;outline:0;width:100%}.table-primary,.table-secondary{line-height:1.5;display:block}.table-primary{color:#24292f;font-weight:600}.table-secondary{color:#7b858f;font-size:12px}.analysis-pagination{color:#7b858f;border-top:1px solid #e4e7eb;justify-content:flex-end;gap:14px;min-height:58px;padding:10px 18px;font-size:12px}.analysis-period-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.analysis-note{color:#6e7781;background:#f6f7f8;border-left:3px solid #c63c3c;margin:0;padding:10px 12px;font-size:12px;line-height:1.7}.dynamic-duration-input{align-items:center;gap:8px;display:inline-flex}.dynamic-duration-input .el-input-number{width:156px}.analysis-run-dialog .el-dialog__body{max-height:70vh;overflow:auto}.analysis-target-list{gap:12px;margin-top:14px;display:grid}.analysis-target-row{background:#fff;border:1px solid #dfe3e7}.analysis-target-row header{background:#f7f8f9;border-bottom:1px solid #e3e6e9;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:8px 14px;display:flex}.analysis-target-row header strong,.analysis-target-row header span{display:block}.analysis-target-row header strong{color:#252a30;font-size:14px}.analysis-target-row header span{color:#7b858f;margin-top:3px;font-size:11px}.analysis-target-fields{grid-template-columns:.8fr .9fr 1.25fr 1.25fr;gap:12px;padding:14px 14px 4px;display:grid}.analysis-target-fields .el-form-item,.analysis-target-fields .el-autocomplete,.analysis-target-fields .el-date-editor{width:100%}.analysis-target-fields .el-form-item{flex-direction:column;align-items:stretch;display:flex}.analysis-target-fields .el-form-item__label{justify-content:flex-start;height:28px;padding:0}.analysis-target-fields .el-form-item__content{width:100%}.analysis-target-result{color:#4e5964;background:#fafbfc;border-top:1px solid #edf0f2;min-height:36px;margin:0;padding:9px 14px;font-size:12px}.analysis-target-result.is-error{color:#a43b3b}.analysis-add-target{margin-top:12px}.analysis-run-progress{color:#68727c;margin-right:auto;font-size:12px}.analysis-run-dialog .el-dialog__footer{align-items:center;display:flex}.analysis-formal-report-checkbox{margin-left:auto}.analysis-sensor-select{border:1px solid #e0e4e8;margin-top:18px;padding:18px}.analysis-sensor-select__control{width:min(460px,100%)}.analysis-controller-waveform{border:1px solid #e0e4e8;overflow:hidden}.analysis-controller-period{border-bottom:1px solid #e0e4e8;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:center;display:grid}.analysis-controller-period>span,.analysis-controller-period__action{min-width:0;padding:12px 14px}.analysis-controller-period>span{color:#252b31;overflow-wrap:anywhere;border-right:1px solid #e0e4e8}.analysis-controller-period small,.analysis-conclusion-grid small{color:#727c86;margin-bottom:5px;font-size:12px;display:block}.analysis-controller-period__action{justify-content:flex-end;align-items:center;gap:10px;min-width:190px;display:flex}.analysis-controller-period__action small{text-align:right;max-width:110px;margin:0}.analysis-sensor-summary .cell{white-space:nowrap}.analysis-comparison-detail{border-top:2px solid #d6dade;gap:18px;margin-top:18px;padding-top:18px;display:grid}.analysis-detail{gap:16px;display:grid}.analysis-headline{background:#f7f8fa;border:1px solid #e0e4e8;border-left:4px solid #c63c3c;justify-content:space-between;align-items:flex-start;gap:20px;min-height:106px;padding:18px;display:flex}.analysis-headline span,.analysis-context-grid small,.analysis-metrics small{color:#727c86;font-size:12px;display:block}.analysis-headline strong{margin-top:5px;font-size:21px;display:block}.analysis-headline p{color:#565f68;margin:9px 0 0;line-height:1.7}.analysis-grade-pill{text-align:center;border-radius:4px;justify-content:center;align-items:center;min-width:82px;min-height:28px;padding:3px 8px;font-size:12px;font-weight:650;line-height:1.3;display:inline-flex}.analysis-grade-pill--emergency{color:#b22626;background:#fdeaea}.analysis-grade-pill--severe{color:#a44a16;background:#fff0e5}.analysis-grade-pill--general{color:#215e9a;background:#eaf3ff}.analysis-grade-pill--none{color:#237548;background:#eaf6ef}.analysis-context-grid,.analysis-metrics{border-top:1px solid #e0e4e8;border-left:1px solid #e0e4e8;display:grid}.analysis-context-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.analysis-context-grid span,.analysis-metrics span{overflow-wrap:anywhere;border-bottom:1px solid #e0e4e8;border-right:1px solid #e0e4e8;min-width:0;padding:12px 14px}.analysis-context-grid small,.analysis-metrics small{margin-bottom:5px}.analysis-metrics{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}.analysis-metrics strong{font-size:20px;font-weight:650}.analysis-conclusion-grid{border-top:1px solid #e0e4e8;border-left:1px solid #e0e4e8;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.analysis-conclusion-grid article{border-bottom:1px solid #e0e4e8;border-right:1px solid #e0e4e8;min-width:0;padding:13px 14px}.analysis-conclusion-grid p{color:#39424c;margin:0;font-size:13px;line-height:1.7}.analysis-daily{border:1px solid #e0e4e8}.daily-evidence{color:#626b75;background:#fafbfc;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;padding:14px 24px;font-size:12px;display:grid}.daily-evidence p{color:#262b31;grid-column:1/-1;margin:0 0 4px;font-size:13px;font-weight:600;line-height:1.7}.analysis-trace{color:#7a848e;overflow-wrap:anywhere;margin:0;font-size:11px}@media (width<=1100px){.analysis-target-fields,.analysis-excluded-days{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-controller-period{grid-template-columns:1fr 1fr}.analysis-controller-period__action{border-top:1px solid #e0e4e8;grid-column:1/-1;justify-content:flex-start}.analysis-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-conclusion-grid{grid-template-columns:1fr}}@media (width<=680px){.analysis-target-fields,.analysis-excluded-days,.analysis-controller-period{grid-template-columns:1fr}.analysis-controller-period>span{border-bottom:1px solid #e0e4e8;border-right:0}.analysis-controller-period__action{grid-column:auto}.analysis-context-grid{grid-template-columns:1fr}}.parameter-active{border-bottom:1px solid #e4e7eb;grid-template-columns:1fr 1fr 1fr 2fr;display:grid}.parameter-active span{overflow-wrap:anywhere;border-right:1px solid #e4e7eb;min-width:0;padding:14px 18px}.parameter-active small{color:#747e88;margin-bottom:5px;display:block}.parameter-groups{gap:9px;max-height:58vh;display:grid;overflow:auto}.parameter-groups details{border:1px solid #dfe3e7}.parameter-groups summary{cursor:pointer;background:#f7f8fa;align-items:baseline;gap:12px;padding:12px 14px;display:flex}.parameter-groups summary span{color:#727c86;font-size:12px}.parameter-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;padding:14px;display:grid}.parameter-fields .el-input-number{width:calc(100% - 54px)}.parameter-unit{color:#7a848e;width:50px;padding-left:8px;font-size:12px;display:inline-block}.operation-page{min-width:0}.operation-toolbar,.operation-filters,.operation-detail-header,.operation-attachments a,.operation-attachments button{align-items:center;display:flex}.operation-toolbar{border-bottom:1px solid #e4e7eb;flex-wrap:wrap;justify-content:space-between;gap:16px;min-width:0;min-height:64px;padding:12px 18px}.operation-filters{flex-wrap:wrap;flex:auto;gap:10px;min-width:0}.operation-filters .asset-search{flex:340px;width:auto;min-width:240px}.operation-filters .region-cascader{flex:0 280px;width:clamp(220px,18vw,280px);min-width:220px}.operation-filters>.el-select{width:clamp(180px,15vw,240px)}@media (width>=1100px){.operation-toolbar,.operation-filters{flex-wrap:nowrap}.operation-toolbar{gap:8px}.operation-filters{gap:7px}.operation-filters .region-cascader{flex-basis:150px;width:150px;min-width:150px}.operation-filters>.project-company-select{flex:0 0 120px;width:120px}.operation-filters .asset-search{flex:180px;min-width:140px}.operation-filters>.el-select{width:105px!important}}.operation-filters .el-select,.operation-filters>.el-button,.operation-toolbar>.table-page-navigator{flex:none}.operation-inherited-scope{color:var(--pf-text-muted);background:#fff8f5;border-bottom:1px solid #f0ddd5;padding:9px 18px;font-size:13px}.operation-inherited-scope strong{color:var(--pf-text);font-weight:600}.operation-page .el-table small,.operation-page .el-table strong{display:block}.operation-page .el-table small{color:#7c858f;margin-top:3px}.grade-pill{border-radius:4px;justify-content:center;min-width:72px;padding:4px 7px;font-size:12px;font-weight:600;display:inline-flex}.grade-none,.grade-normal{color:#237548;background:#eaf6ef}.grade-general{color:#8a6400;background:#fff6d9}.grade-severe{color:#a44a16;background:#fff0e5}.grade-emergency{color:#b22626;background:#fdeaea}.grade-unknown{color:#66707a;background:#eef1f4}.online-online{color:#237548}.online-offline{color:#b22626}.online-no_data{color:#7c858f}.operation-dialog-target{background:#f5f6f8;border-left:3px solid #c63c3c;padding:10px 12px}.operation-time-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.operation-detail-header{border-bottom:1px solid #e1e5e9;justify-content:space-between;gap:20px;padding-bottom:18px}.operation-detail-header h2{margin-top:10px}.operation-detail-header p{color:#5b646e;max-width:360px;line-height:1.7}.operation-facts{border-top:1px solid #e1e5e9;border-left:1px solid #e1e5e9;grid-template-columns:1fr 1fr;margin:18px 0 24px;display:grid}.operation-facts div{border-bottom:1px solid #e1e5e9;border-right:1px solid #e1e5e9;padding:10px}.operation-facts dt{color:#7c858f;font-size:12px}.operation-facts dd{margin:5px 0 0}.operation-detail-header+h3,.el-drawer h3{margin:24px 0 10px;font-size:15px}.operation-empty-copy{color:#7c858f}.operation-attachments{gap:8px;display:grid}.operation-attachments button{color:#315e8f;background:0 0;border:0;gap:7px;padding:0}.operations-admin-page{gap:18px;display:grid}.ops-headline{color:#fff;background:#24303a;border-left:5px solid #4c9a68;grid-template-columns:repeat(3,minmax(220px,1fr));display:grid}.ops-headline>div{border-right:1px solid #ffffff24;min-height:112px;padding:20px 24px}.ops-headline span,.ops-headline p{color:#cbd2d8;font-size:12px}.ops-headline strong{margin:7px 0;font-size:25px;display:block}.ops-headline p{margin:0}.ops-state-warning{border-left-color:#d39a38}.ops-state-critical{border-left-color:#d94a4a}.ops-grid{grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr);gap:18px;display:grid}.ops-probes,.ops-workload,.ops-gateway{margin:0}.ops-gateway-row{border-top:1px solid #e8eaed;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;display:grid}.ops-gateway-row>svg{color:var(--pf-info)}.ops-gateway-row div{gap:3px;min-width:0;display:grid}.ops-gateway-row small{color:var(--pf-text-muted);font-size:12px}.ops-gateway-metrics{border-top:1px solid #e8eaed;border-left:1px solid #e8eaed;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.ops-gateway-metrics>div{border-bottom:1px solid #e8eaed;border-right:1px solid #e8eaed;min-height:70px;padding:12px}.ops-gateway-metrics dt{color:var(--pf-text-muted);font-size:12px}.ops-gateway-metrics dd{margin:7px 0 0;font-size:19px;font-weight:650}.ops-probe-row{border-top:1px solid #e8eaed;grid-template-columns:28px 1fr auto 24px;align-items:center;gap:10px;min-height:60px;display:grid}.ops-probe-row div{gap:3px;display:grid}.ops-probe-row small,.ops-probe-row>span,.table-secondary{color:#7b838c;font-size:12px}.ops-pass{color:#398554}.ops-fail{color:#c63c3c}.ops-workload dl{border-top:1px solid #e8eaed;border-left:1px solid #e8eaed;grid-template-columns:repeat(3,1fr);margin:0;display:grid}.ops-workload dl>div{border-bottom:1px solid #e8eaed;border-right:1px solid #e8eaed;min-height:76px;padding:14px}.ops-workload dt{color:#68717a;font-size:12px}.ops-workload dd{margin:8px 0 0;font-size:23px;font-weight:650}.ops-check-list{grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px;display:grid}.ops-check-list>div{background:#f8f9fa;border:1px solid #e1e4e7;border-radius:5px;min-height:86px;padding:13px}.ops-check-list span{text-align:center;border-radius:3px;width:43px;margin-right:8px;padding:3px 0;font-size:11px;font-weight:700;display:inline-block}.ops-check-list p{color:#707981;margin:8px 0 0;font-size:12px;line-height:1.5}.ops-check-pass{color:#286d42;background:#dcefe3}.ops-check-warn{color:#805c18;background:#f4e8c9}.ops-check-fail{color:#9f3030;background:#f4dada}.ops-toolbar-heading,.ops-toolbar,.ops-form-grid{align-items:center;gap:10px;display:flex}.ops-toolbar-heading{justify-content:space-between}.ops-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ops-date-input{color:#30343a;background:#fff;border:1px solid #dcdfe6;border-radius:4px;width:100%;height:40px;padding:0 11px}.ops-dialog-note{color:#815e20;background:#faf3df;border-left:3px solid #d39a38;margin:0 0 16px;padding:10px 12px;font-size:13px}.ops-loading{color:#7b838c;place-items:center;min-height:180px;display:grid}.replay-audit-toolbar{justify-content:space-between;margin:0 0 14px}.replay-audit-toolbar .el-input{width:240px}.replay-audit-table code{color:#59636d;font-size:12px}.replay-audit-summary{border-top:1px solid #e8eaed;border-left:1px solid #e8eaed;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px;display:grid}.replay-audit-summary>div{border-bottom:1px solid #e8eaed;border-right:1px solid #e8eaed;min-height:74px;padding:12px 14px}.replay-audit-summary span{color:#707981;margin-bottom:6px;font-size:12px;display:block}.replay-audit-summary strong{font-size:13px;line-height:1.45}.replay-audit-subheading{color:#30343a;margin:22px 0 10px;font-size:16px}.raw-capture-toolbar{grid-template-columns:118px minmax(190px,1fr) 20px minmax(190px,1fr) 150px 150px auto auto;align-items:center;gap:10px;margin-bottom:14px;display:grid}.raw-capture-controller{height:32px;color:var(--pf-text-muted);border-left:3px solid var(--pf-primary);white-space:nowrap;background:#f5f6f7;align-items:center;gap:8px;padding:0 10px;display:flex}.raw-capture-controller strong{color:var(--pf-text)}.raw-capture-range-separator{color:var(--pf-text-muted);text-align:center}.raw-capture-footer{min-height:54px;color:var(--pf-text-muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.raw-capture-detail-grid{border-top:1px solid var(--pf-border);border-left:1px solid var(--pf-border);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px;display:grid}.raw-capture-detail-grid>div{border-right:1px solid var(--pf-border);border-bottom:1px solid var(--pf-border);min-width:0;min-height:66px;padding:10px 12px}.raw-capture-detail-grid span,.raw-capture-hash span{color:var(--pf-text-muted);margin-bottom:5px;font-size:12px;display:block}.raw-capture-detail-grid strong{overflow-wrap:anywhere;font-size:13px;display:block}.raw-capture-payload-heading{justify-content:space-between;align-items:center;margin:18px 0 8px;display:flex}.raw-capture-payload-heading h3{margin:0;font-size:15px}.raw-capture-payload{color:#e9eef2;overflow-wrap:anywhere;white-space:pre-wrap;background:#20262c;border-radius:4px;min-height:84px;margin:0;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.75;overflow:auto}.raw-capture-hash{margin-top:12px}.raw-capture-hash code{overflow-wrap:anywhere;color:var(--pf-text-subtle);font-size:12px;display:block}@media (width<=1280px){.ops-grid{grid-template-columns:1fr}.ops-check-list{grid-template-columns:repeat(2,minmax(220px,1fr))}.replay-audit-summary,.ops-gateway-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.raw-capture-toolbar{flex-wrap:wrap;display:flex}.raw-capture-controller{flex:0 0 118px}.raw-capture-toolbar .el-date-editor{flex:220px}.raw-capture-toolbar .el-select{flex:170px}.raw-capture-toolbar .el-button{flex:none}}@media (width<=720px){.raw-capture-toolbar{align-items:stretch}.raw-capture-controller,.raw-capture-toolbar .el-date-editor,.raw-capture-toolbar .el-select,.raw-capture-toolbar .el-button{flex-basis:100%;width:100%}.raw-capture-range-separator{display:none}.raw-capture-detail-grid,.ops-gateway-metrics{grid-template-columns:1fr}}.history-import-page{gap:18px;display:grid}.import-entry,.import-list{background:#fff}.import-form{background:#fafbfc;border:1px solid #e3e7eb;grid-template-columns:minmax(230px,1.15fr) minmax(190px,.9fr) minmax(190px,.9fr) 154px;align-items:end;gap:16px;max-width:1180px;margin-top:16px;padding:16px;display:grid}.import-field{color:#56616d;gap:7px;min-width:0;font-size:13px;font-weight:600;display:grid}.import-field .el-date-editor{width:100%}.import-action{align-items:end;display:flex}.import-action .el-button{width:100%;min-width:0;height:32px}@media (width<=1080px){.import-form{grid-template-columns:repeat(2,minmax(0,1fr))}.import-action{align-items:stretch}}@media (width<=680px){.import-form{grid-template-columns:1fr;gap:14px}.import-action .el-button{width:100%}}.import-note{color:#68717b;margin:12px 0 0;font-size:13px;line-height:1.7}.import-summary{color:#4e5965;background:#f7f8fa;border:1px solid #dfe3e8;align-items:center;gap:28px;margin:14px 0;padding:10px 12px;font-size:13px;display:flex}.import-summary .table-pager{margin-left:auto}.history-import-toolbar{grid-template-columns:minmax(180px,1.2fr) 170px 180px 180px 92px;align-items:center;gap:12px;margin-top:14px;display:grid}.history-import-toolbar .el-date-editor{width:100%}@media (width<=1120px){.history-import-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.history-import-toolbar .el-button{width:100%}.import-summary{flex-wrap:wrap}}.import-summary strong{color:#20252b;margin-left:5px;font-size:16px}.import-summary .attention,.import-summary .attention strong{color:#b83232}.job-result{color:#4f5964;white-space:normal;line-height:1.55;display:block}.historical-attribution{gap:18px;display:grid}.historical-attribution__summary{background:#fafbfc;border:1px solid #dfe3e8;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.historical-attribution__summary>div{border-bottom:1px solid #e3e7eb;border-right:1px solid #e3e7eb;gap:6px;min-width:0;padding:13px 16px;display:grid}.historical-attribution__summary>div:nth-child(2n){border-right:0}.historical-attribution__summary span{color:#747f8b;font-size:12px}.historical-attribution__summary strong{overflow-wrap:anywhere;color:#28313a;font-size:14px;font-weight:600}.historical-attribution__summary .historical-attribution__boundary{background:#fff8ed;border-bottom:0;border-right:0;grid-column:1/-1}.historical-attribution__form{padding-top:2px}.historical-attribution__ownership{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.historical-attribution__ownership .el-select{width:100%}.historical-sensor-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.historical-sensor-list .el-checkbox{border:1px solid #dfe3e8;grid-template-columns:auto 1fr;align-items:start;width:100%;height:auto;margin:0;padding:12px;display:grid}.historical-sensor-list .el-checkbox__label{grid-template-columns:1fr auto;gap:4px 12px;min-width:0;line-height:1.45;display:grid}.historical-sensor-list__code{color:#28313a;font-weight:600}.historical-sensor-list__count{color:#c73737;font-variant-numeric:tabular-nums}.historical-sensor-list small{color:#747f8b;white-space:normal;grid-column:1/-1}.historical-attribution__notice{color:#59636e;background:#f7f8fa;border-left:3px solid #c73737;margin:0;padding:11px 13px;font-size:13px;line-height:1.6}@media (width<=680px){.historical-attribution__summary,.historical-attribution__ownership,.historical-sensor-list{grid-template-columns:1fr}.historical-attribution__summary>div{border-right:0}}.dashboard-operation{gap:14px;min-width:0;display:grid}.dashboard-page-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.dashboard-page-heading h1{color:var(--pf-ink);font-size:var(--pf-page-title-size);letter-spacing:0;margin:0}.dashboard-page-heading p{color:var(--pf-text-muted);margin:5px 0 0;font-size:13px}.dashboard-heading-actions{align-items:center;gap:12px;display:flex}.snapshot-time{color:var(--pf-text-subtle);align-items:center;gap:6px;font-size:12px;display:flex}.dashboard-filter-band{background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-md);grid-template-columns:auto minmax(260px,1.25fr) minmax(220px,1fr) auto auto;align-items:center;gap:10px;padding:12px 14px;display:grid}.dashboard-active-scope{color:var(--pf-text-muted);grid-column:2/-1;font-size:12px}.dashboard-filter-label{color:var(--pf-text-muted);align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.dashboard-view-tabs{border-bottom:1px solid var(--pf-border);gap:24px;min-height:42px;padding:0 4px;display:flex}.dashboard-view-tabs button{color:var(--pf-text-muted);background:0 0;border:0;align-items:center;gap:7px;padding:0 2px 12px;font-size:14px;font-weight:600;display:flex;position:relative}.dashboard-view-tabs button.active{color:var(--pf-danger)}.dashboard-view-tabs button.active:after{background:var(--pf-danger);content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0}.dashboard-view-tabs button span{color:#fff;background:var(--pf-danger);text-align:center;border-radius:9px;min-width:19px;padding:1px 5px;font-size:11px}.dashboard-kpi-grid{background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-md);grid-template-columns:repeat(6,minmax(128px,1fr));display:grid;overflow:hidden}.dashboard-kpi{min-height:112px;color:var(--pf-text);border:0;border-right:1px solid var(--pf-border);text-align:left;background:0 0;grid-template-rows:auto 1fr;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 9px;padding:17px 18px;display:grid}.dashboard-kpi:last-child{border-right:0}.dashboard-kpi:hover{background:var(--pf-surface-subtle)}.dashboard-kpi>span:not(.kpi-icon){color:var(--pf-text-muted);white-space:nowrap;font-size:12px}.dashboard-kpi .kpi-icon{color:#4f5964;background:#f0f2f4;border-radius:6px;grid-row:1/-1;place-items:center;width:32px;height:32px;display:grid}.dashboard-kpi strong{color:var(--pf-ink);font-variant-numeric:tabular-nums;align-self:end;font-size:27px;line-height:1}.dashboard-kpi small{color:var(--pf-text-subtle);align-self:end;font-size:12px}.dashboard-kpi.attention .kpi-icon,.dashboard-kpi.attention strong{color:var(--pf-danger)}.dashboard-kpi.attention .kpi-icon{background:#fff0f0}.dashboard-attention-strip{border-radius:var(--pf-radius-sm);background:#fff8f4;border:1px solid #f0d2c5;align-items:center;gap:4px;min-height:48px;padding:7px 10px;display:flex}.dashboard-attention-strip>div{color:#a63c2b;align-items:center;gap:7px;padding:0 10px;font-size:13px;display:flex}.dashboard-attention-strip button{color:#6d4a42;background:0 0;border:0;border-left:1px solid #ead8d2;align-items:center;gap:7px;padding:7px 10px;font-size:12px;display:flex}.dashboard-attention-strip button:hover{color:var(--pf-danger)}.dashboard-attention-strip b{color:#a62f2f;font-size:15px}.dashboard-attention-strip .strip-link{border-left:0;margin-left:auto}.dashboard-content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dashboard-panel{background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-md);min-width:0}.dashboard-panel-heading{border-bottom:1px solid var(--pf-border);justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:12px 16px;display:flex}.dashboard-panel-heading h2{color:var(--pf-ink);margin:0;font-size:15px}.dashboard-panel-heading p{color:var(--pf-text-subtle);margin:4px 0 0;font-size:11px}.dashboard-panel-heading button{color:var(--pf-text-muted);background:0 0;border:0;align-items:center;gap:3px;font-size:12px;display:flex}.status-group{padding:18px 18px 12px}.status-group+.status-group{border-top:1px solid var(--pf-border);padding-top:10px}.status-title{color:var(--pf-text-muted);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;display:flex}.status-title strong{color:var(--pf-ink);font-size:14px}.status-bar{background:#e7eaee;border-radius:3px;height:9px;display:flex;overflow:hidden}.bar-success{background:#33845b}.bar-warning{background:#d29826}.bar-danger{background:#c84843}.status-legend{color:var(--pf-text-muted);flex-wrap:wrap;gap:16px;margin-top:10px;font-size:11px;display:flex}.status-legend span:before{content:"";border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.legend-success:before{background:#33845b}.legend-warning:before{background:#d29826}.legend-danger:before{background:#c84843}.status-legend b{color:var(--pf-text);margin-left:3px}.distribution-list{gap:11px;padding:15px 16px;display:grid}.distribution-list button{color:var(--pf-text);text-align:left;background:0 0;border:0;grid-template-columns:92px minmax(80px,1fr) 34px;align-items:center;gap:10px;padding:2px 0;display:grid}.distribution-label{align-items:center;gap:7px;font-size:12px;display:flex}.distribution-label i{border-radius:50%;width:7px;height:7px}.distribution-track{background:#edf0f2;border-radius:2px;height:8px;overflow:hidden}.distribution-track i{border-radius:2px;min-width:0;height:100%;display:block}.distribution-list strong{text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.environment-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:16px;display:grid}.environment-grid>div{border-right:1px solid var(--pf-border);grid-template-columns:auto 1fr;gap:5px 7px;padding:5px 13px;display:grid}.environment-grid>div:last-child{border-right:0}.environment-dot{background:#9aa1a9;border-radius:50%;width:8px;height:8px;margin-top:4px}.environment-grid span:not(.environment-dot){color:var(--pf-text-muted);white-space:nowrap;font-size:11px}.environment-grid strong{color:var(--pf-ink);grid-column:2;font-size:23px}.environment-grid small{color:var(--pf-text-subtle);grid-column:2;font-size:10px}.environment-grid .not-calculated{background:#fafafa}.dashboard-trend-panel{min-height:370px}.dashboard-ranking-panel{grid-column:1/-1}.risk-table{cursor:pointer;width:100%}.dashboard-history-grid,.dashboard-attention-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.dashboard-history-grid>div,.dashboard-attention-grid>button{min-height:132px;color:var(--pf-text);background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-md);text-align:left;grid-template-rows:auto 1fr;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 10px;padding:20px;display:grid}.dashboard-history-grid svg,.dashboard-attention-grid svg{color:#5c6670;grid-row:1/-1}.dashboard-history-grid span,.dashboard-attention-grid span{color:var(--pf-text-muted);font-size:13px}.dashboard-history-grid strong,.dashboard-attention-grid strong{color:var(--pf-ink);align-self:end;font-size:28px}.dashboard-history-grid small{color:var(--pf-text-subtle);align-self:end}.dashboard-attention-grid>button:hover{background:var(--pf-surface-subtle);border-color:#c7ccd2}.dashboard-attention-grid>button:first-child strong,.dashboard-attention-grid>button:first-child svg{color:#b92d35}.dashboard-empty-guide{min-height:280px;color:var(--pf-text-muted);background:var(--pf-surface);border:1px solid var(--pf-border);border-radius:var(--pf-radius-md);text-align:center;align-content:center;place-items:center;gap:8px;padding:30px;display:grid}.dashboard-empty-guide h2{color:var(--pf-ink);margin:2px 0 0;font-size:17px}.dashboard-empty-guide p{max-width:600px;margin:0 0 10px;font-size:13px}@media (width<=1280px){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.dashboard-kpi:nth-child(3){border-right:0}.dashboard-kpi:nth-child(-n+3){border-bottom:1px solid var(--pf-border)}}@media (width<=980px){.dashboard-filter-band{grid-template-columns:1fr 1fr auto auto}.dashboard-filter-label{grid-column:1/-1}.dashboard-content-grid{grid-template-columns:1fr}.dashboard-ranking-panel{grid-column:auto}.environment-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}.environment-grid>div:nth-child(2){border-right:0}.dashboard-history-grid,.dashboard-attention-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.dashboard-page-heading{flex-direction:column}.dashboard-heading-actions{justify-content:space-between;width:100%}.dashboard-filter-band{grid-template-columns:1fr 1fr}.dashboard-filter-label{grid-column:1/-1}.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpi{border-bottom:1px solid var(--pf-border);grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr)}.dashboard-kpi:nth-child(2n){border-right:0}.dashboard-kpi strong{grid-column:2}.dashboard-kpi small{display:none}.dashboard-kpi>span:not(.kpi-icon){white-space:normal}.dashboard-attention-strip{flex-direction:column;align-items:stretch}.dashboard-attention-strip button{border-top:1px solid #ead8d2;border-left:0}.dashboard-attention-strip .strip-link{margin-left:0}.environment-grid{grid-template-columns:1fr}.environment-grid>div{border-right:0;border-bottom:1px solid var(--pf-border)}.dashboard-history-grid,.dashboard-attention-grid{grid-template-columns:1fr}.distribution-list button{grid-template-columns:82px minmax(60px,1fr) 28px}}.device-pool-page{margin-top:0;overflow:hidden}.device-pool-summary{color:#68717b;background:#fafbfc;border-bottom:1px solid #e5e8eb;gap:28px;padding:14px 20px;font-size:13px;display:flex}.device-pool-summary span{align-items:baseline;gap:6px;display:flex}.device-pool-summary strong{color:#24292f;font-size:19px}.device-pool-toolbar{color:#68717b;border-bottom:1px solid #e6e9ec;align-items:center;gap:12px;padding:12px 18px;font-size:13px;display:flex}.device-pool-toolbar .el-input{width:360px}.device-pool-result-count{white-space:nowrap;margin-left:auto}.device-pool-row-actions{white-space:nowrap;grid-template-columns:repeat(2,max-content);justify-content:center;align-items:center;gap:4px;display:grid}.device-pool-row-actions .el-button+.el-button{margin-left:0}.device-pool-row-actions .el-button:nth-child(3){grid-column:1/-1;justify-self:center}.device-pool-data-summary{border-bottom:1px solid #e4e7ea;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.device-pool-data-summary div{border-right:1px solid #e4e7ea;align-content:center;gap:6px;min-height:70px;padding:10px 16px;display:grid}.device-pool-data-summary span{color:#77818b;font-size:12px}.device-pool-data-summary strong{color:#24292f;overflow-wrap:anywhere;font-size:15px}.sensor-tag{margin:2px 4px 2px 0}.pool-verification-grid{border:1px solid #e2e6ea;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px;display:grid}.pool-verification-grid div{border-bottom:1px solid #e2e6ea;border-right:1px solid #e2e6ea;min-height:68px;padding:12px 14px}.pool-verification-grid div:nth-child(2n){border-right:0}.pool-verification-grid div:nth-last-child(-n+2){border-bottom:0}.pool-verification-grid span,.pool-verification-grid strong{display:block}.pool-verification-grid span{color:#7a8490;font-size:12px}.pool-verification-grid strong{color:#29313a;margin-top:7px;font-size:14px}.pool-sensor-table{margin-top:16px}.pool-point{color:#64707b;padding:2px 0;font-size:12px}.attribution-note{color:#606a74;background:#f6f7f9;border-left:3px solid #c63c3c;margin:0 0 16px;padding:11px 13px;font-size:13px;line-height:1.6}.attribution-form .el-select,.attribution-form .el-date-editor{width:100%}.attribution-time{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.attribution-site-picker{align-items:center;gap:10px;width:100%;display:flex}.attribution-site-picker .el-select{flex:1;min-width:0}.attribution-site-option-meta{float:right;color:#8a949f;margin-left:18px;font-size:12px}@media (width<=800px){.device-pool-summary{flex-wrap:wrap;gap:12px 20px}.device-pool-data-summary{grid-template-columns:1fr}.device-pool-data-summary div{border-bottom:1px solid #e4e7ea;border-right:0}.device-pool-data-summary div:last-child{border-bottom:0}.pool-verification-grid,.attribution-time{grid-template-columns:1fr}.pool-verification-grid div,.pool-verification-grid div:nth-child(2n){border-bottom:1px solid #e2e6ea;border-right:0}.pool-verification-grid div:last-child{border-bottom:0}}.upload-check-page{gap:16px;max-width:1120px;display:grid}.upload-check-heading,.upload-check-toolbar,.upload-check-summary,.upload-check-evidence{padding:18px 20px}.upload-check-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.upload-check-heading h2{font-size:var(--pf-page-title-size);color:#1f2937;margin:0}.upload-check-heading p,.upload-check-hint,.upload-check-muted{color:#667085;margin:8px 0 0;font-size:13px;line-height:1.7}.upload-check-toolbar{grid-template-columns:minmax(220px,420px) 1fr;align-items:center;gap:10px;display:grid}.upload-check-actions{flex-wrap:wrap;gap:10px;display:flex}.upload-check-result-list{gap:8px;display:grid}.upload-check-list-title{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.upload-check-list-title h3{color:#1f2937;margin:0;font-size:16px}.upload-check-list-title span{color:#667085;font-size:12px;line-height:1.5}.upload-check-summary{border-left:4px solid #3b82f6;grid-template-columns:190px 1fr;align-items:center;gap:24px;display:grid}.upload-check-summary.is-normal{border-left-color:#16a34a}.upload-check-summary.is-timeout,.upload-check-summary.is-empty{border-left-color:#dc2626}.upload-check-summary.is-delayed{border-left-color:#ea580c}.upload-check-status{gap:4px;display:grid}.upload-check-status strong{color:#111827;font-size:20px}.upload-check-status span{color:#667085;font-size:13px}.upload-check-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.upload-check-meta div{border-left:1px solid #e5e7eb;padding-left:14px}.upload-check-meta span{color:#667085;font-size:12px;display:block}.upload-check-meta strong{color:#1f2937;margin-top:5px;font-size:14px;font-weight:600;display:block}.upload-check-evidence{gap:10px;display:grid}.upload-check-evidence-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.upload-check-evidence-head h3{color:#1f2937;margin:0;font-size:16px}.upload-check-evidence-actions{flex:none}.upload-check-sensor-cards{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;display:grid}.upload-check-sensor-card{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:14px}.upload-check-sensor-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.upload-check-sensor-top strong{color:#1f2937;font-size:15px}.upload-check-sensor-card dl{color:#667085;grid-template-columns:76px 1fr;gap:6px 10px;margin:12px 0 0;font-size:12px;display:grid}.upload-check-count{color:#667085;align-items:baseline;gap:5px;margin-top:14px;font-size:12px;display:flex}.upload-check-count strong{color:#1f2937;font-size:24px;line-height:1}.upload-check-sensor-card dt{color:#98a2b3}.upload-check-sensor-card dd{color:#344054;overflow-wrap:anywhere;margin:0}.upload-check-config{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (width<=720px){.upload-check-page{gap:12px}.upload-check-heading,.upload-check-summary,.upload-check-evidence-head{gap:12px;display:grid}.upload-check-heading,.upload-check-toolbar,.upload-check-summary,.upload-check-evidence{padding:14px}.upload-check-heading h2{font-size:18px}.upload-check-toolbar,.upload-check-meta,.upload-check-config{grid-template-columns:1fr}.upload-check-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.upload-check-actions .el-button,.upload-check-evidence-actions .el-button{width:100%;margin:0}.upload-check-list-title{gap:3px;display:grid}.upload-check-meta{gap:8px}.upload-check-meta div{border-bottom:1px solid #edf0f3;border-left:0;padding:0 0 8px}.upload-check-meta div:last-child{border-bottom:0;padding-bottom:0}.upload-check-sensor-cards{grid-template-columns:1fr}.upload-check-sensor-card{padding:12px}.upload-check-sensor-card dl{grid-template-columns:68px minmax(0,1fr)}}@media (width<=420px){.upload-check-actions{grid-template-columns:1fr}}
