.df-workspace{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#58747c #10191f;color:#e1eded;background:#10191f;height:100dvh;min-height:0;font-size:14px;overflow:hidden auto}.df-workspace::-webkit-scrollbar{width:12px}.df-workspace::-webkit-scrollbar-track{background:#10191f}.df-workspace::-webkit-scrollbar-thumb{background:#58747c;border:3px solid #10191f;border-radius:999px}.df-workspace::-webkit-scrollbar-thumb:hover{background:#71a19f}.df-header{background:#142027;border-bottom:1px solid #304148;align-items:center;gap:22px;height:auto;padding:22px 32px;display:flex;position:static}.df-header h1{letter-spacing:.02em;align-items:center;gap:15px;margin:6px 0 0;font-size:22px;display:flex}.df-header-actions{align-items:center;gap:14px;margin-left:auto;display:flex}.df-header-actions>span{color:#a8bbc4;font-size:12px}.df-steps{background:#152128;border-bottom:1px solid #304148;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:18px 32px;display:grid}.df-steps button{color:#b2c5cb;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:flex-start;gap:12px;padding:12px;position:relative}.df-steps button.active{color:#aaf1e7;background:#193a3d;border-color:#438b86}.df-steps button>span:nth-child(2){flex-direction:column;align-items:flex-start;gap:4px;display:flex}.df-steps small{color:#91a9ad;letter-spacing:2px;font-size:10px}.df-step-icon{background:#22343c;border-radius:7px;place-items:center;width:36px;height:36px;display:grid}.df-step-arrow{color:#617e85;margin-left:auto}.df-main{min-width:0;max-width:1640px;margin:auto;padding:30px 36px;display:block}.df-title{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.df-title h2{margin:6px 0 0;font-size:26px}.df-metrics{color:#b6c9ce;font-variant-numeric:tabular-nums;align-items:center;gap:20px;display:flex}.df-scope{color:#a9d3cf;background:#162a2e;border:1px solid #2b5759;border-radius:6px;align-items:center;gap:10px;margin-bottom:24px;padding:11px 15px;font-size:12px;display:flex}.df-explainer{margin:22px 0}.df-workspace h3{margin:0 0 8px;font-size:17px}.df-workspace p{color:#aebfc6;margin:8px 0 14px;line-height:1.7}.df-columns{grid-template-columns:310px minmax(0,1fr);gap:20px;display:grid}.df-columns:has(.df-grow:first-child){grid-template-columns:minmax(0,1fr) 360px}.df-card{background:#16232b;border:1px solid #31454e;border-radius:9px;min-width:0;margin-bottom:20px;padding:22px}.df-card summary{cursor:pointer;margin-bottom:16px;font-size:15px;font-weight:600}.df-source-list{gap:8px;margin:18px 0 25px;display:grid}.df-source-list button{text-align:left;background:#111e25;border:1px solid #344851;justify-content:flex-start;gap:12px;padding:14px}.df-source-list button.active{background:#173c3e;border-color:#49c8bb}.df-workspace small{color:#9db4bd;overflow-wrap:anywhere;font-size:11px;line-height:1.6;display:block}.df-source-list strong{margin-bottom:3px;display:block}.df-field{flex-direction:column;gap:8px;min-width:0;margin-bottom:15px;display:flex}.df-field>span{color:#bacdd3;font-size:12px}.df-workspace input:not([type=checkbox]),.df-workspace select{color:#e4eeee;background:#0f1c23;border:1px solid #45606b;border-radius:5px;width:100%;min-width:0;min-height:40px;padding:10px 12px;font-size:13px}.df-workspace input[type=checkbox]{accent-color:#4bcdbd;flex-shrink:0;width:17px;height:17px}.df-workspace select option{color:#e4eeee;background:#14232b}.df-workspace input:focus,.df-workspace select:focus{outline-offset:2px;outline:2px solid #5ecdbd}.df-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;display:flex}.df-toolbar>input,.df-toolbar>select{max-width:290px}.df-section-head{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.df-section-head p{margin:0;font-size:12px}.df-scroll{border:1px solid #2e4650;border-radius:6px;overflow:auto}.df-scroll table{border-collapse:collapse;text-align:left;width:100%;min-width:650px;font-size:12px}.df-scroll th{color:#bacdd3;white-space:nowrap;background:#20343e;padding:13px 12px;font-weight:500}.df-scroll td{vertical-align:middle;border-top:1px solid #2c414b;padding:15px 12px}.df-scroll tr:nth-child(2n){background:#172830}.df-scroll code{color:#7bd8cf;font-size:11px}.df-import-preview{background:#1d3533;border:1px solid #578b7c;border-radius:6px;margin:15px 0;padding:18px}.df-import-preview p{font-size:12px}.df-catalog-foot{color:#a9bcc4;flex-wrap:wrap;gap:18px;margin-top:20px;font-size:12px;display:flex}.df-check{color:#bdd1d6;align-items:center;gap:8px;font-size:13px;display:flex}.df-empty{text-align:center;color:#8da8b2;padding:35px 20px}.df-empty svg{color:#7ab3b5}.df-empty p{max-width:480px;margin:12px auto;font-size:13px}.df-feedback{background:#153831;border:1px solid #376f5c;border-radius:6px;align-items:center;gap:12px;margin-bottom:18px;padding:14px 18px;line-height:1.7;display:flex}.df-feedback.error{color:#ffd6ad;background:#3f2d27;border-color:#a87952}.df-feedback svg{flex-shrink:0}.df-subtabs{border-bottom:1px solid #3c525b;gap:5px;margin:15px 0 22px;display:flex;overflow-x:auto}.df-subtabs button{white-space:nowrap;color:#b6c8cf;background:0 0;border:none;border-radius:0;padding:13px 20px}.df-subtabs button.active{color:#9eefdf;background:#1b3036;border-bottom:2px solid #5dd8c7}.df-subtabs button span{background:#2b424a;border-radius:4px;margin-left:5px;padding:1px 6px;font-size:11px}.df-inline-form{background:#1b2d35;border:1px solid #3d535d;border-radius:6px;flex-wrap:wrap;align-items:end;gap:14px;margin:12px 0 20px;padding:16px;display:flex}.df-inline-form .df-field{flex:1;min-width:180px;margin-bottom:0}.df-inline-form p{width:100%;margin:0;font-size:12px}.df-rule-form{border-bottom:1px solid #354b55;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:15px;margin:20px 0;padding-bottom:24px;display:grid}.df-rule-form .df-field{margin-bottom:0}.df-rule-list>div,.df-version{border-bottom:1px solid #2d4650;align-items:center;gap:15px;padding:16px 0;display:flex}.df-rule-list>div>div:first-child{flex:1}.df-component-list{gap:12px;display:grid}.df-component{background:#112129;border:1px solid #2c4650;border-radius:6px;grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:18px;padding:18px;display:grid}.df-component .df-field{margin:0}.df-validation{color:#b1e8cf;background:#19372f;border:1px solid #3b7762;border-radius:6px;align-items:center;gap:15px;margin:22px 0;padding:22px;display:flex}.df-validation span{margin-top:5px;font-size:13px;line-height:1.8;display:block}.df-validation.invalid{color:#f4d0a4;background:#3d3026;border-color:#856241}.df-issues{color:#f1c89e;padding-left:22px;line-height:1.9}.df-binding{border-bottom:1px solid #344851;grid-template-columns:210px 30px 1fr;align-items:center;gap:15px;padding:22px 0;display:grid}.df-binding .df-field{margin:0}.df-next{justify-content:flex-end;margin:24px 0;display:flex}.df-runtime-summary{grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0;display:grid}.df-runtime-summary>div{background:#183037;border:1px solid #365962;border-radius:7px;padding:22px}.df-runtime-summary strong{margin-top:8px;font-size:20px;display:block}.df-value{color:#8fe4d6;font-variant-numeric:tabular-nums;font-size:19px}.df-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.df-controls>div{border:1px solid #344e59;border-radius:5px;padding:15px}.df-controls form{gap:8px;margin-top:12px;display:flex}.df-record-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.df-log{max-height:320px;overflow:auto}.df-log>div{border-bottom:1px solid #324a55;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;display:flex}.df-log small{width:100%}.df-footer{color:#8fa9b5;letter-spacing:1px;border-top:1px solid #334852;justify-content:space-between;gap:12px;padding:20px 36px;font-size:11px;display:flex}.df-workspace button:disabled{opacity:.45;cursor:not-allowed}.df-workspace button:not(:disabled):hover{filter:brightness(1.13)}.df-check-box-only>span{cursor:default;-webkit-user-select:text;user-select:text}@media (max-width:1100px){.df-steps{padding:12px}.df-step-arrow{display:none}.df-steps button{gap:8px;padding:9px}.df-main{padding:22px}.df-columns{grid-template-columns:250px minmax(0,1fr)}.df-component{grid-template-columns:140px 1fr}.df-component .df-field:last-child{grid-column:2}.df-controls{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.df-header{flex-wrap:wrap;gap:12px;padding:16px}.df-header h1{flex-wrap:wrap;gap:8px;font-size:18px}.df-header-actions{justify-content:space-between;width:100%;margin:0}.df-header-actions>span{font-size:10px}.df-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.df-steps button{gap:7px;padding:9px 5px;font-size:12px}.df-step-icon{width:26px;height:32px}.df-steps small{font-size:9px}.df-main{padding:18px 12px}.df-title{flex-direction:column;align-items:flex-start;gap:12px}.df-title h2{font-size:23px}.df-metrics{gap:15px;font-size:12px}.df-scope{align-items:flex-start;line-height:1.7}.df-scope svg{flex-shrink:0;margin-top:2px}:is(.df-columns,.df-columns:has(.df-grow:first-child)){grid-template-columns:1fr}.df-card{margin-bottom:16px;padding:16px}.df-rule-form,.df-record-grid{grid-template-columns:1fr}.df-component{grid-template-columns:1fr;padding:14px}.df-component .df-field:last-child{grid-column:auto}.df-binding{grid-template-columns:1fr;gap:10px}.df-binding>svg{transform:rotate(90deg)}.df-runtime-summary{grid-template-columns:1fr;gap:10px}.df-runtime-summary>div{justify-content:space-between;align-items:center;padding:15px;display:flex}.df-runtime-summary strong{margin:0;font-size:17px}.df-controls{grid-template-columns:1fr}.df-footer{flex-direction:column;padding:18px}.df-toolbar>input,.df-toolbar>select{max-width:none}.df-inline-form{padding:12px}.df-inline-form .df-field{width:100%;min-width:100%}.df-workspace .p-button{min-height:42px}.df-rule-list>div{flex-wrap:wrap}.df-source-list{grid-template-columns:1fr}.df-subtabs button{padding:13px 12px}.df-section-head{flex-wrap:wrap}}.df-sync-dialog{width:min(820px,100vw - 30px)}.df-sync-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;display:grid}.df-sync-summary>div{background:#162a31;border:1px solid #3b555f;border-radius:6px;padding:15px}.df-sync-summary strong{color:#83e2d3;font-size:24px;display:block}.df-sync-summary span{color:#a9c0c8;margin-top:3px;font-size:11px;display:block}.df-sync-section{border:1px solid #38525c;border-radius:6px;max-height:190px;margin:13px 0;padding:13px 15px;overflow:auto}.df-sync-section.warn{background:#332c22;border-color:#7d6544}.df-sync-section h3{margin-bottom:6px;font-size:13px}.df-sync-section>div{border-top:1px solid #2d4650;grid-template-columns:minmax(150px,.7fr) 1.3fr;gap:15px;padding:9px 0;display:grid}.df-sync-section>div:first-of-type{border-top:0}.df-sync-section span{color:#abc0c8;overflow-wrap:anywhere;font-size:12px}@media (max-width:700px){.df-sync-summary{grid-template-columns:1fr}.df-sync-section>div{grid-template-columns:1fr;gap:3px}}.df-dialog-tabs{border-bottom:1px solid #2d4650;gap:6px;margin:-4px 0 18px;display:flex}.df-dialog-tabs button{color:#91aab3;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 16px}.df-dialog-tabs button.active{color:#4fe1d0;border-bottom-color:#4fe1d0}.df-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.df-variable-basic,.df-variable-storage{gap:16px;display:grid}.df-source-map-block{border-top:1px solid #2d4650;padding-top:14px}.df-source-map-block h3{margin:0 0 12px}.df-source-map-block h3 small{color:#91aab3;font-weight:400}.df-state-table{gap:8px;margin-top:18px;display:grid}.df-state-table>div{background:#0b18209e;border:1px solid #2d4650;border-radius:10px;grid-template-columns:18px minmax(220px,1fr) auto minmax(180px,260px);align-items:center;gap:12px;padding:12px 14px;display:grid}.df-state-table small{color:#91aab3;margin-top:3px;display:block}.df-state-swatch{border-radius:4px;width:14px;height:14px;box-shadow:0 0 0 2px #ffffff14}@media (max-width:800px){.df-form-grid{grid-template-columns:1fr}.df-state-table>div{grid-template-columns:18px 1fr}.df-state-table select,.df-state-table .df-check{grid-column:2}}.df-variable-editor .df-variable-ownership{background:#14262e;border:1px solid #3b555f;border-radius:6px;gap:5px;width:100%;padding:12px 14px;display:grid}.df-variable-editor .df-variable-ownership strong{color:#bfe5df;font-size:12px}.df-variable-editor .df-variable-ownership code{color:#75d8cc;overflow-wrap:anywhere}.df-variable-editor select:disabled{cursor:not-allowed;color:#92a7ae}.df-reference-note{background:#14272e;border:1px solid #38535d;border-left:3px solid #4fd1be;border-radius:5px;grid-template-columns:140px minmax(0,1fr);align-items:start;gap:14px;margin:16px 0;padding:13px 15px;display:grid}.df-reference-note strong{color:#87e4d5}.df-reference-note span{color:#a9bec6;line-height:1.65}.df-source-tabs{border-bottom:1px solid #344c56;gap:4px;margin:16px 0;padding-bottom:1px;display:flex;overflow-x:auto}.df-source-tabs button{color:#9fb4bd;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;flex:none;align-items:center;gap:8px;padding:11px 14px;display:flex}.df-source-tabs button span{color:#bad0d7;background:#243a42;border-radius:10px;min-width:22px;padding:2px 6px;font-size:10px}.df-source-tabs button.active{color:#ecfffb;background:#19333a;border-bottom-color:#51d3c0}.df-data-chain{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;margin:18px 0;display:grid}.df-data-chain>div{background:#14272e;border:1px solid #36515b;border-radius:6px;grid-template-columns:auto 1fr;gap:2px 10px;padding:13px 14px;display:grid}.df-data-chain>div.active{border-color:#4fcfbd;box-shadow:inset 0 0 0 1px #4fcfbd33}.df-data-chain>div>span{color:#65dbc9;grid-row:1/3;font:700 12px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.df-data-chain strong{font-size:13px}.df-data-chain small{color:#91aab3;font-size:10px}.df-data-chain>svg{color:#6e8a94}.df-table-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.df-variable-filters{grid-template-columns:minmax(210px,1.4fr) repeat(5,minmax(130px,1fr));gap:8px;margin-bottom:14px;display:grid}.df-variable-filters input,.df-variable-filters select{width:100%;min-width:0}.df-storage-filter{display:block;position:relative}.df-storage-filter>span{z-index:1;color:#7f9aa4;letter-spacing:.02em;background:#102129;padding:0 5px;font-size:9px;position:absolute;top:-7px;left:11px}.df-selection-count{color:#8ea8b1;font:600 11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.df-variable-commandbar{background:#102129;border:1px solid #344c56;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 15px;padding:10px;display:flex}.df-main-tables{padding-bottom:92px}.df-variable-scroll{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;scrollbar-width:thin;scrollbar-color:#58747c #102129;max-height:clamp(300px,46dvh,620px);overflow:auto}.df-variable-scroll::-webkit-scrollbar{width:11px;height:11px}.df-variable-scroll::-webkit-scrollbar-track{background:#102129}.df-variable-scroll::-webkit-scrollbar-thumb{background:#58747c;border:2px solid #102129;border-radius:999px}.df-variable-scroll thead th{z-index:3;position:sticky;top:0;box-shadow:0 1px #3c555f}.df-next-persistent{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#10191fe6,#10191f 36%);border-top:1px solid #577e87bf;margin:0;padding:12px max(36px,50vw - 784px);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #00000047}.df-split-action{display:inline-flex;position:relative}.df-split-action>.p-button{border-radius:4px 0 0 4px}.df-split-action>button:not(.p-button){color:#08252a;background:#59d5c2;border:1px solid #54d4c1;border-left-color:#06222873;border-radius:0 4px 4px 0;width:34px;font-weight:900}.df-add-menu{z-index:30;background:#172a31;border:1px solid #4b6872;border-radius:6px;min-width:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 36px #00000059}.df-add-menu button{color:#e8f8f5;text-align:left;background:0 0;border:0;border-radius:4px;gap:3px;padding:10px 11px;display:grid}.df-add-menu button:hover{background:#223b43}.df-add-menu small{color:#8fa7b0;font-size:10px}.df-variable-dialog{width:min(760px,100vw - 36px);max-height:min(820px,100vh - 36px)}.df-source-import-dialog{width:min(940px,100vw - 36px)}.df-import-lead{color:#d9eeea;margin:0 0 18px;font-size:14px}.df-import-lead span{color:#7f9ca6}.df-import-source-row{grid-template-columns:minmax(260px,430px) auto;align-items:end;gap:9px;margin-bottom:14px;display:grid}.df-import-catalog-filters{grid-template-columns:minmax(220px,1fr) 180px;gap:9px;margin-bottom:10px;display:grid}.df-import-table{border:1px solid #334e58;border-radius:5px 5px 0 0;max-height:380px}.df-import-table table{min-width:820px!important}.df-import-table tr.is-imported{opacity:.58}.df-import-pager{color:#91aab3;background:#102129;border:1px solid #334e58;border-top:0;border-radius:0 0 5px 5px;justify-content:space-between;gap:10px;padding:9px 11px;font-size:11px;display:flex}.df-point-picker,.df-group-list,.df-import-results,.df-dependency-list{gap:8px;max-height:330px;margin-top:14px;display:grid;overflow:auto}.df-point-picker>label,.df-group-list>div,.df-import-results>div,.df-dependency-list>div{background:#14272e;border:1px solid #344f59;border-radius:5px;align-items:center;gap:11px;padding:11px 12px;display:flex}.df-point-picker>label>span,.df-group-list>div>div:first-child{gap:3px;min-width:0;display:grid}.df-point-picker small,.df-group-list small,.df-import-results span,.df-dependency-list span{color:#91aab3;font-size:11px}.df-group-list>div{justify-content:space-between}.df-group-list form{align-items:center;gap:7px;display:flex}.df-group-list form input{min-width:180px}.df-group-add{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.df-import-results>div{justify-content:flex-start}.df-dependency-list>div{grid-template-columns:auto minmax(120px,.6fr) minmax(0,1fr);display:grid}.df-workspace .df-scroll table{min-width:860px}.df-workspace .df-scroll th:first-child,.df-workspace .df-scroll td:first-child{width:34px}@media (max-width:1100px){.df-variable-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.df-variable-filters input{grid-column:span 3}}@media (max-width:700px){.df-main-tables{padding-bottom:80px}.df-variable-scroll{max-height:42dvh}.df-next-persistent{padding:10px 12px}.df-next-persistent .p-button{justify-content:center;width:100%}.df-reference-note{grid-template-columns:1fr;gap:4px}.df-data-chain{grid-template-columns:1fr}.df-data-chain>svg{justify-self:center;transform:rotate(90deg)}.df-table-actions{flex-direction:column;align-items:stretch}.df-variable-filters{grid-template-columns:1fr}.df-variable-filters input{grid-column:auto}.df-variable-commandbar>.p-button,.df-split-action{flex:calc(50% - 8px)}.df-split-action>.p-button{flex:1}.df-group-add{grid-template-columns:1fr}.df-group-list>div,.df-group-list form{flex-direction:column;align-items:stretch}.df-dependency-list>div,.df-import-source-row,.df-import-catalog-filters{grid-template-columns:1fr}.df-import-pager{flex-direction:column;align-items:flex-start}}.df-source-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.df-source-actions .p-button,.df-source-delete .df-delete-confirm{color:#ffd4d2;background:#462b31;border-color:#905759}.df-source-delete{width:min(680px,100vw - 28px);max-height:90vh}.df-source-delete .p-dialog-head h2{overflow-wrap:anywhere;font-size:19px}.df-source-delete .p-dialog-content{min-height:0;overflow:auto}.df-delete-references{gap:14px;margin:18px 0;display:grid}.df-delete-references section{background:#102129;border:1px solid #3d515b;border-radius:6px;padding:14px}.df-delete-references h3{margin:0 0 8px;font-size:14px}.df-delete-references ul{color:#c0d2d9;overflow-wrap:anywhere;margin:0;padding-left:20px;font-size:12px;line-height:1.8}.df-source-delete button:focus-visible{outline-offset:3px;outline:2px solid #76e4cf}@media (max-width:700px){.df-source-delete .p-dialog-head h2{font-size:16px}.df-source-delete .p-dialog-footer{flex-wrap:wrap}}:root{color:#e7eff3;font-synthesis:none;--bg:#10171d;--panel:#151f26;--line:#2b363f;--muted:#a0adb7;--teal:#49d3c7;--green:#5add99;--amber:#edbd65;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#10171d;font-family:Segoe UI Variable,Segoe UI,Microsoft YaHei,sans-serif;font-size:14px}.component-properties-dialog .compact-properties{flex-direction:column;flex:1;min-height:0;gap:0!important;padding:0!important;display:flex!important;overflow:hidden!important}.property-identity{border-bottom:1px solid var(--line);background:#132129;align-items:center;gap:12px;min-height:58px;padding:9px 20px;display:flex}.property-identity-icon{color:#78dfcf;background:#1a2b34;border:1px solid #3d5863;border-radius:6px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.property-identity-icon img{object-fit:contain;width:32px;height:32px}.property-identity b{font-size:14px;line-height:1.35;display:block}.property-identity span:not(.property-identity-icon){color:#93aab5;text-overflow:ellipsis;white-space:nowrap;max-width:620px;margin-top:3px;font-size:10px;display:block;overflow:hidden}.property-tabs{border-bottom:1px solid var(--line);background:#17252d;flex:none;gap:0;padding:0 14px;display:flex}.property-tabs button{color:#a8bbc4;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;min-width:118px;min-height:40px;padding:8px 16px;font-size:12px}.property-tabs button:hover{color:#e5f4f5;background:#1d3039}.property-tabs button.active,.property-tabs button[aria-selected=true]{color:#82ead8;background:#1b3037;border-bottom-color:#59d8c4}.property-tab-content{scrollbar-width:thin;scrollbar-color:#3c5963 transparent;flex:auto;min-height:0;padding:12px 20px;overflow:auto}.property-pane{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px 16px;display:grid}.property-pane>label,.property-pane .widget-properties>label{color:#c7d6dc;flex-direction:column;gap:6px;min-width:0;margin:0;font-size:11px;display:flex}.property-pane input,.property-pane select{width:100%;min-height:34px;font-size:12px}.property-wide{grid-column:1/-1}.basic-property-pane .widget-properties{display:contents}.basic-property-pane .widget-properties>small{color:#8fa7b1;grid-column:1/-1;margin:0}.data-property-pane .binding-button{min-height:58px;padding:8px 10px}.data-property-pane .inline-help{background:#152d2b;border:1px solid #31564f;border-radius:5px;margin-top:0;padding:9px 11px}.display-property-pane .coordinates{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;display:grid}.display-property-pane .coordinates label{font-size:11px}.property-option{background:#172730;border:1px solid #344d58;border-radius:5px;align-items:center;min-height:48px;padding:10px 12px;flex-direction:row!important;gap:10px!important;display:flex!important}.property-option input{flex:0 0 16px;width:16px;min-height:16px}.display-note{color:#9fc9c0;background:#142a2a;border-radius:5px;align-items:center;gap:8px;padding:10px 12px;font-size:11px;display:flex}.property-dialog-footer{border-top:1px solid var(--line);background:#142129;flex:none;align-items:center;gap:9px;min-height:58px;padding:9px 16px;display:flex}.property-dialog-footer .property-actions{gap:7px;margin:0;display:flex}.property-dialog-footer .property-actions button{flex:none;min-width:76px}.property-dialog-footer>span{color:#8098a3;text-align:right;flex:1;font-size:10px}.property-dialog-footer>.primary{min-width:84px}@media (max-width:700px),(max-height:600px){.is-editor .component-properties-dialog{height:calc(100vh - 12px);max-height:calc(100vh - 12px);width:calc(100vw - 12px)!important}.property-tabs{padding:0 6px;overflow-x:auto}.property-tabs button{min-width:104px;padding-inline:10px}.property-tab-content{padding:12px}.property-dialog-footer>span{display:none}}@media (max-width:520px){.property-pane{grid-template-columns:1fr}.property-wide,.basic-property-pane .widget-properties>small{grid-column:1}.property-identity span:not(.property-identity-icon){max-width:260px}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;min-width:360px;margin:0}button,input,select{font:inherit}button{color:#dce8ed;cursor:pointer;background:#202c35;border:1px solid #36444e;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:8px 12px;transition:background .15s,border .15s;display:inline-flex}button:hover{background:#2c3c47;border-color:#5c7a88}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px}button svg{flex-shrink:0}input,select{color:#e7f1f4;background:#101a21;border:1px solid #40515d;border-radius:4px;outline:none;min-width:0;padding:10px 12px}input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 2px #3ac6ba24}input::placeholder{color:#8a9ba6}.primary{color:#fff;background:#238f8b;border-color:#3cc4bb}.primary:hover{background:#2aa79f}.muted,small{color:var(--muted)}.spacer{flex:1}.full{width:100%}.danger-text{color:#ff8983!important}.publish-issue-panel{background:#711f262e;border:1px solid #ef67706b;border-radius:8px;gap:8px;margin-top:16px;padding:14px;display:grid}.publish-issue-panel>strong{color:#ff9da5}.publish-issue-panel>p{color:var(--muted);margin:0;font-size:13px}.publish-issue-list{gap:8px;max-height:min(300px,38vh);padding-right:3px;display:grid;overflow:auto}.publish-issue-link,.publish-issue-static{min-width:0;color:var(--text);text-align:left;background:#08141bb8;border:1px solid #ef677047;border-radius:6px;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}.publish-issue-link{cursor:pointer;width:100%}.publish-issue-link:hover,.publish-issue-link:focus-visible{background:#701f274d;border-color:#ff7b86;outline:none}.publish-issue-link>span:first-child{gap:2px;min-width:0;display:grid}.publish-issue-link b,.publish-issue-link em,.publish-issue-link small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.publish-issue-link b{color:#85d9d2;font-size:12px}.publish-issue-link em{font-style:normal;font-weight:700}.publish-issue-link small{color:#ff9da5}.publish-issue-locate{color:#8fe3dc;flex:none;align-items:center;gap:5px;font-size:12px;display:inline-flex}.publish-issue-locate svg,.publish-issue-static svg{flex:none;width:16px;height:16px}.publish-issue-static{color:#ffb1b7;justify-content:flex-start}.danger-button{color:#ffb2a7}.app{grid-template-rows:66px minmax(0,1fr);grid-template-columns:76px minmax(0,1fr);height:100dvh;min-height:700px;display:grid}header{border-bottom:1px solid var(--line);z-index:5;background:#151e25;grid-column:1/-1;align-items:center;gap:24px;padding:0 20px;display:flex}.brand{color:#f0f5f7;letter-spacing:-.7px;font-size:24px;font-style:italic;font-weight:750;line-height:1;text-decoration:none}.brand span{letter-spacing:2.2px;color:#a5b4bd;margin-top:6px;font-size:7px;font-style:normal;display:block}.project-name{border-left:1px solid var(--line);white-space:nowrap;align-items:center;gap:14px;padding-left:22px;font-size:16px;display:flex}.top-tabs{align-self:stretch;gap:14px;margin-left:16px;display:flex}.top-tabs button{color:#aebbc3;background:0 0;border:0;border-radius:0;padding:0 16px;font-size:15px;position:relative}.top-tabs .active{color:#fff;border-bottom:3px solid var(--teal)}.header-right{align-items:center;gap:18px;margin-left:auto;display:flex}.header-date{color:#b8c3ca;font-size:12px}.live{white-space:nowrap;color:#bdcdc9;align-items:center;gap:8px;font-size:12px;display:flex}i{background:var(--green);border-radius:50%;width:7px;height:7px;display:inline-block}.icon-button{background:0 0;border-color:#0000;padding:8px}.rail{border-right:1px solid var(--line);background:#111a21;flex-direction:column;grid-row:2;gap:10px;padding-top:15px;display:flex}.rail button{color:#9eafba;background:0 0;border:0;border-radius:0;flex-direction:column;min-height:75px;font-size:12px;position:relative}.rail button.active{color:#69e1d6;border-left:3px solid var(--teal);background:#193238}.rail button:hover{color:#d9f6f4;background:#1b2a33}.rail-bottom{margin-top:auto}.notification-dot{background:var(--amber);width:5px;height:5px;position:absolute;top:16px;right:20px}main{flex-direction:column;min-width:0;min-height:0;display:flex}.workspace{flex:1;min-width:0;min-height:0;display:flex}.stage{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.stage-heading{justify-content:space-between;align-items:flex-start;gap:16px;padding:32px 30px 16px;display:flex}.eyebrow{letter-spacing:1.8px;color:#7e9da8;font-size:9px;font-weight:600}h1{letter-spacing:.3px;white-space:nowrap;margin:8px 0 6px;font-size:26px;font-weight:600}h1 span{color:#cad6dd;margin-left:7px;font-size:22px;font-weight:400}.stage-heading p{color:#a4b2bc;margin:8px 0;font-size:13px}.view-switch{border:1px solid #35444c;border-radius:6px;flex-shrink:0;margin-top:4px;padding:3px;display:flex}.view-switch button{color:#99adb7;background:0 0;border:0;min-height:30px;padding:5px 10px;font-size:12px}.view-switch .active{color:#b8fff5;background:#244c50}.viewport{flex:1;justify-content:center;align-items:center;min-height:0;margin:0 16px 16px;display:flex;position:relative}.diagram{aspect-ratio:900/650;width:100%;max-height:100%;position:relative;container-type:inline-size}.diagram.editing{touch-action:none}.diagram.marquee-active{cursor:crosshair;-webkit-user-select:none;user-select:none}.marquee-selection{z-index:50;pointer-events:none;background:#48d2bc29;border:1px solid #75e8d5;border-radius:2px;position:absolute;box-shadow:inset 0 0 0 1px #071a1e73,0 0 12px #48d2bc24}.pipes{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.equipment{touch-action:none;z-index:2;border:1px solid #0000;border-radius:6px;min-height:0;padding:0;transition:border-color .15s;display:block;position:absolute;transform:translate(-50%,-50%);background:0 0!important}.equipment:hover{border-color:#548b90}.equipment.selected{border-color:#72e8d5;box-shadow:inset 0 0 0 2px #5be2cdc7,inset 0 0 12px #42cdb929}.equipment.selected:after{content:"";z-index:20;pointer-events:none;border-radius:inherit;border:2px solid #72e8d5;position:absolute;inset:0;box-shadow:inset 0 0 10px #47dbc62e}.equipment.connecting{border-color:#e9c16c}.equipment img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.equipment.tank{width:23%;height:47%}.equipment.pump{width:17%;height:16%}.equipment.valve{width:8%;height:10%}.equipment.standby img{filter:saturate(.18)}.equipment.closed img{filter:sepia()saturate(3)hue-rotate(310deg)}.equipment-label{white-space:nowrap;flex-direction:column;align-items:center;gap:7px;margin-top:5px;font-size:clamp(10px,1.45cqw,15px);display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%)}.equipment-label b{font-weight:500}.tank .equipment-label{text-shadow:0 2px 3px #000;background:#0c29316e;border-radius:4px;margin:0;padding:8px 6px;top:40%}.tank .equipment-label strong{color:#e8fffc;font-size:clamp(17px,2.5cqw,26px)}.tank .equipment-label small{color:#e2f7f5;font-size:.6em}.status{color:#bbccd6;white-space:nowrap;background:#21313c;border:1px solid #4d6470;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.status.running{color:#76efae;background:#17372c;border-color:#346c54}.status.closed{color:#ff9693;background:#412725;border-color:#784943}.measure{flex-direction:column;gap:6px;display:flex;position:absolute;top:7%}.measure.pressure{left:35%}.measure.flow{left:68%}.measure small{font-size:13px}.measure strong{letter-spacing:.5px;font-size:clamp(20px,2.9cqw,30px);font-weight:600}.measure em{color:#c3d2d9;font-size:14px;font-style:normal;font-weight:400}.canvas-hint{white-space:nowrap;color:#7f96a2;pointer-events:none;background:#10171dbd;border-radius:4px;padding:8px 12px;font-size:11px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.inspector{border:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#344751 transparent;background:#151f26;border-radius:7px;flex-shrink:0;align-self:stretch;width:350px;margin:16px 16px 20px 0;overflow:auto}.runtime-inspector-shell{display:contents}.properties-dialog-backdrop{z-index:45;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#02080cb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.is-editor .component-properties-dialog{border:1px solid #47616c;border-radius:10px;flex-direction:column;align-self:auto;max-width:640px;max-height:min(820px,100vh - 32px);display:flex;overflow:hidden;box-shadow:0 28px 90px #0009;width:min(640px,100vw - 32px)!important;margin:0!important}.component-properties-dialog .panel-title{background:#17242c;flex:none}.component-properties-dialog .panel-title button{width:32px;height:32px;padding:0}.component-properties-dialog .edit-properties{padding:20px 24px 28px;overflow-y:auto}.panel-title{border-bottom:1px solid var(--line);align-items:center;gap:9px;min-height:46px;padding:13px 18px;font-size:14px;font-weight:600;display:flex}.panel-title>small{margin-left:auto;font-size:10px;font-weight:400}.device-overview{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin:0 18px;padding:18px 0;display:flex}.device-overview h2{white-space:nowrap;margin:0;font-size:23px;font-weight:600}.device-overview h2 span{font-size:18px}.device-overview p{color:#9fb0ba;margin:7px 0 0;font-size:12px}.device-overview .status{padding:5px 8px;font-size:11px}.device-metrics{grid-template-columns:1fr 1fr;gap:15px;margin:20px 18px;display:grid}.device-metrics>div:first-child{border-right:1px solid var(--line)}.device-metrics span{color:#b5c4cb;font-size:13px}.device-metrics strong{letter-spacing:-1px;margin-top:4px;font-size:36px;font-weight:600;display:block}.device-metrics small{letter-spacing:0;margin-left:7px;font-size:13px;font-weight:400}.segmented{border:1px solid #40515e;border-radius:4px;margin-top:10px;display:flex}.segmented button{background:0 0;border:0;border-radius:0;flex:1;min-height:33px;padding:7px;font-size:12px}.segmented .active{color:#fff;background:#369b98}.gauge-section{margin:20px 18px 0}.section-label{justify-content:space-between;font-size:14px;display:flex}.section-label small{font-size:11px}.gauge{max-width:290px;height:156px;margin:auto;position:relative}.gauge-number{flex-direction:column;align-items:center;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.gauge-number strong{font-size:30px}.gauge-number small{font-size:12px}.gauge-scale{color:#a4b4be;justify-content:space-between;width:100%;font-size:10px;display:flex;position:absolute;bottom:0}.speed-label{margin:20px 18px 10px;font-size:13px;display:block}.control-row{gap:8px;margin:0 18px;display:flex}.control-row>button{padding:8px;font-size:12px}.stepper{background:#101a21;border:1px solid #41515e;border-radius:4px;flex:1;align-items:center;min-width:0;display:flex}.stepper button{background:0 0;border:0;border-radius:0;min-width:25px;padding:6px}.stepper input{text-align:center;appearance:textfield;border:0;width:44px;min-width:0;padding:4px 0;font-size:17px;font-weight:600}.stepper input::-webkit-inner-spin-button{display:none}.stepper small{font-size:10px}.alarm-banner{color:#f0c26c;background:#352c1e;border:1px solid #8a6327;justify-content:flex-start;width:calc(100% - 36px);margin:20px 18px 16px;font-size:13px}.alarm-banner span{text-align:left;flex:1}.alarm-banner.acknowledged{color:#8cdeb3;background:#1c342c;border-color:#35634c}.trend-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 18px 0;display:flex}.trend-heading select{padding:5px 8px;font-size:11px}.trend{min-width:0;height:160px;margin:4px 14px 0}.chart-legend{justify-content:center;gap:22px;padding:12px 4px 18px;font-size:10px;display:flex}.chart-legend span:first-child{color:#5fd8cc}.chart-legend span:last-child{color:#e2bd6f}.other-metrics{flex-direction:column;align-items:flex-start;gap:12px;padding:32px 22px;display:flex}.other-metrics strong{font-size:42px}.other-metrics p{color:#a6b9c2}footer{border-top:1px solid var(--line);background:#131d24;justify-content:space-between;align-items:center;gap:15px;min-height:61px;padding:0 22px;display:flex}.page-tabs{gap:10px;display:flex}.page-tabs button{white-space:nowrap;background:0 0;border:0;border-radius:0;padding:16px 22px;font-size:12px}.page-tabs .active{color:#d4fffa;border-bottom:3px solid var(--teal);background:#1c3339}.footer-state{color:#9eb0b9;white-space:nowrap;align-items:center;gap:12px;font-size:10px;display:flex}.editor-toolbar{border-bottom:1px solid var(--line);background:#17232b;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;display:flex}.steps{align-items:center;gap:14px;font-size:12px;display:flex}.steps>svg{color:#5d7582;width:13px}.step{align-items:center;gap:8px;display:flex}.step b{color:#96e5da;background:#25413f;border:1px solid #46706b;border-radius:50%;place-items:center;width:23px;height:23px;font-size:10px;display:grid}.toolbar-actions{gap:6px;display:flex}.toolbar-actions button{min-height:32px;font-size:12px}.library{border-right:1px solid var(--line);scrollbar-width:thin;background:#141f27;flex-shrink:0;width:206px;overflow:auto}.library .panel-title{padding:14px}.library-body{padding:18px 12px}.asset-card{cursor:grab;background:#1b2932;border:1px solid #2f404b;gap:8px;width:100%;margin-top:12px;padding:10px 8px;display:flex}.asset-card img{object-fit:contain;width:48px;height:54px}.asset-card span{text-align:left;flex:1}.asset-card b{font-size:12px;font-weight:500;display:block}.asset-card small{margin-top:5px;font-size:10px;display:block}.asset-card>svg{width:14px}.library-tip{color:#9ab0bc;margin:16px 4px 24px;font-size:10px;line-height:1.9}.object-heading{border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:12px;font-size:12px;display:flex}.object-heading small{font-size:10px}.object-list{padding-top:8px}.object-list button{background:0 0;border:0;justify-content:flex-start;gap:6px;width:100%;min-height:34px;padding:9px 5px;font-size:10px}.object-list button.active{color:#b4f6e9;background:#21413f}.object-list small{text-overflow:ellipsis;white-space:nowrap;max-width:85px;margin-left:auto;font-size:10px;overflow:hidden}.object-dot{background:#8b9eaa;border-radius:50%;flex-shrink:0;width:5px;height:5px}.object-dot.running{background:#60d99b}.object-dot.closed{background:#ec7b74}.is-editor .stage-heading{flex-wrap:wrap;gap:6px;padding:20px 22px 8px}.is-editor h1{font-size:20px}.is-editor h1 span{font-size:17px}.is-editor .stage-heading p{font-size:11px}.is-editor .inspector{border-top:0;border-bottom:0;border-right:0;border-radius:0;width:284px;margin:0}.is-editor .viewport{box-sizing:border-box;scrollbar-gutter:stable both-edges;scrollbar-width:thin;scrollbar-color:#4f737d #10191f;background:#0b1318;border:1px solid #263942;justify-content:flex-start;align-items:flex-start;margin:0 12px 14px;padding:12px;overflow:auto}.canvas-zoom-shell{flex:none;margin:auto;position:relative}.canvas-zoom-shell>.diagram{position:absolute;top:0;left:0}.canvas-runtime-shell{width:100%;max-height:100%}.canvas-runtime-shell>.diagram{width:100%}.is-editor .viewport::-webkit-scrollbar{width:12px;height:12px}.is-editor .viewport::-webkit-scrollbar-track{background:#10191f}.is-editor .viewport::-webkit-scrollbar-thumb{background:#4f737d;border:3px solid #10191f;border-radius:999px}.is-editor .diagram:not(.widget-overlay){aspect-ratio:auto;flex:none;max-width:none;max-height:none;box-shadow:0 0 0 1px #3a5560,0 14px 34px #00000052}.canvas-toolbar{scrollbar-width:thin;background:#111b21;border-bottom:1px solid #26343c;flex-direction:row;align-items:center;gap:7px;padding:7px 12px;display:flex;overflow-x:auto}.canvas-toolbar-row{flex:none;align-items:center;gap:5px;min-width:0;display:flex;overflow:visible}.canvas-toolbar::-webkit-scrollbar{height:5px}.canvas-toolbar button{background:0 0;border-color:#2f414a;flex:none;min-height:30px;padding:6px 8px;font-size:11px}.canvas-toolbar button.active{color:#a4f6e6;background:#24403f;border-color:#345f59}.canvas-toolbar button:disabled{opacity:.38}.canvas-size-button{color:#a9eee6;background:#183033!important;border-color:#3d6b69!important}.zoom-control{color:#91a8b2;flex:none;align-items:center;gap:6px;font-size:11px;display:inline-flex}.zoom-control select{width:78px;height:30px;padding:3px 6px;font-size:11px}.alignment-row{border:0;padding:0}.canvas-toolbar .tool-icon-button{color:#9fb6bf;place-items:center;width:32px;min-width:32px;height:30px;min-height:30px;padding:0;display:inline-grid;position:relative}.canvas-toolbar .tool-icon-button svg{width:18px;height:18px}.canvas-toolbar .tool-icon-button:hover:not(:disabled),.canvas-toolbar .tool-icon-button:focus-visible{color:#b8fff0;background:#1c3435;border-color:#4c817a}.canvas-toolbar .tool-icon-button:after{content:attr(data-tooltip);z-index:80;color:#e8f5f6;pointer-events:none;opacity:0;background:#071116;border:1px solid #48636d;border-radius:5px;width:max-content;max-width:180px;margin-top:66px;padding:5px 8px;font-size:11px;line-height:1.2;transition:opacity .12s,transform .12s;position:fixed;transform:translateY(-3px);box-shadow:0 8px 22px #00000061}.canvas-toolbar .tool-icon-button:hover:after,.canvas-toolbar .tool-icon-button:focus-visible:after{opacity:1;transform:translateY(0)}.toolbar-group-label{color:#80a0aa;letter-spacing:.08em;flex:none;font-size:10px}.canvas-toolbar-status{color:#78919b;flex:none;margin-left:auto;padding:0 4px;font-size:10px}.is-editor .canvas-hint{display:none}.toolbar-separator{background:var(--line);width:1px;margin:3px 4px}.edit-properties{padding:20px 16px}.selected-summary{border-bottom:1px solid var(--line);align-items:center;gap:18px;margin-bottom:24px;padding-bottom:20px;display:flex}.selected-summary img{object-fit:contain;width:65px;height:70px}.selected-summary b{font-size:20px}.selected-summary span{color:#9bb0bc;margin-top:6px;font-size:12px;display:block}.edit-properties>label{flex-direction:column;gap:9px;margin-top:24px;font-size:12px;display:flex}.edit-properties input,.edit-properties select{width:100%;font-size:12px}.binding-button{text-align:left;color:#a3efe5;background:#1b3439;border-color:#3d646b;width:100%;padding:12px 10px}.binding-button span{flex:1;font-size:12px}.binding-button small{margin-top:5px;font-size:10px;display:block}.inline-help{color:#93c2b9;align-items:center;gap:6px;margin-top:10px;font-size:10px;display:flex}.edit-properties details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:26px;padding:15px 0;font-size:12px}.edit-properties summary{cursor:pointer;color:#aebfc8}.coordinates{gap:10px;margin:16px 0;display:flex}.coordinates label{color:#acbdc5;flex:1;min-width:0;font-size:10px}.coordinates input{margin-top:5px}.property-actions{gap:8px;margin-top:20px;display:flex}.property-actions button{flex:1;font-size:11px}.bottom-tip{border-top:1px solid var(--line);color:#8ba5b4;align-items:center;gap:12px;margin-top:40px;padding-top:20px;display:flex}.bottom-tip p{font-size:12px;line-height:1.8}.bottom-tip span{font-size:10px}.empty{text-align:center;color:#91a8b7;padding:80px 15px;font-size:12px}.empty>svg{margin:auto}.history-view{flex:1;min-height:0;margin:25px}.history-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.history-heading h2{font-size:18px}.history-heading select{font-size:12px}.history-stats{color:#a4b8c2;gap:70px;padding:30px 0;font-size:13px;display:flex}.history-stats strong{color:#e5f2f5;margin-top:8px;font-size:32px;display:block}.history-stats small{font-size:13px}.trend.large{height:320px;margin:0}.scene-host{position:absolute;inset:0;overflow:hidden}.scene-host>canvas{touch-action:none;position:absolute;inset:0}.scene-labels{pointer-events:none;position:absolute;inset:0}.scene-tag{color:#cfdee4;pointer-events:auto;background:#15252deb;border:1px solid #3c5662;min-height:25px;padding:4px 8px;font-size:10px;box-shadow:0 3px 8px #0005}.scene-tag.selected{color:#b2ffeb;background:#1d4b43;border-color:#48c6b3}.model-note{pointer-events:none;color:#a3b7c1;background:#152129cf;border-radius:4px;padding:7px;font-size:10px;position:absolute;top:15px;left:15px}.camera-actions{position:absolute;bottom:44px;right:12px}.camera-actions button{background:#20313bdc;font-size:11px}.loading,.scene-error{color:#abc3cf;z-index:3;padding:45px;position:relative}.toast{z-index:40;color:#dcfff4;background:#25463f;border:1px solid #4e8477;border-radius:7px;align-items:center;gap:12px;max-width:90vw;padding:14px 22px;font-size:13px;display:flex;position:fixed;top:85px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0007}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#02080cbf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#17232c;border:1px solid #40525d;border-radius:10px;width:540px;max-width:100%;max-height:90vh;padding:22px 26px;overflow:auto;box-shadow:0 30px 100px #0009}.modal-heading{border-bottom:1px solid #34444e;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;display:flex}.modal-heading h2{margin:0;font-size:19px;font-weight:500}.modal-heading button{background:0 0;border:0}.modal p{font-size:13px;line-height:1.8}.search{width:100%;margin:8px 0 16px}.point-table{max-height:390px;margin-bottom:15px;overflow:auto}.point-table button{text-align:left;background:0 0;border:0;border-bottom:1px solid #2b3b45;border-radius:0;gap:14px;width:100%;padding:13px 8px}.point-table button:hover{background:#26473f}.point-table span{flex:1}.point-table b{font-size:13px;font-weight:500;display:block}.point-table small{margin-top:5px;font-size:10px;display:block}.point-table strong{color:#c8e9e2;font-size:12px;font-weight:500}.point-table>button>svg{color:#82bcb5}.notice{color:#c0dde2;background:#213841;border:1px solid #395965;border-radius:5px;align-items:center;gap:10px;margin:18px 0;padding:13px;font-size:12px;line-height:1.8;display:flex}.notice.warning{color:#f5cd88;background:#3e3321;border-color:#806432}.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.alarm-details{grid-template-columns:110px 1fr;row-gap:18px;margin:25px 0;font-size:13px;display:grid}.alarm-details dt{color:#9bb0bc}.alarm-details dd{margin:0}.help-list{padding-left:23px}.help-list li{padding:12px 0 12px 6px}.help-list b{color:#8fe3d6;font-size:14px;display:block}.help-list span{color:#c0d0d8;margin-top:6px;font-size:12px;line-height:1.8;display:block}@media (min-width:1450px){.inspector{width:420px}.device-overview h2{font-size:28px}.device-overview h2 span{font-size:20px}.gauge{max-width:330px;height:195px}.device-metrics strong{font-size:40px}.trend{height:195px}.control-row>button{padding:10px 12px;font-size:14px}.stepper input{width:55px}.stage-heading{padding-top:36px}.is-editor .inspector{width:300px}}@media (max-width:1200px){.header-date{display:none}header{gap:18px}.top-tabs{gap:0;margin-left:0}.inspector{width:310px}.stage-heading{flex-wrap:wrap;padding:24px 20px 12px}.stage-heading h1{font-size:23px}.stage-heading h1 span{font-size:18px}.is-editor .library{width:174px}.is-editor .inspector{width:250px}.asset-card{gap:5px;padding:8px 5px}.asset-card img{width:35px}.is-editor .view-switch{margin-top:0}.control-row{flex-wrap:wrap}.stepper{flex-basis:100%}.device-overview h2{font-size:20px}.device-overview h2 span{font-size:15px}.footer-state{font-size:9px}.page-tabs button{padding:15px}.is-editor .header-right{gap:10px}.is-editor .canvas-toolbar{gap:0;padding:8px}.is-editor .canvas-toolbar button{padding:6px}}@media (max-width:950px){.app{grid-template-rows:62px auto;grid-template-columns:58px 1fr;height:auto;min-height:100dvh}header{gap:12px;padding:0 12px}.brand{font-size:20px}.brand span{font-size:6px}.project-name{display:none}.header-right{gap:8px}.top-tabs button{padding:0 10px;font-size:12px}.live{display:none}.workspace{flex-wrap:wrap}.stage{flex-basis:60%;min-height:650px}.inspector{width:100%;margin:0 16px 16px;display:block}.device-metrics,.gauge-section{max-width:400px}.control-row{flex-wrap:nowrap;max-width:400px}.stepper{flex-basis:auto}.trend{height:180px}.stage-heading h1{font-size:23px}.is-editor .library{width:165px}.is-editor .stage{flex-basis:50%;min-width:0;min-height:600px}.is-editor .inspector{width:100%;margin:0}.edit-properties{grid-template-columns:1fr 1fr;gap:16px;display:grid}.selected-summary,.bottom-tip{display:none}.edit-properties>label{margin:0}.inline-help{grid-column:1/-1}.edit-properties details{margin:0}.property-actions{align-self:start;margin:0}.steps{gap:8px}.step{gap:4px;font-size:10px}.toolbar-actions button{padding:6px}.footer-state{display:none}footer{padding:0 10px}.rail button{min-height:65px;font-size:10px}.rail button svg{width:21px}.canvas-hint{font-size:9px}.is-editor .stage-heading h1{font-size:19px}.is-editor .stage-heading h1 span{font-size:16px}.is-editor .stage-heading p{max-width:230px;line-height:1.7}.model-note{font-size:9px}}@media (max-width:600px){.app{grid-template-rows:60px auto;grid-template-columns:48px 1fr}.brand{font-size:17px}.brand span,.top-tabs{display:none}.header-right .primary{padding:7px 10px;font-size:12px}.stage{min-height:470px}.stage-heading{padding:24px 14px 10px}.stage-heading h1{font-size:21px}.stage-heading h1 span{font-size:16px}.stage-heading p{font-size:11px}.view-switch{margin-top:8px}.diagram{aspect-ratio:900/700;min-height:250px}.equipment-label{gap:3px;font-size:9px}.equipment-label .status{padding:2px 4px;font-size:8px}.tank .equipment-label{padding:4px 2px;font-size:8px}.tank .equipment-label strong{font-size:14px}.measure small{font-size:10px}.measure strong{font-size:18px}.measure em{font-size:10px}.viewport{margin:0 5px 12px}.canvas-hint{white-space:normal;text-align:center;width:100%;font-size:8px;bottom:-5px}.inspector{margin:0 8px 12px}.page-tabs{gap:0;overflow:auto}.page-tabs button{padding:14px 11px;font-size:10px}.editor-toolbar{flex-wrap:wrap;padding:8px}.steps{justify-content:space-around;width:100%}.toolbar-actions{margin-left:auto}.is-editor .library{border-right:0;border-bottom:1px solid var(--line);width:100%}.library .panel-title{min-height:35px;padding:8px 12px}.library-body{gap:7px;padding:8px;display:flex}.library-body>.eyebrow,.library-tip,.object-heading,.object-list{display:none}.asset-card{flex:1;gap:4px;min-width:0;margin:0;padding:5px}.asset-card img{width:28px;height:40px}.asset-card b{font-size:10px}.asset-card small,.asset-card>svg{display:none}.is-editor .stage{flex-basis:100%;min-height:480px}.is-editor .stage-heading{padding:16px 12px 7px}.is-editor .stage-heading p{display:none}.canvas-toolbar{flex-wrap:wrap}.edit-properties{display:block}.edit-properties>label{margin:20px 0}.inline-help{margin-bottom:20px}.property-actions{margin-top:20px}.modal{padding:18px}.modal-heading h2{font-size:17px}.point-table button{gap:8px}.point-table strong{font-size:10px}.history-view{margin:15px}.history-stats{gap:20px}.history-heading h2{font-size:14px}.history-stats strong{font-size:25px}.trend.large{height:230px}}.app:not(.is-editor) .stage-heading .eyebrow{display:none}.app:not(.is-editor) .diagram{transform:translateY(-24px)}@media (min-width:1201px){.app:not(.is-editor) .stage-heading h1{margin-top:0;font-size:29px}.app:not(.is-editor) .stage-heading p{font-size:15px}.app:not(.is-editor) .stage-heading h1 span{font-size:24px}.panel-title{font-size:16px}.device-overview p{font-size:14px}.device-metrics span{font-size:15px}.segmented button{font-size:14px}.section-label{font-size:16px}.speed-label{font-size:14px}.alarm-banner{font-size:15px}.chart-legend{font-size:12px}.page-tabs button{font-size:14px}.rail button{font-size:13px}.measure small{font-size:15px}.measure em{font-size:17px}.gauge{height:164px}.trend{height:178px}.device-metrics{margin-top:16px;margin-bottom:16px}.device-overview{padding:16px 0}.gauge-section{margin-top:14px}.gauge-scale{font-size:11px}.equipment-label{font-size:15px}}@media (max-width:600px){.measure{top:0}.steps{gap:6px}.steps .step{white-space:nowrap}.inspector .panel-title{font-size:15px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.business-context{border-bottom:1px solid var(--line);background:#141e26;flex-wrap:wrap;align-items:center;gap:20px;padding:10px 18px;display:flex}.business-context label{color:#b7c7cf;align-items:center;gap:8px;font-size:12px;display:flex}.business-context select{max-width:220px;padding:7px 10px;font-size:12px}.context-project{font-size:13px}.context-project small{margin-top:3px;font-size:10px;display:block}.version-badge{color:#8ce1c3;margin-left:auto;font-size:12px}.component-group{border-bottom:1px solid var(--line);margin-bottom:14px;padding:0 0 12px}.component-group summary{cursor:pointer;color:#d5e4e9;padding:4px 0 12px;font-size:12px;font-weight:600}.component-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.component-grid button{text-align:left;background:#1a2932;justify-content:flex-start;min-height:40px;padding:8px 5px;font-size:11px}.component-grid button span{line-height:1.45}.component-grid button svg{color:#67c9c4}.component-group .asset-card{margin-bottom:6px}.widget-properties{flex-direction:column;gap:14px;display:flex}.widget-properties label{flex-direction:column;gap:8px;font-size:12px;display:flex}.widget-properties .checkbox-label{flex-direction:row;align-items:center}.widget-properties .checkbox-label input{width:auto}.widget-properties small{font-size:11px;line-height:1.6}.modal-field{color:#c8d8df;flex-direction:column;gap:10px;margin:18px 0;display:flex}.screen-size-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.screen-size-presets button{color:#d2e0e5;text-align:left;background:#131f26;border:1px solid #425761;border-radius:5px;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:10px 12px;display:flex}.screen-size-presets button:hover,.screen-size-presets button.selected{color:#effffd;background:#1b3b3d;border-color:#4fd0c5}.screen-size-presets small{color:#8fa8b2;font-size:10px;line-height:1.35}.screen-size-inputs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px;display:grid}.screen-size-inputs>span{color:#78919b;padding-bottom:10px}.screen-size-inputs label{color:#93aab4;flex-direction:column;gap:7px;font-size:11px;display:flex}.screen-background-control{align-items:center;gap:12px;display:flex}.screen-background-control input[type=color]{cursor:pointer;background:#111b22;border:1px solid #4b626c;border-radius:5px;width:72px;height:42px;padding:4px}.screen-background-control code{color:#91e1d6;letter-spacing:.08em;font-size:13px}.screen-background-source{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.screen-background-source label{color:#aebfc7;cursor:pointer;background:#131f26;border:1px solid #425761;border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:8px 12px;display:flex}.screen-background-source label.selected{color:#e8fffc;background:#1b3b3d;border-color:#4fd0c5;box-shadow:inset 0 0 0 1px #4fd0c533}.screen-background-source input{accent-color:#4fd0c5}.screen-background-actions{flex-wrap:wrap;gap:10px;display:flex}.screen-background-preview{aspect-ratio:16/9;background-position:50%;background-repeat:no-repeat;border:1px solid #4b626c;border-radius:6px;width:100%;max-height:190px}.screen-background-library{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.screen-background-library button{color:#c9d8de;text-align:left;cursor:pointer;background:#111b22;border:1px solid #3d525c;border-radius:6px;grid-template-columns:1fr;gap:5px;padding:8px;display:grid}.screen-background-library button.selected{border-color:#55d5c8;box-shadow:0 0 0 2px #55d5c829}.screen-background-library-preview{aspect-ratio:16/9;background-position:50%;border-radius:3px;width:100%;display:block}.screen-background-library strong{font-size:12px}.screen-background-library small{color:#829aa5;font-size:10px}.screen-background-fit{grid-template-columns:90px 1fr;align-items:center;gap:12px;display:grid}.screen-background-fit select{min-width:0}.modal-field>small{color:#91aab4;line-height:1.6}@media (max-width:720px){.screen-size-presets,.screen-background-library{grid-template-columns:repeat(2,minmax(0,1fr))}}.variable-list{margin:10px 0 20px}.variable-list>div{border-bottom:1px solid var(--line);gap:16px;padding:10px 0;display:flex}.variable-list>div span{flex:1}.variable-list code{color:#83d9d2}.modal details summary{cursor:pointer;margin:14px 0}.equipment.scada-widget{color:#e6f2f5;touch-action:none;background:#1b2a34;border:1px solid #46606b;border-radius:5px;flex-direction:column;gap:5px;width:min(148px,18%);height:auto;min-height:70px;padding:12px;display:flex;box-shadow:0 5px 16px #0003}.equipment.scada-widget:hover{background:#213b46}.equipment.scada-widget.selected{outline-offset:3px;outline:2px solid #49d3c7}.scada-widget strong{font-variant-numeric:tabular-nums;font-size:20px}.scada-widget small{font-size:11px}.scada-widget em{color:#87cfc8;font-size:10px;font-style:normal}.equipment.scada-widget.switch,.equipment.scada-widget.lamp,.equipment.scada-widget.navButton,.equipment.scada-widget.link{flex-flow:wrap}.equipment.scada-widget.switch strong,.equipment.scada-widget.lamp strong,.equipment.scada-widget.navButton strong,.equipment.scada-widget.link strong{font-size:14px}.equipment.scada-widget.historyLine{width:260px;height:170px}.scada-widget.historyLine .trend{width:100%;height:125px;margin:0}.equipment.scada-widget.image{width:100px;height:130px;padding:8px}.equipment.scada-widget.image img{object-fit:contain;width:100%;height:100%}.equipment.scada-widget.text,.equipment.scada-widget.circle,.equipment.scada-widget.line{box-shadow:none;background:0 0;border-color:#0000}.equipment.scada-widget.rect{width:170px;height:100px}.equipment.scada-widget.rect>svg{display:none}.hidden-widget{opacity:.45}.diagram.widget-overlay{pointer-events:none;z-index:2;background:0 0;width:100%;height:100%;margin:0;position:absolute;inset:0}.widget-overlay .scada-widget{pointer-events:auto}.widget-overlay .pipes{display:none}.page-tabs{min-width:0;overflow:auto}.page-tabs button{white-space:nowrap}.is-editor .stage-heading p{white-space:normal;max-width:100%;line-height:1.6}@media (max-width:1100px){.business-context{gap:10px}.context-project{display:none}.business-context select{max-width:180px}.steps>small{display:none}}@media (max-width:760px){.business-context{gap:10px;padding:10px}.business-context label{flex-direction:column;flex:40%;align-items:stretch}.business-context select{width:100%;max-width:none}.version-badge{margin-left:0}.editor-toolbar,.steps{flex-wrap:wrap}.is-editor .library{width:100%;height:260px;overflow:auto}.library-body{padding:12px;display:block}.component-group{width:100%;display:block}.component-grid{grid-template-columns:repeat(3,1fr)}.component-group .asset-card{width:31%;display:inline-flex}.equipment.scada-widget{gap:3px;width:22%;min-height:46px;padding:5px}.scada-widget strong{font-size:11px}.scada-widget small,.scada-widget em{font-size:8px}.modal-actions{flex-wrap:wrap}}.is-editor .component-properties-dialog{max-width:760px;height:min(620px,100vh - 24px);max-height:calc(100vh - 24px);width:min(760px,100vw - 24px)!important}@media (max-width:700px),(max-height:600px){.is-editor .component-properties-dialog{max-width:none;height:calc(100vh - 12px);max-height:calc(100vh - 12px);width:calc(100vw - 12px)!important}}.dw-workspace{grid-template-columns:186px minmax(0,1fr);align-items:start;gap:20px;display:grid}.dw-groups{background:#17242b;border:1px solid #34464f;border-radius:7px;overflow:hidden}.dw-group-heading{border-bottom:1px solid #34464f;justify-content:space-between;align-items:center;padding:16px 14px;display:flex}.dw-group-heading>span{align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.dw-group-heading button{color:#9ebdc9;background:0 0;border:0;min-height:26px;padding:4px}.dw-group-tree{flex-direction:column;gap:5px;padding:12px 9px;display:flex}.dw-group-tree button{color:#afc5d0;background:0 0;border:1px solid #0000;justify-content:flex-start;gap:9px;width:100%;padding:11px 10px;font-size:12px}.dw-group-tree button:not(.dw-root){padding-left:22px}.dw-group-tree button.active{color:#adf1e2;background:#294744;border-color:#436d63}.dw-group-tree button span{overflow-wrap:anywhere;text-align:left;flex:1;min-width:0}.dw-group-tree button b{background:#253840;border-radius:3px;min-width:20px;padding:1px 5px;font-size:10px;font-weight:400}.dw-group-tree svg{flex-shrink:0}.dw-new-group{color:#8cd3c8;background:0 0;border:0;border-radius:0;width:100%;min-height:43px;font-size:12px;border-top:1px solid #34464f!important}.dw-group-foot{color:#92a9b5;border-top:1px solid #2d404a;padding:17px 15px;font-size:10px;line-height:1.8}.dw-main{min-width:0}.dw-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.dw-toolbar .p-search{flex:1;min-width:210px}.dw-toolbar select{max-width:180px;padding:9px 10px;font-size:12px}.dw-toolbar>.p-button{min-height:38px}.dw-favorite-active{color:#f0cd8c;background:#453d2e;border-color:#786346}.dw-list-heading{justify-content:space-between;align-items:center;gap:15px;margin:0 0 16px;display:flex}.dw-list-heading>div{align-items:center;gap:10px;display:flex}.dw-list-heading>div:first-child{flex-wrap:wrap}.dw-list-heading>div>span{color:#9bb2bf;font-size:11px}.dw-list-heading i{border-left:1px solid #4c606b;height:9px;margin:0 7px;display:inline-block}.dw-list{margin-bottom:14px}.dw-table{min-width:1100px}.dw-table th,.dw-table td{padding:15px 12px}.dw-table td:first-child,.dw-table th:first-child{width:40px;padding-left:16px}.dw-table input[type=checkbox]{accent-color:#65d8c8;cursor:pointer;width:15px;height:15px;min-height:0;padding:0}.dw-table .dw-action-col{z-index:1;background:#1a2930;width:272px;position:sticky;right:0;box-shadow:-6px 0 8px #0a151822}.dw-table th.dw-action-col{background:#152027}.dw-table .dw-selected td,.dw-table .dw-selected .dw-action-col{background:#203d40}.dw-actions{align-items:center;gap:10px;display:flex}.dw-actions button{color:#8ee2d2;background:0 0;border:0;min-height:30px;padding:3px 0;font-size:11px}.dw-actions button:disabled{color:#9eaab1;opacity:.6}.dw-device-name{color:#e2eef2;background:0 0;border:0;min-height:23px;padding:0;font-size:12px;font-weight:550}.dw-device-name:hover{color:#9df0de;background:0 0}.dw-pagination{color:#a2bac6;border-top:1px solid #33454e;justify-content:flex-end;align-items:center;gap:10px;padding:12px 16px;font-size:11px;display:flex}.dw-pagination>span:first-child{margin-right:auto}.dw-pagination .p-button{min-height:30px;padding:5px 8px}.dw-batch{background:#1e3c3c;border:1px solid #3a6b62;border-radius:5px;flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:12px;padding:12px 15px;display:flex}.dw-batch strong{color:#b6ebdf;font-size:12px}.dw-batch button{color:#a1e2d6;background:0 0;border:0;min-height:24px;padding:0;font-size:12px}.dw-batch button:last-child{margin-left:auto}.dw-tip{color:#a2bac5;align-items:center;gap:8px;padding:9px 0;font-size:11px;line-height:1.8;display:flex}.dw-tip svg{flex-shrink:0}.dw-detail-head{border-bottom:1px solid #344951;flex-wrap:wrap;align-items:center;gap:15px;padding:25px;display:flex}.dw-device-icon{color:#a0d9d0;background:#253e43;border:1px solid #496970;border-radius:7px;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.dw-detail-head small{margin-top:7px;display:block}.dw-detail-actions{gap:8px;margin-left:auto;display:flex}.dw-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin:0;padding:26px;display:grid}.dw-details dt{color:#99b1be;margin-bottom:9px;font-size:11px}.dw-details dd{color:#dbe9ef;overflow-wrap:anywhere;margin:0;font-size:13px}.dw-note{color:#c4d6df;white-space:pre-wrap;margin:0;padding:23px;font-size:13px;line-height:1.8}.dw-group-dialog-toolbar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.dw-group-list>div{border-top:1px solid #3a505b;align-items:center;gap:12px;padding:20px 0;display:flex}.dw-group-list>div>div{overflow-wrap:anywhere;flex:1;min-width:0}.dw-group-list svg{color:#8ac9c6;flex-shrink:0}.dw-group-list strong{font-size:13px;font-weight:500}.dw-group-list small{margin-top:5px;font-size:11px;display:block}.dw-error{border:1px solid #845661;border-radius:5px;padding:10px 13px}@media (max-width:1200px){.dw-workspace{grid-template-columns:160px minmax(0,1fr);gap:15px}.dw-details{grid-template-columns:1fr 1fr}.dw-toolbar .p-search{flex-basis:100%}.dw-list-heading{flex-wrap:wrap}}@media (max-width:850px){.dw-workspace{grid-template-columns:1fr}.dw-group-tree{flex-flow:wrap}.dw-group-tree button{width:auto}.dw-group-tree button:not(.dw-root){padding-left:10px}.dw-group-foot,.dw-new-group{display:none}.dw-group-heading{padding:12px 15px}.dw-detail-head{padding:18px}.dw-detail-actions{flex-wrap:wrap;margin-left:0}.dw-details{gap:22px;padding:20px}}@media (max-width:650px){.dw-table .dw-action-col{box-shadow:none;position:static}.dw-toolbar select{flex:1;max-width:100%}.dw-list-heading>.p-button{font-size:11px}.dw-actions{gap:12px}.dw-details{grid-template-columns:1fr}.dw-group-list>div{gap:8px}.dw-group-list strong{font-size:12px}.dw-detail-actions .p-button{font-size:11px}.dw-batch{gap:12px}}.platform{--p-bg:#11191f;--p-panel:#182329;--p-raised:#202e35;--p-line:#2d3b43;--p-muted:#a2b2ba;--p-text:#e8f0f3;--p-teal:#64d9cb;background:var(--p-bg);min-height:100vh;color:var(--p-text);font-size:13px;line-height:1.5;display:flex}.platform button,.p-dialog button{font-size:13px}.p-sidebar{box-sizing:border-box;border-right:1px solid var(--p-line);z-index:20;background:#141e24;flex-direction:column;flex-shrink:0;width:224px;height:100dvh;min-height:0;padding:28px 16px 0;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.p-brand{color:#e8f2f4;letter-spacing:3px;align-items:center;gap:12px;padding:0 8px 28px;font-size:20px;font-weight:700;text-decoration:none;display:flex}.p-brand>svg{color:#65dacc}.p-brand small{letter-spacing:1.8px;color:#9caeb6;margin-top:1px;font-size:8px;font-weight:500;display:block}.p-company{border-top:1px solid #29363e;border-bottom:1px solid #29363e;align-items:center;gap:9px;padding:16px 10px 18px;font-size:11px;display:flex}.p-company svg{color:#91a8b4;flex-shrink:0}.p-company small{color:#8fa3ad;margin-top:4px;font-size:9px;display:block}.p-nav-label{color:#8499a5;letter-spacing:1px;margin:25px 14px 10px;font-size:10px}.p-nav{scrollbar-gutter:stable;scrollbar-color:#3d5b62 transparent;scrollbar-width:thin;flex-direction:column;gap:5px;min-height:0;display:flex;overflow:hidden auto}.p-nav button{color:#adbec7;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:flex-start;gap:13px;width:100%;min-height:45px;padding:11px 14px}.p-nav button span{text-align:left;flex:1}.p-nav button:hover{color:#e8f4f5;background:#23323b}.p-nav button.active{color:#86e8db;background:#21403f;border-color:#35645d}.p-nav b{color:#f6c581;background:#533d2c;border-radius:4px;padding:1px 6px;font-size:10px}.p-sidebar-bottom{flex-shrink:0;margin-top:auto;padding-top:40px}.p-sidebar-bottom>button{color:#b5c6ce;background:0 0;border:0;justify-content:flex-start;gap:12px;width:100%;margin-bottom:18px}.p-sidebar-bottom>button svg:last-child{margin-left:auto}.p-brand,.p-company,.p-nav-label{flex-shrink:0}.p-profile{border-top:1px solid #2d3b43;align-items:center;gap:9px;padding:20px 0;display:flex}.p-profile>span:not(.p-badge){flex:1}.p-profile strong{font-size:12px}.p-profile small{margin-top:3px;font-size:10px;display:block}.p-sidebar-bottom>.p-logout{color:#cf9b9b;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:flex-start;gap:10px;width:100%;min-height:38px;margin:-8px 0 12px;padding:8px 10px}.p-sidebar-bottom>.p-logout:hover,.p-sidebar-bottom>.p-logout:focus-visible{color:#ffb7b7;background:#342426;border-color:#694444}.p-avatar{color:#a5ded4;background:#2c4443;border:1px solid #48605d;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:11px;font-weight:650;display:inline-flex}.p-workspace{flex:1;min-width:0;margin-left:224px}.p-topbar{border-bottom:1px solid var(--p-line);background:#141e24;justify-content:space-between;align-items:center;gap:20px;height:72px;padding:0 32px;display:flex}.p-project{align-items:center;gap:14px;display:flex}.p-project>span{color:#97adb7;font-size:11px}.p-project select{color:#e1ecef;cursor:pointer;background:#101a20;border:1px solid #38515b;border-radius:6px;min-width:156px;max-width:280px;padding:8px 30px 8px 10px;font-weight:600}.p-project select:hover:not(:disabled),.p-project select:focus-visible{border-color:var(--p-teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--p-teal)20%,transparent);outline:none}.p-project select:disabled{cursor:default;opacity:.78}.p-top-tools{align-items:center;gap:20px;display:flex}.p-top-tools>button{color:#a2b7c1;background:0 0;border:0;padding:5px;position:relative}.p-top-tools>button i{background:#efb66c;border-radius:50%;width:5px;height:5px;position:absolute;top:5px;right:5px}.p-health{color:#c0d2d8;align-items:center;gap:8px;font-size:11px;display:flex}.p-health i{background:#68d5a1;border-radius:50%;width:6px;height:6px}.p-top-divider{border-left:1px solid #36454c;height:20px}.p-content{max-width:1760px;margin:auto;padding:24px 32px 0}.p-page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px;display:flex}.p-breadcrumb{color:#8ea4b0;align-items:center;gap:7px;margin-bottom:13px;font-size:10px;display:flex}.platform h1{letter-spacing:.4px;align-items:center;gap:15px;margin:0;font-size:25px;font-weight:600;line-height:1.4;display:flex}.platform h1 span{letter-spacing:1.7px;color:#829ca7;border-left:1px solid #3a4a51;padding-left:15px;font-family:Segoe UI,sans-serif;font-size:9px;font-weight:500}.p-page-heading p{color:var(--p-muted);margin:9px 0 0;font-size:12px}.p-heading-action{flex-shrink:0;align-items:center;gap:9px;padding-top:20px;display:flex}.p-button{color:#e1edf0;background:#24323a;border:1px solid #42545e;border-radius:5px;min-height:36px;padding:8px 13px}.p-button:hover{background:#304650;border-color:#64828b}.p-button.p-primary{color:#102722;background:#72d8c8;border-color:#85e4d5;font-weight:650;box-shadow:0 2px 5px #0002}.p-button.p-primary:hover{background:#93eadb}.p-badge{white-space:nowrap;color:#c6d3d9;background:#29363d;border:1px solid #3b4b53;border-radius:4px;justify-content:center;align-items:center;padding:3px 7px;font-size:10px;font-weight:500;line-height:1.6;display:inline-flex}.p-badge.green{color:#93e4b9;background:#1c3830;border-color:#305447}.p-badge.red{color:#ffadb6;background:#42282d;border-color:#694047}.p-badge.amber{color:#f2c986;background:#403527;border-color:#685438}.p-badge.teal{color:#8bded4;background:#203b3e;border-color:#395e61}.p-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.p-stat{text-align:left;border:1px solid var(--p-line);background:var(--p-panel);color:var(--p-text);border-radius:7px;padding:17px 19px 15px;display:block}.p-stat:hover{background:#1d2e33;border-color:#4d7e7a}.p-stat>div{color:#becbd1;justify-content:space-between;align-items:center;font-size:12px;display:flex}.p-stat>div svg{color:#829ca7}.p-stat.warning>div svg{color:#eac383}.p-stat>strong{letter-spacing:-1px;margin:11px 0 5px;font-family:Segoe UI,sans-serif;font-size:34px;font-weight:550;line-height:1.25;display:block}.p-stat.warning>strong{color:#f2c986}.p-stat>small{color:#a3b6c0;justify-content:space-between;font-size:10px;display:flex}.p-stat>small svg{color:#67828e}.p-panel{background:var(--p-panel);border:1px solid var(--p-line);border-radius:7px;min-width:0;margin-bottom:21px;overflow:hidden}.p-panel-head{border-bottom:1px solid var(--p-line);justify-content:space-between;align-items:center;gap:15px;min-height:62px;padding:17px 21px;display:flex}.platform h2,.p-dialog h2{letter-spacing:.1px;margin:0;font-size:15px;font-weight:600;line-height:1.4}.p-eyebrow{color:#88aaaf;letter-spacing:1.2px;margin-bottom:6px;font-size:9px;font-weight:500;display:block}.p-overview-grid{grid-template-columns:1.05fr 1fr;gap:20px;display:grid}.p-equipment-preview{background:#142027;justify-content:center;align-items:center;gap:20px;min-height:172px;padding:13px 24px;display:flex;position:relative}.p-equipment-preview>img:first-child{object-fit:contain;filter:drop-shadow(0 8px 8px #0004);width:83px;height:145px}.p-equipment-preview>img:nth-child(2){object-fit:contain;filter:drop-shadow(0 8px 8px #0004);width:145px;height:130px}.p-equipment-preview>div{flex-direction:column;align-items:flex-start;gap:9px;margin-left:10px;display:flex}.p-tiny-label{color:#a5b9c2;font-size:10px}.p-equipment-preview strong{font-variant-numeric:tabular-nums;font-size:27px;font-weight:500}.p-equipment-preview strong small{font-size:12px}.p-scene-metrics{border-top:1px solid #293c43;grid-template-columns:repeat(3,1fr);padding:16px 23px;display:grid}.p-scene-metrics>div+div{border-left:1px solid #33454d;padding-left:20px}.p-scene-metrics small{margin-bottom:7px;font-size:10px;display:block}.p-scene-metrics strong{font-variant-numeric:tabular-nums;font-size:21px;font-weight:550}.p-scene-metrics em{color:#9fb3be;font-size:11px;font-style:normal;font-weight:400}.p-scene-footer{color:#9eb1ba;border-top:1px solid #2d3b43;justify-content:space-between;align-items:center;padding:11px 21px;font-size:10px;display:flex}.p-scene-footer button,.p-chart-note button{color:#83dbce;background:0 0;border:0;min-height:24px;padding:0;font-size:11px}.p-chart-summary{justify-content:space-between;align-items:center;gap:10px;padding:15px 21px 0;display:flex}.p-chart-summary strong{font-size:23px;font-weight:500}.p-chart-summary small{font-size:11px}.p-chart-summary>span{color:#aec2ca;font-size:10px}.p-chart-summary i{vertical-align:middle;border-top:2px solid #64d9cb;width:12px;margin-right:7px;display:inline-block}.p-chart-note{color:#8ea7b2;justify-content:space-between;align-items:center;margin:4px 21px 13px;font-size:10px;display:flex}.p-table-scroll{width:100%;overflow:auto}.p-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}.p-table th{color:#97afbb;text-align:left;background:#152027;border-bottom:1px solid #2d3b43;padding:13px 21px;font-size:10px;font-weight:500}.p-table td{color:#c9d6dc;border-bottom:1px solid #29383f;height:69px;padding:16px 21px}.p-table tr:last-child td{border-bottom:0}.p-table tbody tr:hover{background:#203039}.p-table strong{color:#e2ebee;font-size:12px;font-weight:500;display:block}.p-table small{color:#8fa8b3;margin-top:5px;font-size:10px;display:block}.p-mono{letter-spacing:.1px;font-family:Cascadia Mono,Consolas,monospace;font-size:11px}.p-value{font-variant-numeric:tabular-nums;font-weight:600;color:#d5f0eb!important}.p-device-cell{align-items:center;gap:12px;display:flex}.p-star{color:#8ba2af;background:0 0;border:0;min-height:25px;padding:0}.p-star.selected{color:#e9c17b}.p-star:hover{color:#f4d99f;background:0 0}.p-row-actions{gap:13px;display:flex}.p-row-actions button,.p-link{color:#80d6ca;background:0 0;border:0;min-height:26px;padding:0;font-size:11px}.p-row-actions button:hover,.p-link:hover{color:#b2f5e9;background:0 0}.p-link:disabled,.p-row-actions button:disabled{color:#8b9ca5;opacity:.55}.p-danger{color:#eea1a5!important}.p-muted{color:#a2b4bf}.p-warning{color:#f1c27c}.p-teal{color:#7cdbcd!important}.p-filterbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.p-segments{background:#152127;border:1px solid #2d3e47;border-radius:6px;align-items:center;gap:4px;padding:4px;display:flex}.p-segments button{color:#a5bac4;background:0 0;border:1px solid #0000;min-height:32px;padding:6px 14px;font-size:12px}.p-segments button.active{color:#96e4d9;background:#2a4146;border-color:#3b5b61}.p-segments span{color:#9fbdc5;margin-left:6px;font-size:10px}.p-search{color:#91a9b5;background:#162229;border:1px solid #40535d;border-radius:5px;align-items:center;gap:9px;min-width:240px;padding:0 11px;flex-direction:row!important;display:flex!important}.p-search input{width:100%;font-size:12px;box-shadow:none!important;background:0 0!important;border:none!important;padding:9px 0!important}.p-search:focus-within{outline:1px solid #6ad7cb}.p-info-note{color:#bdcfd7;background:#1b2d36;border:1px solid #3a535c;border-radius:5px;align-items:flex-start;gap:11px;margin:15px 0;padding:14px 17px;font-size:12px;line-height:1.8;display:flex}.p-info-note svg{color:#8dd9d4;flex-shrink:0;margin-top:2px}.p-error{color:#ffb8c0;background:#402b32;border-color:#82505a}.p-template-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.p-template-card{background:#1a272e;border:1px solid #36474f;border-radius:7px;overflow:hidden}.p-template-visual{background:#142027;border-bottom:1px solid #32434a;position:relative}.p-template-visual>.p-badge{position:absolute;top:14px;left:16px}.p-template-visual .p-equipment-preview{gap:5px;height:220px;padding-top:40px}.p-template-visual .p-equipment-preview>div{display:none}.p-template-screen-preview.diagram{aspect-ratio:auto;pointer-events:none;isolation:isolate;width:100%;height:220px;max-height:none;overflow:hidden}.p-template-screen-canvas.diagram{aspect-ratio:auto;transform-origin:50%;max-height:none;position:absolute;top:50%;left:50%;overflow:hidden}.p-template-screen-preview .equipment{pointer-events:none;transition:none}.p-template-screen-preview .equipment:hover{border-color:#0000}.p-template-screen-preview .p-template-screen-pipes{z-index:1;width:100%;height:100%;position:absolute;inset:0}.p-template-screen-preview .scada-widget{min-height:0;box-shadow:0 6px 18px #0004}.p-template-screen-name{z-index:4;text-overflow:ellipsis;white-space:nowrap;color:#c8dbdf;letter-spacing:.04em;background:#10191fbd;border:1px solid #49616a;border-radius:3px;max-width:calc(100% - 20px);padding:3px 7px;font-size:9px;position:absolute;bottom:8px;right:10px;overflow:hidden}.p-template-body{padding:20px}.p-template-body p{color:#9ab2bd;margin:9px 0 22px;font-size:11px}.p-template-body p span{margin:0 7px}.p-template-actions{flex-wrap:nowrap;gap:5px;display:flex}.p-template-actions .p-button{white-space:nowrap;padding:7px 8px;font-size:11px}.p-template-actions .p-button:last-child{margin-left:auto}.p-create-template{color:#98b2bf;background:#142027;border:1px dashed #435b66;border-radius:7px;flex-direction:column;justify-content:center;gap:12px;min-height:360px;display:flex}.p-create-template:hover{background:#1e333b}.p-create-template strong{color:#d2e1e6;font-size:14px;font-weight:500}.p-create-template span{font-size:11px}.p-blank-canvas{color:#8ca6b2;flex-direction:column;justify-content:center;align-items:center;gap:18px;height:220px;font-size:12px;display:flex}.p-summary-strip{background:#19262d;border:1px solid #35464e;border-radius:6px;gap:45px;margin-bottom:22px;padding:24px 28px;display:flex}.p-summary-strip>div{align-items:center;gap:14px;display:flex}.p-summary-strip svg{color:#94b9c2}.p-summary-strip>div:first-child svg{color:#f0c37e}.p-summary-strip strong{font-size:27px;font-weight:500}.p-summary-strip span{color:#a2bac6;font-size:12px}.p-history-filters{justify-content:flex-start;align-items:flex-end;gap:14px}.p-history-filters label{color:#b3c6cf;flex-direction:column;gap:8px;font-size:11px;display:flex}.p-history-filters input,.p-history-filters select{min-height:38px;font-size:12px}.p-history-filters .p-button{margin-left:auto}.p-user-cell{align-items:center;gap:12px;display:flex}.p-data-layout{grid-template-columns:255px minmax(0,1fr);gap:20px;display:grid}.p-table-list{flex-direction:column;gap:10px;display:flex}.p-table-list button{text-align:left;background:#19262e;border:1px solid #354851;justify-content:flex-start;gap:13px;padding:18px 15px}.p-table-list button.active{background:#233d41;border-color:#527d7a}.p-table-list strong{font-size:12px;font-weight:500}.p-table-list small{margin-top:6px;font-size:10px;display:block}.p-table-list button>svg:first-child{color:#8acac4}.p-table-list button>svg:last-child{width:12px;margin-left:auto}.p-inset-search{border-bottom:1px solid #32434c;padding:15px 20px}.p-inset-search .p-search{max-width:350px}.p-assets-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.p-asset-card{text-align:left;background:#1b2930;border:1px solid #3a4d55;border-radius:6px;padding:0;display:block;overflow:hidden}.p-asset-card>div{text-align:center;background:#152128;height:265px;padding:35px}.p-asset-card img{object-fit:contain;width:100%;height:100%}.p-asset-card>span{border-top:1px solid #35464f;padding:20px;display:block;position:relative}.p-asset-card strong{font-size:14px;font-weight:500}.p-asset-card small{margin-top:7px;font-size:11px;display:block}.p-asset-card span svg{color:#7cbabb;position:absolute;top:23px;right:20px}.p-admin-tabs{flex-wrap:wrap;margin-bottom:20px;display:inline-flex}.p-project-summary{color:#a5c7cf;align-items:center;gap:25px;padding:27px;display:flex}.p-project-summary>div:nth-last-child(-n+2){text-align:center;margin-left:auto}.p-project-summary strong{font-size:27px}.p-project-summary small{font-size:11px;display:block}.p-project-summary p{color:#a1b5bf;font-size:12px}.p-member-list{padding:0 23px 20px}.p-member-list>div{border-top:1px solid #34464f;align-items:center;gap:16px;padding:15px 0;display:flex}.p-member-list strong{font-size:13px;font-weight:500}.p-member-list .p-link{margin-left:auto}.p-inset{padding:22px}.p-inset>p{color:#bcced5;margin-top:0}.p-inset>.p-info-note:first-child{margin-top:0}.p-grant-form{align-items:flex-end;gap:15px;margin:25px 0;display:flex}.p-grant-form label{flex-direction:column;gap:8px;font-size:12px;display:flex}.p-grant-form input{width:100%}.p-grant-form .p-button{min-height:40px}.p-audit{align-items:center;gap:16px;display:flex}.p-audit svg{color:#7cdbbd}.p-audit p{color:#9eb4bf;font-size:12px}.p-inline{align-items:center;gap:12px;display:flex}.p-remote-layout{grid-template-columns:210px minmax(0,1fr);gap:20px;display:grid}.p-tree{align-self:start;padding-bottom:15px}.p-tree>button{color:#b1c4cf;background:0 0;border:0;border-radius:0;justify-content:flex-start;width:100%;padding:15px 19px;display:flex}.p-tree>button.active{color:#a2e5da;background:#254044}.p-tree .p-badge{margin-left:auto}.p-rule{border-bottom:1px solid #354852;align-items:center;gap:15px;padding:20px 0;display:flex}.p-rule strong{font-size:13px}.p-rule>span:last-child{color:#a7c2ca;margin-left:auto}.p-empty{color:#8da6b3;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;display:flex}.p-empty strong{color:#bfd0d7;font-size:14px;font-weight:500}.p-empty span{font-size:12px}.p-page-footer{color:#7e98a6;justify-content:space-between;gap:20px;margin-top:10px;padding:24px 0;font-size:10px;display:flex}.p-overlay{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#040a10b8;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.p-dialog{color:#e6f0f3;background:#1a272e;border:1px solid #4b636d;border-radius:10px;width:590px;max-width:100%;max-height:90vh;font-size:13px;line-height:1.6;overflow:auto;box-shadow:0 28px 90px #0007}.p-dialog-head{z-index:2;background:#1a272e;border-bottom:1px solid #3a4d56;justify-content:space-between;align-items:center;padding:22px 26px;display:flex;position:sticky;top:0}.p-dialog-head>.p-button{color:#9ab3bf;background:0 0;border:0}.p-dialog-content{padding:24px 26px}.p-dialog-content>.p-info-note:first-child{margin-top:0;margin-bottom:23px}.p-dialog-footer{z-index:2;background:#17242b;border-top:1px solid #354953;justify-content:flex-end;gap:10px;padding:18px 26px;display:flex;position:sticky;bottom:0}.p-dialog label,.p-form-grid label{color:#c4d4dc;flex-direction:column;gap:8px;font-size:12px;display:flex}.p-dialog input,.p-dialog select,.p-form-grid input,.p-form-grid select{color:#e9f2f4;background:#111e25;border:1px solid #4a626e;width:100%;min-height:40px}.p-form-grid{grid-template-columns:1fr 1fr;gap:22px 18px;display:grid}.p-full{grid-column:1/-1}.p-form-grid textarea{font:inherit;color:#d6e4ea;resize:vertical;background:#111e25;border:1px solid #4a626e;border-radius:4px;min-height:90px;padding:12px}.p-form-footer{border-top:1px solid #3a505a;justify-content:flex-end;gap:12px;margin-top:25px;padding-top:20px;display:flex}.p-dialog-content>label{margin-bottom:20px}.p-dialog-error{color:#ffdce0;background:#472a31;border:1px solid #a85f68;border-radius:5px;margin:16px 0 0;padding:11px 13px}.p-menu-actions{flex-direction:column;gap:12px;display:flex}.p-menu-actions .p-button{justify-content:flex-start;padding:14px}.p-asset-large{text-align:center;background:#132028;border:1px solid #3a515b;border-radius:6px;height:300px;padding:25px}.p-asset-large img{object-fit:contain;width:100%;height:100%}.p-toast{z-index:150;color:#daf4ed;background:#253d3d;border:1px solid #60918b;border-radius:7px;align-items:center;gap:10px;max-width:90vw;padding:14px 22px;font-size:13px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 40px #0005}.p-toast svg{color:#85dfbc;flex-shrink:0}.p-mobile-menu,.p-nav-scrim{display:none}@media (min-width:1600px){.p-content{padding:30px 40px 0}.p-stat{padding:21px 24px}.p-equipment-preview{min-height:200px}.p-chart-summary{padding-top:23px}.p-template-visual .p-equipment-preview{height:260px}}@media (max-width:1200px){.p-sidebar{width:196px;padding-left:12px;padding-right:12px}.p-workspace{margin-left:196px}.p-content{padding:22px 22px 0}.p-topbar{padding:0 22px}.p-company{gap:7px;font-size:10px}.p-stat-grid{gap:9px}.p-stat{padding:15px 13px}.p-stat>strong{font-size:29px}.p-equipment-preview{gap:10px;padding-left:12px;padding-right:12px}.p-equipment-preview>img:first-child{width:66px}.p-equipment-preview>img:nth-child(2){width:115px}.p-equipment-preview>div{margin-left:0}.p-tiny-label{font-size:9px}.p-scene-metrics{padding:16px}.p-scene-metrics>div+div{padding-left:12px}.p-chart-summary{flex-wrap:wrap}.p-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p-assets-grid{gap:13px}.p-table th,.p-table td{padding-left:16px;padding-right:16px}.p-data-layout{grid-template-columns:220px minmax(0,1fr)}}@media (max-width:950px){.p-sidebar{width:180px;padding-left:9px;padding-right:9px}.p-brand{gap:9px;font-size:17px}.p-brand small{font-size:7px}.p-company{padding-left:4px;padding-right:4px}.p-company svg{display:none}.p-workspace{margin-left:180px}.p-content{padding:18px 18px 0}.p-topbar{padding:0 18px}.p-top-tools{gap:12px}.p-health,.p-top-divider{display:none}.p-page-heading{align-items:flex-start}.platform h1 span{display:none}.p-page-heading p{max-width:350px;line-height:1.7}.p-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.p-stat:nth-last-child(-n+2){display:none}.p-overview-grid{grid-template-columns:1fr}.p-equipment-preview>img:first-child{width:82px}.p-equipment-preview>img:nth-child(2){width:160px}.p-equipment-preview{gap:30px}.p-overview-grid .p-panel{margin-bottom:0}.p-overview-grid{margin-bottom:20px}.p-template-grid{grid-template-columns:1fr;gap:12px}.p-template-body{padding:15px}.p-template-actions{flex-wrap:nowrap}.p-template-actions .p-button:last-child{margin-left:auto}.p-data-layout{grid-template-columns:1fr}.p-table-list{flex-direction:row}.p-table-list button{flex:1}.p-assets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p-remote-layout{grid-template-columns:1fr}.p-tree{align-items:center;margin-bottom:0;padding:0;display:flex}.p-tree .p-panel-head{display:none}.p-tree>button{padding:12px}.p-tree .p-badge{display:none}.p-grant-form{flex-wrap:wrap}.p-summary-strip{gap:22px;padding:20px}.p-summary-strip>div{gap:8px}.p-page-footer{flex-wrap:wrap;gap:7px}}@media (max-height:760px){.p-sidebar{padding-top:16px}.p-brand{padding-bottom:16px}.p-company{padding-top:10px;padding-bottom:10px}.p-nav-label{margin-top:14px;margin-bottom:6px}.p-nav{gap:3px}.p-nav button{min-height:40px;padding-top:8px;padding-bottom:8px}.p-sidebar-bottom{padding-top:12px}.p-sidebar-bottom>button{margin-bottom:8px}.p-profile{padding:12px 0}}@media (max-width:650px){.p-sidebar{visibility:hidden;width:230px;transition:transform .2s;transform:translate(-100%)}.p-sidebar.open{visibility:visible;transform:translate(0)}.p-company svg{display:block}.p-company{font-size:11px}.p-workspace{margin-left:0}.p-mobile-menu{background:0 0;border:0;padding:4px;display:inline-flex}.p-nav-scrim{z-index:19;background:#0009;border:none;display:block;position:fixed;inset:0}.p-topbar{gap:10px;height:62px;padding:0 16px}.p-project{flex:1;gap:0;min-width:0}.p-project>span{display:none}.p-project select{width:100%;font-size:12px}.p-top-tools{gap:7px}.p-top-tools>.p-badge{padding:3px 4px;font-size:8px}.p-content{padding:18px 16px 0}.p-page-heading{flex-wrap:wrap;gap:12px;margin-bottom:20px}.p-heading-action{padding-top:0}.platform h1{font-size:23px}.p-page-heading p{font-size:11px}.p-stat-grid{gap:8px}.p-stat{padding:13px 11px}.p-stat>div{font-size:10px}.p-stat>div svg{display:none}.p-stat>strong{font-size:26px}.p-stat>small{font-size:9px}.p-stat>small svg{display:none}.p-panel-head{padding:15px}.p-panel-head h2{font-size:14px}.p-equipment-preview{gap:8px}.p-equipment-preview>img:first-child{width:65px}.p-equipment-preview>img:nth-child(2){width:120px}.p-equipment-preview strong{font-size:24px}.p-equipment-preview>div{gap:7px}.p-scene-metrics strong{font-size:18px}.p-scene-footer{padding:11px 15px}.p-chart-summary{padding-left:15px;padding-right:15px}.p-chart-note{margin-left:15px;margin-right:15px}.p-filterbar{gap:12px}.p-search{width:100%;min-width:0}.p-segments{max-width:100%;overflow:auto}.p-segments button{white-space:nowrap;padding:6px 10px}.p-template-grid{grid-template-columns:1fr}.p-template-visual .p-equipment-preview{height:210px}.p-template-visual .p-equipment-preview>img:first-child{width:85px}.p-template-visual .p-equipment-preview>img:nth-child(2){width:170px}.p-create-template{min-height:190px}.p-summary-strip{justify-content:space-between;gap:15px;padding:17px 12px}.p-summary-strip>div{flex-wrap:wrap;gap:7px}.p-summary-strip svg{width:18px}.p-summary-strip strong{font-size:23px}.p-summary-strip span{font-size:10px;display:block}.p-history-filters label{flex:1;min-width:140px}.p-history-filters input{width:100%}.p-history-filters .p-button{margin-left:0}.p-table-list{flex-direction:column}.p-assets-grid{gap:10px}.p-asset-card>div{height:180px;padding:20px}.p-asset-card>span{padding:14px}.p-asset-card strong{font-size:12px}.p-asset-card small{font-size:9px}.p-asset-card span svg{display:none}.p-project-summary{flex-wrap:wrap;gap:16px;padding:20px}.p-project-summary>svg{width:28px}.p-project-summary p{font-size:10px}.p-member-list{padding:0 16px 15px}.p-member-list>div{flex-wrap:wrap;gap:10px}.p-grant-form{flex-direction:column;align-items:stretch}.p-inline{flex-wrap:wrap;font-size:12px}.p-form-grid{grid-template-columns:1fr;gap:17px}.p-full{grid-column:auto}.p-rule{flex-wrap:wrap}.p-rule>span:last-child{margin-left:0}.p-overlay{padding:14px}.p-dialog-head{padding:18px 20px}.p-dialog-content{padding:20px}.p-dialog-footer{padding:16px 20px}.p-dialog h2{font-size:16px}.p-page-footer{font-size:9px}.p-info-note{font-size:11px}}@media (prefers-reduced-motion:reduce){.platform *{transition:none!important;animation:none!important}}.p-bottom-nav,.dw-mobile-cards{display:none}.p-mobile-preview-link{color:#9fddd4;border:1px solid #3b565c;border-radius:5px;padding:10px;font-size:12px;text-decoration:none}@media (max-width:650px){body{min-width:320px}.platform{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.p-workspace,.p-content,.dw-main{min-width:0}.p-content{padding:20px 16px 0}.p-topbar{z-index:15;background:#151f26;padding:0 12px;position:sticky;top:0}.p-mobile-preview-link,.p-health,.p-top-divider{display:none}.p-top-tools>.p-badge{font-size:10px}.p-project select{min-height:44px;padding-left:8px;font-size:13px}.platform button,.p-dialog button,.platform input:not([type=checkbox]),.platform select,.p-dialog input:not([type=checkbox]),.p-dialog select{min-height:44px}.p-dialog input,.p-dialog select,.p-dialog textarea{font-size:16px}.p-bottom-nav{z-index:30;padding:6px 8px calc(8px + env(safe-area-inset-bottom));background:#17252c;border-top:1px solid #3b5158;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0003}.p-bottom-nav button{color:#a3b8c1;background:0 0;border:0;border-radius:8px;flex-direction:column;flex:1;gap:4px;padding:8px 0;font-size:11px;display:flex;position:relative}.p-bottom-nav button.active{color:#86e4d8;background:#28423f}.p-bottom-nav button>span{display:flex;position:relative}.p-bottom-nav b{color:#fff;background:#c86160;border-radius:10px;padding:1px 5px;font-size:9px;position:absolute;top:-6px;left:17px}.p-sidebar{padding-bottom:85px;overflow-y:auto}.p-page-heading h1 span{display:none}.p-page-heading p{font-size:12px;line-height:1.7}.p-breadcrumb{font-size:11px}.p-stat{padding:16px 13px}.p-stat>div,.p-stat>small{font-size:12px}.p-stat>strong{font-size:30px}.p-info-note,.dw-tip{font-size:12px;line-height:1.7}.p-table-scroll{max-width:100%}.p-mobile-records{padding:0 14px;overflow:visible}.p-mobile-records .p-table,.p-mobile-records tbody{width:100%;min-width:0;display:block}.p-mobile-records thead{display:none}.p-mobile-records tr{border-bottom:1px solid #354951;grid-template-columns:1fr auto;gap:10px;padding:16px 0;display:grid}.p-mobile-records td{white-space:normal;border:0;padding:0;font-size:12px;display:block}.p-mobile-records td:first-child{grid-column:1/-1}.p-mobile-records td:first-child strong{font-size:14px}.p-mobile-records td:last-child{grid-column:1/-1}.p-mobile-records .p-row-actions button{background:#22363c;flex:1;justify-content:center}.p-alarm-records td:nth-child(2){grid-area:2/2}.p-alarm-records td:nth-child(3){grid-area:2/1}.p-alarm-records td:last-child{grid-area:3/2}.p-alarm-records td:nth-child(4){align-self:center}.p-alarm-records button{background:#243c3e;border:1px solid #45615f;padding:8px 14px}.dw-workspace{display:block}.dw-groups{width:100%;margin-bottom:16px}.dw-group-heading{padding:6px 12px}.dw-group-tree{flex-wrap:nowrap;gap:6px;padding:6px 10px 12px;display:flex;overflow:auto}.dw-group-tree button,.dw-group-tree button:not(.dw-root){flex:none;gap:6px;padding:10px;font-size:12px}.dw-group-tree button b{margin-left:4px}.dw-group-foot,.dw-new-group{display:none}.dw-toolbar{grid-template-columns:1fr 1fr;gap:8px;display:grid}.dw-toolbar .p-search{grid-column:1/-1;width:100%}.dw-toolbar select{width:100%;min-width:0;font-size:12px}.dw-toolbar>button{justify-self:start}.dw-list-heading{flex-wrap:wrap;gap:12px;padding:8px 0 14px}.dw-list-heading>div{flex-wrap:wrap}.dw-list>.p-table-scroll{display:none}.dw-list{background:0 0;border:0}.dw-mobile-cards{gap:14px;display:grid}.dw-mobile-card{background:#19272e;border:1px solid #3b515a;border-radius:9px;padding:16px;box-shadow:0 5px 18px #0002}.dw-mobile-card.dw-selected{background:#203b3c;border-color:#78ddce}.dw-mobile-card header{align-items:center;gap:10px;display:flex}.dw-mobile-card header>div{flex:1;min-width:0}.dw-mobile-card .dw-device-icon{flex-shrink:0;width:38px;height:40px}.dw-mobile-card .dw-device-name{text-align:left;white-space:normal;min-height:32px;padding:0;font-size:14px}.dw-mobile-card small{color:#a6bbc4;overflow-wrap:anywhere;font-size:10px;display:block}.dw-mobile-card dl{grid-template-columns:1fr 1fr;gap:14px 12px;margin:16px 0 6px;display:grid}.dw-mobile-card dt{color:#a5bac3;margin-bottom:4px;font-size:11px}.dw-mobile-card dd{color:#e0ecee;overflow-wrap:anywhere;margin:0;font-size:12px}.dw-card-selection{justify-content:space-between;align-items:center;margin:6px 0;display:flex}.dw-card-selection label{color:#afc2cb;align-items:center;gap:8px;min-height:44px;font-size:12px;display:flex}.dw-card-selection input{accent-color:#64d9cb;width:18px;height:18px}.dw-card-selection .p-star{gap:6px;width:auto;padding:8px;font-size:12px;display:flex}.dw-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.dw-actions button{background:#20343b;border-color:#405960;justify-content:center;padding:8px 4px;font-size:12px}.dw-actions button:nth-child(3){color:#a4edda;background:#294940}.dw-actions button:disabled{opacity:.45}.dw-detail-head{flex-wrap:wrap;gap:12px;padding:16px}.dw-detail-head h2{font-size:17px}.dw-detail-actions{flex-wrap:wrap;width:100%;margin:0;display:flex}.dw-detail-actions button{flex:1;padding:8px 6px;font-size:12px}.dw-details{grid-template-columns:1fr;padding:16px}.dw-details>div{grid-template-columns:80px 1fr;align-items:start;gap:14px;display:grid}.dw-details dt,.dw-details dd{margin:0}.dw-workspace:has(.dw-detail-head) .dw-groups{display:none}.dw-details dd{overflow-wrap:anywhere}.dw-batch{flex-wrap:wrap;padding:12px}.dw-pagination{flex-wrap:wrap;padding:14px 0}.p-toast{white-space:normal;max-width:calc(100% - 32px);font-size:13px;top:72px}.p-overlay{padding:12px}.p-dialog{max-height:calc(100dvh - 24px)}.p-summary-strip{flex-wrap:wrap}.p-admin-tabs{flex-wrap:nowrap;display:flex;overflow:auto}.p-admin-tabs button{flex-shrink:0}}.appearance-panel{border-top:1px solid #354c56;margin-top:18px;padding-top:16px}.appearance-panel h3{margin:0 0 14px;font-size:14px}.appearance-panel p{color:#a9bdc7;font-size:11px;line-height:1.7}.appearance-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.appearance-fields label{min-width:0;margin-bottom:4px!important}.appearance-fields input{width:100%;min-width:0}.appearance-fields input[type=color]{height:36px;padding:4px}.graphic-current{background:#14232b;border:1px solid #3d5661;border-radius:6px;align-items:center;gap:10px;margin-bottom:14px;padding:10px;display:flex}.graphic-current>img,.graphic-placeholder{object-fit:contain;width:70px;height:50px}.graphic-current strong{margin-bottom:6px;font-size:12px;display:block}.graphic-current button{font-size:12px}.graphic-placeholder{text-align:center;color:#acc2ca;padding:8px;font-size:11px}.graphic-dialog{width:min(860px,100vw - 32px)!important}.graphic-dialog .p-dialog-head{justify-content:space-between;align-items:center;display:flex}.graphic-dialog h2{margin:5px 0 0}.graphic-dialog small{color:#a7bec8;line-height:1.6}.graphic-dialog p{color:#b9cbd2;font-size:12px;line-height:1.7}.graphic-tabs{border-bottom:1px solid #3b525d;gap:8px;padding-bottom:10px;display:flex}.graphic-tabs button[aria-selected=true],.graphic-browser nav button.active{color:#9af1da;background:#194941;border-color:#4e9c88}.graphic-browser{border:1px solid #3b525d;border-radius:7px;grid-template-columns:130px minmax(0,1fr);display:grid;overflow:hidden}.graphic-browser nav{background:#102028;flex-direction:column;gap:4px;max-height:270px;padding:8px;display:flex;overflow:auto}.graphic-browser nav button{background:0 0;border-color:#0000;justify-content:flex-start}.graphic-browser nav span{color:#afc2ca;padding:8px;font-size:12px;line-height:2}.graphic-grid{background:#1b2d36;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:10px;max-height:270px;padding:14px;display:grid;overflow:auto}.graphic-grid button{background:#203741;border:1px solid #425b65;border-radius:6px;flex-direction:column;gap:9px;padding:10px 6px;font-size:12px;display:flex}.graphic-grid button[aria-pressed=true]{background:#19483f;border:2px solid #66e2c6;padding:9px 5px}.graphic-grid img{object-fit:contain;width:100%;height:64px}.graphic-grid p{grid-column:1/-1}.graphic-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;display:flex}.graphic-toolbar button{font-size:12px}.graphic-state-head{border-top:1px solid #3b525d;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;display:flex}.graphic-state-head strong{font-size:13px}.graphic-state-head label{margin:0;font-size:11px}.graphic-state-head select{margin-top:5px}.graphic-states{gap:16px;margin:14px 0;display:flex}.graphic-states>div{text-align:center;color:#d6e7ed;background:#13262f;border:1px solid #49616a;border-radius:7px;gap:9px;min-width:140px;padding:12px;font-size:12px;display:grid}.graphic-states img{object-fit:contain;width:130px;height:75px}.graphic-error{color:#ffad9e!important}.equipment.appearance-node{border:var(--node-border)solid var(--node-stroke);border-radius:var(--node-radius);color:var(--node-text);font-size:var(--node-font);text-align:var(--node-align);font-weight:var(--node-weight);box-sizing:border-box;justify-content:center;align-items:stretch;padding:6px;background:var(--node-fill)!important}.equipment.appearance-node:is(.tank,.pump,.valve){padding:0}.equipment.appearance-node strong,.equipment.appearance-node b{font-size:var(--node-font);font-weight:var(--node-weight);color:var(--node-text)}.equipment.appearance-node small,.equipment.appearance-node em{color:var(--node-text)}.equipment.appearance-node.has-graphic{box-shadow:none;border-color:#0000;padding:0;display:block;background:0 0!important}.equipment.appearance-node .state-graphic{object-fit:contain;width:100%;height:100%;filter:none!important}.equipment.appearance-node .graphic-caption{width:100%;font-size:var(--node-font);font-weight:var(--node-weight);color:var(--node-text);white-space:nowrap;text-align:var(--node-align);padding-top:5px;position:absolute;top:100%;left:0}.appearance-node .shape-svg{width:100%;height:100%;display:block!important}.equipment.appearance-node:is(.circle,.line){border:0;background:0 0!important}.appearance-node.text strong{width:100%}@media (max-width:700px){.graphic-dialog .p-dialog-content{padding:14px}.graphic-browser{grid-template-columns:90px minmax(0,1fr)}.graphic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px}.graphic-states>div{flex:1;min-width:0;padding:9px}.graphic-states img{width:100%;height:65px}.graphic-state-head{flex-direction:column;align-items:flex-start}.graphic-toolbar small{width:100%}.graphic-browser nav button{padding:9px 6px;font-size:12px}}@media (min-width:701px) and (max-height:800px){.graphic-dialog{max-height:calc(100vh - 24px)}.graphic-dialog .p-dialog-head,.graphic-dialog .p-dialog-content{padding:14px 26px}.graphic-dialog .p-dialog-footer{padding:10px 26px}.graphic-browser nav,.graphic-grid{max-height:155px}.graphic-toolbar{margin:8px 0}.graphic-state-head{padding-top:8px}.graphic-state-head label{align-items:center;gap:10px;display:flex}.graphic-state-head select{width:auto;margin:0!important}.graphic-states{margin:8px 0}.graphic-states>div{padding:7px;font-size:11px}.graphic-states img{height:50px}}.equipment.appearance-node.has-graphic{border-color:var(--node-stroke);background:var(--node-fill)!important}.equipment.appearance-node.scada-widget strong{font-size:var(--node-font);font-weight:var(--node-weight);color:var(--node-text)}.equipment.appearance-node.has-graphic.graphic-unframed{box-shadow:none;border:0;border-radius:0;background:0 0!important}.equipment.appearance-node.has-graphic .state-graphic{object-fit:var(--graphic-fit,fill)}.graphic-filters{align-items:center;gap:10px;margin:12px 0;display:flex}.graphic-filters input{flex:1;min-width:0}.graphic-filters select{width:145px;margin:0!important}.graphic-filters>span{white-space:nowrap;color:#afc9d4;font-size:12px}.graphic-browser nav button{justify-content:space-between}.graphic-browser nav button small{color:#9cb9c4;font-size:10px}.graphic-grid button small{color:#a6c7d2;font-size:9px;line-height:1.3}.graphic-credit{color:#b9d2db;background:#10232b;border:1px solid #354f5a;border-radius:5px;flex-wrap:wrap;gap:8px 14px;margin-bottom:8px;padding:9px 12px;font-size:11px;display:flex}.graphic-credit a{color:#7fe4cf;text-decoration:underline}.graphic-credit small{width:100%;font-size:10px}.graphic-dialog .graphic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.graphic-dialog .graphic-browser nav,.graphic-dialog .graphic-grid{max-height:290px}.graphic-dialog .graphic-grid img{height:70px}@media (max-height:800px){.graphic-dialog .graphic-browser nav,.graphic-dialog .graphic-grid{max-height:190px}.graphic-dialog .graphic-grid img{height:52px}.graphic-dialog .graphic-filters{margin:8px 0}.graphic-dialog .graphic-credit{margin-bottom:4px;padding:5px 9px}}@media (max-width:700px){.graphic-dialog .graphic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.graphic-filters{flex-wrap:wrap}.graphic-filters input{flex-basis:100%}.graphic-dialog .graphic-grid img{height:56px}}.equipment.appearance-node.selected{outline-offset:0;outline:none}.graphic-dialog .graphic-grid{grid-auto-rows:minmax(144px,auto)}.graphic-dialog .graphic-grid button{justify-content:flex-start;gap:6px;height:auto;min-height:144px}.graphic-dialog .graphic-grid img{flex-shrink:0}.equipment.appearance-node .graphic-live-content{inset:var(--graphic-inset-y,20%)var(--graphic-inset-x,10%);text-align:var(--node-align);pointer-events:none;color:var(--node-text);flex-direction:column;justify-content:center;align-items:stretch;gap:2px;line-height:1.2;display:flex;position:absolute;overflow:hidden}.equipment.appearance-node .graphic-live-content strong{white-space:pre-wrap;overflow-wrap:anywhere}.equipment.appearance-node .graphic-live-content small,.equipment.appearance-node .graphic-live-content em{margin:0;font-size:10px;line-height:1.1}.appearance-panel .checkbox-label{align-items:center;gap:8px;line-height:1.5;display:flex;margin:12px 0!important}.appearance-panel .checkbox-label input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;min-height:0;margin:0;padding:0}.component-properties-dialog .appearance-panel{border-top:0;margin:0;padding:0}.component-properties-dialog .appearance-panel h3{display:none}.component-properties-dialog .appearance-panel p{margin:3px 0;font-size:10px;line-height:1.35}.component-properties-dialog .graphic-current{min-height:52px;margin:0 0 7px;padding:6px 9px}.component-properties-dialog .graphic-current>img,.component-properties-dialog .graphic-placeholder{width:54px;height:42px}.component-properties-dialog .graphic-current strong{margin-bottom:3px}.component-properties-dialog .graphic-current button{min-height:30px;padding:5px 9px}.component-properties-dialog .appearance-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px 9px;margin-top:8px}.component-properties-dialog .appearance-fields label{gap:4px;font-size:10px}.component-properties-dialog .appearance-fields input{height:31px;min-height:31px}.component-properties-dialog .appearance-fields input[type=color]{height:31px;padding:3px}.component-properties-dialog .appearance-panel>label:not(.checkbox-label){grid-template-columns:120px minmax(0,1fr);align-items:center;gap:10px;margin:7px 0;font-size:11px;display:grid}.component-properties-dialog .appearance-panel>label:not(.checkbox-label) select{min-height:32px}.component-properties-dialog .appearance-panel .checkbox-label{font-size:11px;display:inline-flex;margin:4px 18px 4px 0!important}.component-properties-dialog .appearance-panel>button{min-height:31px;margin-top:7px;padding:5px 10px;font-size:11px}@media (max-width:700px){.component-properties-dialog .appearance-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.component-properties-dialog .appearance-panel>label:not(.checkbox-label){grid-template-columns:1fr}}.resize-frame{box-sizing:border-box;z-index:9;pointer-events:none;touch-action:none;border:1px solid #70e8d0;position:absolute;overflow:visible}.resize-frame .resize-handle{pointer-events:auto;touch-action:none;min-width:0;min-height:0;box-shadow:none;color:#effffb;border:0;border-radius:0;margin:0;padding:0;display:block;position:absolute;transform:translate(-50%,-50%);background:0 0!important}.resize-handle span{box-sizing:border-box;pointer-events:none;background:#f0fff9;border:1px solid #177e70;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.resize-frame .resize-nw,.resize-frame .resize-ne,.resize-frame .resize-se,.resize-frame .resize-sw{z-index:2;width:18px;height:18px}.resize-frame .resize-n,.resize-frame .resize-s{cursor:ns-resize;width:calc(100% - 18px);height:14px;left:50%}.resize-frame .resize-e,.resize-frame .resize-w{cursor:ew-resize;width:14px;height:calc(100% - 18px);top:50%}.resize-nw{cursor:nwse-resize;top:0;left:0}.resize-ne{cursor:nesw-resize;top:0;left:100%}.resize-se{cursor:nwse-resize;top:100%;left:100%}.resize-sw{cursor:nesw-resize;top:100%;left:0}.resize-n{top:0}.resize-s{top:100%}.resize-e{left:100%}.resize-w{left:0}.resize-handle:focus-visible span{outline-offset:2px;outline:2px solid #70e8d0}.resize-dimensions{white-space:nowrap;color:#c5fff0;background:#102d2b;border-radius:3px;padding:2px 6px;font:11px/1.4 monospace;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}#root>.platform{height:100%;min-height:0;overflow:hidden}#root>.platform>.p-workspace{scrollbar-gutter:stable;height:100%;min-height:0;overflow:hidden auto}html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}html,body,#root{background:var(--scada-bg-secondary);height:100%;margin:0;padding:0;font-family:Arial,Microsoft YaHei,sans-serif;transition:background-color .3s,color .3s;overflow:hidden}.tool-btn{border:1px solid var(--scada-border);background:var(--scada-bg-tertiary);height:36px;color:var(--scada-text-primary);cursor:pointer;border-radius:10px;transition:all .15s}.tool-btn:hover{background:var(--scada-bg-hover);border-color:var(--scada-border-hover)}.scada-btn{border:1px solid var(--scada-border);background:var(--scada-bg-primary);width:44px;height:34px;color:var(--scada-text-primary);cursor:pointer;border-radius:10px;transition:all .15s}.scada-btn:hover{background:var(--scada-bg-tertiary)}.tool-btn-enabled{transition:all .2s!important}.light-theme .tool-btn-enabled{color:#111827f2!important;background:#e5e7ebe6!important;border-color:#9ca3afb3!important}.light-theme .tool-btn-enabled:hover{color:#111827!important;background:#d1d5dbf2!important;border-color:#6b7280cc!important}.dark-theme .tool-btn-enabled{color:#ffffffeb!important;background:#1e293bcc!important;border-color:#94a3b84d!important}.dark-theme .tool-btn-enabled:hover{color:#fff!important;background:#334155e6!important;border-color:#94a3b880!important}.tool-btn-enabled span,.tool-btn-enabled .anticon{color:inherit!important}.light-theme .tool-btn-enabled span,.light-theme .tool-btn-enabled .anticon,.light-theme .tool-btn-enabled .anticon svg{color:#111827f2!important;fill:#111827f2!important}.light-theme .tool-btn-enabled:hover span,.light-theme .tool-btn-enabled:hover .anticon,.light-theme .tool-btn-enabled:hover .anticon svg{color:#111827!important;fill:#111827!important}.dark-theme .tool-btn-enabled span,.dark-theme .tool-btn-enabled .anticon,.dark-theme .tool-btn-enabled .anticon svg{color:#ffffffeb!important;fill:#ffffffeb!important}.dark-theme .tool-btn-enabled:hover span,.dark-theme .tool-btn-enabled:hover .anticon,.dark-theme .tool-btn-enabled:hover .anticon svg{color:#fff!important;fill:#fff!important}.tool-btn-disabled{cursor:not-allowed!important}.light-theme .tool-btn-disabled{color:#9ca3afb3!important;opacity:.8!important;background:#f3f4f666!important;border-color:#d1d5db80!important}.dark-theme .tool-btn-disabled{color:#94a3b866!important;background:#ffffff08!important;border-color:#94a3b826!important}.tool-btn-disabled span,.tool-btn-disabled .anticon{color:inherit!important}.light-theme .tool-btn-disabled span,.light-theme .tool-btn-disabled .anticon,.light-theme .tool-btn-disabled .anticon svg{color:#9ca3afb3!important;fill:#9ca3afb3!important}.dark-theme .tool-btn-disabled span,.dark-theme .tool-btn-disabled .anticon,.dark-theme .tool-btn-disabled .anticon svg{color:#94a3b866!important;fill:#94a3b866!important}:root,:root.dark-theme{--scada-bg-primary:#020617;--scada-bg-secondary:#0f172a;--scada-bg-tertiary:#1e293b99;--scada-bg-hover:#334155bf;--scada-bg-disabled:#ffffff08;--scada-border:#94a3b833;--scada-border-light:#94a3b826;--scada-border-hover:#94a3b866;--scada-text-primary:#ffffffeb;--scada-text-secondary:#ffffffd9;--scada-text-tertiary:#94a3b8d9;--scada-text-disabled:#94a3b847;--scada-color-success:#22c55ecc;--scada-color-warning:#fb923ccc;--scada-color-error:#ef4444cc;--scada-color-info:#3b82f6cc;--scada-shadow:#00000026;--scada-shadow-hover:#0003;--scada-spacing-xs:4px;--scada-spacing-sm:8px;--scada-spacing-md:12px;--scada-spacing-lg:16px;--scada-spacing-xl:24px;--scada-spacing-xxl:32px}:root.light-theme{--scada-bg-primary:#fff;--scada-bg-secondary:#f9fafb;--scada-bg-tertiary:#f3f4f6cc;--scada-bg-hover:#e5e7ebcc;--scada-bg-disabled:#f3f4f680;--scada-border:#d1d5db99;--scada-border-light:#d1d5db66;--scada-border-hover:#9ca3afcc;--scada-text-primary:#111827f2;--scada-text-secondary:#1f2937e6;--scada-text-tertiary:#4b5563d9;--scada-text-disabled:#9ca3af99;--scada-color-success:#22c55ee6;--scada-color-warning:#fb923ce6;--scada-color-error:#ef4444e6;--scada-color-info:#3b82f6e6;--scada-shadow:#00000014;--scada-shadow-hover:#0000001f}.ant-card{box-shadow:0 2px 8px var(--scada-shadow);border-radius:12px;transition:all .3s;background:var(--scada-bg-secondary)!important;border:1px solid var(--scada-border)!important}.ant-card:hover{box-shadow:0 4px 16px var(--scada-shadow-hover);transform:translateY(-2px)}.ant-card-head{border-bottom-color:var(--scada-border-light)!important;background:var(--scada-bg-secondary)!important}.ant-card-head-title{color:var(--scada-text-primary)!important;font-size:16px!important;font-weight:600!important}.ant-card-head-title .anticon{color:var(--scada-color-warning)!important;margin-right:8px!important;font-size:18px!important}.ant-card-head-title span{color:var(--scada-text-primary)!important;font-weight:600!important}.ant-card-body{background:var(--scada-bg-secondary)!important;color:var(--scada-text-primary)!important}.ant-layout{background:var(--scada-bg-primary)!important;color:var(--scada-text-primary)!important}.ant-layout-has-sider,.ant-layout-sider{background:var(--scada-bg-primary)!important}.ant-layout-header{background:var(--scada-bg-secondary)!important;border-bottom:1px solid var(--scada-border-light)!important}.ant-layout-content{background:var(--scada-bg-primary)!important}.ant-layout-footer{background:var(--scada-bg-secondary)!important}.ant-btn{border-radius:8px;transition:all .2s}.ant-btn-primary{background:linear-gradient(135deg,var(--scada-color-info),#3b82f699);border:none}.ant-btn-primary:hover{background:linear-gradient(135deg,#3b82f6e6,#3b82f6b3);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.ant-table{background-color:var(--scada-bg-primary)!important}.ant-table-tbody>tr{background-color:var(--scada-bg-tertiary)!important}.dark-theme .ant-table-tbody>tr:nth-child(2n){background-color:#334155!important}.light-theme .ant-table-tbody>tr:nth-child(2n){background-color:#f9fafb!important}.ant-table-tbody>tr:hover{background-color:#3b82f640!important}.ant-table-tbody>tr.ant-table-row-selected{background-color:#3b82f659!important}.ant-table-tbody>tr.ant-table-row-selected:hover{background-color:#3b82f673!important}.ant-table-thead>tr>th{background-color:var(--scada-bg-primary)!important;color:var(--scada-text-primary)!important;border-bottom:2px solid var(--scada-border)!important;font-weight:600!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--scada-border-light)!important;color:var(--scada-text-primary)!important;background-color:#0000!important}.ant-table-column-sorter{color:#94a3b899}.ant-table-column-sorter:hover{color:#ffffffd9}.ant-table-filter-dropdown{background-color:var(--scada-bg-secondary);border:1px solid var(--scada-border)}.ant-table-filter-dropdown .ant-input{background-color:var(--scada-bg-primary);border-color:var(--scada-border);color:var(--scada-text-primary)}.ant-table-filter-dropdown .ant-select{background-color:var(--scada-bg-primary)}.ant-pagination{color:var(--scada-text-secondary)}.ant-pagination-item{background-color:var(--scada-bg-secondary);border-color:var(--scada-border)}.ant-pagination-item a{color:var(--scada-text-secondary)}.ant-pagination-item:hover{border-color:#3b82f680}.ant-pagination-item:hover a{color:#3b82f6cc}.ant-pagination-item-active{background-color:#3b82f633;border-color:#3b82f680}.ant-pagination-item-active a{color:#3b82f6e6}.ant-input,.ant-input-password,.ant-select-selector{border-radius:8px;transition:all .2s;background-color:var(--scada-bg-primary)!important;border-color:var(--scada-border)!important;color:var(--scada-text-primary)!important}.ant-input::placeholder,.ant-input-password::placeholder{color:var(--scada-text-tertiary)!important;opacity:.7!important}.ant-input:focus,.ant-input-password:focus,.ant-select-focused .ant-select-selector{border-color:var(--scada-color-info)!important;color:#ffffffeb!important;background-color:#020617!important;box-shadow:0 0 0 2px #3b82f61a!important}.ant-picker,.ant-picker-input>input{background-color:var(--scada-bg-primary)!important;border-color:var(--scada-border)!important;color:var(--scada-text-primary)!important;border-radius:8px!important;transition:all .2s!important}.ant-picker-input>input::placeholder{color:var(--scada-text-tertiary)!important;opacity:.7!important}.ant-picker:hover{border-color:var(--scada-border-hover)!important;background-color:var(--scada-bg-primary)!important}.ant-picker-focused,.ant-picker:focus{border-color:var(--scada-color-info)!important;background-color:var(--scada-bg-primary)!important;box-shadow:0 0 0 2px #3b82f626!important}.ant-picker-input>input{color:var(--scada-text-primary)!important;background-color:#0000!important}.ant-picker-suffix,.ant-picker-clear{color:#94a3b899!important}.ant-picker-suffix:hover,.ant-picker-clear:hover{color:#ffffffd9!important}.ant-picker-suffix .anticon,.ant-picker-suffix .anticon svg{color:#ffffffd9!important;fill:#ffffffd9!important}.ant-picker-dropdown{background-color:var(--scada-bg-secondary)!important;border:1px solid var(--scada-border)!important;border-radius:8px!important}.ant-picker-panel-container{background-color:var(--scada-bg-secondary)!important}.ant-picker-panel{background-color:var(--scada-bg-secondary)!important;border-color:var(--scada-border)!important}.ant-picker-header{border-bottom-color:#94a3b840!important}.ant-picker-header button{color:#ffffffd9!important}.ant-picker-header button:hover{color:#fff!important}.ant-picker-header-view button{color:#ffffffeb!important}.ant-picker-header-view button:hover{color:#3b82f6cc!important}.ant-picker-content th,.ant-picker-cell{color:#ffffffd9!important}.ant-picker-cell:hover:not(.ant-picker-cell-disabled):not(.ant-picker-cell-selected) .ant-picker-cell-inner{background-color:#3b82f626!important}.ant-picker-cell-selected .ant-picker-cell-inner,.ant-picker-cell-range-start .ant-picker-cell-inner,.ant-picker-cell-range-end .ant-picker-cell-inner{color:#fff!important;background-color:#3b82f64d!important}.ant-picker-cell-in-range:before{background-color:#3b82f61a!important}.ant-picker-cell-today .ant-picker-cell-inner{border-color:#3b82f680!important}.ant-picker-cell-disabled{color:#94a3b84d!important}.ant-picker-time-panel-column>li{color:#ffffffd9!important}.ant-picker-time-panel-column>li:hover{background-color:#3b82f626!important}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell-selected{color:#fff!important;background-color:#3b82f64d!important}.ant-picker-now-btn,.ant-picker-today-btn{color:#3b82f6cc!important}.ant-picker-now-btn:hover,.ant-picker-today-btn:hover{color:#3b82f6!important}.ant-picker-ok{color:#fff!important;background-color:#3b82f6cc!important;border-color:#3b82f6cc!important}.ant-picker-ok:hover{background-color:#3b82f6!important;border-color:#3b82f6!important}.ant-select,.ant-select-outlined,.ant-select-single,.ant-select-show-arrow{background-color:var(--scada-bg-primary)!important;border-color:var(--scada-border)!important;color:var(--scada-text-primary)!important}.ant-select:hover,.ant-select-outlined:hover{border-color:var(--scada-border-hover)!important;background-color:var(--scada-bg-primary)!important}.ant-select-focused,.ant-select:focus,.ant-select.ant-select-focused{border-color:var(--scada-color-info)!important;background-color:var(--scada-bg-primary)!important;box-shadow:0 0 0 2px #3b82f626!important}.ant-select-selector{background-color:var(--scada-bg-primary)!important;border-color:var(--scada-border)!important;color:var(--scada-text-primary)!important}.ant-select:hover .ant-select-selector{border-color:var(--scada-border-hover)!important}.ant-select-focused .ant-select-selector,.ant-select.ant-select-focused .ant-select-selector{border-color:var(--scada-color-info)!important;box-shadow:0 0 0 2px #3b82f626!important}.ant-select-selection-placeholder,.ant-select-placeholder{color:var(--scada-text-tertiary)!important;opacity:.7!important}.ant-select-arrow .anticon,.ant-select-arrow .anticon svg,.ant-select-suffix .anticon,.ant-select-suffix .anticon svg{color:#ffffffd9!important;fill:#ffffffd9!important}.ant-select-clear{color:#94a3b899!important}.ant-select-clear:hover{color:#ffffffd9!important}.ant-select-dropdown{background-color:var(--scada-bg-secondary)!important;border:1px solid var(--scada-border)!important}.ant-select-item{color:var(--scada-text-secondary)!important}.ant-select-item-option-selected{color:#ffffffeb!important;background-color:#3b82f633!important}.ant-select-item-option:hover{background-color:#3b82f626!important}.ant-tree{color:var(--scada-text-primary)!important;background:0 0!important}.ant-tree-title{color:var(--scada-text-primary)!important}.ant-tree-node-selected .ant-tree-title{color:var(--scada-text-primary)!important;font-weight:600!important}.ant-tree-node-selected{background-color:#3b82f64d!important}.ant-tree-node-content-wrapper{color:var(--scada-text-primary)!important}.ant-tree-node-content-wrapper:hover{background-color:#3b82f626!important}.ant-tree-node-content-wrapper:hover .ant-tree-title{color:var(--scada-text-primary)!important}.ant-tree-switcher,.ant-tree-switcher-icon,.ant-tree-iconEle{color:var(--scada-text-tertiary)!important}.device-tree .ant-tag{color:var(--scada-text-primary)!important;background-color:#3b82f626!important;border-color:#3b82f64d!important}.device-tree-title{white-space:nowrap;align-items:center;gap:8px;width:100%;min-width:0;display:inline-flex;overflow:hidden;color:var(--scada-text-primary)!important}.device-tree-label{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.device-tree .ant-tree-node-content-wrapper,.device-tree .ant-tree-title{min-width:0;overflow:hidden}.device-tree .ant-tree-title{width:100%;display:block}.device-tree-title>.ant-tag{flex:none;margin-right:0}.device-tree-tag{flex:none;margin-inline:auto 0;font-size:12px}.dark-theme .device-tree-tag{color:#ffffffd9!important;background:#94a3b826!important;border-color:#94a3b84d!important}.light-theme .device-tree-tag{color:var(--scada-text-primary)!important;background:#d1d5db80!important;border-color:#9ca3af99!important}.light-theme .device-tree .ant-tag-blue,.light-theme .device-tree .ant-tag-processing{color:#2563ebf2!important;background:#3b82f61a!important;border-color:#3b82f64d!important}.table-header-text,.table-cell-text-primary{font-weight:600;color:var(--scada-text-primary)!important}.table-icon-secondary{color:var(--scada-text-tertiary)!important}.light-theme .ant-table .ant-btn-text:has(.table-icon-secondary){color:#0f172abf!important}.light-theme .ant-table .ant-btn-text:has(.table-icon-secondary):hover{background-color:#3b82f61f!important}.light-theme .ant-table .ant-btn-text:has(.table-icon-secondary) .table-icon-secondary{color:#0f172abf!important}.light-theme .ant-table .ant-btn-text:has(.table-icon-secondary):hover .table-icon-secondary{color:#2563ebf2!important}.device-favorite-btn .table-icon-secondary{color:var(--scada-text-tertiary)!important}.light-theme .device-favorite-btn{color:#0f172ac7!important}.light-theme .device-favorite-btn:hover{background-color:#3b82f61f!important}.light-theme .device-favorite-btn .table-icon-secondary{color:#0f172ac7!important}.light-theme .device-favorite-btn:hover .table-icon-secondary{color:#2563ebf2!important}.mobile-device-add-btn .anticon,.mobile-device-add-btn .anticon svg{color:inherit!important;fill:currentColor!important}.light-theme .mobile-device-add-btn{box-shadow:0 6px 16px #3b82f638;color:#fffffffa!important}.light-theme .mobile-device-add-btn:hover{color:#fff!important}.ant-btn.mobile-header-menu-btn{border:1px solid var(--scada-border)!important;background:var(--scada-bg-tertiary)!important;color:var(--scada-text-primary)!important;border-radius:10px!important;width:40px!important;height:40px!important;padding:0!important}.ant-btn.mobile-header-menu-btn .ant-btn-icon{justify-content:center!important;align-items:center!important;width:18px!important;height:18px!important;display:inline-flex!important}.ant-btn.mobile-header-menu-btn .anticon,.ant-btn.mobile-header-menu-btn .anticon svg{color:var(--scada-text-primary)!important;fill:currentColor!important;font-size:18px!important;line-height:1!important}.ant-btn.mobile-header-menu-btn:hover{background:var(--scada-bg-hover)!important;border-color:var(--scada-border-hover)!important}.light-theme .ant-btn.mobile-header-menu-btn{color:#0f172af0!important;background:#f3f4f6f5!important;border-color:#6b7280d9!important}.light-theme .ant-btn.mobile-header-menu-btn .anticon,.light-theme .ant-btn.mobile-header-menu-btn .anticon svg{color:#0f172af0!important;fill:#0f172af0!important}.light-theme .ant-btn.mobile-header-menu-btn:hover{color:#0f172a!important;background:#e5e7ebfa!important;border-color:#374151e6!important}.light-theme .ant-btn.mobile-header-menu-btn:hover .anticon,.light-theme .ant-btn.mobile-header-menu-btn:hover .anticon svg{color:#0f172a!important;fill:#0f172a!important}.card-title-text{font-weight:600;color:var(--scada-text-primary)!important}.upload-icon-text,.upload-text,.table-cell-text-tertiary{color:var(--scada-text-tertiary)!important}.sider-collapse-btn{border:1px solid var(--scada-border)!important;background:var(--scada-bg-tertiary)!important;color:var(--scada-text-primary)!important;border-radius:10px!important}.sider-collapse-btn:hover{background:var(--scada-bg-hover)!important;border-color:var(--scada-border-hover)!important}.light-theme .sider-collapse-btn{color:#000000eb!important;background:#f3f4f6e6!important;border-color:#6b7280d9!important}.light-theme .sider-collapse-btn .anticon,.light-theme .sider-collapse-btn .anticon svg{color:#000000eb!important;fill:#000000eb!important}.light-theme .sider-collapse-btn:hover{color:#000!important;background:#e5e7ebf2!important;border-color:#374151e6!important}.light-theme .sider-collapse-btn:hover .anticon,.light-theme .sider-collapse-btn:hover .anticon svg{color:#000!important;fill:#000!important}.theme-toggle-btn{color:var(--scada-text-primary)!important;transition:all .3s!important}.theme-toggle-btn .ant-btn-icon,.theme-toggle-btn .anticon{background-color:#0000!important}.theme-toggle-btn:hover{color:var(--scada-text-primary)!important;background-color:var(--scada-bg-tertiary)!important}.theme-toggle-icon{background-color:#0000!important;transition:color .3s,fill .3s!important}.theme-toggle-btn .anticon[class*=sun] svg,.theme-toggle-btn .anticon[class*=Sun] svg,.theme-toggle-icon.anticon[class*=sun] svg,.theme-toggle-icon.anticon[class*=Sun] svg{fill:#fbbf24e6!important;transition:fill .3s!important}.theme-toggle-btn .anticon[class*=sun],.theme-toggle-btn .anticon[class*=Sun],.theme-toggle-icon.anticon[class*=sun],.theme-toggle-icon.anticon[class*=Sun]{color:#fbbf24e6!important;transition:color .3s!important}.dark-theme .theme-toggle-btn .anticon[class*=moon] svg,.dark-theme .theme-toggle-btn .anticon[class*=Moon] svg,.dark-theme .theme-toggle-icon.anticon[class*=moon] svg,.dark-theme .theme-toggle-icon.anticon[class*=Moon] svg{fill:#94a3b8cc!important;transition:fill .3s!important}.dark-theme .theme-toggle-btn .anticon[class*=moon],.dark-theme .theme-toggle-btn .anticon[class*=Moon],.dark-theme .theme-toggle-icon.anticon[class*=moon],.dark-theme .theme-toggle-icon.anticon[class*=Moon]{color:#94a3b8cc!important;transition:color .3s!important}.light-theme .theme-toggle-btn .anticon[class*=moon] svg,.light-theme .theme-toggle-btn .anticon[class*=Moon] svg,.light-theme .theme-toggle-icon.anticon[class*=moon] svg,.light-theme .theme-toggle-icon.anticon[class*=Moon] svg{fill:#4b5563e6!important;transition:fill .3s!important}.light-theme .theme-toggle-btn .anticon[class*=moon],.light-theme .theme-toggle-btn .anticon[class*=Moon],.light-theme .theme-toggle-icon.anticon[class*=moon],.light-theme .theme-toggle-icon.anticon[class*=Moon]{color:#4b5563e6!important;transition:color .3s!important}.ant-input-search,.ant-input-search-wrapper,.ant-input-affix-wrapper{background-color:#0000!important}.ant-input-search .ant-input,.ant-input-search-wrapper .ant-input,.ant-input-affix-wrapper .ant-input{background-color:var(--scada-bg-primary)!important;border-color:var(--scada-border)!important;color:var(--scada-text-primary)!important;border-radius:8px!important}.ant-input-search .ant-input:hover,.ant-input-search-wrapper .ant-input:hover,.ant-input-affix-wrapper .ant-input:hover{border-color:var(--scada-border-hover)!important;background-color:var(--scada-bg-primary)!important}.ant-input-search .ant-input:focus,.ant-input-search .ant-input-focused,.ant-input-search-wrapper .ant-input:focus,.ant-input-search-wrapper .ant-input-focused,.ant-input-affix-wrapper .ant-input:focus,.ant-input-affix-wrapper.ant-input-focused .ant-input{background-color:var(--scada-bg-primary)!important;border-color:var(--scada-color-info)!important;color:var(--scada-text-primary)!important;box-shadow:0 0 0 2px #3b82f626!important}.ant-input-search .ant-input::placeholder,.ant-input-search-wrapper .ant-input::placeholder,.ant-input-affix-wrapper .ant-input::placeholder{color:var(--scada-text-tertiary)!important;opacity:.7!important}.ant-input-search .ant-input-search-button,.ant-input-search-wrapper .ant-input-search-button{background-color:var(--scada-bg-secondary)!important;border-color:var(--scada-border)!important;border-left-color:var(--scada-border)!important;color:var(--scada-text-primary)!important;border-radius:0 8px 8px 0!important}.ant-input-search .ant-input-search-button:hover,.ant-input-search-wrapper .ant-input-search-button:hover{background-color:var(--scada-bg-tertiary)!important;border-color:var(--scada-color-info)!important;color:var(--scada-text-primary)!important}.ant-input-search .ant-input-search-button:active,.ant-input-search-wrapper .ant-input-search-button:active{background-color:#0f172a!important}.ant-input-search .ant-input-search-button .anticon,.ant-input-search-wrapper .ant-input-search-button .anticon{color:#ffffffeb!important}.ant-input-search .ant-input-search-button:hover .anticon,.ant-input-search-wrapper .ant-input-search-button:hover .anticon{color:#fff!important}.ant-input-search .ant-input-clear-icon,.ant-input-search-wrapper .ant-input-clear-icon,.ant-input-affix-wrapper .ant-input-clear-icon{color:#94a3b899!important}.ant-input-search .ant-input-clear-icon:hover,.ant-input-search-wrapper .ant-input-clear-icon:hover,.ant-input-affix-wrapper .ant-input-clear-icon:hover{color:#ffffffd9!important}.ant-input-affix-wrapper{background-color:var(--scada-bg-primary)!important;border-color:var(--scada-border)!important;color:var(--scada-text-primary)!important}.ant-input-affix-wrapper:hover{border-color:var(--scada-border-hover)!important;background-color:var(--scada-bg-primary)!important}.ant-input-affix-wrapper.ant-input-focused,.ant-input-affix-wrapper:focus{border-color:var(--scada-color-info)!important;background-color:var(--scada-bg-primary)!important;box-shadow:0 0 0 2px #3b82f626!important}.ant-input-affix-wrapper .ant-input{color:#fff!important;background-color:#0000!important}.ant-input-affix-wrapper .ant-input::placeholder{color:var(--scada-text-tertiary)!important;opacity:.7!important}.ant-input-affix-wrapper .ant-input-suffix,.ant-input-affix-wrapper .ant-input-suffix .anticon{color:#ffffffd9!important}.ant-input-search .ant-input-search-button,.ant-input-search-button,.ant-btn-icon,.ant-btn,.ant-btn-default,.ant-btn-color-default,.ant-btn-variant-outlined,.ant-btn-icon-only,.ant-btn-compact-item,.ant-btn-compact-last-item,.ant-input-search-btn{background-color:var(--scada-bg-secondary)!important;border-color:var(--scada-border)!important;color:var(--scada-text-primary)!important}.ant-input-search .ant-input-search-button:hover,.ant-input-search-button:hover,.ant-btn-icon:hover,.ant-btn:hover,.ant-btn-default:hover,.ant-btn-color-default:hover,.ant-btn-variant-outlined:hover,.ant-btn-icon-only:hover,.ant-btn-compact-item:hover,.ant-btn-compact-last-item:hover,.ant-input-search-btn:hover{background-color:var(--scada-bg-tertiary)!important;border-color:var(--scada-color-info)!important;color:var(--scada-text-primary)!important}.ant-input-search .ant-input-search-button:active,.ant-input-search-button:active,.ant-btn-icon:active,.ant-btn:active,.ant-btn-default:active,.ant-btn-color-default:active,.ant-btn-variant-outlined:active,.ant-btn-icon-only:active,.ant-btn-compact-item:active,.ant-btn-compact-last-item:active,.ant-input-search-btn:active{background-color:#0f172a!important;border-color:#3b82f699!important}.ant-input-search .ant-input-search-button:focus,.ant-input-search-button:focus,.ant-btn-icon:focus,.ant-btn:focus,.ant-btn-default:focus,.ant-btn-color-default:focus,.ant-btn-variant-outlined:focus,.ant-btn-icon-only:focus,.ant-btn-compact-item:focus,.ant-btn-compact-last-item:focus,.ant-input-search-btn:focus{border-color:#3b82f699!important;box-shadow:0 0 0 2px #3b82f626!important}.ant-input-search .ant-input-search-button .anticon,.ant-input-search-button .anticon,.ant-btn-icon .anticon,.ant-btn .anticon,.ant-btn-default .anticon,.ant-btn-color-default .anticon,.ant-btn-variant-outlined .anticon,.ant-btn-icon-only .anticon,.ant-btn-compact-item .anticon,.ant-btn-compact-last-item .anticon,.ant-input-search-btn .anticon{color:#ffffffeb!important}.ant-input-search .ant-input-search-button:hover .anticon,.ant-input-search-button:hover .anticon,.ant-btn-icon:hover .anticon,.ant-btn:hover .anticon,.ant-btn-default:hover .anticon,.ant-btn-color-default:hover .anticon,.ant-btn-variant-outlined:hover .anticon,.ant-btn-icon-only:hover .anticon,.ant-btn-compact-item:hover .anticon,.ant-btn-compact-last-item:hover .anticon,.ant-input-search-btn:hover .anticon{color:#fff!important}.ant-select-selector{color:#ffffffeb!important;background-color:#020617!important;border-color:#94a3b840!important}.ant-select-selection-placeholder,.ant-select-placeholder{color:var(--scada-text-tertiary)!important;opacity:.7!important}.ant-select-selection-item{color:#ffffffeb!important}.ant-select-arrow{color:#ffffffd9!important}.ant-select-arrow .anticon,.ant-select-arrow .anticon svg,.ant-select-suffix .anticon,.ant-select-suffix .anticon svg{color:#ffffffd9!important;fill:#ffffffd9!important}.ant-select-focused .ant-select-selector{border-color:#3b82f680!important;box-shadow:0 0 0 2px #3b82f61a!important}.ant-tag{border-radius:6px;padding:2px 8px;font-size:12px}.dark-theme .data-tags-table .ant-tag{font-weight:600}.dark-theme .data-tags-table .ant-tag-gold{color:#fff7ed!important;background:#b45309f5!important;border-color:#fde68a80!important}.dark-theme .data-tags-table .ant-tag-green{color:#f0fdf4!important;background:#15803df5!important;border-color:#86efac6b!important}.dark-theme .data-tags-table .ant-tag-blue{color:#eff6ff!important;background:#1d4ed8f5!important;border-color:#93c5fd6b!important}.dark-theme .data-tags-table .ant-tag-purple{color:#faf5ff!important;background:#7e22cef5!important;border-color:#d8b4fe6b!important}.dark-theme .data-tags-table .ant-typography-secondary{color:#cbd5e1d1!important}.data-tag-name-cell{flex-direction:column;gap:3px;min-width:0;display:flex}.data-tag-name-cell strong{color:var(--scada-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;line-height:1.4;overflow:hidden}.data-tag-name-cell small{color:var(--scada-text-tertiary);text-overflow:ellipsis;white-space:nowrap;font:11px/1.4 Consolas,SFMono-Regular,monospace;overflow:hidden}.dark-theme .ant-card-head .ant-tag{color:#fffffff5!important;background:#334155f2!important;border-color:#e2e8f02e!important;box-shadow:0 2px 8px #00000059!important}.dark-theme .ant-card-head .ant-tag-blue{color:#fff!important;background:#1d4ed8fa!important;border-color:#93c5fd59!important;box-shadow:0 2px 10px #1d4ed859!important}.dark-theme .ant-card-head .ant-tag-purple{color:#fff!important;background:#6b21a8fa!important;border-color:#d8b4fe59!important;box-shadow:0 2px 10px #6b21a859!important}.dark-theme .ant-card-head .ant-tag-green{color:#fff!important;background:#15803dfa!important;border-color:#86efac59!important;box-shadow:0 2px 10px #15803d59!important}.dark-theme .ant-card-head .ant-tag-red{color:#fff!important;background:#b91c1cfa!important;border-color:#fecaca59!important;box-shadow:0 2px 10px #b91c1c59!important}.ant-modal-container{background:var(--scada-bg-secondary)!important;background-color:var(--scada-bg-secondary)!important;background-image:none!important}.ant-modal-content{background:var(--scada-bg-secondary)!important;background-color:var(--scada-bg-secondary)!important;border:1px solid var(--scada-border)!important;color:var(--scada-text-primary)!important;background-image:none!important;border-radius:12px!important;box-shadow:0 6px 16px #0000004d,0 3px 6px -4px #0003!important}.ant-modal-header{background:var(--scada-bg-secondary)!important;background-color:var(--scada-bg-secondary)!important;border:none!important;border-bottom:1px solid var(--scada-border-light)!important;background-image:none!important;border-radius:12px 12px 0 0!important;padding:16px 24px!important}.ant-modal-title{color:var(--scada-text-primary)!important;font-size:16px!important;font-weight:600!important}.ant-modal-close{color:var(--scada-text-tertiary)!important;background:0 0!important;border:none!important;outline:none!important}.ant-modal-close:hover{color:var(--scada-text-primary)!important;background-color:#94a3b81a!important}.ant-modal-close-x,.ant-modal-close-icon{color:var(--scada-text-tertiary)!important}.ant-modal-close-icon svg{fill:var(--scada-text-tertiary)!important;color:var(--scada-text-tertiary)!important}.ant-modal-close:hover .ant-modal-close-icon,.ant-modal-close:hover .ant-modal-close-x{color:var(--scada-text-primary)!important}.ant-modal-close:hover .ant-modal-close-icon svg{fill:var(--scada-text-primary)!important;color:var(--scada-text-primary)!important}.ant-modal-body{background:var(--scada-bg-secondary)!important;background-color:var(--scada-bg-secondary)!important;color:var(--scada-text-primary)!important;background-image:none!important;padding:24px!important}.ant-modal-body p,.ant-modal-body span:not(.ant-input),.ant-modal-body div:not(.ant-input):not(.ant-select),.ant-modal-body label{color:var(--scada-text-primary)!important}.ant-modal-footer{background:var(--scada-bg-secondary)!important;background-color:var(--scada-bg-secondary)!important;border:none!important;border-top:1px solid var(--scada-border-light)!important;color:var(--scada-text-primary)!important;background-image:none!important;border-radius:0 0 12px 12px!important;padding:12px 24px!important}.ant-modal-body .ant-input,.ant-modal-body .ant-input-password,.ant-modal-body .ant-select-selector{background-color:var(--scada-bg-primary)!important;color:var(--scada-text-primary)!important;border-color:#94a3b84d!important}.ant-modal-body .ant-input:focus,.ant-modal-body .ant-input-password:focus{background-color:var(--scada-bg-primary)!important;color:var(--scada-text-primary)!important;border-color:#3b82f699!important}.ant-modal-body .ant-input::placeholder{color:var(--scada-text-tertiary)!important;opacity:.7!important}.ant-modal-content,.ant-modal-body .ant-input,.ant-modal-body .ant-input-password,.ant-modal-body .ant-select-selector,.ant-modal-footer .ant-btn{color:var(--scada-text-primary)!important}.ant-empty,.ant-empty-description{color:var(--scada-text-tertiary)}.ant-spin-dot-item{background-color:var(--scada-color-info)}.ant-menu-item:hover,.ant-menu-submenu-title:hover{background-color:#3b82f61a}.ant-menu-item-selected{background-color:#3b82f633!important}.ant-menu-inline-collapsed>.ant-menu-item,.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title{text-align:center;padding-inline:0!important}.ant-menu-inline-collapsed>.ant-menu-item .anticon,.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .anticon{font-size:18px;margin-inline:0!important}.ant-tooltip-inner{background-color:var(--scada-bg-secondary);border:1px solid var(--scada-border);color:var(--scada-text-primary);border-radius:8px}.asset-gallery-modal .ant-modal-content{overflow:hidden}.asset-gallery{background:var(--scada-bg-secondary)}.asset-gallery__tabs{border-bottom:1px solid var(--scada-border-light);padding:0 16px}.asset-gallery__main{grid-template-columns:220px 1fr;min-height:640px;display:grid}.asset-gallery__left{border-right:1px solid var(--scada-border-light);background:var(--scada-bg-secondary)}.asset-gallery__leftInner{height:100%;padding:12px 0;overflow:auto}.asset-gallery__cat{cursor:pointer;color:var(--scada-text-secondary);-webkit-user-select:none;user-select:none;padding:12px 16px}.asset-gallery__cat:hover{background:var(--scada-bg-hover)}.asset-gallery__cat--active{color:var(--scada-text-primary);background:#3b82f61f;border-left:3px solid #3b82f6e6}.asset-gallery__right{grid-template-rows:auto 1fr auto;min-width:0;display:grid}.asset-gallery__toolbar{border-bottom:1px solid var(--scada-border-light);background:var(--scada-bg-secondary);padding:12px 16px}.asset-gallery__grid{background:var(--scada-bg-primary);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));align-content:start;gap:12px;padding:12px;display:grid;overflow:auto}.asset-gallery__item{border:1px solid var(--scada-border);background:var(--scada-bg-secondary);cursor:pointer;border-radius:8px;padding:10px;transition:border-color .15s,box-shadow .15s,transform .15s}.asset-gallery__item:hover{border-color:var(--scada-border-hover);transform:translateY(-1px)}.asset-gallery__item--active{border-color:#3b82f6e6;box-shadow:0 0 0 2px #3b82f62e}.asset-gallery__thumbWrap{background:var(--scada-bg-secondary);border:1px solid var(--scada-border-light);border-radius:8px;place-items:center;height:88px;display:grid;overflow:hidden}.asset-gallery__thumb{object-fit:contain;max-width:100%;max-height:100%}.asset-gallery__name{color:var(--scada-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:30px;margin-top:8px;font-size:12px;line-height:1.25;display:-webkit-box;overflow:hidden}.asset-gallery__empty{text-align:center;grid-column:1/-1;padding:40px 0}.asset-gallery__status{border-top:1px solid var(--scada-border-light);background:var(--scada-bg-secondary);grid-template-columns:64px 1fr;align-items:start;gap:8px;padding:12px 16px;display:grid}.asset-gallery__statusTitle{color:var(--scada-text-secondary);padding-top:8px;font-size:13px}.asset-gallery__statusBody{min-width:0}.asset-gallery__statusPreview{margin-bottom:10px}.asset-gallery__statusPreviewBox{border:1px solid var(--scada-border-light);background:var(--scada-bg-secondary);border-radius:8px;place-items:center;height:110px;padding:8px;display:grid;overflow:hidden}.asset-gallery__statusPreviewImg{object-fit:contain;object-position:center;width:50%;max-width:50%;height:50%;max-height:50%;display:block}.asset-gallery__statusGrid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;display:grid}.asset-gallery__statusItem{border:1px solid var(--scada-border);background:var(--scada-bg-primary);cursor:pointer;border-radius:8px;padding:8px}.asset-gallery__statusItem--active{border-color:#3b82f6e6;box-shadow:0 0 0 2px #3b82f62e}@media (max-width:768px){.asset-gallery-modal.asset-gallery-modal--mobile{width:100vw!important;max-width:100vw!important;margin:0!important}.asset-gallery-modal.asset-gallery-modal--mobile .ant-modal-content{min-height:100vh;border-radius:0!important}.asset-gallery-modal.asset-gallery-modal--mobile .ant-modal-header{z-index:2;background:var(--scada-bg-secondary);padding:14px 16px;position:sticky;top:0}.asset-gallery-modal.asset-gallery-modal--mobile .ant-modal-body{min-height:calc(100vh - 56px);overflow-y:auto}.asset-gallery__tabs{padding:0 12px}.asset-gallery__main{grid-template-rows:auto 1fr;grid-template-columns:1fr;min-height:calc(100vh - 112px)}.asset-gallery__left{border-right:none;border-bottom:1px solid var(--scada-border-light)}.asset-gallery__leftInner{white-space:normal;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:12px;display:flex;overflow:visible}.asset-gallery__cat{border:1px solid var(--scada-border);background:var(--scada-bg-primary);border-radius:999px;flex:none;padding:10px 14px}.asset-gallery__cat--active{border-color:#3b82f6e6;border-left-style:solid;border-left-width:1px;box-shadow:0 0 0 2px #3b82f61f}.asset-gallery__right{grid-template-rows:auto auto auto}.asset-gallery__toolbar{padding:12px}.asset-gallery__toolbar .ant-space{width:100%}.asset-gallery__toolbar .ant-space-item{flex:calc(50% - 6px);min-width:0}.asset-gallery__toolbar .ant-btn,.asset-gallery__toolbar .ant-upload,.asset-gallery__toolbar .ant-upload .ant-btn{width:100%}.asset-gallery__grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;padding:12px;overflow:visible}.asset-gallery__item{padding:6px}.asset-gallery__thumbWrap{height:58px}.asset-gallery__name{min-height:28px;margin-top:6px;font-size:11px}.asset-gallery__status{grid-template-columns:1fr;gap:10px;padding:12px}.asset-gallery__statusTitle{padding-top:0;font-size:12px}.asset-gallery__statusPreviewBox{height:160px}.asset-gallery__statusGrid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.asset-gallery__statusItem .asset-gallery__thumbWrap{height:64px}}@media (max-width:480px){.asset-gallery__tabs{padding:0 10px}.asset-gallery__grid,.asset-gallery__status,.asset-gallery__toolbar,.asset-gallery__leftInner{padding-left:10px;padding-right:10px}.asset-gallery__grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:6px}.asset-gallery__thumbWrap{height:52px}.asset-gallery__item{padding:5px}.asset-gallery__name{min-height:24px;font-size:10px}.asset-gallery__statusPreviewBox{height:144px}.asset-gallery__statusGrid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px}.asset-gallery__statusItem .asset-gallery__thumbWrap{height:56px}}.ant-message{top:24px}.ant-message-notice-content{border-radius:8px;box-shadow:0 4px 12px #00000026}.ant-tabs{color:var(--scada-text-primary)!important}.ant-tabs-tab{color:var(--scada-text-tertiary)!important}.ant-tabs-tab:hover{color:var(--scada-text-secondary)!important}.ant-tabs-tab-active .ant-tabs-tab-btn{font-weight:500;color:#3b82f6!important}.ant-tabs-ink-bar{background:#3b82f6!important}.ant-tabs-content-holder{color:var(--scada-text-primary)!important}.ant-tabs-tab-btn{color:inherit}.ant-list,.ant-list-item{color:var(--scada-text-primary)!important}.ant-list-empty-text{color:var(--scada-text-tertiary)!important}.ant-image,.ant-image-img{background:0 0}@media (max-width:768px){.ant-btn{touch-action:manipulation;min-height:44px;padding:8px 16px}.ant-menu-item{touch-action:manipulation;min-height:48px;line-height:48px}.ant-card{margin-bottom:12px}.ant-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.ant-table{min-width:600px}.ant-form-item{margin-bottom:16px}.ant-input,.ant-input-password,.ant-select-selector{min-height:44px;font-size:16px}.ant-modal{max-width:95vw;margin:10px auto}.ant-modal-content{max-height:90vh;overflow-y:auto}.ant-drawer-body{padding:0}.ant-statistic-title{font-size:12px}.ant-statistic-content{font-size:20px}.ant-tag{margin:2px;padding:4px 8px;font-size:12px}.ant-space{gap:8px!important}.ant-typography{word-break:break-word}}@media (max-width:480px){.ant-card-body{padding:12px}.ant-btn-group{flex-wrap:wrap;gap:8px;display:flex}.ant-btn-group .ant-btn{flex:1;min-width:0}.ant-table{font-size:12px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:8px 4px;font-size:12px}}@media (hover:none) and (pointer:coarse){*{-webkit-tap-highlight-color:#3b82f633}.ant-btn:hover{opacity:1}.ant-btn:active{opacity:.7;transform:scale(.98)}.ant-menu-item:active{background:var(--scada-bg-hover)}.ant-card:active{transition:transform .1s;transform:scale(.98)}}@supports (padding:max(0px)){body{padding-bottom:max(0px,env(safe-area-inset-bottom))}}@media (display-mode:standalone){body{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}}@media (orientation:landscape) and (max-height:500px){.ant-layout-header{height:48px!important}.ant-layout-content{padding:8px!important}}@media (max-width:768px){.no-select{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}*{-webkit-overflow-scrolling:touch}::-webkit-scrollbar{background:0 0;width:0;height:0}input[type=text],input[type=password],input[type=email],input[type=number],input[type=tel],input[type=url],textarea,select{font-size:16px!important}}.device-verify-error,.device-verify-success,.device-verify-warning,.device-verify-info{border-radius:8px!important;padding:12px 16px!important;font-size:14px!important;line-height:1.5!important;transition:all .3s!important}.device-verify-error .ant-alert-message,.device-verify-success .ant-alert-message,.device-verify-warning .ant-alert-message,.device-verify-info .ant-alert-message{color:var(--scada-text-primary)!important;margin:0!important;font-weight:500!important}.device-verify-error .ant-alert-icon,.device-verify-success .ant-alert-icon,.device-verify-warning .ant-alert-icon,.device-verify-info .ant-alert-icon{margin-right:8px!important;font-size:16px!important}.device-verify-error{border:1px solid var(--scada-color-error)!important;background:#ef44441a!important}.device-verify-error .ant-alert-icon{color:var(--scada-color-error)!important}.light-theme .device-verify-error{background:#ef444414!important;border-color:#ef444499!important}.light-theme .device-verify-error .ant-alert-message{color:#b91c1cf2!important}.light-theme .device-verify-error .ant-alert-icon{color:#dc2626e6!important}.dark-theme .device-verify-error{background:#ef44441f!important;border-color:#ef444466!important}.dark-theme .device-verify-error .ant-alert-message{color:#fee2e2f2!important}.dark-theme .device-verify-error .ant-alert-icon{color:#f87171e6!important}.device-verify-success{border:1px solid var(--scada-color-success)!important;background:#22c55e1a!important}.device-verify-success .ant-alert-icon{color:var(--scada-color-success)!important}.light-theme .device-verify-success{background:#22c55e14!important;border-color:#22c55e99!important}.light-theme .device-verify-success .ant-alert-message{color:#14532df2!important}.light-theme .device-verify-success .ant-alert-icon{color:#16a34ae6!important}.dark-theme .device-verify-success{background:#22c55e1f!important;border-color:#22c55e66!important}.dark-theme .device-verify-success .ant-alert-message{color:#dcfce7f2!important}.dark-theme .device-verify-success .ant-alert-icon{color:#4ade80e6!important}.device-verify-warning{border:1px solid var(--scada-color-warning)!important;background:#fb923c1a!important}.device-verify-warning .ant-alert-icon{color:var(--scada-color-warning)!important}.light-theme .device-verify-warning{background:#fb923c14!important;border-color:#fb923c99!important}.light-theme .device-verify-warning .ant-alert-message{color:#9a3412f2!important}.light-theme .device-verify-warning .ant-alert-icon{color:#ea580ce6!important}.dark-theme .device-verify-warning{background:#fb923c1f!important;border-color:#fb923c66!important}.dark-theme .device-verify-warning .ant-alert-message{color:#ffedd5f2!important}.dark-theme .device-verify-warning .ant-alert-icon{color:#fbbf24e6!important}.device-verify-info{border:1px solid var(--scada-color-info)!important;background:#3b82f61a!important}.device-verify-info .ant-alert-icon{color:var(--scada-color-info)!important}.light-theme .device-verify-info{background:#3b82f614!important;border-color:#3b82f699!important}.light-theme .device-verify-info .ant-alert-message{color:#1e3a8af2!important}.light-theme .device-verify-info .ant-alert-icon{color:#2563ebe6!important}.dark-theme .device-verify-info{background:#3b82f61f!important;border-color:#3b82f666!important}.dark-theme .device-verify-info .ant-alert-message{color:#dbeafef2!important}.dark-theme .device-verify-info .ant-alert-icon{color:#60a5fae6!important}@media (max-width:767px){.ant-table-wrapper{overflow-x:auto}.ant-modal{max-width:95vw!important;margin:8px auto!important}.ant-modal-content{border-radius:8px}.ant-form-item-label{white-space:normal}.ant-space-horizontal{flex-wrap:wrap}.ant-card-body{padding:12px!important}.ant-notification{max-width:calc(100vw - 32px)!important}.ant-notification-notice{width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important}}:root,:root.dark-theme{--scada-bg-primary:#050a12;--scada-bg-secondary:#0a111c;--scada-bg-tertiary:#101b29;--scada-bg-hover:#142438;--scada-bg-disabled:#0b131f;--scada-surface-raised:#0d1724;--scada-surface-strong:#111e2d;--scada-border:#20354a;--scada-border-light:#182a3d;--scada-border-hover:#2e607a;--scada-text-primary:#e8f4fb;--scada-text-secondary:#a9bed0;--scada-text-tertiary:#668098;--scada-text-disabled:#44596d;--scada-color-success:#27df98;--scada-color-warning:#f0a849;--scada-color-error:#ff5e6c;--scada-color-info:#20c8f5;--scada-color-violet:#8f7cff;--scada-shadow:#0000003d;--scada-shadow-hover:#00000057;--aurora-glow:#20c8f538}:root.light-theme{--scada-bg-primary:#eaf1f6;--scada-bg-secondary:#f6f9fb;--scada-bg-tertiary:#e1ebf2;--scada-bg-hover:#d7e6ef;--scada-bg-disabled:#edf2f5;--scada-surface-raised:#fff;--scada-surface-strong:#eef5f9;--scada-border:#b8cad7;--scada-border-light:#d0dde6;--scada-border-hover:#68a9c1;--scada-text-primary:#0c2030;--scada-text-secondary:#385469;--scada-text-tertiary:#668094;--scada-text-disabled:#9aacb8;--scada-color-success:#06976b;--scada-color-warning:#bd7119;--scada-color-error:#d53d4c;--scada-color-info:#007fae;--scada-color-violet:#6555d9;--scada-shadow:#2249601a;--scada-shadow-hover:#2249602e;--aurora-glow:#007fae24}html,body,#root{background:var(--scada-bg-primary);color:var(--scada-text-primary);letter-spacing:.01em;font-family:Segoe UI Variable,Inter,Microsoft YaHei UI,Microsoft YaHei,sans-serif}body{min-width:320px}*{scrollbar-color:var(--scada-border-hover)transparent;scrollbar-width:thin}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:var(--scada-border-hover);border-radius:8px}::-webkit-scrollbar-track{background:0 0}.aurora-app-shell{height:100vh;background:var(--scada-bg-primary)!important}.aurora-sidebar{border-right:1px solid var(--scada-border-light);z-index:12;box-shadow:14px 0 38px #0000002e;background:#07101a!important}.light-theme .aurora-sidebar{background:#f7fafc!important}.aurora-sidebar__inner{flex-direction:column;height:100%;display:flex}.aurora-sidebar__brand{border-bottom:1px solid var(--scada-border-light);align-items:center;gap:10px;min-height:70px;padding:13px 12px 13px 14px;display:flex}.aurora-sidebar__brand.is-collapsed{justify-content:center;padding-inline:8px}.aurora-sidebar__brand.is-collapsed .aurora-brandmark{display:none}.aurora-brandmark{color:#dff9ff;width:36px;height:36px;box-shadow:0 0 24px var(--aurora-glow);background:#0a88b7;border:1px solid #36cff2;border-radius:6px;flex:0 0 36px;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.aurora-sidebar__brandcopy,.aurora-login__brand>span:last-child{flex-direction:column;min-width:0;line-height:1.1;display:flex}.aurora-sidebar__brandcopy strong,.aurora-login__brand strong{color:var(--scada-text-primary);letter-spacing:.17em;font-size:13px}.aurora-sidebar__brandcopy small,.aurora-login__brand small{color:var(--scada-text-tertiary);letter-spacing:.13em;margin-top:5px;font-size:9px}.aurora-sidebar__brand .sider-collapse-btn{width:30px;height:30px;min-height:30px;color:var(--scada-text-tertiary);border:0;border-radius:4px;margin-left:auto}.aurora-sidebar__brand.is-collapsed .sider-collapse-btn{width:36px;height:36px;min-height:36px;color:var(--scada-text-primary);border:1px solid var(--scada-border-light);background:#0a88b71f;justify-content:center;align-items:center;margin-left:0;display:inline-flex}.aurora-sidebar__menu{flex:1;padding:14px 8px;background:0 0!important;border:0!important}.aurora-sidebar__menu.ant-menu-inline-collapsed{width:100%;padding-inline:7px}.aurora-sidebar__menu .ant-menu-item{border-radius:5px;height:42px;margin:4px 0;font-size:13px;line-height:42px;color:var(--scada-text-tertiary)!important}.aurora-sidebar__menu .ant-menu-item .anticon{font-size:17px;color:#7893a7!important}.aurora-sidebar__menu .ant-menu-item:hover{color:var(--scada-text-primary)!important;background:var(--scada-bg-tertiary)!important}.aurora-sidebar__menu .ant-menu-item-selected{box-shadow:inset 2px 0 0 var(--scada-color-info),0 0 18px #20c8f514;color:#dff9ff!important;background:#0d2839!important}.aurora-sidebar__menu .ant-menu-item-selected .anticon{color:var(--scada-color-info)!important}.aurora-sidebar__operator{border:1px solid var(--scada-border-light);background:var(--scada-bg-secondary);border-radius:6px;grid-template-columns:32px 1fr 8px;align-items:center;gap:9px;margin:8px;padding:11px 10px;display:grid}.aurora-avatar{color:#dff9ff;background:#123148;border:1px solid #225a75;border-radius:4px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.aurora-sidebar__operator>div:nth-child(2){flex-direction:column;min-width:0;display:flex}.aurora-sidebar__operator strong{color:var(--scada-text-primary);text-overflow:ellipsis;font-size:12px;overflow:hidden}.aurora-sidebar__operator small{color:var(--scada-text-tertiary);margin-top:3px;font-size:10px}.aurora-presence,.aurora-system-health i{background:var(--scada-color-success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #27df98a6}.aurora-command-header{z-index:10;justify-content:space-between;align-items:center;min-height:70px;display:flex;box-shadow:0 10px 28px #00000021;background:var(--scada-bg-secondary)!important;border-bottom:1px solid var(--scada-border-light)!important;height:70px!important;padding:0 18px!important;line-height:normal!important}.aurora-command-header__page{align-items:center;min-width:0;display:flex}.aurora-command-header__page>div{flex-direction:column;display:flex}.aurora-command-header__page span{color:var(--scada-color-info);letter-spacing:.19em;font-size:9px;font-weight:700}.aurora-command-header__page strong{color:var(--scada-text-primary);letter-spacing:.02em;margin-top:5px;font-size:18px;font-weight:650}.aurora-command-header__actions{align-items:center}.aurora-system-health{height:38px;color:var(--scada-color-info);background:var(--scada-bg-primary);border:1px solid var(--scada-border-light);border-radius:5px;align-items:center;gap:8px;padding:0 11px;display:flex}.aurora-system-health>span{flex-direction:column;min-width:64px;display:flex}.aurora-system-health strong{color:var(--scada-text-secondary);font-size:10px;font-weight:600}.aurora-system-health small{color:var(--scada-color-success);margin-top:2px;font-size:9px}.aurora-clock{text-align:right;flex-direction:column;min-width:58px;display:flex}.aurora-clock strong{color:var(--scada-text-primary);font-size:13px}.aurora-clock small{color:var(--scada-text-tertiary);margin-top:2px;font-size:9px}.aurora-icon-button{width:38px;height:38px;min-height:38px;color:var(--scada-text-secondary)!important;background:var(--scada-bg-primary)!important;border:1px solid var(--scada-border-light)!important;border-radius:5px!important;padding:0!important}.aurora-icon-button:hover{box-shadow:0 0 16px var(--aurora-glow);color:var(--scada-color-info)!important;border-color:var(--scada-border-hover)!important}.aurora-command-header .aurora-icon-button--utility .anticon,.aurora-command-header .aurora-icon-button--utility .anticon svg{color:inherit!important}.light-theme .aurora-command-header .aurora-icon-button--utility{box-shadow:0 1px 3px var(--scada-shadow);color:var(--scada-text-primary)!important;background:var(--scada-surface-raised)!important;border-color:var(--scada-border)!important}.light-theme .aurora-command-header .aurora-icon-button--utility:hover{color:var(--scada-color-info)!important;background:var(--scada-bg-hover)!important;border-color:var(--scada-color-info)!important}.light-theme .aurora-command-header .aurora-icon-button--danger{color:var(--scada-color-error)!important}.light-theme .aurora-command-header .aurora-icon-button--danger:hover{box-shadow:0 0 14px #d53d4c24;color:var(--scada-color-error)!important;border-color:var(--scada-color-error)!important;background:#d53d4c14!important}.aurora-content{overflow:auto;background:var(--scada-bg-primary)!important;padding:18px!important}.scada-page{width:100%;min-height:100%;padding:0!important}.scada-page>.ant-card,.scada-page>.ant-layout-content>.ant-card{min-height:calc(100vh - 106px)}.ant-card{background:var(--scada-bg-secondary)!important;border:1px solid var(--scada-border-light)!important;box-shadow:0 10px 30px var(--scada-shadow)!important;border-radius:6px!important;transform:none!important}.ant-card:hover{border-color:var(--scada-border)!important;box-shadow:0 12px 34px var(--scada-shadow-hover)!important;transform:none!important}.ant-card-head{background:var(--scada-bg-secondary)!important;border-bottom:1px solid var(--scada-border-light)!important;min-height:56px!important;padding-inline:18px!important}.ant-card-head-title{letter-spacing:.03em;color:var(--scada-text-primary)!important;font-size:14px!important;font-weight:650!important}.ant-card-head-title .anticon{color:var(--scada-color-info)!important}.ant-card-body{background:0 0!important}.ant-statistic{position:relative}.ant-statistic-title{letter-spacing:.06em;font-weight:600;color:var(--scada-text-tertiary)!important;margin-bottom:13px!important;font-size:11px!important}.ant-statistic-content{font-family:Segoe UI Variable,Inter,sans-serif;color:var(--scada-text-primary)!important}.ant-statistic-content-value{letter-spacing:-.02em;font-weight:650}.ant-btn{min-height:34px;font-weight:550;box-shadow:none!important;border-radius:5px!important}.ant-btn-default,.ant-btn-dashed{color:var(--scada-text-secondary);background:var(--scada-bg-tertiary);border-color:var(--scada-border)}.ant-btn-default:hover,.ant-btn-dashed:hover{color:var(--scada-color-info)!important;background:var(--scada-bg-hover)!important;border-color:var(--scada-border-hover)!important}.ant-btn-primary{color:#effcff!important;background:#087fac!important;border:1px solid #22bfe7!important;box-shadow:0 0 18px #20c8f52e!important}.ant-btn-primary:hover{background:#0996c8!important;border-color:#5ee5ff!important;transform:none!important}.ant-btn-dangerous{background:#ff5e6c14!important;border-color:#ff5e6c57!important}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-picker,.ant-select-selector,.ant-input-password{color:var(--scada-text-primary)!important;background:var(--scada-bg-primary)!important;border-color:var(--scada-border)!important;border-radius:5px!important}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-input-number:hover,.ant-picker:hover,.ant-select-selector:hover{border-color:var(--scada-border-hover)!important}.ant-input:focus,.ant-input-affix-wrapper-focused,.ant-input-number-focused,.ant-picker-focused,.ant-select-focused .ant-select-selector{border-color:var(--scada-color-info)!important;box-shadow:0 0 0 2px var(--aurora-glow)!important}.ant-input-number-input{color:var(--scada-text-primary)!important;caret-color:var(--scada-color-info)!important;-webkit-text-fill-color:var(--scada-text-primary)!important;background:0 0!important}.ant-input-number-input::placeholder{opacity:1;color:var(--scada-text-secondary)!important;-webkit-text-fill-color:var(--scada-text-secondary)!important}.ant-input-number-disabled .ant-input-number-input{opacity:1;color:var(--scada-text-tertiary)!important;-webkit-text-fill-color:var(--scada-text-tertiary)!important}.ant-input-number-addon,.ant-input-number-group-addon{color:var(--scada-text-primary)!important;background:var(--scada-bg-tertiary)!important;border-color:var(--scada-border)!important}.ant-input-number-addon.ant-space-addon-disabled,.ant-input-number-group-wrapper-disabled .ant-input-number-group-addon{color:var(--scada-text-tertiary)!important;background:var(--scada-bg-disabled)!important}.ant-input-number-handler-wrap,.ant-input-number-actions{background:var(--scada-bg-secondary)!important;border-inline-start-color:var(--scada-border)!important}.ant-input-number-handler,.ant-input-number-handler-up-inner,.ant-input-number-handler-down-inner,.ant-input-number-action,.ant-input-number-action .anticon{color:var(--scada-text-secondary)!important;border-block-end-color:var(--scada-border-light)!important}.ant-input-number-handler:not([aria-disabled=true]):hover,.ant-input-number-handler:not([aria-disabled=true]):hover .ant-input-number-handler-up-inner,.ant-input-number-handler:not([aria-disabled=true]):hover .ant-input-number-handler-down-inner,.ant-input-number-action:not([aria-disabled=true]):hover,.ant-input-number-action:not([aria-disabled=true]):hover .anticon{color:var(--scada-color-info)!important;background:var(--scada-bg-hover)!important}.ant-input-number-handler[aria-disabled=true],.ant-input-number-handler[aria-disabled=true] .anticon,.ant-input-number-action[aria-disabled=true],.ant-input-number-action[aria-disabled=true] .anticon{color:var(--scada-text-disabled)!important}.ant-form-item-label>label{font-size:12px;color:var(--scada-text-secondary)!important}.ant-table{border:1px solid var(--scada-border-light);border-radius:5px;overflow:hidden;background:var(--scada-bg-primary)!important}.ant-table-thead>tr>th{letter-spacing:.04em;height:42px;font-size:11px;color:#93aec2!important;border-bottom:1px solid var(--scada-border)!important;background:#0d1723!important;font-weight:650!important}.light-theme .ant-table-thead>tr>th{background:#e4edf3!important}.ant-table-tbody>tr,.dark-theme .ant-table-tbody>tr:nth-child(2n),.light-theme .ant-table-tbody>tr:nth-child(2n){background:var(--scada-bg-primary)!important}.ant-table-tbody>tr:nth-child(2n){background:var(--scada-bg-secondary)!important}.ant-table-tbody>tr:hover>td{background:#0e2432!important}.light-theme .ant-table-tbody>tr:hover>td{background:#dcecf3!important}.ant-table-tbody>tr>td{font-size:12px;color:var(--scada-text-secondary)!important;border-bottom:1px solid var(--scada-border-light)!important}.ant-pagination-item,.ant-pagination-prev .ant-pagination-item-link,.ant-pagination-next .ant-pagination-item-link{background:var(--scada-bg-primary)!important;border-color:var(--scada-border-light)!important;border-radius:4px!important}.ant-pagination-item-active{box-shadow:0 0 12px var(--aurora-glow);border-color:var(--scada-color-info)!important}.ant-tag{letter-spacing:.02em;font-size:10px;font-weight:600;border-radius:3px!important}.gateway-enrollment-status.ant-tag{text-align:center;min-width:64px;text-shadow:none;white-space:nowrap;font-size:11px;font-weight:700;line-height:18px;border-width:1px!important;padding:2px 8px!important}.gateway-enrollment-status--ready.ant-tag{color:#effff9!important;background:#116149!important;border-color:#46d8a7!important}.gateway-enrollment-status--failed.ant-tag{color:#fff3f4!important;background:#7a2934!important;border-color:#ff7a88!important}.gateway-enrollment-status--processing.ant-tag{color:#eef8ff!important;background:#174d73!important;border-color:#60b8ed!important}.ant-modal-mask{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#02060cbd!important}.ant-modal-content,.ant-drawer-content{background:var(--scada-bg-secondary)!important;border:1px solid var(--scada-border)!important;border-radius:7px!important;box-shadow:0 28px 70px #0000007a!important}.ant-modal-header,.ant-drawer-header{background:var(--scada-bg-secondary)!important;border-bottom:1px solid var(--scada-border-light)!important}.ant-modal-title,.ant-drawer-title{color:var(--scada-text-primary)!important;font-size:14px!important}.ant-modal-footer{border-top:1px solid var(--scada-border-light);padding-top:14px}.ant-tabs-nav:before{border-bottom-color:var(--scada-border-light)!important}.ant-tabs-ink-bar{box-shadow:0 0 12px var(--aurora-glow);background:var(--scada-color-info)!important}.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--scada-color-info)!important}.ant-select-dropdown,.ant-picker-dropdown,.ant-dropdown-menu{background:var(--scada-bg-secondary)!important;border:1px solid var(--scada-border)!important;box-shadow:0 18px 42px #00000061!important}.ant-select-item-option-selected,.ant-dropdown-menu-item-selected{background:#0d2d40!important}.ant-dropdown .ant-dropdown-menu,.ant-dropdown-menu-submenu .ant-dropdown-menu,.ant-dropdown-menu .ant-dropdown-menu-item,.ant-dropdown-menu .ant-dropdown-menu-submenu-title{color:var(--scada-text-primary)!important}.ant-dropdown-menu .ant-dropdown-menu-title-content,.ant-dropdown-menu .ant-dropdown-menu-item-icon,.ant-dropdown-menu .ant-dropdown-menu-submenu-expand-icon,.ant-dropdown-menu .ant-dropdown-menu-submenu-arrow-icon{color:inherit!important}.ant-dropdown-menu .ant-dropdown-menu-item:not(.ant-dropdown-menu-item-disabled):is(:hover,:focus-visible,.ant-dropdown-menu-item-active,.ant-dropdown-menu-item-selected),.ant-dropdown-menu .ant-dropdown-menu-submenu:not(.ant-dropdown-menu-submenu-disabled)>.ant-dropdown-menu-submenu-title:is(:hover,:focus-visible,.ant-dropdown-menu-submenu-title-active){background:var(--scada-bg-hover)!important}.ant-dropdown-menu .ant-dropdown-menu-item:focus-visible,.ant-dropdown-menu .ant-dropdown-menu-submenu-title:focus-visible{outline:2px solid var(--scada-color-info);outline-offset:-2px}.ant-dropdown-menu .ant-dropdown-menu-item-danger{color:var(--scada-color-error)!important}.ant-dropdown-menu .ant-dropdown-menu-item-disabled,.ant-dropdown-menu .ant-dropdown-menu-submenu-disabled>.ant-dropdown-menu-submenu-title{cursor:not-allowed;color:var(--scada-text-tertiary)!important;background:0 0!important}.ant-dropdown-menu .ant-dropdown-menu-item-divider{background:var(--scada-border)!important}.ant-switch{background:#24374a}.ant-switch.ant-switch-checked{box-shadow:0 0 12px var(--aurora-glow);background:#078bb7}.ant-tree-node-content-wrapper.ant-tree-node-selected,.ant-tree-node-selected{border-radius:4px;background:#0d2d40!important}.table-header-text{color:#93aec2!important}.card-title-text,.table-cell-text-primary{color:var(--scada-text-primary)!important}.table-cell-text-secondary{color:var(--scada-text-secondary)!important}.table-cell-text-tertiary,.table-icon-secondary{color:var(--scada-text-tertiary)!important}.scada-dashboard>h2{letter-spacing:.02em;color:var(--scada-text-primary)!important;margin:0 0 18px!important;font-size:22px!important;font-weight:650!important}.scada-dashboard>h2:before{content:"LIVE SYSTEM / ";color:var(--scada-color-info);letter-spacing:.15em;vertical-align:middle;font-size:10px}.scada-dashboard .ant-row .ant-card{position:relative;overflow:hidden;border-color:var(--scada-border-light)!important;min-height:156px!important;box-shadow:inset 0 1px #ffffff06!important}.scada-dashboard .ant-row .ant-card:before{content:"";background:var(--scada-color-info);opacity:.72;height:2px;position:absolute;top:0;left:0;right:0}.scada-dashboard .ant-row .ant-col:nth-child(2) .ant-card:before{background:var(--scada-color-success)}.scada-dashboard .ant-row .ant-col:nth-child(3) .ant-card:before{background:var(--scada-color-warning)}.scada-dashboard .ant-row .ant-col:nth-child(4) .ant-card:before{background:var(--scada-color-error)}.scada-dashboard .ant-row .ant-card:hover{border-color:var(--scada-border-hover)!important;box-shadow:0 0 24px #20c8f512!important}.scada-dashboard>.ant-card:last-child{min-height:auto!important}.scada-alarms>.ant-card>.ant-card-body>.ant-row .ant-card,.scada-history>.ant-card>.ant-card-body>.ant-row .ant-card{min-height:112px;background:var(--scada-bg-primary)!important;box-shadow:inset 0 1px #ffffff06!important}.scada-alarms>.ant-card>.ant-card-body>.ant-card,.scada-history>.ant-card>.ant-card-body>.ant-card{background:var(--scada-bg-primary)!important;border-color:var(--scada-border)!important;box-shadow:none!important}.scada-history .history-address-cell{text-overflow:ellipsis;white-space:nowrap;background:var(--scada-surface-strong);border:1px solid var(--scada-border-hover);border-radius:4px;max-width:100%;padding:2px 7px;font-family:Cascadia Mono,Consolas,monospace;font-size:12px;line-height:18px;display:inline-block;overflow:hidden;color:var(--scada-text-primary)!important}.scada-history .history-value-cell{font-variant-numeric:tabular-nums;font-family:Cascadia Mono,Consolas,monospace;font-size:13px;font-weight:700;color:var(--scada-text-primary)!important}.dark-theme .scada-history .history-address-cell{background:#102b3b;border-color:#2e7898;color:#d9f5ff!important}.dark-theme .scada-history .history-value-cell{color:#f3fbff!important}.scada-device-manager,.scada-device-detail,.scada-assets{min-height:100%;background:0 0!important;height:auto!important;padding:0!important}.scada-page__surface{min-height:100%;background:0 0!important;border-radius:0!important;height:auto!important;padding:0!important;overflow:visible!important}.scada-device-manager .device-tree{border:1px solid var(--scada-border-light);border-radius:4px;padding:4px;background:var(--scada-bg-primary)!important}.scada-device-manager .device-search-input .ant-input,.scada-device-manager .device-search-input .ant-input-group-addon{color:var(--scada-text-primary)!important;background:var(--scada-bg-primary)!important}.dark-theme .scada-device-manager .ant-checkbox .ant-checkbox-inner,.dark-theme .scada-templates .ant-checkbox .ant-checkbox-inner{background:#081521!important;border-color:#71b8d2!important}.dark-theme .scada-device-manager .ant-checkbox:hover .ant-checkbox-inner,.dark-theme .scada-device-manager .ant-checkbox-wrapper:hover .ant-checkbox-inner,.dark-theme .scada-templates .ant-checkbox:hover .ant-checkbox-inner,.dark-theme .scada-templates .ant-checkbox-wrapper:hover .ant-checkbox-inner{box-shadow:0 0 0 2px #18d3ff29;border-color:#72e5ff!important}.dark-theme .scada-device-manager .ant-checkbox-checked .ant-checkbox-inner,.dark-theme .scada-device-manager .ant-checkbox-indeterminate .ant-checkbox-inner,.dark-theme .scada-templates .ant-checkbox-checked .ant-checkbox-inner,.dark-theme .scada-templates .ant-checkbox-indeterminate .ant-checkbox-inner{background:#079dcc!important;border-color:#72e5ff!important}.dark-theme .scada-device-manager .ant-checkbox-checked .ant-checkbox-inner:after,.dark-theme .scada-templates .ant-checkbox-checked .ant-checkbox-inner:after{border-width:2px!important;border-color:#fff!important}.dark-theme .scada-device-manager .ant-checkbox-indeterminate .ant-checkbox-inner:after,.dark-theme .scada-templates .ant-checkbox-indeterminate .ant-checkbox-inner:after{background-color:#fff!important}.dark-theme .scada-templates .ant-pagination-prev .ant-pagination-item-link,.dark-theme .scada-templates .ant-pagination-next .ant-pagination-item-link{color:#c7f5ff!important;border-color:#4285a0!important}.dark-theme .scada-templates .ant-pagination-prev .ant-pagination-item-link .anticon,.dark-theme .scada-templates .ant-pagination-next .ant-pagination-item-link .anticon{color:currentColor!important;fill:currentColor!important}.dark-theme .scada-templates .ant-pagination-disabled .ant-pagination-item-link{cursor:not-allowed;color:#7194a8!important;opacity:1!important;border-color:#365568!important}.light-theme .scada-device-manager .device-tree{background:var(--scada-surface-raised)!important;border-color:var(--scada-border)!important}.light-theme .scada-device-manager .device-tree .ant-tree-node-content-wrapper.ant-tree-node-selected,.light-theme .scada-device-manager .device-tree .ant-tree-node-selected{color:var(--scada-text-primary)!important;background:#007fae24!important}.light-theme .scada-device-manager .device-tree .ant-tree-node-selected .ant-tree-title,.light-theme .scada-device-manager .device-tree .ant-tree-node-selected .device-tree-label,.light-theme .scada-device-manager .device-tree .ant-tree-node-selected .ant-tree-iconEle,.light-theme .scada-device-manager .device-tree .ant-tree-node-selected .ant-tree-switcher{color:var(--scada-text-primary)!important}.light-theme .scada-device-manager .device-manager-toolbar .ant-input,.light-theme .scada-device-manager .device-manager-toolbar .ant-input-affix-wrapper,.light-theme .scada-device-manager .device-manager-toolbar .ant-input-group-addon,.light-theme .scada-device-manager .device-manager-toolbar .ant-input-search-button,.light-theme .scada-device-manager .device-manager-toolbar .ant-select-selector,.light-theme .scada-device-manager .device-manager-toolbar .ant-btn-default{color:var(--scada-text-primary)!important;background:var(--scada-surface-raised)!important;border-color:var(--scada-border)!important}.light-theme .scada-device-manager .device-manager-toolbar .ant-input::placeholder,.light-theme .scada-device-manager .device-manager-toolbar .ant-select-selection-placeholder{color:var(--scada-text-secondary)!important;opacity:1!important}.light-theme .scada-device-manager .device-manager-toolbar .ant-select-selection-item,.light-theme .scada-device-manager .device-manager-toolbar .ant-select-arrow,.light-theme .scada-device-manager .device-manager-toolbar .ant-input-clear-icon,.light-theme .scada-device-manager .device-manager-toolbar .ant-input-search-button .anticon,.light-theme .scada-device-manager .device-manager-toolbar .ant-btn-default .anticon{color:var(--scada-text-primary)!important;fill:var(--scada-text-primary)!important}.light-theme .scada-device-manager .device-manager-toolbar .ant-btn-default:hover,.light-theme .scada-device-manager .device-manager-toolbar .ant-input-search-button:hover{color:var(--scada-color-info)!important;background:var(--scada-bg-hover)!important;border-color:var(--scada-border-hover)!important}.light-theme .ant-select-item-option-selected,.light-theme .ant-dropdown-menu-item-selected{color:var(--scada-text-primary)!important;background:#007fae24!important}.scada-device-manager .device-actions-column{white-space:nowrap;min-width:280px}.scada-device-manager .device-row-actions{white-space:nowrap;flex-wrap:nowrap;display:inline-flex}.scada-device-manager .device-row-actions .ant-btn{flex:none}.scada-device-detail>.ant-layout-content{min-height:calc(100vh - 106px);background:0 0!important;border-radius:0!important;padding:0!important}.scada-device-detail .ant-descriptions{background:var(--scada-bg-primary);border:1px solid var(--scada-border-light);border-radius:5px;padding:12px}.scada-device-detail .ant-descriptions-item-label{color:var(--scada-text-tertiary)!important}.scada-device-detail .ant-descriptions-item-content{color:var(--scada-text-primary)!important}.scada-templates .ant-table-row,.scada-users .ant-table-row,.scada-datatables .ant-table-row,.scada-devices .ant-table-row,.scada-device-manager .ant-table-row{cursor:default}.scada-datatables .ant-table-row:hover,.scada-device-manager .ant-table-row:hover{box-shadow:inset 2px 0 0 var(--scada-color-info)}.scada-datatables .datatable-name-cell{min-width:0;color:var(--scada-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;line-height:1.45;display:block;overflow:hidden}.scada-datatables .datatable-row-actions{white-space:nowrap;flex-wrap:nowrap;display:inline-flex}.scada-datatables .datatable-row-actions .ant-btn{flex:none}.scada-assets .ant-modal-wrap{overflow:hidden}.scada-assets .asset-gallery-modal{padding-bottom:0}.scada-assets .asset-gallery-modal .ant-modal-header{align-items:center;min-height:56px;display:flex}.scada-assets .asset-gallery-modal .ant-modal-title:before{content:"ASSET LIBRARY / ";color:var(--scada-color-info);letter-spacing:.12em;font-size:9px}.aurora-card-kicker,.aurora-eyebrow{color:var(--scada-color-info);letter-spacing:.17em;font-size:10px;font-weight:700}.aurora-login{background:#050a12;min-height:100vh;padding:22px 32px 32px;position:relative;overflow:auto}.light-theme .aurora-login{background:#eaf1f6}.aurora-login__topbar{justify-content:space-between;align-items:center;max-width:1380px;margin:0 auto;display:flex}.aurora-login__brand{align-items:center;gap:11px;display:flex}.aurora-login__layout{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);align-items:center;gap:80px;width:100%;max-width:1180px;min-height:calc(100vh - 120px);margin:24px auto 0;display:grid}.aurora-login__intro{max-width:660px}.aurora-login__intro h1{color:#eaf8ff;letter-spacing:-.045em;margin:22px 0 20px;font-size:clamp(38px,5vw,68px);font-weight:620;line-height:1.12}.light-theme .aurora-login__intro h1{color:#0a2030}.aurora-login__intro>p{color:#819bb0;max-width:610px;font-size:15px;line-height:1.8}.aurora-eyebrow{align-items:center;gap:8px;display:inline-flex}.aurora-login__features{border-top:1px solid #183044;border-bottom:1px solid #183044;grid-template-columns:repeat(3,1fr);margin-top:38px;display:grid}.aurora-login__features>div{border-right:1px solid #183044;align-items:flex-start;gap:12px;min-height:112px;padding:22px 18px;display:flex}.aurora-login__features>div:last-child{border-right:0}.aurora-login__features .anticon{color:var(--scada-color-info);margin-top:2px;font-size:18px}.aurora-login__features span{flex-direction:column;display:flex}.aurora-login__features strong{color:var(--scada-text-primary);font-size:12px}.aurora-login__features small{color:var(--scada-text-tertiary);margin-top:7px;font-size:10px;line-height:1.5}.aurora-login__card{width:100%;padding:8px 4px;background:#0a131f!important;border-color:#21465f!important;box-shadow:0 30px 80px #0000005c,0 0 42px #20c8f512!important}.aurora-login__card .ant-card-head{padding-top:12px;min-height:78px!important}.aurora-login__card .ant-card-body{padding:26px 24px 24px}.aurora-login__title{color:var(--scada-text-primary);margin-top:8px;font-size:20px;font-weight:650}.aurora-login__submit{height:46px;margin-top:5px}.aurora-login__hint{text-align:center;margin-top:14px;font-size:10px;display:block;color:var(--scada-text-tertiary)!important}.asset-gallery-modal .ant-modal-content{border-color:#28536b!important}.asset-gallery__main,.asset-gallery__grid,.asset-gallery__status,.asset-gallery__toolbar,.asset-gallery__left{background:var(--scada-bg-primary)!important}.asset-gallery__item,.asset-gallery__statusItem{border-radius:5px!important}.asset-gallery__item--active,.asset-gallery__statusItem--active{border-color:var(--scada-color-info)!important;box-shadow:0 0 0 1px var(--scada-color-info),0 0 18px var(--aurora-glow)!important}.aurora-designer{gap:8px;padding:8px;background:#03070d!important}.aurora-designer__toolbox,.aurora-designer__inspector{border:1px solid var(--scada-border-light);border-radius:6px;height:calc(100vh - 16px);overflow:hidden;background:#07101a!important}.aurora-designer__toolbox{overflow-y:auto!important}.aurora-designer__toolbox .ant-card{min-height:100%;box-shadow:none!important;background:0 0!important;border:0!important}.aurora-designer__toolbox .ant-card-head{z-index:2;position:sticky;top:0;background:#07101a!important}.aurora-designer__toolbox .ant-card-head-title:before{content:"LIBRARY / ";color:var(--scada-color-info);letter-spacing:.12em;font-size:8px}.aurora-designer__toolbox .designer-toolbox-title{font-weight:750;color:var(--scada-text-primary)!important}.designer-publish-status{letter-spacing:.02em;margin-left:4px;font-weight:700}.dark-theme .designer-publish-status{color:#d1fae5!important;background:#055e43eb!important;border-color:#6ee7b79e!important}.light-theme .designer-publish-status{color:#065f46!important;background:#d1fae5!important;border-color:#6ee7b7!important}.designer-delete-screen-btn.ant-btn-dangerous:not(:disabled){color:#fecaca!important;background:#7f1d1d85!important;border-color:#f87171a8!important}.designer-delete-screen-btn.ant-btn-dangerous:disabled{opacity:1;color:#fca5a5b8!important;background:#7f1d1d33!important;border-color:#f8717157!important}.light-theme .designer-delete-screen-btn.ant-btn-dangerous:not(:disabled){color:#991b1b!important;background:#fee2e2!important;border-color:#f87171!important}.light-theme .designer-delete-screen-btn.ant-btn-dangerous:disabled{color:#991b1b9e!important;background:#fee2e2c2!important;border-color:#f871716b!important}.aurora-designer__toolbox .ant-card-body>div>div:last-child>div{min-height:42px;border-color:var(--scada-border-light)!important;background:var(--scada-bg-secondary)!important;border-radius:4px!important;padding:8px!important}.aurora-designer__toolbox .ant-card-body>div>div:last-child>div:hover{box-shadow:0 0 16px #20c8f514;color:var(--scada-color-info)!important;border-color:var(--scada-border-hover)!important;background:#0d2432!important}.aurora-designer__content{min-width:0;min-height:0;background:0 0!important}.designer-frame{flex-direction:column;height:100%;min-height:0;display:flex;box-shadow:0 18px 44px #00000047;border-color:var(--scada-border)!important;background:#060c14!important;border-radius:6px!important}.designer-titlebar{border-bottom:1px solid var(--scada-border-light);background:#09121d;justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:8px 12px;display:flex}.designer-titlebar__identity{align-items:center;gap:9px;min-width:0;display:flex}.designer-titlebar__mark{width:30px;height:30px;color:var(--scada-color-info);background:#0d2839;border:1px solid #205873;border-radius:4px;place-items:center;display:grid}.designer-titlebar__identity>span:last-child{flex-direction:column;min-width:0;display:flex}.designer-titlebar__identity strong{color:var(--scada-text-primary);font-size:13px}.designer-titlebar__identity small{color:var(--scada-text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;overflow:hidden}.designer-titlebar__state{align-items:center;gap:6px;display:flex}.designer-titlebar__state span{height:25px;color:var(--scada-text-tertiary);border:1px solid var(--scada-border-light);background:#07101a;border-radius:3px;align-items:center;gap:5px;padding:0 8px;font-size:9px;display:inline-flex}.designer-titlebar__state span:first-child{color:var(--scada-color-success)}.designer-commandbar{background:#08111b!important;gap:8px!important;padding:9px 11px!important}.designer-projectbar{gap:10px!important}.designer-projectbar>div:first-child{gap:9px!important}.designer-projectbar .ant-space{gap:5px!important}.designer-projectbar .ant-select-selector{background:#050b12!important}.designer-toolstrip{border:1px solid var(--scada-border-light);background:#050b12;border-radius:4px;min-height:38px;gap:6px!important;padding:6px 7px 4px!important}.designer-toolstrip .ant-divider-vertical{height:17px!important;margin-inline:3px!important}.designer-toolstrip .tool-btn-enabled,.designer-toolstrip .tool-btn-disabled,.designer-toolstrip .ant-btn{min-height:30px;border-radius:4px!important;width:30px!important;height:30px!important}.designer-toolstrip .tool-btn-enabled{background:#0c1825!important}.designer-toolstrip .tool-btn-enabled:hover{color:var(--scada-color-info)!important;border-color:var(--scada-border-hover)!important;background:#0d2839!important}.designer-canvas-shell{border-top:1px solid #0c1c2a;flex:1;min-height:0;overflow:hidden;background:#03070d!important;height:auto!important;padding:9px!important}.designer-canvas-shell>div:not(.designer-empty-state){border:1px solid #132b3d;height:100%;box-shadow:inset 0 0 40px #00000052}.designer-empty-state{height:100%;color:var(--scada-text-tertiary);border:1px dashed #1b3c51;flex-direction:column;justify-content:center;align-items:center;display:flex}.designer-empty-state .anticon{color:var(--scada-color-info);font-size:30px}.designer-empty-state strong{color:var(--scada-text-secondary);margin-top:14px;font-size:14px}.designer-empty-state span{margin-top:7px;font-size:10px}.designer-statusbar{min-height:32px;color:var(--scada-text-tertiary);border-top:1px solid var(--scada-border-light);background:#07101a;align-items:center;gap:15px;padding:0 10px;font-size:9px;display:flex}.designer-statusbar>span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.designer-statusbar i{background:var(--scada-text-tertiary);border-radius:50%;width:6px;height:6px}.designer-statusbar i.is-online{background:var(--scada-color-success);box-shadow:0 0 9px #27df988c}.designer-statusbar__end{color:var(--scada-color-info);margin-left:auto}.aurora-designer__inspector{flex-direction:column;display:flex}.designer-inspector__tabs{border-bottom:1px solid var(--scada-border-light);background:#09121d;grid-template-columns:repeat(4,1fr);min-height:45px;padding:0 8px;display:grid}.designer-inspector__tabs button{color:var(--scada-text-tertiary);cursor:pointer;background:0 0;border:0;font-size:10px;position:relative}.designer-inspector__tabs button.is-active{color:var(--scada-color-info)}.designer-inspector__tabs button.is-active:after{content:"";background:var(--scada-color-info);height:2px;box-shadow:0 0 10px var(--aurora-glow);position:absolute;bottom:0;left:7px;right:7px}.designer-inspector__body{flex:1;padding:14px 12px;overflow-y:auto}.designer-inspector__heading{border-bottom:1px solid var(--scada-border-light);align-items:center;gap:10px;padding-bottom:14px;display:flex}.designer-inspector__icon{width:34px;height:34px;color:var(--scada-color-info);background:#0d2839;border:1px solid #205873;border-radius:4px;place-items:center;font-size:13px;font-weight:700;display:grid}.designer-inspector__heading>span:last-child{flex-direction:column;min-width:0;display:flex}.designer-inspector__heading strong{color:var(--scada-text-primary);font-size:12px}.designer-inspector__heading small{color:var(--scada-text-tertiary);text-overflow:ellipsis;margin-top:4px;font-size:9px;overflow:hidden}.designer-inspector__section{border-bottom:1px solid var(--scada-border-light);margin:15px 0;padding-bottom:15px}.designer-inspector__section header{color:#87a2b7;letter-spacing:.11em;text-transform:uppercase;margin-bottom:9px;font-size:9px;font-weight:700}.designer-inspector__metrics{grid-template-columns:1fr 1fr;gap:6px;display:grid}.designer-inspector__metrics label{border:1px solid var(--scada-border-light);background:#050b12;border-radius:3px;justify-content:space-between;align-items:center;height:31px;padding:0 8px;display:flex}.designer-inspector__metrics span,.designer-inspector__binding span{color:var(--scada-text-tertiary);font-size:9px}.designer-inspector__metrics strong,.designer-inspector__binding strong{color:var(--scada-text-secondary);font-size:10px}.designer-inspector__binding,.designer-inspector__health>div{border:1px solid var(--scada-border-light);background:#050b12;border-radius:3px;justify-content:space-between;align-items:center;gap:10px;min-height:34px;padding:7px 8px;display:flex}.designer-inspector__binding strong{text-overflow:ellipsis;white-space:nowrap;max-width:142px;overflow:hidden}.designer-inspector__swatches{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.designer-inspector__swatches span{border:1px solid var(--scada-border);border-radius:3px;height:32px}.designer-inspector__empty{text-align:center;border-bottom:1px solid var(--scada-border-light);flex-direction:column;justify-content:center;align-items:center;min-height:250px;padding:34px 18px;display:flex}.designer-inspector__empty .anticon{color:var(--scada-color-info);font-size:25px}.designer-inspector__empty strong{color:var(--scada-text-secondary);margin-top:12px;font-size:12px}.designer-inspector__empty span{color:var(--scada-text-tertiary);margin-top:7px;font-size:9px;line-height:1.65}.designer-inspector__health{margin-top:22px}.designer-inspector__health>div{background:0 0;margin-bottom:6px}.designer-inspector__health span{color:var(--scada-text-tertiary);font-size:9px}.designer-inspector__health strong{color:var(--scada-color-success);font-size:9px}.designer-inspector__panel-title{border-bottom:1px solid var(--scada-border-light);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:10px;display:flex}.designer-inspector__panel-title strong{color:var(--scada-text-primary);font-size:11px}.designer-inspector__panel-title span{color:var(--scada-text-tertiary);font-size:9px}.designer-inspector__panel-list>button,.designer-inspector__list-row{width:100%;min-height:44px;color:var(--scada-text-secondary);text-align:left;border:1px solid var(--scada-border-light);background:#050b12;border-radius:3px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:7px;margin-bottom:5px;padding:6px 7px;display:grid}.designer-inspector__panel-list>button{cursor:pointer}.designer-inspector__panel-list>button:hover,.designer-inspector__panel-list>button.is-active{border-color:var(--scada-border-hover);background:#0d2839}.designer-inspector__panel-list>button>span:first-child,.designer-inspector__list-row>span:first-child{width:24px;height:24px;color:var(--scada-color-info);background:#0a1d2a;border:1px solid #19465e;border-radius:3px;place-items:center;font-size:9px;font-weight:700;display:grid}.designer-inspector__panel-list>button>span:nth-child(2),.designer-inspector__list-row>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.designer-inspector__panel-list>button strong,.designer-inspector__list-row strong{color:var(--scada-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.designer-inspector__panel-list>button small,.designer-inspector__list-row small{color:var(--scada-text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:8px;overflow:hidden}.designer-inspector__panel-list>button i,.designer-inspector__list-row i{color:var(--scada-text-tertiary);font-size:8px;font-style:normal}.designer-inspector__event-row{border:1px solid var(--scada-border-light);background:#050b12;border-radius:3px;justify-content:space-between;align-items:center;min-height:36px;margin-bottom:6px;padding:7px 8px;display:flex}.designer-inspector__event-row span{color:var(--scada-text-tertiary);font-size:9px}.designer-inspector__event-row strong{color:var(--scada-color-info);font-size:9px}.designer-inspector__panel-list>.ant-btn{margin-top:10px}.designer-inspector__list-empty{color:var(--scada-text-tertiary);text-align:center;border:1px dashed var(--scada-border);padding:40px 12px;font-size:9px}.light-theme .aurora-designer{background:var(--scada-bg-primary)!important}.light-theme .aurora-designer__toolbox,.light-theme .aurora-designer__inspector,.light-theme .designer-frame,.light-theme .aurora-designer__toolbox .ant-card-head,.light-theme .designer-titlebar,.light-theme .designer-commandbar,.light-theme .designer-inspector__tabs,.light-theme .designer-statusbar{background:var(--scada-bg-secondary)!important}.light-theme .designer-titlebar__mark,.light-theme .designer-inspector__icon{background:var(--scada-bg-tertiary)!important;border-color:var(--scada-border-hover)!important}.light-theme .designer-titlebar__state span,.light-theme .designer-projectbar .ant-select-selector,.light-theme .designer-toolstrip,.light-theme .designer-inspector__metrics label,.light-theme .designer-inspector__binding,.light-theme .designer-inspector__health>div,.light-theme .designer-inspector__panel-list>button,.light-theme .designer-inspector__list-row,.light-theme .designer-inspector__event-row,.light-theme .aurora-designer__toolbox .ant-card-body>div>div:last-child>div{color:var(--scada-text-primary)!important;background:var(--scada-surface-raised)!important;border-color:var(--scada-border)!important}.light-theme .aurora-designer__toolbox .ant-card-body>div>div:last-child>div:hover,.light-theme .designer-toolstrip .tool-btn-enabled:hover,.light-theme .designer-inspector__panel-list>button:hover,.light-theme .designer-inspector__panel-list>button.is-active{color:var(--scada-color-info)!important;background:var(--scada-bg-hover)!important;border-color:var(--scada-border-hover)!important}.light-theme .designer-inspector__panel-list>button>span:first-child,.light-theme .designer-inspector__list-row>span:first-child{color:var(--scada-color-info)!important;background:var(--scada-bg-tertiary)!important;border-color:var(--scada-border-hover)!important}.aurora-runtime{background:#03070d;height:100vh;padding:8px!important}.aurora-runtime-empty{background:radial-gradient(circle at 50% 38%,#19c2ff14,#0000 28%),#03070d;place-items:center;min-height:100vh;display:grid;padding:18px!important}.aurora-runtime-empty__card{width:min(720px,100%);box-shadow:0 22px 70px #00000059;background:#07101a!important;border-color:#173247!important}.aurora-runtime-empty__card .ant-card-head{border-bottom-color:var(--scada-border-light)!important;background:#09121d!important}.aurora-runtime-empty__card .ant-card-body{padding:0!important}.aurora-runtime-empty__content{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:60px 24px;display:flex}.aurora-runtime-empty__icon{color:var(--scada-color-info);filter:drop-shadow(0 0 16px #19c2ff59);margin-bottom:20px;font-size:44px}.aurora-runtime-empty__content>strong{color:var(--scada-text-primary);font-size:20px}.aurora-runtime-empty__content>.ant-typography{max-width:460px;margin:10px 0 24px;line-height:1.8;color:var(--scada-text-secondary)!important}.aurora-runtime.is-fullscreen{padding:0!important}.aurora-runtime__card{height:100%;overflow:hidden;border-color:var(--scada-border)!important;background:#07101a!important;min-height:0!important}.aurora-runtime__card .ant-card-head{background:#09121d!important;min-height:64px!important}.aurora-runtime__card .ant-card-body{padding:8px!important}.aurora-runtime__identity{align-items:center;gap:8px;display:flex}.aurora-runtime__identity>span:nth-child(2){flex-direction:column;display:flex}.aurora-runtime__identity strong{letter-spacing:.035em;text-shadow:0 0 12px #4ed4f72e;font-size:14px;font-weight:750;color:#edfaff!important}.aurora-runtime__identity small{margin-top:3px;font-size:9px;color:#8fc4d9!important}.aurora-runtime__mark{width:32px;height:32px;color:var(--scada-color-info);background:#0d2839;border:1px solid #205873;border-radius:4px;place-items:center;display:grid}.aurora-runtime__mark .anticon,.aurora-runtime__mark .anticon svg{color:#4bdbff!important;fill:currentColor!important}.light-theme .aurora-runtime__identity strong{text-shadow:none;color:var(--scada-text-primary)!important}.light-theme .aurora-runtime__identity small{color:var(--scada-text-secondary)!important}.aurora-runtime__canvas-frame{background:#03070d;border:1px solid #173247;flex-direction:column;height:100%;min-height:0;display:flex}.aurora-runtime__canvas{flex:1;min-height:0}.aurora-runtime__card .ant-card-extra .ant-btn .ant-btn-icon,.aurora-runtime__card .ant-card-extra .ant-btn .anticon,.aurora-runtime__card .ant-card-extra .ant-btn .anticon svg{color:inherit!important;fill:currentColor!important;opacity:1!important}.dark-theme .aurora-runtime__card .ant-card-extra .ant-btn:not(.ant-btn-primary) .ant-btn-icon,.dark-theme .aurora-runtime__card .ant-card-extra .ant-btn:not(.ant-btn-primary) .anticon,.dark-theme .aurora-runtime__card .ant-card-extra .ant-btn:not(.ant-btn-primary) .anticon svg{filter:drop-shadow(0 0 4px #48d7fa47);color:#48d7fa!important}.aurora-runtime__statusbar{min-height:34px;color:var(--scada-text-tertiary);border-top:1px solid var(--scada-border-light);background:#07101a;grid-template-columns:92px 52px 68px minmax(112px,1fr) 132px 112px 128px 64px;align-items:center;gap:10px;padding:0 11px;font-size:9px;display:grid;overflow:hidden}.aurora-runtime__statusbar span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.aurora-runtime__statusbar .aurora-runtime__read-state{text-overflow:ellipsis;flex:0 0 132px;min-width:132px;overflow:hidden}.aurora-runtime__statusbar .aurora-runtime__last-update{flex:0 0 112px;min-width:112px}.aurora-runtime__statusbar .aurora-runtime__refresh-interval{flex:0 0 128px;min-width:128px}.aurora-runtime__statusbar .aurora-runtime__refresh-interval .ant-input-number-group-wrapper{width:128px!important}.aurora-runtime__statusbar .aurora-runtime__refresh-interval .ant-input-number-input{caret-color:var(--scada-color-info);font-weight:700;color:var(--scada-text-primary)!important;-webkit-text-fill-color:var(--scada-text-primary)!important}.aurora-runtime__statusbar .aurora-runtime__refresh-interval .ant-input-number-group-addon{color:var(--scada-text-secondary)!important;background:var(--scada-bg-primary)!important;border-color:var(--scada-border)!important}.aurora-runtime__statusbar i{border-radius:50%;width:6px;height:6px}.aurora-runtime__statusbar i.is-online{background:var(--scada-color-success);box-shadow:0 0 9px #27df988c}.aurora-runtime__statusbar i.is-offline{background:var(--scada-color-error);box-shadow:0 0 9px #ff5e6c85}.aurora-runtime__statusbar-end{color:var(--scada-color-info);justify-content:flex-end;margin-left:0}@media (max-width:900px){.aurora-login__layout{grid-template-columns:1fr;gap:34px;padding-top:34px}.aurora-login__card{order:-1}.aurora-login__intro{text-align:center;order:1;margin-inline:auto}.aurora-login__intro>p{margin-inline:auto}.aurora-login__features{text-align:left}.aurora-login__card{max-width:480px;margin:0 auto 40px}}@media (max-width:768px){.aurora-command-header{min-height:56px;height:56px!important;padding-inline:10px!important}.aurora-command-header__page strong{margin:0;font-size:15px}.aurora-content{padding:8px!important}.aurora-designer{padding:0}.aurora-designer__content{padding:0!important}.designer-frame{border:0!important;border-radius:0!important}.designer-titlebar{min-height:48px}.designer-titlebar__state{display:none}.designer-commandbar{max-height:210px;overflow-y:auto}.designer-statusbar{gap:8px;overflow-x:auto}.aurora-runtime{padding:0!important}.aurora-runtime__card{border:0!important;border-radius:0!important}.aurora-runtime__card .ant-card-head{padding-inline:10px!important}.aurora-runtime__identity .ant-tag,.aurora-runtime__card .ant-card-extra>.ant-space>span{display:none}.aurora-runtime__statusbar{grid-template-columns:none;gap:10px;display:flex;overflow-x:auto}.scada-page>.ant-card,.scada-page>.ant-layout-content>.ant-card{min-height:calc(100vh - 72px)}.aurora-login{padding:16px}.aurora-login__topbar .theme-toggle-btn span:not(.anticon){display:none}.aurora-login__layout{min-height:auto;margin-top:10px;padding-top:20px}.aurora-login__intro{display:none}.aurora-login__intro h1{font-size:36px}.aurora-login__features{grid-template-columns:1fr}.aurora-login__features>div{border-bottom:1px solid #183044;border-right:0;min-height:auto}.aurora-login__features>div:last-child{border-bottom:0}}.production-home{gap:16px;padding:16px;display:grid}.production-home__loading{place-items:center;min-height:60vh;display:grid}.production-home__heading{justify-content:space-between;align-items:flex-end;gap:20px;padding:8px 2px 4px;display:flex}.production-home__heading h2{margin:4px 0 2px!important}.production-home__stats{margin-top:0}.production-stat,.production-panel{height:100%;border-color:var(--scada-border)!important;background:var(--scada-bg-secondary)!important}.production-stat{cursor:pointer;min-height:154px;transition:border-color .16s,transform .16s;position:relative;overflow:hidden}.production-stat:hover{transform:translateY(-2px);border-color:#2f7fe4!important}.production-stat__icon{opacity:.72;font-size:28px;position:absolute;top:20px;right:20px}.production-stat--blue .production-stat__icon{color:#3b82f6}.production-stat--green .production-stat__icon{color:#22c55e}.production-stat--orange .production-stat__icon{color:#f97316}.production-stat--purple .production-stat__icon{color:#a855f7}.production-stat__footer{color:var(--scada-text-secondary);align-items:center;gap:8px;margin-top:18px;font-size:12px;display:flex}.production-device-table__head,.production-device-table__row{text-align:left;grid-template-columns:minmax(180px,1.4fr) minmax(120px,1fr) 86px minmax(160px,1fr);align-items:center;gap:12px;width:100%;padding:12px 14px;display:grid}.production-device-table__head{color:var(--scada-text-secondary);border-bottom:1px solid var(--scada-border);font-size:12px}.production-device-table__row{color:var(--scada-text-primary);border:0;border-bottom:1px solid var(--scada-border-light);cursor:pointer;background:0 0}.production-device-table__row:hover,.production-alarm-list__item:hover{background:#3b82f612}.production-device-table__row>span:first-child,.production-alarm-list__item>span:nth-child(2){gap:3px;display:grid}.production-device-table__row small,.production-alarm-list__item small{color:var(--scada-text-secondary);font-size:12px}.production-alarm-list{display:grid}.production-alarm-list__item{color:var(--scada-text-primary);text-align:left;border:0;border-bottom:1px solid var(--scada-border-light);cursor:pointer;background:0 0;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 6px;display:grid}.production-alarm-list__dot{border-radius:50%;width:8px;height:8px}.production-alarm-list__dot--active{background:#ef4444;box-shadow:0 0 0 4px #ef44441f}.production-alarm-list__dot--ok{background:#22c55e}.production-home__readiness .anticon-check-circle{color:#22c55e;margin-right:6px}.production-home__readiness .anticon-user{color:#3b82f6;margin-right:6px}@media (max-width:760px){.production-home{padding:8px}.production-home__heading{flex-direction:column;align-items:flex-start}.production-device-table{overflow-x:auto}.production-device-table__head,.production-device-table__row{min-width:700px}}.formal-platform-shell{min-height:100vh;color:var(--scada-text-primary);background:var(--scada-bg-primary);display:flex}.formal-sidebar{z-index:30;width:224px;height:100dvh;color:var(--scada-text-primary);background:var(--scada-bg-secondary);border-right:1px solid var(--scada-border);padding:28px 16px 0;position:fixed;inset:0 auto 0 0;overflow:hidden}.formal-sidebar__inner{flex-direction:column;height:100%;min-height:0;display:flex}.formal-sidebar__brand{width:100%;color:var(--scada-text-primary);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0 8px 28px;display:flex}.formal-sidebar__brandmark{color:#071516;background:#65dacc;border-radius:7px;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.formal-sidebar__brand strong{letter-spacing:3px;font-size:19px;display:block}.formal-sidebar__brand small{color:var(--scada-text-tertiary);letter-spacing:1.6px;margin-top:1px;font-size:8px;font-weight:500;display:block}.formal-sidebar__company{border-top:1px solid var(--scada-border-light);border-bottom:1px solid var(--scada-border-light);align-items:center;gap:9px;padding:16px 10px 18px;font-size:11px;display:flex}.formal-sidebar__company>.anticon{color:var(--scada-text-tertiary);flex-shrink:0}.formal-sidebar__company strong,.formal-sidebar__company small{display:block}.formal-sidebar__company strong{text-overflow:ellipsis;white-space:nowrap;max-width:155px;overflow:hidden}.formal-sidebar__company small{color:var(--scada-text-tertiary);margin-top:4px;font-size:9px}.formal-sidebar__label{color:var(--scada-text-tertiary);letter-spacing:1px;margin:25px 14px 10px;font-size:10px}.formal-sidebar__nav{scrollbar-color:#3d5b62 transparent;scrollbar-width:thin;flex-direction:column;flex:1;gap:5px;min-height:0;display:flex;overflow:hidden auto}.formal-sidebar__nav button,.formal-sidebar__bottom>button{width:100%;min-height:45px;color:var(--scada-text-secondary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:13px;padding:11px 14px;display:flex}.formal-sidebar__nav button:hover,.formal-sidebar__bottom>button:hover{color:var(--scada-text-primary);background:#65dacc14}.formal-sidebar__nav button.active{color:#86e8db;background:#21403f;border-color:#35645d}[data-theme=light] .formal-sidebar__nav button.active{color:#126b62;background:#dff3ef;border-color:#a7d7d0}.formal-sidebar__nav button>span{flex:1}.formal-sidebar__nav button>b{color:#f6c581;background:#533d2c;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.formal-sidebar__caret{font-size:10px}.formal-sidebar__bottom{flex-shrink:0;margin-top:auto;padding-top:24px}.formal-sidebar__bottom>button{border:0;margin-bottom:10px}.formal-sidebar__bottom>button>span:nth-child(2){flex:1}.formal-sidebar__profile{border-top:1px solid var(--scada-border);align-items:center;gap:9px;padding:16px 0;display:flex}.formal-sidebar__avatar{color:#a5ded4;background:#2c4443;border:1px solid #48605d;border-radius:7px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:11px;font-weight:650;display:grid}.formal-sidebar__profile>span{flex:1;min-width:0}.formal-sidebar__profile strong,.formal-sidebar__profile small{display:block}.formal-sidebar__profile strong{text-overflow:ellipsis;font-size:12px;overflow:hidden}.formal-sidebar__profile small{color:var(--scada-text-tertiary);margin-top:3px;font-size:9px}.formal-sidebar__profile .ant-tag{margin:0;padding-inline:5px;font-size:9px}.formal-workspace{flex:1;min-width:0;margin-left:224px}.formal-topbar{background:var(--scada-bg-secondary);border-bottom:1px solid var(--scada-border);justify-content:space-between;align-items:center;gap:20px;height:72px;padding:0 32px;display:flex}.formal-topbar__project{align-items:center;gap:14px;min-width:0;display:flex}.formal-topbar__project>span{color:var(--scada-text-tertiary);flex-shrink:0;font-size:11px}.formal-topbar__project .ant-select{min-width:190px;font-weight:600}.formal-topbar__tools{align-items:center;gap:12px;display:flex}.formal-health{color:var(--scada-text-secondary);align-items:center;gap:8px;font-size:11px;display:flex}.formal-health i{background:#8aa0aa;border-radius:50%;width:6px;height:6px}.formal-health--ok i{background:#68d5a1;box-shadow:0 0 0 4px #68d5a11a}.formal-health--bad i{background:#ef6c72;box-shadow:0 0 0 4px #ef6c721a}.formal-release-tag{color:#9edfd4!important;background:#203a39!important;border-color:#3c625e!important;margin:0!important}.formal-topbar__icon{color:var(--scada-text-secondary)!important}.formal-topbar__icon--danger:hover{color:#ff858b!important}.formal-content{width:100%;max-width:1760px;margin:0 auto;padding:24px 32px 32px}.formal-page-heading{margin-bottom:20px}.formal-breadcrumb{color:var(--scada-text-tertiary);align-items:center;gap:7px;margin-bottom:13px;font-size:10px;display:flex}.formal-breadcrumb .anticon{font-size:9px}.formal-page-heading h1{color:var(--scada-text-primary);letter-spacing:.4px;align-items:center;gap:15px;margin:0;font-size:25px;font-weight:600;line-height:1.4;display:flex}.formal-page-heading h1 span{color:var(--scada-text-tertiary);letter-spacing:1.7px;border-left:1px solid var(--scada-border);padding-left:15px;font-size:9px;font-weight:500}.formal-page-heading p{color:var(--scada-text-secondary);margin:9px 0 0;font-size:12px}.production-home{padding:0}.production-home__toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:0;padding:10px 2px 2px;display:flex}.formal-mobile-drawer .ant-drawer-body{overflow:hidden}@media (max-width:1200px){.formal-sidebar{width:196px;padding-inline:12px}.formal-workspace{margin-left:196px}.formal-content{padding:22px 22px 28px}.formal-topbar{padding-inline:22px}.formal-sidebar__company{gap:7px;font-size:10px}}@media (max-height:760px){.formal-sidebar{padding-top:16px}.formal-sidebar__brand{padding-bottom:16px}.formal-sidebar__company{padding-block:10px}.formal-sidebar__label{margin-top:14px;margin-bottom:6px}.formal-sidebar__nav{gap:3px}.formal-sidebar__nav button{min-height:40px;padding-block:8px}.formal-sidebar__bottom{padding-top:8px}.formal-sidebar__profile{padding-block:10px}}@media (max-width:760px){.formal-workspace{margin-left:0}.formal-topbar{gap:6px;height:62px;padding-inline:12px}.formal-topbar__project{flex:1;gap:0}.formal-topbar__project>span{display:none}.formal-topbar__project .ant-select{width:100%;min-width:0}.formal-topbar__tools{gap:4px}.formal-release-tag{padding-inline:4px!important;font-size:9px!important}.formal-content{padding:18px 12px 24px}.formal-page-heading{margin-bottom:16px}.formal-page-heading h1{font-size:21px}.formal-page-heading h1 span{display:none}.formal-page-heading p{line-height:1.6}.production-home__toolbar{flex-direction:column;align-items:flex-start}.formal-mobile-drawer .formal-sidebar__inner{padding:18px 14px 0}}:root,:root.dark-theme{--scada-alert-title:#e8f4fb;--scada-alert-description:#c5d7e5;--scada-alert-info-bg:#10283a;--scada-alert-info-border:#387f9e;--scada-alert-info-icon:#48c9f1;--scada-alert-success-bg:#123426;--scada-alert-success-border:#398361;--scada-alert-success-icon:#47d987;--scada-alert-warning-bg:#392b13;--scada-alert-warning-border:#95722d;--scada-alert-warning-icon:#ffd166;--scada-alert-error-bg:#3a1b23;--scada-alert-error-border:#a84a61;--scada-alert-error-icon:#ff8097}:root.light-theme{--scada-alert-title:#0c2030;--scada-alert-description:#385469;--scada-alert-info-bg:#e6f4ff;--scada-alert-info-border:#69a8ca;--scada-alert-info-icon:#006b94;--scada-alert-success-bg:#eef9f1;--scada-alert-success-border:#70ad86;--scada-alert-success-icon:#087443;--scada-alert-warning-bg:#fff7e6;--scada-alert-warning-border:#c59b4f;--scada-alert-warning-icon:#875300;--scada-alert-error-bg:#fff0f0;--scada-alert-error-border:#cd8791;--scada-alert-error-icon:#aa2535}:root body .ant-alert.ant-alert-info{--scada-alert-bg:var(--scada-alert-info-bg);--scada-alert-border:var(--scada-alert-info-border);--scada-alert-icon:var(--scada-alert-info-icon)}:root body .ant-alert.ant-alert-success{--scada-alert-bg:var(--scada-alert-success-bg);--scada-alert-border:var(--scada-alert-success-border);--scada-alert-icon:var(--scada-alert-success-icon)}:root body .ant-alert.ant-alert-warning{--scada-alert-bg:var(--scada-alert-warning-bg);--scada-alert-border:var(--scada-alert-warning-border);--scada-alert-icon:var(--scada-alert-warning-icon)}:root body .ant-alert.ant-alert-error{--scada-alert-bg:var(--scada-alert-error-bg);--scada-alert-border:var(--scada-alert-error-border);--scada-alert-icon:var(--scada-alert-error-icon)}:root body .ant-alert[class]{background:var(--scada-alert-bg)!important;border-color:var(--scada-alert-border)!important;color:var(--scada-alert-title)!important}:root body .ant-alert :is(.ant-alert-title,.ant-alert-message){color:var(--scada-alert-title)!important}:root body .ant-alert .ant-alert-description{overflow-wrap:anywhere;line-height:1.65;color:var(--scada-alert-description)!important}:root body .ant-alert .ant-alert-icon,:root body .ant-alert .ant-alert-close-icon{color:var(--scada-alert-icon)!important}:root body .ant-alert a:not(.ant-btn){text-decoration:underline;color:var(--scada-alert-icon)!important}:root{--scada-picker-selected-bg:#144b61;--scada-picker-selected-text:#effbff}:root.light-theme{--scada-picker-selected-bg:#c7e8f3;--scada-picker-selected-text:#0c2030}.history-time-range-picker{width:410px;max-width:calc(100vw - 96px)}:root .ant-picker .ant-picker-input>input{-webkit-text-fill-color:var(--scada-text-primary);font-variant-numeric:tabular-nums;color:var(--scada-text-primary)!important}:root .ant-picker .ant-picker-input>input::placeholder{-webkit-text-fill-color:var(--scada-text-secondary);color:var(--scada-text-secondary)!important;opacity:1!important}:root .ant-picker :is(.ant-picker-suffix,.ant-picker-suffix .anticon,.ant-picker-suffix svg,.ant-picker-clear,.ant-picker-separator){color:var(--scada-text-secondary)!important;fill:currentColor!important}:root .ant-picker .ant-picker-clear{background:var(--scada-bg-primary)!important}:root .ant-picker .ant-picker-active-bar{background:var(--scada-color-info)!important}:root .ant-picker-dropdown :is(.ant-picker-panel-container,.ant-picker-panel,.ant-picker-header,.ant-picker-footer){color:var(--scada-text-primary)!important;background:var(--scada-bg-secondary)!important;border-color:var(--scada-border)!important}:root .ant-picker-dropdown :is(.ant-picker-header button,.ant-picker-header-view button,.ant-picker-content th){color:var(--scada-text-primary)!important}:root .ant-picker-dropdown .ant-picker-header button:hover{color:var(--scada-color-info)!important}:root .ant-picker-dropdown .ant-picker-cell{color:var(--scada-text-tertiary)!important}:root .ant-picker-dropdown .ant-picker-cell-in-view{color:var(--scada-text-primary)!important}:root .ant-picker-dropdown .ant-picker-cell:not(.ant-picker-cell-disabled):hover .ant-picker-cell-inner{background:var(--scada-bg-hover)!important}:root .ant-picker-dropdown .ant-picker-cell-in-view:is(.ant-picker-cell-selected,.ant-picker-cell-range-start,.ant-picker-cell-range-end):not(.ant-picker-cell-disabled) .ant-picker-cell-inner{font-weight:700;color:var(--scada-picker-selected-text)!important;background:var(--scada-picker-selected-bg)!important}:root .ant-picker-dropdown .ant-picker-cell-in-view:is(.ant-picker-cell-in-range,.ant-picker-cell-range-start,.ant-picker-cell-range-end):before{background:var(--scada-bg-hover)!important}:root .ant-picker-dropdown .ant-picker-cell-today .ant-picker-cell-inner:before{border-color:var(--scada-color-info)!important}:root .ant-picker-dropdown .ant-picker-cell-disabled{color:var(--scada-text-disabled)!important}:root .ant-picker-dropdown .ant-picker-cell-disabled:before{background:var(--scada-bg-disabled)!important}:root .ant-picker-dropdown :is(.ant-picker-time-panel,.ant-picker-time-panel-column,.ant-picker-footer,.ant-picker-ranges){border-color:var(--scada-border)!important}:root .ant-picker-dropdown .ant-picker-time-panel-column>li,:root .ant-picker-dropdown .ant-picker-time-panel-column>li:hover{background:0 0!important}:root .ant-picker-dropdown .ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner{font-variant-numeric:tabular-nums;font-size:13px;color:var(--scada-text-primary)!important;background:0 0!important}:root .ant-picker-dropdown .ant-picker-time-panel-cell:not(.ant-picker-time-panel-cell-disabled) .ant-picker-time-panel-cell-inner:hover{background:var(--scada-bg-hover)!important}:root .ant-picker-dropdown .ant-picker-time-panel-cell-selected:not(.ant-picker-time-panel-cell-disabled) .ant-picker-time-panel-cell-inner{font-weight:700;color:var(--scada-picker-selected-text)!important;background:var(--scada-picker-selected-bg)!important}:root .ant-picker-dropdown .ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner{color:var(--scada-text-disabled)!important;background:0 0!important}:root .ant-picker-dropdown :is(.ant-picker-now-btn,.ant-picker-today-btn){color:var(--scada-color-info)!important}:root .ant-picker-dropdown .ant-picker-ok,:root .ant-picker-dropdown .ant-picker-ok:hover{background:0 0!important;border-color:#0000!important}:root .ant-picker-dropdown .ant-picker-time-panel-cell-inner:focus-visible{outline:2px solid var(--scada-color-info);outline-offset:-2px}
